Курс лекций «Проблемы безопасности в информационных технологиях»


Защита от вредоносных программ (malware, malicious software)



бет43/44
Дата13.09.2017
өлшемі4.51 Mb.
#839
түріКурс лекций
1   ...   36   37   38   39   40   41   42   43   44

Защита от вредоносных программ (malware, malicious software)


Вредоносная программа («зловред» на жаргоне, malware, malicious software — «злонамеренное программное обеспечение») — любое программное обеспечение, предназначенное для получения несанкционированного доступа к вычислительным ресурсам самой ЭВМ или к информации, хранимой на ЭВМ, с целью несанкционированного владельцем использования ресурсов ЭВМ1 или причинения вреда (нанесения ущерба) владельцу информации, и/или владельцу ЭВМ, и/или владельцу сети ЭВМ, путем копирования, искажения, удаления или подмены информации.

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




  • Санкционированный доступ к информации (authorized access to information) — доступ к информации, не нарушающий правила разграничения доступа.

  • Несанкционированный доступ к информации (unauthorized access to information) — доступ к информации, нарушающий правила разграничения доступа с использованием штатных средств, предоставляемых средствами вычислительной техники или автоматизированными системами. Под штатными средствами понимается совокупность программного, микропрограммного и технического обеспечения средств вычислительной техники или автоматизированных систем.

  • Правила разграничения доступа (access mediation rules) — совокупность правил, регламентирующих права доступа субъектов доступа к объектам доступа.

Согласно статье 273 Уголовного Кодекса Российской Федерации («Создание, использование и распространение вредоносных программ для ЭВМ») определение вредоносных программ выглядит следующим образом: «… программы для ЭВМ или внесение изменений в существующие программы, заведомо приводящие к несанкционированному уничтожению, блокированию, модификации либо копированию информации, нарушению работы ЭВМ, системы ЭВМ или их сети…»

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

Компания Microsoft трактует термин «вредоносная программа» следующим образом: «Вредоносная программа (malware) — это сокращение от „malicious software“, обычно используемое как общепринятый термин для обозначения любого программного обеспечения, специально созданного для того, чтобы причинять ущерб отдельному компьютеру, серверу, или компьютерной сети, независимо от того, является ли оно вирусом, шпионской программой и т. д.»

Существует множество вариантов классификации вредоносных программ. Ниже будет приведена классификация, основанная на номенклатуре «Лаборатории Касперского».

По вредоносной нагрузке:



  • Помехи в работе заражённого компьютера: начиная от открытия-закрытия поддона CD-ROM и заканчивая уничтожением данных и поломкой аппаратного обеспечения. Поломками был «знаменит», в частности, Win32.CIH.

    • Блокировка антивирусных сайтов, антивирусного ПО и административных функций ОС с целью усложнить лечение.

    • Саботирование промышленных процессов, управляемых компьютером (этим известен червь Stuxnet).

  • Инсталляция другого вредоносного ПО.

    • Загрузка из сети (downloader).

    • Распаковка другой вредоносной программы, уже содержащейся внутри файла (dropper).

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

    • Похищение данных, представляющих ценность или тайну.

    • Кража учётных записей различных служб (электронной почты, мессенджеров, игровых серверов…). Учётные записи используются для рассылки спама. Также через электронную почту зачастую можно заполучить пароли от других учётных записей, а виртуальное имущество в MMOG — продать.

    • Кража учётных записей платёжных систем.

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

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

    • Платное ПО, имитирующее, например, антивирус, но ничего полезного не делающее (fraudware или scareware).

  • Прочая незаконная деятельность:

    • Получение несанкционированного (и/или дарового) доступа к ресурсам самого компьютера или третьим ресурсам, доступным через него, в том числе прямое управление компьютером (так называемый backdoor).

    • Организация на компьютере открытых relay и общедоступных прокси-серверов.

    • Заражённый компьютер (в составе botnet) может быть использован для проведения DDoS-атак.

    • Сбор адресов электронной почты и распространение спама, в том числе в составе botnet.

    • Накрутка электронных голосований, щелчков (click) по рекламным баннерам.

    • Генерация монет платёжной системы Bitcoin.

    • Использование эффект 25-го кадра для зомбирования человека.

  • Файлы, не являющиеся истинно вредоносными, но в большинстве случаев нежелательные:

    • Шуточное ПО, делающее какие-либо беспокоящие пользователя вещи.

    • Adware — программное обеспечение, показывающее рекламу.

    • Spyware — программное обеспечение, отсылающее через интернет не санкционированную пользователем информацию.

    • «Отравленные» документы, дестабилизирующие ПО, открывающее их (например, архив размером меньше мегабайта может содержать гигабайты данных и может надолго «завесить» архиватор при распаковке).

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

    • Rootkit нужен, чтобы скрывать другое вредоносное ПО от посторонних глаз.

    • Иногда вредоносное ПО для собственного «жизнеобеспечения» устанавливает дополнительные утилиты: IRC-клиенты, программные маршрутизаторы, открытые библиотеки перехвата клавиатуры.Такое ПО вредоносным не является, но из-за того, что за ним часто стоит истинно вредоносная программа, оно детектируется антивирусами. Бывает даже, что вредоносным является только скрипт из одной строчки, а остальные программы вполне легитимны.

По методу размножения:



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

  • Логическая бомба в программе срабатывает при определённом условии, и неотделима от полезной программы-носителя.

  • Троянская программа не имеет собственного механизма размножения.

  • Компьютерный вирус размножается в пределах компьютера и через сменные диски. Размножение через сеть возможно, если пользователь сам выложит заражённый файл в сеть. Вирусы, в свою очередь, делятся по типу заражаемых файлов (файловые, загрузочные, макро-, автозапускающиеся); по способу прикрепления к файлам (паразитирующие, «спутники», перезаписывающие) и т. д.

  • Сетевой червь способен самостоятельно размножаться по сети. Делятся на IRC-, почтовые, размножающиеся с помощью эксплойтов и т. д.

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

Ниже перечислены методы защиты от вредоносных программ. Нужно понимать, что абсолютной защиты от вредоносных программ не существует: от эксплойтов «нулевого дня» (zero-day exploit)2, наподобие Sasser или Conficker, не застрахован никто. Но с помощью некоторых мер можно существенно снизить риск заражения вредоносными программами. Ниже перечислены основные и наиболее эффективные меры для повышения безопасности:




  • использовать современные операционные системы, не дающие изменять важные файлы без ведома пользователя;

  • своевременно устанавливать обновления;

  • если существует режим автоматического обновления, включить его;

  • помимо антивирусных продуктов, использующих сигнатурные методы поиска вредоносных программ, использовать программное обеспечение, обеспечивающее проактивную защиту от угроз (необходимость использования проактивной защиты обуславливается тем, что сигнатурный антивирус не замечает новые угрозы, ещё не внесенные в антивирусные базы);

  • постоянно работать на персональном компьютере исключительно с правами пользователя, а не администратора, что не позволит большинству вредоносных программ инсталлироваться на персональном компьютере;

  • ограничить физический доступ к компьютеру посторонних лиц;

  • использовать внешние носители информации только от проверенных источников;

  • не открывать компьютерные файлы, полученные от ненадёжных источников;

  • использовать персональный firewall (аппаратный или программный), контролирующий выход в сеть Интернет с персонального компьютера на основании политик, которые устанавливает пользователь;

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


Компьютерные вирусы


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

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

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

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

Не существует единой и общепризнанной системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы:


  • по поражаемым объектам (файловые вирусы, загрузочные вирусы, скриптовые вирусы, макровирусы, вирусы, поражающие исходный код);

  • по поражаемым операционным системам и платформам (DOS, Microsoft Windows, Unix, Linux);

  • по технологиям, используемым вирусом (полиморфные вирусы, стелс-вирусы, rootkits);

  • по языку, на котором написан вирус (ассемблер, высокоуровневый язык программирования, скриптовый язык и др.);

  • по дополнительной вредоносной функциональности (backdoors, keylogger, шпионы, botnet и др.).

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заражённые backdoor-ом машины часто становятся участниками т.н. ботнет. Ботнет (botnet, произошло от слов robot и network) — это компьютерная сеть, состоящая из некоторого количества заражённых хостов, с запущенными ботами — автономным программным обеспечением. Чаще всего бот в составе ботнета является программой, скрытно устанавливаемой на устройство жертвы и позволяющей злоумышленнику выполнять некие действия с использованием ресурсов заражённого компьютера. Обычно используются для нелегальной или неодобряемой деятельности — рассылки спама, перебора паролей на удалённой системе, для проведения атак на отказ в обслуживании.


Рис.140 Схема создания ботнета и использования его спамером.
Ранние версии ботнет управляли сетями заражённых машин или с помощью получения команд управления по определённому порту, или присутствием в IRC-чате3. До момента использования программа «спит» — хотя при этом, возможно, продолжает тиражироваться («размножаться»), заражая другие узлы, и ждёт команд от командного центра. Получив команды от «владельца» («хозяина») ботнета, начинает их исполнять (один из видов деятельности). В ряде случаев по команде загружается исполняемый код (таким образом, имеется возможность «обновлять» программу и загружать модули с произвольной функциональностью). Возможно управление ботом помещением определенной команды по заранее заготовленому URL.

В настоящее время получили распространение ботнеты, управляемые через веб-сайт или по принципу p2p-сетей.

Ботнеты являются объектом нелегальной торговли, при продаже передаётся пароль к IRC каналу (пароля доступа к интерфейсу программы на компьютере).

По оценке создателя протокола TCP/IP Винта Серфа, около четверти из 600 млн компьютеров, подключённых к Интернету, могут находиться в ботнетах. Специалисты SecureWorks, изучив внутренние статистические сведения ботнета, основанного на трояне SpamThru, обнаружили, что около половины заражённых компьютеров работают под управлением операционной системы Windows XP с установленным Service Pack 2.

Наиболее заметной из всех видов деятельности ботнета является DDoS атака. Среди успешных (и почти успешных) атак можно привести в пример следующие:


  • DDos атака на сайт Microsoft.com (вирус MSBlast!, в один день начавший со всех заражённых машин посылать запросы на microsoft.com, привёл к отказу сайта).

  • Серия DDoS-атак на «Живой журнал» весной 2011 года.

Очень популярны сегодня технологии сокрытия присутствия заражённого кода на компьютере – rootkit. Руткит (rootkit, т.е. «набор root'а») — программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе.

Термин rootkit исторически пришёл из мира Unix, и под этим термином понимается набор утилит или специальный модуль ядра, которые взломщик устанавливает на взломанной им компьютерной системе сразу после получения прав суперпользователя. Этот набор, как правило, включает в себя разнообразные утилиты для «заметания следов» вторжения в систему, делает незаметными снифферы, сканеры, кейлоггеры, троянские программы, замещающие основные утилиты Unix (в случае неядерного руткита). Rootkit позволяет взломщику закрепиться во взломанной системе и скрыть следы своей деятельности путём сокрытия файлов, процессов, а также самого присутствия руткита в системе.

Сто́ит отметить, что технология rootkit, перенесённая на платформу Windows, пожалуй даже превзошла по возможностям то, с чего rootkit-ы начинались на платформе Unix. В двух ведущих платформах Linux есть встроенные в систему средства, позволяющие, например, легко обнаружить подмену системных утилит (один из способов, которыми пользуются rootkit-ы): SELinux (RedHat) и AppArmor (SUSE). А вот в Windows и сегодня rootkit – одна из очень серьёзных проблем, ставшая одно время очень знаменитой, когда сотрудник Microsoft Марк Руссинович, разрабатывая антируткит, обнаружил «живой» и работающий rootkit прямо у себя на компьютере. Это был элемент «антипиратской» защиты в исполнении фирмы Sony4.






Достарыңызбен бөлісу:
1   ...   36   37   38   39   40   41   42   43   44




©kzref.org 2022
әкімшілігінің қараңыз

    Басты бет