double arrow

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


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

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

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




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

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

8.2. Классификация вирусов

По начинке вирусы делятся на деструктивные и недеструктивные. Деструктивные вирусы классифицируют по выполняемым ими функциям:

Вирусы, уничтожающие данные. Наиболее характерный пример — вирус «Чернобыль» (Win95.CIH), массовое распространение которого случилось в 1999 году. При запуске проверял системную дату компьютера и 26 апреля активировал механизм уничтожения данных на жестком диске. При этом производится попытка записать «мусор» во FLASH BIOS компьютера. Некоторые старые модели это позволяли, после чего восстановить материнскую плату можно было только заменой микросхемы. Другой вирус, Klez.E, произвел эпидемию в 2002 году. Он срабатывал на шестой день каждого нечетного месяца и заполнял файлы определенных форматов (.doc, .txt и др.) случайным содержимым, после чего их восстановление становилось неозможным.



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

Использование зараженных компьютеров в качестве плацдарма для рассылки спама или распределенной DоS-атаки (группа зараженных таким вирусом компьютеров называется «зомби-сетью»). Пример такого вируса — MsBlast — был предназначен для атаки на сайт windowsupdate.com: 16 августа 2003 года со всех зараженных компьютеров осуществлялись запросы к этому сайту, в результате чего сервер должен был подвергнуться критической перегрузке и выйти из строя.

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

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

8.3. Файловые вирусы

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



 

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

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

8.4. Макровирусы

Макровирусы не отличаются по механизму размножения от файловых вирусов; их особенность в том, что заражают они не исполняемые файлы, а файлы некоторых популярных форматов документов (в частности, .doc и .xls). Макровирусы оказались опасны тем, что пользователи привыкли к мысли о том, что зараженной может быть только программа и не опасались получить вирус вместе с документом.

 

Макровирусы используют возможности некоторых программ (текстовых, графических, табличных редакторов, СУБД и пр.) внедрять в документы, создаваемые этими программами, так называемые макросы — процедуры, написанные на встроенном в них языке программирования и выполняемые в ответ на определенные события (нажатие пользователем кнопки или открытие документа). Например, Microsoft Office поддерживает встроенный язык программирования Visual Basic for Applications (VBA).

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

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

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

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

Вирус должен автоматически запускаться (желательно одновременно с запуском операционной системы).

Содержащий вирус файл долден быть надежно скрыт от пользователя.

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

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

Через стандартные коммуникационные сервисы.

Через «дыры» в популярных сетевых приложениях, в том числе самой ОС.

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

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

Один из самых нашумевших сетевый червей — вирус «I love you», эпидемия которого началась 4 мая 2000 года. После открытия файла, приложенного к электронному письму, вирус уничтожал или изменял некоторые файлы на зараженной машине, а кроме того сразу же, в момент запуска, рассылал себя по всем адресам адресной книги пользователя. По оценкам различных компаний, поражению подверглось огромное количество компьютерных сетей (в отдельных странах — от 30 до 80 процентов). Количество получателей «любовных писем» оценивается в 45 миллионов человек, общие убытки — до 10 миллиардов долларов США3. Адресат получал письмо следующего содержания:

Subject «ILOVEYOU»

Сообщение: «kindly check the attached LOVELETTER coming from me.»

Присоединенный файл: «LOVE-LETTER-FOR-YOU.TXT.vbs»

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

Второй механизм заражения — ошибки в сетевых программах, позволяющие вредоносной программе проникать на компьютер пользователя и получать на нем управление без каких-либо действий со стороны самого пользователя. Такие вирусы появляются значительно реже (поскольку обнаружение подобной ошибки и написание программы, которая ей пользуется, непросто). Однако, появившись, они вызывают серьезную вирусную эпидемию (как вирус MsBlast в 2003 году), которая прекращается только тогда, когда выпускается патч (программа, исправляющая уязвимость) и его устанавливают большинство пользователей.

Единственный способ хоть как-то противостоять подобным вирусам — своевременная установка обновлений.

Рассмотрим теперь резидентные вирусы. Их характерной особенностью является автоматический запуск после загрузки операционной системы. Большинство резидентных вирусов под Windows обеспечивает выполнение этого условия, прописывая себя в разделы автозагрузки в реестре:

HKEY_LOCAL_MACINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

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

Маскируются сетевые черви в большинстве своем в системных папках Windows (например, System32) среди сотен файлов, назначение которых пользователю неизвестно.

8.6. Загрузочные вирусы

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

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

Такой вирус представляет собой обычный исполняемый файл с атрибутом «скрытый», который записывается в корневой каталог флешки либо в скрытую папку, эмулирующую корзину Windows либо другую системную папку. Кроме этого в корневом раталоге размещается файл autorun.inf со ссылкой на вирус. Вирус активируется, если у флешки срабытывает автозапуск, а это обычно происходит автоматически, если открывать флешку двойным щелчком по ее ярлыку при условии, что настройки Windows установлены по умолчанию. Вирус оставляет свои копии (вместе с autorun.inf) на всех разделах жесткого диска и, таким образом, получает управление во время каждого сеанса работы пользователя, когда тот случайно активирует автозапуск на одном из этих разделов. Далее вирус постоянно находится в оперативной памяти, исполняет свою начинку, а также отслеживает подключение к компьютеру новых переносных носителей и заражает их.

Для профилактики таких вирусов (помимо антивирусной защиты) необходимо открывать переносные устройства таким образом, чтобы не позволить сработать автозапуску. Например, открывать их через оболочку типа Total Commander, либо через адресную строку проводника Windows (но не двойным щелчком по ярлыку).

8.7. Троянские кони

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

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

Одна из распространенных начинок троянских коней — бэкдор (backdoor) — программа, позволяющая злоумышленнику получать удаленный доступ к системе (а в некоторых случаях полностью ее контролировать).

 


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

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

Если пользователь A хочет отправить зашифрованное послание пользователю B, он шифрует его с помощью открытого ключа B. Теперь текст не сможет прочесть никто, кроме B (даже сам A), поскольку для дешифрования нужен закрытый ключ.

Схему шифрования можно записать в следующем виде:

M' = E(M, Kоткр)

M = D(M', Kзакр),

где Е — функция шифрования (encrypt), D — функция дешифрования (decrypt), а Kоткр и Kзакр — соответственно открытый и закрытый ключи получателя сообщения.

 







Сейчас читают про: