Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

вторая_чать_диплома

.pdf
Скачиваний:
8
Добавлен:
19.03.2016
Размер:
1.63 Mб
Скачать

МИНОБРНАУКИ РОССИИ

ФЕДЕРАЛЬНОЕГОСУДАРСТВЕННОЕБЮДЖЕТНОЕОБРАЗОВАТЕЛЬНОЕУЧРЕЖДЕНИЕ ВЫСШЕГОПРОФЕССИОНАЛЬНОГООБРАЗОВАНИЯ

“ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ”

Факультет компьютерных наук

Кафедра Программирования и информационных технологий

ВКР Бакалаврская работа на тему: “Разработка приложения для обнаружения скрытого вредоносного программного обеспечения “

Направление: 230200 Информационные системы

Допущено к защите в ГАК Зав. кафедрой _____________________ Тюкачѐв Н.А. к.ф-м.н., доцент

Студент _____________________ Бурлуцкий С.А., 4 курс

Руководитель _____________________ Беляев А. C. ст. преп.

Воронеж 2014

2

3

 

Содержание

 

Введение ..............................................................................................................

5

1 Постановка задачи............................................................................................

8

2 Анализ задачи ...................................................................................................

9

2.1

Общая классификация компьютерных угроз .........................................

11

2.2

Родоначальники и историческое развитие руткит технологий .............

14

2.3

Наиболее популярные механизмы скрытия ...........................................

15

2.4

Использование эвристического анализа .................................................

24

2.5

Существующие решения для поиска скрытых угроз .............................

27

2.6

Сравнение эффективности существующих решений ............................

30

2.7

Использование собственного инструмента ............................................

35

2.8

Средства реализации................................................................................

42

3 Аппаратные и программные требования ......................................................

44

4 Реализация приложения .................................................................................

45

4.1

Размещение приложения в пользовательской системе..........................

48

4.2

Организация сканера угроз......................................................................

50

4.3

Механизмы обнаружения руткитов ........................................................

55

4.4

Эвристический анализатор ......................................................................

60

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

64

Список использованных источников ...............................................................

65

Приложение 1. Отчѐт работы AVZ ..................................................................

66

Приложение 2. Листинг шаблонной функции GetDataBlock .........................

68

Приложение 3. Листинг методов обнаружения скрытых модулей ................

69

Приложение 4. Пример реализации эвристического анализатора .................

70

4

Введение

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

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

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

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

Современные киберпреступники решают эту проблему точно так же,

как ее решали «киберхулиганы» 10-15 лет назад. Одним из первых известных вирусов для PC был — загрузочный вирус, который перехватывал системные функции доступа к диску (тогда это были ещѐ аппаратные прерывания) и при чтении загрузочного сектора (например, антивирусной

5

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

вирусах.

В мире UNIX вредоносные программы пока не получили такого распространения, как в DOS и Windows, однако именно оттуда пришел термин rootkit, который сейчас часто используется для обозначения stealth-

технологий, применяемых авторами вредоносных программ под Windows.

Изначально термин rootkit (с англ.) — это набор программ,

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

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

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

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

Так всемирно известный червь Stuxnet [2] очень долго был в тени из-за используемого в нѐм механизма скрытия, а это была одна из самых опасных современных угроз. Stuxnet мог быть использован в качестве средства несанкционированного сбора данных (шпионажа) и диверсий в АСУ ТП промышленных предприятий, электростанций, аэропортов и т. п.

Уникальность программы заключалась в том, что впервые в истории

6

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

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

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

7

1 Постановка задачи

Цель работы: разработать сканер безопасности для обнаружения скрытых угроз в операционных системах Windows.

К разрабатываемому приложению выдвинуты следующие требования.

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

Безопасное удаление обнаруженных угроз;

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

Предоставление информации о механизмах и объектах скрытия в системе;

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

Использовать эвристический анализатор для предоставления вероятностной характеристики степени опасности обнаруженных скрытых объектов.

8

2 Анализ задачи

Согласно данным антивирусной лаборатории Касперского (рисунок 1),

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

млн. экземпляров [1].

Рисунок 1 - Динамика роста числа вредоносного программного обеспечения

Современные угрозы являются сложными техническими продуктами,

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

(антируткиты) [4].

В последнее время использование rootkit-технологий для сокрытия присутствия вредоносного программного обеспечения становится все более популярным, что подтверждается стабильным ростом числа ежемесячно обнаруживаемых новых rootkit-программ (руткитов). Так стандартных средств антивирусной защиты становится недостаточно для осуществления полномасштабной защиты. На 2005 год статистика от Лаборатории Касперского была следующей (рисунок 2).

9

Рисунок 2 - Рост частоты использования rootkit-технологий во вредоносном ПО

Руткиты не только прячутся сами, но и скрывают другое вредоносное программное обеспечение, проникшее в систему. Цель маскировки – незаметно для антивирусов и других защитных программ захватить чужой компьютер. У таких руткитов, как Hacker Defender, в запасе очень изощренные трюки. Этот замаскированный «вредитель» в обход брандмауэра открывает тайные лазейки в Интернет, которые позволяют хакерам управлять зараженным компьютером. Через созданный руткитами

«черный ход» можно получать конфиденциальные данные (например,

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

«заберется» в сокровенные глубины системы. После этого найти и обезвредить его смогут лишь специальные приложения.

Задача заключается в том, чтобы разработать такое специальное приложение, которое было бы в состоянии отработать на заражѐнной машине и найти какие-либо следы подозрительной активности.

10