План:

Введение……………………………………………………………………….…..3

1. Понятие антивирусных средств защиты информации…………...…5

2. Классификация антивирусных программ……………………...…….6

2.1 Сканеры………………………………………………………….…6

2.2 CRC-сканеры…………………………………………………..…..7

2.3 Блокировщики……………………………………………………..8

2.4 Иммунизаторы……………………………….………………….…9

3. Основные функции наиболее распространенных антивирусов…..10

3.1 Антивирус Dr. Web………………………………………...…10

3.2 Антивирус Касперского……………………………………...10

3.3Антивирус Antiviral Toolkit Pro………………………………12

3.4Norton AntiVirus 2000…………………………………………13

Заключение……………………………………………………………………….15

Список используемой литературы……………………………………………...16

Введение.

Средства защиты информации - это совокупность инженерно-технических, электрических, электронных, оптических и других устройств и приспособлений, приборов и технических систем, а также иных вещных элементов, используемых для решения различных задач по защите информации, в том числе предупреждения утечки и обеспечения безопасности защищаемой информации.

В целом средства обеспечения защиты информации в части предотвращения преднамеренных действий в зависимости от способа реализации можно разделить на группы:

1) Технические (аппаратные) средства. Это различные по типу устройства (механические, электромеханические, электронные и др.), которые аппаратными средствами решают задачи защиты информации. Они либо препятствуют физическому проникновению, либо, если проникновение все же состоялось, доступу к информации, в том числе с помощью ее маскировки. Первую часть задачи решают замки, решетки на окнах, сторожа, защитная сигнализация и др. Вторую - генераторы шума, сетевые фильтры, сканирующие радиоприемники и множество других устройств, «перекрывающих» потенциальные каналы утечки информации или позволяющих их обнаружить. Преимущества технических средств связаны с их надежностью, независимостью от субъективных факторов, высокой устойчивостью к модификации. Слабые стороны - недостаточная гибкость, относительно большие объем и масса, высокая стоимость;

2) Программные средства включают программы для идентификации пользователей, контроля доступа, шифрования информации, удаления остаточной (рабочей) информации типа временных файлов, тестового контроля системы защиты и др. Преимущества программных средств - универсальность, гибкость, надежность, простота установки, способность к модификации и развитию. Недостатки - ограниченная функциональность сети, использование части ресурсов файл-сервера и рабочих станций, высокая чувствительность к случайным или преднамеренным изменениям, возможная зависимость от типов компьютеров (их аппаратных средств);

3) Смешанные аппаратно-программные средства реализуют те же функции, что аппаратные и программные средства в отдельности, и имеют промежуточные свойства;

4) Организационные средства складываются из организационно-технических (подготовка помещений с компьютерами, прокладка кабельной системы с учетом требований ограничения доступа к ней и др.) и организационно-правовых (национальные законодательства и правила работы, устанавливаемые руководством конкретного предприятия). Преимущества организационных средств состоят в том, что они позволяют решать множество разнородных проблем, просты в реализации, быстро реагируют на нежелательные действия в сети, имеют неограниченные возможности модификации и развития. Недостатки - высокая зависимость от субъективных факторов, в том числе от общей организации работы в конкретном подразделении.

В своей работе я буду рассматривать одну из программных средств защиты информации – антивирусные программы. Так, целью моей работы является проведение анализа антивирусных средств защиты информации. Достижение поставленной цели опосредуется решением следующих задач:

1) Изучение понятия антивирусных средств защиты информации;

2) Рассмотрение классификации антивирусных средств защиты информации;

3) Ознакомление с основными функциями наиболее популярных антивирусов.

1. Понятие антивирусных средств защиты информации.

Антивирусная программа (антивирус) - программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ вообще, и восстановления зараженных (модифицированных) такими программами файлов, а также для профилактики - предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом (например, с помощью вакцинации).

Антивирусное программное обеспечение состоит из подпрограмм, которые пытаются обнаружить, предотвратить размножение и удалить компьютерные вирусы и другое вредоносное программное обеспечение.

2. Классификация антивирусных программ.

Наиболее эффективны в борьбе с компьютерными вирусами антивирусные программы. Однако сразу хотелось бы отметить, что не существует антивирусов, гарантирующих стопроцентную защиту от вирусов, и заявления о существовании таких систем можно расценить как либо недобросовестную рекламу, либо непрофессионализм. Таких систем не существует, поскольку на любой алгоритм антивируса всегда можно предложить контр-алгоритм вируса, невидимого для этого антивируса (обратное, к счастью, тоже верно: на любой алгоритм вируса всегда можно создать антивирус).

Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры (другие названия: фаг, полифаг, программа-доктор). Следом за ними по эффективности и популярности следуют CRC-сканеры (также: ревизор, checksumer, integritychecker). Часто оба приведенных метода объединяются в одну универсальную антивирусную программу, что значительно повышает ее мощность. Применяются также различного типа блокировщики и иммунизаторы.

2.1 Сканеры.

Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти и поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые “маски”. Маской вируса является некоторая постоянная последовательность кода, специфичная для этого конкретного вируса. Если вирус не содержит постоянной маски, или длина этой маски недостаточно велика, то используются другие методы. Примером такого метода являетcя алгоритмический язык, описывающий все возможные варианты кода, которые могут встретиться при заражении подобного типа вирусом. Такой подход используется некоторыми антивирусами для детектирования полиморфик - вирусов. Сканеры также можно разделить на две категории - “универсальные” и “специализированные”. Универсальные сканеры рассчитаны на поиск и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макро-вирусов. Специализированные сканеры, рассчитанные только на макро-вирусы, часто оказываются наиболее удобным и надежным решением для защиты систем документооборота в средах MSWord и MSExcel.

Сканеры также делятся на “резидентные” (мониторы, сторожа), производящие сканирование “на-лету”, и “нерезидентные”, обеспечивающие проверку системы только по запросу. Как правило, “резидентные” сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как “нерезидентный” сканер способен опознать вирус только во время своего очередного запуска. С другой стороны резидентный сканер может несколько замедлить работу компьютера в том числе и из-за возможных ложных срабатываний.

К достоинствам сканеров всех типов относится их универсальность, к недостаткам -относительно небольшую скорость поиска вирусов. Наиболее распространены в России следующие программы: AVP - Касперского, Dr.Weber – Данилова, NortonAntivirus фирмы Semantic.

2.2 CRC -сканеры.

Принцип работы CRC-сканеров основан на подсчете CRC-сумм (контрольных сумм) для присутствующих на диске файлов/системных секторов. Эти CRC-суммы затем сохраняются в базе данных антивируса, как, впрочем, и некоторая другая информация: длины файлов, даты их последней модификации и т.д. При последующем запуске CRC-сканеры сверяют данные, содержащиеся в базе данных, с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то CRC-сканеры сигнализируют о том, что файл был изменен или заражен вирусом. CRC-сканеры, использующие анти-стелс алгоритмы, являются довольно сильным оружием против вирусов: практически 100% вирусов оказываются обнаруженными почти сразу после их появления на компьютере. Однако у этого типа антивирусов есть врожденный недостаток, который заметно снижает их эффективность. Этот недостаток состоит в том, что CRC-сканеры не способны поймать вирус в момент его появления в системе, а делают это лишь через некоторое время, уже после того, как вирус разошелся по компьютеру. CRC-сканеры не могут определить вирус в новых файлах (в электронной почте, на дискетах, в файлах, восстанавливаемых из backup или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах. Более того, периодически появляются вирусы, которые используют эту “слабость” CRC-сканеров, заражают только вновь создаваемые файлы и остаются, таким образом, невидимыми для них. Наиболее используемые в России программы подобного рода- ADINF и AVPInspector.

2.3 Блокировщики.

Антивирусные блокировщики - это резидентные программы, перехватывающие “вирусо-опасные” ситуации и сообщающие об этом пользователю. К “вирусо-опасным” относятся вызовы на открытие для записи в выполняемые файлы, запись в boot-сектора дисков или MBR винчестера, попытки программ остаться резидентно и т.д., то есть вызовы, которые характерны для вирусов в моменты из размножения. Иногда некоторые функции блокировщиков реализованы в резидентных сканерах.

К достоинствам блокировщиков относится их способность обнаруживать и останавливать вирус на самой ранней стадии его размножения, что, кстати, бывает очень полезно в случаях, когда давно известный вирус постоянно “выползает неизвестно откуда”. К недостаткам относятся существование путей обхода защиты блокировщиков и большое количество ложных срабатываний, что, видимо, и послужило причиной для практически полного отказа пользователей от подобного рода антивирусных программ (например, неизвестно ни об одном блокировщике для Windows95/NT - нет спроса, нет и предложения).

Необходимо также отметить такое направление антивирусных средств, как антивирусные блокировщики, выполненные в виде аппаратных компонентов компьютера (“железа”). Наиболее распространенной является встроенная в BIOS защита от записи в MBR винчестера. Однако, как и в случае с программными блокировщиками, такую защиту легко обойти прямой записью в порты контроллера диска, а запуск DOS-утилиты FDISK немедленно вызывает “ложное срабатывание” защиты.

Существует несколько более универсальных аппаратных блокировщиков, но к перечисленным выше недостаткам добавляются также проблемы совместимости со стандартными конфигурациями компьютеров и сложности при их установке и настройке. Все это делает аппаратные блокировщики крайне непопулярными на фоне остальных типов антивирусной защиты.

2.4 Иммунизаторы.

Иммунизаторы - это программы записывающие в другие программы коды, сообщающие о заражении. Они обычно записывают эти коды в конец файлов (по принципу файлового вируса) и при запуске файла каждый раз проверяют его на изменение. Недостаток у них всего один, но он летален: абсолютная неспособность сообщить о заражении стелс-вирусом. Поэтому такие иммунизаторы, как и блокировщики, практически не используются в настоящее время. Кроме того многие программы, разработанные в последнее время, сами проверяют себя на целостность и могут принять внедренные в них коды за вирусы и отказаться работать.


3. Основные функции наиболее распространенных антивирусов.

3.1 Антивирус Dr. Web.

Dr. Web - старый и заслуженно популярный в России антивирус, уже несколько лет помогающий пользователям в борьбе с вирусами. Новые версии программы (DrWeb32) работают в нескольких операционных системах, защищая пользователей от более чем 17000 вирусов.

Набор функций вполне стандартный для антивируса - сканирование файлов (в том числе сжатых специальными программами и заархивированных), памяти, загрузочных секторов жестких дисков и дискет. Троянские программы, как правило, подлежат не излечению а удалению. К сожалению, почтовые форматы не проверяются, поэтому сразу после получения электронного письма нельзя узнать, нет ли во вложении вируса. Вложение придется сохранить на диск и проверять отдельно. Впрочем, поставляемый с программой резидентный монитор "Spider Guard" позволяет решить эту задачу "на лету".

Dr. Web - одна из первых программ, в которой был реализован эвристический анализ, который позволяет обнаруживать вирусы, не занесенные в антивирусную базу. Анализатор обнаруживает в программе вирусоподобные инструкции и помечает такую программу как подозрительную. Антивирусная база обновляется через Интернет одним нажатием кнопки. Бесплатная версия программы не проводит эвристического анализа и не лечит файлы.

3.2 Антивирус Касперского.

Ревизор Inspector отслеживает все изменения в вашем компьютере и при обнаружении несанкционированных изменений в файлах или в системном реестре позволяет восстановить содержимое диска и удалить вредоносные коды. Inspector не требует обновлений антивирусной базы: контроль целостности осуществляется на основе снятия оригинальных отпечатков файлов (CRC-сумм) и их последующего сравнения с измененными файлами. В отличие от других ревизоров, Inspector поддерживает все наиболее популярные форматы исполняемых файлов.

Эвристический анализатор дает возможность защитить компьютер даже от неизвестных вирусов.

Фоновый перехватчик вирусов Monitor, постоянно присутствующий в памяти компьютера, проводит антивирусную проверку всех файлов непосредственно в момент их запуска, создания или копирования, что позволяет контролировать все файловые операции и предотвращать заражение даже самыми технологически совершенными вирусами.

Антивирусная фильтрация электронной почты предотвращает возможность проникновения вирусов на компьютер. Встраиваемый модуль Mail Checker не только удаляет вирусы из тела письма, но и полностью восстанавливает оригинальное содержимое электронных писем. Комплексная проверка почтовой корреспонденции не позволяет вирусу укрыться ни в одном из элементов электронного письма за счет проверки всех участков входящих и исходящих сообщений, включая прикрепленные файлы (в том числе архивированные и упакованные) и другие сообщения любого уровня вложенности.

Антивирусный сканер Scanner дает возможность проводить полномасштабную проверку всего содержимого локальных и сетевых дисков по требованию.

Перехватчик скрипт-вирусов Script Checker обеспечивает антивирусную проверку всех запускаемых скриптов до того, как они будут выполнены.

Поддержка архивированных и компрессированных файлов обеспечивает возможность удаления вредоносного кода из зараженного компрессированного файла.

Изоляция инфицированных объектов обеспечивает изоляцию зараженных и подозрительных объектов с последующим их перемещением в специально организованную директорию для дальнейшего анализа и восстановления.

Автоматизация антивирусной защиты позволяет создавать расписание и порядок работы компонентов программы; автоматически загружать и подключать новые обновления антивирусной базы через Интернет; рассылать предупреждения об обнаруженных вирусных атаках по электронной почте и т.д.

3.3 Антивирус Antiviral Toolkit Pro.

Antiviral Toolkit Pro - российский продукт, заслуживший популярность за рубежом и в России, благодаря широчайшим возможностям и высокой надежности. Имеются версии программы для большинства популярных операционных систем, антивирусная база насчитывает около 34000 вирусов.

Существует несколько вариантов поставки - AVP Lite, AVP Gold, AVP Platinum. В наиболее полной версии поставляется три продукта - сканер, резидентный монитор и центр управления. Сканер позволяет проверять файлы и память на наличие вирусов и "троянцев". При этом проверяются упакованные программы, архивы, почтовые базы данных (папки Outlook и т.д.) и осуществляется эвристический анализ для поиска новых вирусов, не занесенных в базу данных. Монитор "на лету" проверяет каждый открываемый файл на вирусы и предупреждает о вирусной опасности, одновременно блокируя доступ к зараженному файлу. Центр управления позволяет по расписанию проводить антивирусную проверку и обновлять базы данных через Интернет. В демонстрационной версии отсутствует возможность лечения зараженных объектов, проверка пакованных и архивных файлов, эвристический анализ.

3.4 Norton AntiVirus 2000.

Norton AntiVirus сделана на основе другого популярного продукта - персонального брандмауэра AtGuard (@guard) от WRQ Soft. В результате приложения к нему технологической мощи Symantec, получился интегрированный продукт, обладающий существенно расширенной функциональностью. Ядром системы по-прежнему является брандмауэр. Он весьма эффективно работает без настройки, практически не мешая в повседневном использовании сети, но блокируя попытки перезагрузить или "завесить" компьютер, получить доступ к файлам и принтерам, установить связь с троянскими программами на компьютере.

Norton AntiVirus - единственный брандмауэр из рассмотренных, который реализует возможности этого метода (которого) защиты на 100%. Осуществляется фильтрация всех видов пакетов, путешествующих по сети, в т.ч. служебных (ICMP), правила для работы брандмауэра могут учитывать, какое именно приложение работает с сетью, что за данные передаются и на какой компьютер, в какое время суток это происходит.

Для сохранения конфиденциальных данных, брандмауэр может блокировать отправку веб-серверам адреса электронной почты, типа браузера, возможна также блокировка cookies. Фильтр конфиденциальной информации предупреждает о попытке переслать в сеть в незашифрованном виде информацию, которую пользователь ввел и пометил, как конфиденциальную.

Активное содержимое веб-страниц (Java-апплеты, сценарии и т.д) также может блокироваться с помощью Norton AntiVirus - фильтр содержимого может вырезать небезопасные элементы из текста веб-страниц до того, как они попадут в браузер.

В качестве дополнительного сервиса, не связанного напрямую с вопросами безопасности, Norton AntiVirus предлагает очень удобный фильтр рекламных баннеров (эти надоедливые картинки попросту вырезаются из страницы, что ускоряет ее загрузку), а также систему родительского контроля. Запретив посещение определенных категорий сайтов и запуск отдельных видов интернет-приложений, можно быть достаточно спокойным по поводу содержимого сети, которое доступно детям.

Помимо возможностей брандмауэра, Norton AntiVirus предлагает пользователю защиту программы Norton Antivirus. Это популярное антивирусное приложение с регулярно обновляемыми антивирусными базами позволяет довольно надежно обнаруживать вирусы на самых ранних этапах их появления. Сканированию на вирусы подвергаются все закачиваемые из сети файлы, файлы, вложенные в электронную почту, активные элементы веб-страниц. Помимо этого, в Norton Antivirus есть антивирусный сканер и монитор, которые обеспечивают общесистемную защиту от вирусов без привязки к наличию доступа в сеть.


Заключение:

Знакомясь с литературой, я достиг поставленной перед собой цели и сделал следующие выводы:

1) Антивирусная программа (антивирус) - программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ вообще, и восстановления зараженных (модифицированных) такими программами файлов, а также для профилактики - предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом (например, с помощью вакцинации);

2) не существует антивирусов, гарантирующих стопроцентную защиту от вирусов;

3) Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры (другие названия: фаг, полифаг, программа-доктор). Следом за ними по эффективности и популярности следуют CRC-сканеры (также: ревизор, checksumer, integritychecker). Часто оба приведенных метода объединяются в одну универсальную антивирусную программу, что значительно повышает ее мощность. Применяются также различного типа блокировщики и иммунизаторы.


Список используемой литературы:

1) Проскурин В.Г. Программно-аппаратные средства обеспечения информационной безопасности. Защита в операционных системах. –Москва: Радио и связь, 2000;

2) http://ru.wikipedia.org/wiki/Антивирусная_программа;

3) www.kasperski.ru;

4) http://www.symantec.com/sabu/nis;

Современные технологии проникли во все сферы жизни среднестатистического человека - от рабочих будней до вечеров в условиях домашнего очага. И одними из наиболее распространенных девайсов, которые используют люди, являются ПК, планшеты и различные мобильные электронные устройства, способные выходить в сеть. На фоне такого прогресса, как некогда актуальной стала защита информации. Антивирусная защита является одной из граней этого комплекса мер. Интернет кишит враждебными программами, которые способны при попадании в любую систему повредить или уничтожить важные файлы.

Антивирусные средства защиты информации

Учитывая всю потенциальную и фактическую опасность различных вирусов, без надежных защитных средств современному пользователю не обойтись.

Самостоятельно контролировать все процессы, которые смогут активировать вредоносную программу фактически невозможно. Поэтому к безопасности нужно подойти системно.

Краткая инструкция о применении средств антивирусной защиты информациивыглядит следующим образом:

Обратить внимание на текстовый редактор и удостовериться в том, что там стоит защита от исполнения макросов;

Любые цифровые носители (флешки, диски) нужно проверять прежде, чем что-либо запускать с их помощью;

Инсталлировать на ПК надежную антивирусную программу, причем платную и в полном комплекте;

Актуальным также является периодическое резервное копирование любой важной информации.

То, что стоит понять в самом начале, так это бессмысленность попытки сэкономить на бесплатном ПО. Если применение средств антивирусной защиты информациидействительно является важным ввиду хранения на ПК ценных данных, то использовать какие-либо урезанные варианты вряд ли стоит.

Что стоит знать о вирусах

Эту тему стоит рассмотреть для того, чтобы осознать тот факт, каким сильным угрозам на постоянной основе подвергаются операционные системы обычных пользователей и

Итак, антивирусные средства защиты информации ориентированы на противостояние вредоносным программам, которые могут разделяться по следующим признакам:

Деструктивные возможности;

Среда обитания;

Особенности алгоритма, лежащего в основе вируса;

Способ, посредством которого осуществляется заражение среды обитания.

Другими словами, вирусы могут загружаться в разные элементы системы и оказывать различное негативное воздействие. Например, способны внедряться в загрузочные сектора с диска или другого носителя, а также в выполняемые файлы. Помимо этого, есть немало угроз, которые распространяются в просторах сети, и могут попасть в систему при загрузке конкретного сайта или скачивании какой-либо программы.

Что касается степени деструктивности, то вирусы бывают как безобидные, так и крайне опасные. А вот в случае с особенностями алгоритма все немного сложнее: можно долго перечислять различные варианты от программ-невидимок до макровирусов.

Очевидно, что существующих угроз для системного обеспечения очень много, и количество их постоянно растет. Поэтому защита информации с помощью антивирусных программ становится неотъемлемой частью будней как обычных пользователей, так и крупных компаний.

Как понять, что компьютер заражен

Есть определенные признаки, которые являются ярким доказательством того факта, что на ПК был занесен вирус:

Объем оперативной памяти без объективных причин внезапно и ощутимо уменьшается;

Замедляется работа программ, которые раньше функционировали быстро;

Увеличиваются размеры файлов;

Появляются необычные файлы, которые ранее не были замечены в системе;

Могут возникать как звуковые, так и видеоэффекты, а также другие отклонения.

Словом, в работе операционной системы при заражении наблюдаются заметные сбои. Если подобные признаки были зафиксированы, то стоит проверить насколько эффективна действующая защита информации. постоянно совершенствуются, а это значит, что стоит оставить в стороне приверженность конкретному продукту и периодически искать наиболее эффективные системы защиты ПК.

Бесплатные антивирусы

Этот вид противодействия различным угрозам пользуется определенной популярностью в рунете. Не каждый пользователь настолько бережно относится к своему компьютеру, чтобы ежегодно оплачивать качественное ПО. Именно по этой причине в рамках темы «Инструкция по антивирусной защите информации» стоит рассмотреть перспективу использования подобного софта.

Суть в том, что бесплатные антивирусы изначально ограничены в своих возможностях. Потенциал они могут иметь достаточно неплохой, но за раскрытие всех граней продукта в большинстве случаев придется уже платить.

Основной риск здесь - отсутствие фиксации и последующей блокировки вирусной атаки во время использования интернета, что очень важно. Другими словами, выявить угрозу большинство таких антивирусов способны уже тогда, когда она постучалась в «двери» операционной системы, но и то не всегда. В качественной программе защиты всегда есть богатая база возможных вирусов, которая постоянно обновляется. Что касается бесплатных версий, то они также содержат подобные данные, но надежность распознавания угроз, в том числе самых новых, всегда остается под вопросом.

Некоторые бесплатные версии только фиксируют вирусы и не гарантируют их полноценного удаления.

Таким образом, стоит уяснить, что бесплатная версия - это либо «урезанный» вариант антивируса, либо же новая программа, которую только начинают продвигать в сети. А это означает, что вскоре она станет платной, как и другие.

Но есть одна возможность, которая заслуживает внимания и не требует затрат. Речь идет о бесплатной лечащей, находящейся на официальном сайте компании и способной качественно сканировать всю систему на предмет угроз. Такая антивирусная защита компьютерной информации особенно актуальная, когда уже появились какие-либо проблемы. Ярким примером подобной утилиты является продукт под маркой "Доктор Веб". Ее инсталляция позволяет провести однократную проверку ПК и восстановить причиненный ущерб, уничтожив вредоносные программы. Но чтобы пользоваться возможностями данного антивируса на постоянной основе, придется заплатить.

Виды антивирусных программ

Все платные антивирусы можно разделить на несколько ключевых групп, каждая из которых ориентирована на определенную доминирующую функцию.

Этот перечень выглядит следующим образом:

Программы-доктора;

Ревизоры;

Вакцины;

Фильтры;

Детекторы.

Каждый из них может понадобиться в таком нелегком и ответственном деле, как организация защиты информации. Антивирусная защита, например, из категории «Доктор», способна не только обнаружить угрозу, но и вылечить систему, что является крайне актуальным свойством. В этом случае тело вируса удаляется из пораженного файла, а последний возвращается в исходное состояние.

Изначально такие программы, называемые фаги, занимаются поиском вирусов, и если находят таковые, то, прежде всего, их уничтожают и лишь затем активируют восстановительные процессы.

Если компьютер в силу различных причин постоянно подвергается воздействию значительного количества угроз, то есть смысл использовать полифаги, которые предназначены специально для таких нагрузок.

Что касается детекторов, то они необходимы для быстрого поиска вирусов в различных носителях и оперативной памяти в частности. Такие антивирусные системы и защита информации не могут рассматриваться отдельно друг от друга.

Внимание стоит уделить и программам-фильтрам. Они созданы для обнаружения подозрительных процессов в системе. Именно благодаря работе таких антивирусов пользователи периодически видят на мониторе предупреждения о том, что конкретная программа пытается выполнить некорректное или подозрительное действие.

Программы-ревизоры являются еще одним инструментом, использования которого требует защита информации. Антивирусная защита такого типа занимается обнаружением стелс-вирусов и фиксацией потенциально опасных изменений в работе системы.

Программы-вакцины нужны для предотвращения заражения, что является оптимальной стратегией защиты. Их использование особенно актуально в том случае, если на ПК не установлены надежные фильтры, а значит есть риск, что все поврежденные файлы не будут полноценно восстановлены.

Известные компании создают продукты, которые сочетают в себе все вышеупомянутые свойства.

Действия, которые помогут сохранить систему

Итак, очевидно, что защита информации обеспечивается применением антивирусных средств. Но для эффективной организации этого процесса стоит представлять себе хотя бы общий алгоритм действий.

Защитное ПО ориентировано на 3 ключевые задачи:

Профилактика заражения;

Диагностика состояния операционной системы и файлов;

Лечение.

Под профилактикой стоит понимать как блокировку различных путей доступа вирусов к ПК, так и предотвращение заражения вредоносными программами, которые уже находятся в системе. Что касается диагностики, то здесь речь идет об антивирусах, способных обнаружить угрозу в компьютере, а также идентифицировать конкретный ее тип.

Лечение также является тем инструментом, без которого не может быть полноценной современная защита информации. Антивирусная защита такого вида прежде всего удаляет обнаруженные угрозы, а после восстанавливает нанесенные повреждения.

Говоря о защитном комплексе, который используют фактически все компании и частные пользователи, стоит понимать суммарное применение всех упомянутых выше программ.

Также поднимая вопрос защиты, нужно обратить внимание на тот факт, что значительно сократить количество вирусных атак поможет использование лицензионных программ. Пиратские версии - это всегда игра с огнем.

Файервол

Фактически, если перевести это слово, то получится «огненная стена». Таким названием разработчики пытались передать ключевую функцию этого инструмента - защита, не позволяющая соединиться с компьютером, потенциальным угрозам.

И хотя о подобном ПО уже говорилось выше, этому комплексу утилит стоит уделить больше внимания. Благодаря их действию пропускаются лишь те пакеты данных и файлы, которые находятся в соответствии с требованиями системы.

Данная утилита - это актуальный инструмент, без которого невозможна полноценная защита информации. Вредоносные и постоянно развиваются и последние должны работать на опережение, то есть не допускать заражение изначально. В противном случае можно поплатиться пусть не всеми данными, но их частью, что тоже является ощутимым ущербом.

Именно файервол помогает получить нужный эффект в защите компьютера во время работы в сети. Такой сетевой экран просто необходим для безопасной работы в интернете. Поэтому нужно так подбирать антивирусник, чтобы он обладал подобной функцией, причем реализованной на достойном уровне.

Основные функции файервола

Рассматривая такие темы, как защита информации, и антивирусные программы, стоит уделить внимание тому факту, как именно работает сетевой экран.

Итак, наиболее ценными являются следующие возможности такого ПО:

Извещение пользователя о факте или попытке ее совершить;

Фильтрация доступа к ПК;

Выявление подозрительных реакций и процессов в системе;

Блокировка возможности изменения настроек доступа к сети;

Контроль доступа ко всем сетям и узлам;

Защищает подсети от доступа программ-шпионов и попыток воровства информации.

Если оценивать файерволы по степени масштабности защиты, которую они способны предоставить, то можно выделить два ключевых вида: личные и корпоративные.

В первом случае речь идет о сетевой стене, которая актуальна для обычного пользователя, эксплуатирующего компьютер для личных целей. Что касается второго типа, то он ориентирован на эффективную защиту внутренних сетей различных компаний. Это означает, устанавливается на шлюз между интернет-сетью и локальной.

Соответственно, настройки таких файерволов могут отличаться от стандартных версий. Но в любом случае позаботиться о наличии качественной огненной стены просто необходимо.

Как установить защиту

Для того чтобы антивирусная программа защищала все необходимые данные, нужно выполнить несколько простых действий.

Прежде всего стоит выбрать наиболее надежный продукт (здесь помогут форумы и рейтинги). После нужно приобрести его платную версию. Далее следует процесс установки, который ничем не отличается от инсталляции обычной программы. Когда он будет завершен, компьютер придется перезагрузить и выбрать актуальные настройки программы.

По завершении данного этапа необходимо запустить сканирование ПК на предмет угроз и повреждений. Если вирусы будут найдены, защита предложит их уничтожить. Важно понимать, что перед установкой новой антивирусной программы лучше удалить старую, если таковая была.

При помощи данного несложного алгоритма действий будет обеспечена защита информации. Антивирусная защита, как правило, оплачивается один раз в год, а нужная сумма является доступной фактически любому обывателю.

Наиболее распространенные антивирусы

Итак, выбирая соответствующее программное обеспечение для сохранения рабочего состояния своего компьютера, стоит обратить внимание на бренды, которые успели зарекомендовать себя исключительно с положительной стороны.

Начнем с известного многим Dr.Web. Он эффективно идентифицирует, блокирует и удаляет троянские программы, сетевые, почтовые черви, стелс-вирусы, угрозы, поражающие офисные приложения, программы-похитители паролей, различные вредоносные скрипты и многие другие виды угроз.

Отличительной особенностью Dr.Web является его способность эффективно лечить зараженный компьютер. Если машина уже находится в плачевном состоянии, то останавливать свой выбор нужно именно на этой антивирусной программе. Более того, именно в данном продукте содержится одна из наиболее полных и при этом компактных вирусных баз.

Антивирус Касперского. Это российский продукт, который стал очень известным на постсоветском пространстве. В данном случае стоит обратить внимание на поведенческий модуль. Речь идет о блокираторе, который эффективно контролирует выполнение макросов и способен пресекать любые действия, попадающие в категорию подозрительных.

Именно использование данного модуля обеспечивает надежную защиту от макровирусов.

Также Касперский обладает прекрасным ревизором, основной функцией которого является отслеживание любых изменений в системе и фиксация несанкционированных процессов.

Обратить внимание нужно и на такие инструменты защиты, как фоновый перехватчик вирусов, эвристический анализатор, а также антивирусная фильтрация. Другими словами, набор средств защиты в продукте под маркой «Касперский» заслуживает уважения.

Eset NOD32 тоже относится к популярным защитным программам. Он прекрасно подойдет для обычных пользователей, поскольку дает нужный эффект и несильно грузит систему. Его использование дает гарантии проактивного выявления и обезвреживания любых угроз.

Итоги

Очевидно, что эффективная защита информации обеспечивается применением антивирусных средств. Поэтому к приобретению действительно качественного ПО стоит подойти серьезно.

В программировании зачастую возникает нужда провести вычисления над переменными одного типа, а в результате получить другой. Например, при делении целых чисел получить вещественное. Когда значение одного типа заносится в переменную другого типа, выполняется преобразование типов данных. В C# это реализуется несколькими механизмами.

Неявное преобразование типов данных

Неявное преобразование происходит тогда, когда значение заносится в переменную иного типа без указаний этого в коде.

Для того, чтобы компилятор C# автоматически преобразовал тип данных, должны выполняться два условия:

  • Тип значения и тип переменной должны быть совместимы между собой;
  • Диапазон возможных значений типа переменной должен быть не меньше чем у типа значения.

Byte a = 15; byte b = 120; int c = a + b;

В данном примере выполняется неявное преобразование , и переменная c в итоге будет иметь тип int. Это возможно благодаря тому, что byte и int являются целочисленными, а тип int полностью включает диапазон byte.

Еще один пример:

Short a = 815; ushort b = a;//Error

Несмотря на то, что число 815 входит в диапазон типа ushort, в этом случае появится сообщение об ошибке . Связано это с тем, что компилятор для неявного преобразования проверяет только вышеуказанные условия и смотрит только на типы, не обращая внимания на конкретные значения.

Явное преобразование типов данных

Если условия неявного преобразования не выполняются, но преобразование типов выполнить необходимо, используется приведение типов. Это указание целевого типа, в который должен быть преобразован результат вычислений, записываемое в скобках перед выражением.

Int d = 13; int c = 4; var e = (double) d / c;

Таким образом, переменная e получит тип double и значение 3,25. Если бы мы не использовали преобразование, то у этой переменной был бы тип int и значение 3 согласно правилам деления целых чисел в C#.

Еще пример:

Ushort num = 257; double dbl = 34.9318; int rnd = (short) dbl; // Будет присвоено значение 34 byte what = (byte) num; // Будет присвоено значение 1

В случае с rnd , выполняется следующее правило: при преобразовании чисел с плавающей запятой в целые числа, их дробная часть отбрасывается.

А в случае с what все немного сложнее. При явном преобразовании компилятор не обращает внимания на диапазоны типов. А при исполнении программы, если происходит попытка занести в переменную значение, не находящееся в ее диапазоне (с более высокой разрядностью), то все старшие разряды стираются. Число 257 в двоичном представлении типа ushort выглядит как 00000001 00000001. При преобразовании в byte остается только последний байт 00000000, то есть 1.

Преобразование, при котором диапазон типа переменной не полностью покрывает диапазон типа значения, называется сужающим. Дабы избегать потери данных, как в предыдущем примере, нужно использовать проверку на переполнение.

Переполнение при сужающем преобразовании данных

Очевидно, что нельзя оставлять без внимания места в коде, в которых может иметь место потеря данных из-за переполнения. Иначе переменные могут принять неожиданное значение, что отразится на работе программы, а причину ошибки будет довольно трудно отследить.

По умолчанию, возникновение переполнения игнорируется. Для того чтобы в таком случае возникало соответствующее исключение, используется ключевое слово checked. Его можно поместить как перед определенным выражением, так и обозначить ним блок кода. Далее при возникновении исключения его можно обработать конструкцией try & catch.

Random rnd = new Random(); int bigger = rnd.Next(99999); // Генерирует случайное число от 0 до 99999 short smaller; try { smaller = checked((short) bigger); } catch (System.OverflowException e) { Console.WriteLine(‘Overflow raised by checked on smaller: ‘ + e.ToString()); // Выводит //сообщение о том, что было обработано исключение smaller = -1; }

bigger является случайным числом от 0 до 99999. В случае если это значение превысит диапазон типа short, то будет обработано исключение System.OverflowException и переменной smaller будет присвоено значение -1. Если же переполнение не произойдет, исключения не будет, и переменная smaller просто примет значение переменной bigger, но уже в типе short .

Оператор is

Для проверки возможности приведения объекта к некоторому типу в C# используется оператор is . Он проверяет, является ли объект экземпляром самого указанного типа или производного от него. Результатом бинарной операции с оператором is является логическое значение (true или false).

Пример использования оператора is:

Class Samle1 {} class Samle2 {} : Sample1 {} // Наследует класс Sample1 class Sample3 {} Samle1 t1 = new Samle1(); Sample2 t2 = new Samle2(); Sample3 t3 = new Sample3(); char t4 = ‘t’; if (t1 is Sample1) { Console.WriteLine(“t1 is Sample1”); } // Будет выведено if (t2 is Sample1) { Console.WriteLine(“t2 is Sample1”); } // Будет выведено if (t3 is Sample1) { Console.WriteLine(“t3 is Sample1”); } // Не будет выведено if (t4 is Sample1) { Console.WriteLine(“t4 is Sample1”); } // Не будет выведено

Оператор as

Для преобразования совместимых ссылочных типов используется оператор as. Следует отметить, что при невозможности преобразования исключение не вызывается, а возвращается значение null. Это нужно учитывать при обработке результата преобразования с помощью as.

Class SamleClass {} object Arr = new object; Arr = new SampleClass(); Arr = “welcome”; Arr = (short) 654; Arr = null; for (byte i = 0; i < Arr.Length; i++) { string t1 = Arr[i] as string; SampleClass t2 = Arr[i] as SampleClass; if (t1 != null) { Console.WriteLine(“{0}: it’s a string ‘” + t1 + “’”, i+1); } else if (t2 != null) { Console.WriteLine(“{0}: it’s a SampleClass”, i+1); } else { Console.WriteLine(“{0}: it’s not string or SampleClass”, i+1); } }

Вывод примера будет следующим:

1: it’s a SampleClass

2: it"s a string "welcome"

3: it’s not string or SampleClass

4: it’s not string or SampleClass

Преобразование типов с помощью класса Convert

Системный класс System.Convert содержит в себе методы, с помощью которых можно преобразовывать значения базовых типов данных, а также системного типа DateTime.

Convert содержит набор методов вида ToType , где вместо Type стоит системное название целевого типа значения (например ToChar, ToInt32, ToBoolean ). Эти методы позволяют выполнять все возможные преобразования базовых типов C#.

Метод Convert.ChangeType преобразует любой объект в любой указанный тип. При несоответствии типов или переполнении метод выдает исключение.

Последнее обновление: 30.07.2018

В предыдущей главе мы говорили о преобразованиях объектов простых типов. Сейчас затронем тему преобразования объектов классов. Допустим, у нас есть следующая иерархия классов:

Class Person { public string Name { get; set; } public Person(string name) { Name = name; } public void Display() { Console.WriteLine($"Person {Name}"); } } class Employee: Person { public string Company { get; set; } public Employee(string name, string company) : base(name) { Company = company; } } class Client: Person { public string Bank { get; set; } public Client(string name, string bank) : base(name) { Bank = bank; } }

В этой иерархии классов мы можем проследить следующую цепь наследования: Object (все классы неявно наследуются от типа Object) -> Person -> Employee|Client.

Причем в этой иерархии классов базовые типы находятся вверху, а производные типы - внизу.

Восходящие преобразования. Upcasting

Объекты производного типа (который находится внизу иерархии) в то же время представляют и базовый тип. Например, объект Employee в то же время является и объектом класса Person. Что в принципе естественно, так как каждый сотрудник (Employee) является человеком (Person). И мы можем написать, например, следующим образом:

Static void Main(string args) { Employee employee = new Employee("Tom", "Microsoft"); Person person = employee; // преобразование от Employee к Person Console.WriteLine(person.Name); Console.ReadKey(); }

В данном случае переменной person, которая представляет тип Person, присваивается ссылка на объект Employee. Но чтобы сохранить ссылку на объект одного класса в переменную другого класса, необходимо выполнить преобразование типов - в данном случае от типа Employee к типу Person. И так как Employee наследуется от класса Person, то автоматически выполняется неявное восходящее преобразование - преобразование к типу, которые находятся вверху иерархии классов, то есть к базовому классу.

В итоге переменные employee и person будут указывать на один и тот же объект в памяти, но переменной person будет доступна только та часть, которая представляет функционал типа Person.

Подобным образом поизводятся и другие восходящие преобразования:

Person person2 = new Client("Bob", "ContosoBank"); // преобразование от Client к Person

Здесь переменная person2, которая представляет тип Person, хранит ссылку на объект Client, поэтому также выполняется восходящее неявное преобразование от производного класса Client к базовому типу Person.

Восходящее неявное преобразование будет происходить и в следующем случае:

Object person1 = new Employee("Tom", "Microsoft"); // от Employee к object object person2 = new Client("Bob", "ContosoBank"); // от Client к object object person3 = new Person("Sam"); // от Person к object

Так как тип object - базовый для всех остальных типов, то преобразование к нему будет производиться автоматически.

Нисходящие преобразования. Downcasting

Но кроме восходящих преобразований от производного к базовому типу есть нисходящие преобразования или downcasting - от базового типа к производному. Например, в следующем коде переменная person хранит ссылку на объект Employee:

Employee employee = new Employee("Tom", "Microsoft"); Person person = employee; // преобразование от Employee к Person

И может возникнуть вопрос, можно ли обратиться к функционалу типа Employee через переменную типа Person. Но автоматически такие преобразования не проходят, ведь не каждый человек (объект Person) является сотрудником предприятия (объектом Employee). И для нисходящего преобразования необходимо применить явное преобразования, указав в скобках тип, к которому нужно выполнить преобразование:

Employee employee = new Employee("Tom", "Microsoft"); Person person = employee; // преобразование от Employee к Person //Employee employee2 = person; // так нельзя, нужно явное преобразование Employee employee2 = (Employee)person; // преобразование от Person к Employee

Рассмотрим некоторые примеры преобразований:

// Объект Employee также представляет тип object object obj = new Employee("Bill", "Microsoft"); // чтобы обратиться к возможностям типа Employee, приводим объект к типу Employee Employee emp = (Employee) obj; // объект Client также представляет тип Person Person person = new Client("Sam", "ContosoBank"); // преобразование от типа Person к Client Client client = (Client)person;

В первом случае переменной obj присвоена ссылка на объект Employee, поэтому мы можем преобразовать объект obj к любому типу который располагается в иерархии классов между типом object и Employee.

Если нам надо обратиться к каким-то отдельным свойствам или методам объекта, то нам необязательно присваивать преобразованный объект переменной:

// Объект Employee также представляет тип object object obj = new Employee("Bill", "Microsoft"); // преобразование к типу Person для вызова метода Display ((Person)obj).Display(); // либо так // ((Employee)obj).Display(); // преобразование к типу Employee, чтобы получить свойство Company string comp = ((Employee)obj).Company;

В то же время необходимо соблюдать осторожность при подобных преобразованиях. Например, что будет в следующем случае:

// Объект Employee также представляет тип object object obj = new Employee("Bill", "Microsoft"); // преобразование к типу Client, чтобы получить свойство Bank string bank = ((Client)obj).Bank;

В данном случае мы получим ошибку, так как переменная obj хранит ссылку на объект Employee. Данный объект является также объектом типов object и Person, поэтому мы можем преобразовать его к этим типам. Но к типу Client мы преобразовать не можем.

Другой пример:

Employee emp = new Person("Tom"); // ! Ошибка Person person = new Person("Bob"); Employee emp2 = (Employee) person; // ! Ошибка

В данном случае мы пытаемся преобразовать объект типа Person к типу Employee, а объект Person не является объектом Employee.

Существует ряд способов, чтобы избежать подобных ошибок преобразования.

Способы преобразований

Во-первых, можно использовать ключевое слово as . С помощью него программа пытается преобразовать выражение к определенному типу, при этом не выбрасывает исключение. В случае неудачного преобразования выражение будет содержать значение null:

Person person = new Person("Tom"); Employee emp = person as Employee; if (emp == null) { Console.WriteLine("Преобразование прошло неудачно"); } else { Console.WriteLine(emp.Company); }

Второй способ заключается в отлавливании исключения InvalidCastException , которое возникнет в результате преобразования:

Person person = new Person("Tom"); try { Employee emp = (Employee)person; Console.WriteLine(emp.Company); } catch (InvalidCastException ex) { Console.WriteLine(ex.Message); }

Третий способ заключается в проверке допустимости преобразования с помощью ключевого слова is :

Person person = new Person("Tom"); if(person is Employee) { Employee emp = (Employee)person; Console.WriteLine(emp.Company); } else { Console.WriteLine("Преобразование не допустимо"); }

Выражение person is Employee проверяет, является ли переменная person объектом типа Employee. Но так как в данном случае явно не является, то такая проверка вернет значение false , и преобразование не сработает.

В программировании нередко значения переменных одного типа присваиваются переменным другого типа. Например, в приведенном ниже фрагменте кода целое значение типа int присваивается переменной с плавающей точкой типа float :
int i; float f; i = 10; f = i;

Если в одной операции присваивания смешиваются совместимые типы данных, то значение в правой части оператора присваивания автоматически преобразуется в тип, указанный в левой его части. Поэтому в приведенном выше фрагменте кода значение переменной i сначала преобразуется в тип float , а затем присваивается переменной f .

Зададимся вопросом, всегда ли возможно преобразование типов? Когда будут возникать сообщения об ошибках, как это повлияет на надежность разрабатываемых программ?

Вследствие строгого контроля типов далеко не все типы данных в C# оказываются полностью совместимыми, и, следовательно, не все преобразования типов разрешены в неявном виде.

Например, типы bool и int несовместимы. Правда, преобразование несовместимых типов все-таки может быть осуществлено путем приведения . Приведение типов , по существу, означает явное их преобразование.

Автоматическое преобразование типов

Когда данные одного типа присваиваются переменной другого типа, неявное преобразование типов происходит автоматически при следующих условиях:
1) оба типа совместимы;
2) диапазон представления чисел целевого типа шире, чем у исходного типа.
Если оба эти условия удовлетворяются, то происходит расширяющее преобразование .
Например, тип int достаточно крупный, чтобы вмещать в себя все действительные значения типа byte , а кроме того, оба типа, int и byte , являются совместимыми целочисленными типами, и поэтому для них вполне возможно неявное преобразование.
Числовые типы, как целочисленные, так и с плавающей точкой, вполне совместимы друг с другом для выполнения расширяющих преобразований.

Рассмотрим пример:

using System; namespace ConsoleApplication1 { classProgram { static void Main(string args) { short num1, num2; num1 =10; num2 =15; Console.WriteLine("{0} + {1} = {2}",num1,num2,Sum(num1,num2)); Console.ReadLine(); } staticintSum(int x,int y) { return x + y; } } }

Обратите внимание на то, что метод Sum() ожидает поступления двух параметров типа int. Тем не менее, в методе Main() ему на самом деле передаются две переменных типа short. Хотя это может показаться несоответствием типов, программа будет компилироваться и выполняться без ошибок и возвращать в результате, как и ожидалось, значение 25.
Причина, по которой компилятор будет считать данный код синтаксически корректным, связана с тем, что потеря данных здесь невозможна.
Поскольку максимальное значение (32767), которое может содержать тип short, вполне вписывается в рамки диапазона типа int (максимальное значение которого составляет 2147483647), компилятор будет неявным образом расширять каждую переменную типа short до типа int.
Формально термин «расширение» применяется для обозначения неявного восходящего приведения (upward cast ), которое не приводит к потере данных.

Приведение несовместимых типов

Несмотря на всю полезность неявных преобразований типов, они неспособны удовлетворить все потребности в программировании, поскольку допускают лишь расширяющие преобразования совместимых типов. А во всех остальных случаях приходится обращаться к приведению типов. Приведение - это команда компилятору преобразовать результат вычисления выражения в указанный тип. А для этого требуется явное преобразование типов.

Ниже приведена общая форма приведения типов:
(целевой_тип) выражение
Здесь целевой_тип обозначает тот тип, в который желательно преобразовать указанное выражение.

Если приведение типов приводит к сужающему преобразованию , то часть информации может быть потеряна. Например, в результате приведения типа long к типу int часть информации потеряется, если значение типа long окажется больше диапазона представления чисел для типа int, поскольку старшие разряды этого числового значения отбрасываются.
Когда же значение с плавающей точкой приводится к целочисленному типу, то в результате усечения теряется дробная часть этого числового значения. Так, если присвоить значение 1,23 целочисленной переменной, то в результате в ней останется лишь целая часть исходного числа (1), а дробная его часть (0,23) будет потеряна.

Давайте рассмотрим пример:

using System; namespace ConsoleApplication1 { classProgram { static void Main(string args) { int i1 =455,i2 =84500; decimal dec =7.98845m; // Приводим два числа типа int к типу short Console.WriteLine((short) i1); Console.WriteLine((short) i2); // Приводим число типа decimal к типу int Console.WriteLine((int) dec); Console.ReadLine(); } } }

Результатом работы данной программы будет:
455
18964
7

Обратите внимание, что переменная i1 корректно преобразовалась в тип short, т.к. ее значение входит в диапазон этого типа данных. Преобразование переменной dec в тип int вернуло целую часть этого числа. Преобразование переменной i2 вернуло значение переполнения 18964 (т.е. 84500 — 2*32768).

Роль класса System.Convert

В завершении темы преобразования типов данных стоит отметить, что в пространстве имен System имеется класс Convert , который тоже может применяться для расширения и сужения данных:
byte sum = Convert.ToByte(var1 + var2);

Одно из преимуществ подхода с применением класса System.Convert связано с тем, что он позволяет выполнять преобразования между типами данных нейтральным к языку образом.

Однако, поскольку в C# есть операция явного преобразования, использование класса Convert для преобразования типов данных обычно является делом вкуса.

Другое полезное назначение методов класса Convert состоит в преобразовании строковой переменной в переменную числового типа. Я его использую достаточно часто! Ведь в консольном приложении возможен только ввод строк, и поскольку оператор Console.ReadLine() возвращает строку, то далее ее можно преобразовать в число, используя соответствующий метод, например:
int k = Convert.ToInt32(Console.ReadLine());
При невозможности преобразования строки в число возникает исключительная ситуация (далее исключение – exception ), которое может быть также обработано.

Перейдем к изучению операторов языка С#, и начнем мы с .