Научная статья на тему 'Разработка тестовых программ для программного комплекса по выявлению вредоносного кода и недекларированных возможностей в программном обеспечении'

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

CC BY
180
61
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Карлыханов А.Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Карлыханов А.Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка тестовых программ для программного комплекса по выявлению вредоносного кода и недекларированных возможностей в программном обеспечении»

РАЗРАБОТКА ТЕСТОВЫХ ПРОГРАММ ДЛЯ ПРОГРАММНОГО КОМПЛЕКСА ПО ВЫЯВЛЕНИЮ ВРЕДОНОСНОГО КОДА И НЕДЕКЛАРИРОВАННЫХ ВОЗМОЖНОСТЕЙ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ

А.Н. Карлыханов Научный руководитель - д.т.н., профессор Л.Г. Осовецкий

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

Введение

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

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

Основная часть

Группой разработчиков кафедры безопасных информационных технологий СПбГУ ИТМО разрабатывается программный комплекс по верификации программного обеспечения, выявлению НДВ и вредоносного кода. На данном этапе разработки для решения этой задачи используются методы статического анализа, т.е. анализа кода программы без выполнения его на вычислительной машине. Используемый метод основан на анализе комплексных кубических покрытий логических условий программ. Такой метод позволяет наиболее точно описать логику исследуемых программ, что впоследствии позволит гарантированно обнаруживать НДВ и вирусы, а также выявлять некоторый класс ошибок в программном обеспечении.

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

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

Рис. 1. Блок-схема мишени, сгенерированная дизассемблером IDA

Рис. 2. Блок-схема смоделированной мишени с НДВ, сгенерированная дизассемблером IDA

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

c:\soft\troi\*.*

ISS

Имя рГТип Размер Дата

еке 6 144 18.12.2006 11:

^|03_ndv_e eue 9 216 11.12.2006 17:

Проективная защита : Тревога

Внимание

Потенциально опасное ПО:

Troian.qeneric

Процесс (PID: 980):

С : \dangerous soft\troi\03_ndv_e. exe

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

Карантин

Завершить

Разрешить

c:\Windows\*.*

Имя |ТТип Размер

5) twain dll 94 832

Vjtwain_32 dll 46 592

Vjvmmreg32 dll 18 944

J ! explorer еке 1 001 472

hh еке 26 647

Notepad еке 66 048

3 regedit еке 136 704

iTaskman еке 15 360

jtëst^) еке 9 216

M |twunk_16 еке 49 680

й |twunk_32 еке 25 600

Yû TWinhelp еке 256 800

■y 1 winhlp32 еке 267 264

j control ¡ni 0

A J-"1 desktop ¡ni 2

"è fmsdfmap ini 1 405

Рис. 3. Результат работы модели 03_ndv_e.exe

Г Ч /■уч Проактивная защита : Тревога

Внимание

Потенциально опасное ПО: Trolan.aeneric

Процесс (PID: 980): С : \dangerous sof l:\troi\03_ndv_e. exe

Действие

Процесс принудительно завершен. Рекомендуется откатить совершенные им изменения в Откат

Пропустить

системе.

История активности...

Добавить в доверенную зону...

Рис. 4. Реакция антивируса Касперского

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

Заключение

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

Литература

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

2. Немолочнов О.Ф., Раков С.В. Автоматизация логического проектирования. Учебное пособие. СПб: СПбГУ ИТМО, 1995, 60 с.

3. Peter Sezor The art of computer virus research and defense // Addison Wesley Professional, February 03 2005, 744 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.