Санкт-Петербургский государственный университет
Опубликован: 05.09.2014 | Доступ: свободный | Студентов: 9635 / 4230 | Длительность: 09:21:00
Специальности: Руководитель
Лекция 6:

Обеспечение безопасности

< Лекция 5 || Лекция 6: 12345 || Лекция 7 >

Антивирусная защита

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

В 1949 году Джон фон Нейман (John von Naumann), выдающийся американский математик венгерского происхождения, сделавший важный вклад в квантовую физику, квантовую логику, функциональный анализ, теорию множеств, информатику, экономику и другие отрасли науки, разработал математическую теорию создания самовоспроизводящихся программ. Это была первая попытка создать теорию такого явления, но она не вызвала большого интереса у научного сообщества, так как не имела видимого прикладного значения.

Нет согласия и по поводу происхождения названия "компьютерный вирус". По одной из версий это случилось 10 ноября 1983 года, когда аспирант Университета Южной Калифорнии (University of Southern California) Фред Коэн (Fred Cohen) во время семинара по безопасности в Лехайском университете (Пенсильвания, США) продемонстрировал на системе VAX 11/750 программу, способную внедряться в другие программные объекты. Эту программу можно с полным правом считать одним из первых прототипов компьютерного вируса.

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

Существует версия, что термином "вирус" назвал копирующую саму себя программу научный руководитель Фреда, один из создателей криптографического алгоритма RSA Леонард Эдлеман (Leonard Adleman).

Годом позже, на 7-й конференции по безопасности информации, Ф.Коэн дает научное определение термину "компьютерный вирус", как программе, способной "заражать" другие программы при помощи их модификации с целью внедрения своих копий и выполнения заданных действий. Отметим, что Ф.Коэн определённо не был новатором в этой области. Теоретические рассуждения о распространяющихся копированием с компьютера на компьютер программах и практическая реализация успешно осуществлялись и раньше. Однако именно презентация Ф.Коэна заставила специалистов серьёзно заговорить о потенциальном ущербе от преднамеренных атак. Всего через пятнадцать лет распространение вредоносного программного обеспечения приобрело угрожающие масштабы, радикально снизить которые не представляется возможным.

В некотором смысле опередил Ф. Коэна 15-летний школьник из Пенсильвании Рик Скрента (Rich Skrenta). Его излюбленным занятием было подшучивание над товарищами путём модификаций кода игр для Apple II, которые приводили к внезапному выключению компьютеров или выполняли другие действия. В 1982 году он написал Elk Cloner — самовоспроизводящийся загрузочный вирус, инфицировавший Apple II через гибкий магнитный диск. Во время каждой 50-й перезагрузки ПК появлялось сообщение со словами: "Он завладеет вашими дисками, он завладеет вашими чипами. Да, это Cloner! Он прилипнет к вам как клей, он внедрится в память. Cloner приветствует вас!"

Программа Р.Скрента не вышла далеко за пределы круга его друзей. Лавры достались "шедевру" программистской мысли, появившемуся несколькими годами позже. Программу Brain ("Мозг") создали в 1988 году двое братьев — выходцев из Пакистана, которым приписывается инфицирование ПК через созданные ими нелегальные копии программы для мониторинга работы сердца. Вирус содержал уведомление об авторском праве с именами и телефонами братьев, поэтому пользователи заражённых машин могли обратиться к напрямую к вирусописателям за "вакциной". За первой версией Brain последовало множество модификаций, преследовавших сугубо коммерческий интерес.

В 1988 году аспирант Корнельского университета (Cornell University) Роберт Теппен Моррис младший (Robert Tappan Morris Jr.), приходившийся сыном главному научному сотруднику Агентства национальной безопасности США (National Security Agency), выпустил в свет первый широко распространившийся компьютерный червь, хотя экспериментальные работы в этой области проводились с конца 1970-х годов. Этот тип программ чаще всего не производит никаких деструктивных манипуляций с файлами пользователя и ставит целью как можно более быстрое и широкое распространение, снижая эффективность работы сетей.

По некоторым оценкам, от 5% до 10% подключённых в то время к Сети машин, по большей части принадлежавших университетам и исследовательским организациям, были атакованы им. Червь использовал уязвимости нескольких программах, в том числе Sendmail. Р.Т.Моррис стал первым человеком, осуждённым по обвинению в преступлениях в компьютерной сфере, и получил 3 года условно. Однако это не помешало ему впоследствии стать профессором Массачусетского технологического института (MIT).

Следующий большой шаг вредоносное ПО совершило в 90-х годах с ростом спроса на персональные компьютеры и количества пользователей электронной почты. Электронные коммуникации предоставили гораздо более эффективный путь инфицирования ПК, чем через носители информации. Образцом скорости распростанения стал вирус Melissa в 1999 году, внедрившийся в 250 тыс. систем. Однако он был безвреден, за исключением того, что каждый раз при совпадении времени и даты — например, 5:20 и 20 мая — на экране возникала цитата из The Simpsons.

Годом позже появился Love Bug, известный также как LoveLetter. За короткое время вирус облетел весь мир! Он был написан филиппинским студентом и приходил в электронном сообщении с темой "I Love You". Как только пользователь пытался открыть вложение, вирус через Microsoft Outlook пересылал себя по всем адресам в списке контактов. Затем скачивал троянскую программу для сбора интересующей филиппинца информации. LoveLetter атаковал около 55 миллионов ПК и заразил от 2,5 до 3 миллионов. Размер причинённого им ущерба оценивался в 10 миллиардов, но студент избежал наказания, поскольку Филиппины не имели в то время законодательной базы для борьбы с киберпреступниками [Борн Денис, http://www.wired.com].

Лавинообразное распространением вирусов стало большой проблемой для большинства компаний и государственных учреждений. В настоящее время известно более миллиона компьютерных вирусов и каждый месяц появляется более 3000 новых разновидностей ["Энциклопедия Вирусов", http://www.viruslist.com/ru/viruses/encyclopedia.].

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

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

Формы организации вирусных атак весьма разнообразны, но в целом практически их можно "разбросать" по следующим категориям:

  • удаленное проникновение в компьютер — программы, которые получают неавторизованный доступ к другому компьютеру через Internet (или локальную сеть);
  • локальное проникновение в компьютер — программы, которые получают неавторизованный доступ к компьютеру, на котором они впоследствии работают;
  • удаленное блокирование компьютера — программы, которые через Internet (или сеть) блокируют работу всего удаленного компьютера или отдельной программы на нем;
  • локальное блокирование компьютера — программы, которые блокируют работу компьютера, на котором они работают;
  • сетевые сканеры — программы, которые осуществляют сбор информации о сети, чтобы определить, какие из компьютеров и программ, работающих на них, потенциально уязвимы к атакам;
  • сканеры уязвимых мест программ — программы, проверяют большие группы компьютеров в Интернет в поисках компьютеров, уязвимых к тому или иному конкретному виду атаки;
  • "вскрыватели" паролей — программы, которые обнаруживают легко угадываемые пароли в зашифрованных файлах паролей;
  • сетевые анализаторы (sniffers) — программы, которые слушают сетевой трафик; часто в них имеются возможности автоматического выделения имен пользователей, паролей и номеров кредитных карт из трафика;
  • модификация передаваемых данных или подмена информации;
  • подмена доверенного объекта распределённой вычислительной сети (работа от его имени) или ложный объект распределённой ВС (РВС).
  • "социальная инженерия" — несанкционированный доступ к информации иначе, чем взлом программного обеспечения. Цель — ввести в заблуждение сотрудников (сетевых или системных администраторов, пользователей, менеджеров) для получения паролей к системе или иной информации, которая поможет нарушить безопасность системы.

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

Сетевые черви

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

Пример — E-mail-Worm — почтовые черви. К данной категории червей относятся те из них, которые для своего распространения используют электронную почту. При этом червь отсылает либо свою копию в виде вложения в электронное письмо, либо ссылку на свой файл, расположенный на каком-либо сетевом ресурсе (например, URL на зараженный файл, расположенный на взломанном или хакерском веб-сайте). В первом случае код червя активизируется при открытии (запуске) зараженного вложения, во втором — при открытии ссылки на зараженный файл. В обоих случаях эффект одинаков — активизируется код червя.

Для отправки зараженных сообщений почтовые черви используют различные способы. Наиболее распространены:

  • прямое подключение к SMTP-серверу, используя встроенную в код червя почтовую библиотеку;
  • использование сервисов MS Outlook;
  • использование функций Windows MAPI.

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

  • рассылают себя по всем адресам, обнаруженным в адресной книге MS Outlook;
  • считывает адреса из адресной базы WAB;
  • сканируют "подходящие" файлы на диске и выделяет в них строки, являющиеся адресами электронной почты;
  • отсылают себя по всем адресам, обнаруженным в письмах в почтовом ящике (при этом некоторые почтовые черви "отвечают" на обнаруженные в ящике письма).

Многие черви используют сразу несколько из перечисленных методов. Встречаются также и другие способы поиска адресов электронной почты. Другие виды червей: IM-Worm — черви, использующие Internet-пейджеры, IRC-Worm — черви в IRC-каналах, Net-Worm — прочие сетевые черви.

Классические компьютерные вирусы

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

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

  • при заражении доступных дисков вирус проник в файлы, расположенные на сетевом ресурсе;
  • вирус скопировал себя на съёмный носитель или заразил файлы на нем;
  • пользователь отослал электронное письмо с зараженным вложением.

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

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

Скрипт-вирусы

Следует отметить также скрипт-вирусы, являющиеся подгруппой файловых вирусов. Данные вирусы, написаны на различных скрипт-языках (VBS, JS, BAT, PHP и т.д.). Они либо заражают другие скрипт-программы (командные и служебные файлы MS Windows или Linux), либо являются частями многокомпонентных вирусов. Также, данные вирусы могут заражать файлы других форматов (например, HTML), если в них возможно выполнение скриптов.

Троянские программы

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

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

  • Backdoor — троянские утилиты удаленного администрирования.
  • Trojan-PSW — воровство паролей.
  • Trojan-AOL — семейство троянских программ, "ворующих" коды доступа к сети AOL (America Online). Выделены в особую группу по причине своей многочисленности.
  • Trojan-Clicker — Internet-кликеры. Семейство троянских программ, основная функция которых — организация несанкционированных обращений к Internet-ресурсам (обычно к Web-страницам). Достигается это либо посылкой соответствующих команд браузеру, либо заменой системных файлов, в которых указаны "стандартные" адреса Internet-ресурсов (например, файл hosts в MS Windows).
  • Trojan-Downloader — доставка прочих вредоносных программ.
  • Trojan-Dropper — инсталляторы прочих вредоносных программ. Троянские программы этого класса написаны в целях скрытной инсталляции других программ и практически всегда используются для "подсовывания" на компьютер-жертву вирусов или других троянских программ.
  • Trojan-Proxy — троянские прокси-сервера. Семейство троянских программ, скрытно осуществляющих анонимный доступ к различным интернет-ресурсам. Обычно используются для рассылки спама.
  • Trojan-Spy — шпионские программы. Данные троянцы осуществляют электронный шпионаж за пользователем зараженного компьютера: вводимая с клавиатуры информация, снимки экрана, список активных приложений и действия пользователя с ними сохраняются в какой-либо файл на диске и периодически отправляются злоумышленнику. Троянские программы этого типа часто используются для кражи информации пользователей различных систем онлайновых платежей и банковских систем.
  • Trojan — прочие троянские программы. В данной категории также присутствуют "многоцелевые" троянские программы, например, те из них, которые одновременно шпионят за пользователем и предоставляют proxy-сервис удаленному злоумышленнику.
  • Trojan ArcBomb — "бомбы" в архивах. Представляют собой архивы, специально оформленные таким образом, чтобы вызывать нештатное поведение архиваторов при попытке разархивировать данные — зависание или существенное замедление работы компьютера или заполнение диска большим количеством "пустых" данных. Особенно опасны "архивные бомбы" для файловых и почтовых серверов, если на сервере используется какая-либо система автоматической обработки входящей информации — "архивная бомба" может просто остановить работу сервера.
  • Trojan-Notifier — оповещение об успешной атаке. Троянцы данного типа предназначены для сообщения своему "хозяину" о зараженном компьютере. При этом на адрес "хозяина" отправляется информация о компьютере, например, IP-адрес компьютера, номер открытого порта, адрес электронной почты и т. п. Отсылка осуществляется различными способами: электронным письмом, специально оформленным обращением к веб-странице "хозяина", ICQ-сообщением. Данные троянские программы используются в многокомпонентных троянских наборах для извещения своего "хозяина" об успешной инсталляции троянских компонент в атакуемую систему.
< Лекция 5 || Лекция 6: 12345 || Лекция 7 >
Константин Яргуни
Константин Яргуни

Прошел курс "Безопасность информационных систем". 18 марта, осуществил оплату. До сих пор не пришел сертификат на почту в pdf.

Иван Крепак
Иван Крепак