Диссертация (1091136), страница 13
Текст из файла (страница 13)
Послевыполнения кода на ленте начинается процесс, который продолжает выполнятьсяпосле возвращения системы в пассивный режим. На лентах, представленных ниже,105будет видна та же отметка, в аналогичных случаях, когда происходитинфицирование программы.Рисунок 40 - Активация вируса4.1.1.5 Запуск программы MEM на заражённой системеКвадратом отмечена нить резидентного процесса вируса (Рисунок 41). Вирус,постоянно функционируя, разместился в верхних адресах основной памяти.Кругом обозначен фрагмент исполнения кода, который содержит характерный видзапуска программы на инфицированной системе.
Обозначенную область можносравнить с областью на Рисунках 36– 37, на которых заметно отсутствиеграфического следа.Рисунок 41 - Запуск программы MEM на заражённой системе4.1.1.6 Повторный запуск программы MEM на зараженной системеПовторный запуск программы (Рисунок 42) дает аналогичную ленту событийуказанную выше, что доказывает повторяемость эксперимента.106Рисунок 42- Повторный запуск программы MEM на зараженной системе4.1.1.7 Первый запуск программы TREE на зараженной системе припассивном поведении вирусаУчитывая особенности вируса Abbas1100, при первом запуске наблюдаетсяштатная работа программы на заражённой машине (Рисунок 43).
В ромбе фрагментзагрузки кода программы, который визуально не отличается от работы на неинфицированной системе. В круге фрагмент запуска кода программы, содержащийпризнак работы в зараженной системе. Квадратом отмечена область памяти,содержащая код вируса.Рисунок 43 - Первый запуск программы TREE на зараженной системе4.1.1.8 Четвёртый запуск программы TREE на заражённой системеНа Рисунке 44 кругом отмечен признак запуска программы в зараженнойсистеме, а ромбом признак размножения вируса.
Он эквивалентен признаку,указанному на Рисунке 41,который наблюдался при первичном заражениисистемы. Другими словами, мы зафиксировали, как на зараженной системе при107запуске чистой программы срабатывает тот же самый код размножения, которыйсработал при инфицировании системы от зараженной программыРисунок 44 - Четвертый запуск программы TREE на заражённой системе4.1.1.9 Запуск заражённой программы TREE на зараженной системеЗапустим зараженную программу TREE в зараженной системе (Рисунок 45).Кругом отмечен признак запуска программы в зараженной системе, при этом вромбе отсутствует признак размножения вируса, это обусловлено тем, чтозаражение не происходит повторно, так как программа TREE уже инфицирована.Квадратом отмечена область функционирования вируса.Рисунок 45 - Запуск заражённой программы TREE на зараженной системе4.1.1.10 Выводы по результатам исследования вируса Abbas1100В результате выполненного эксперимента можно сделать вывод, чтопрограммныйпродукт без исходного кода выполняет следующие потенциальноопасные действия:а) передача управления в область модифицированных данных108б) изменение кода других программ в оперативной памяти;в) самодублирование и перенос своих фрагментов в области оперативнойпамяти.
Указанные выше действия программного продукта реализуют скрытыеугрозы.4.1.2. Исследование работы резидентного вируса Bomzh3809О вирусе Bomzh3809 известно, что он перехватывает функции DOS иактивируется при перемещении файлов на диске.4.1.2.1 Условия проведение экспериментаПри исследовании выполнялось подробное изучение областей таблицыпрерываний и памяти программ, расположенных по адресам от 500h до 20000h.Области BIOS и аппаратно-ассоциативных адресов не рассматривались. На лентесобытий не видны действия операционной системы во время ввода команд вконсоли, потому что на время ввода команд функция журнала выключалась воизбежание нагромождений графика. Лента содержит только следы работыоперационной системы непосредственно во время выполнения команд и программ.Порядок выполняемых действий отмечен на Рисунке 46:1.
Загрузка чистой операционной системы MS DOS.2. Перемещение файла в чистой системе.3. Повторное перемещение файла в чистой системе.4. Запуск инфицированной программы (заражение системы).5. Перемещение файла в заражённой системе.6. Повторное перемещение файла в заражённой системе.Опишем пошагово выполненные действия:а) Цифрами 2 и 3 указана структура кода, выполняемого при перемещениифайла на чистой машине (А);109б) После инфицирования операционной системы (4), виден процессциклического декодирования и кодирования вируса в памяти при запускезараженной программы (Б – циклические оранжевые линии);в) Результат записи вируса в область памяти операционной системы (Б —красная линия);г) Цифрами 5 и 6 указана структура кода, выполняемого при перемещениифайла на зараженной машине (В). Отчётливо видно, что при перемещении файлана зараженной системе выполняется такой же код, что и при перемещении начистой, а также дополнительно выполняется код, расположенный в областипамяти, записанной при заражении системы;д) В области таблицы прерываний видно, что в обоих случаях выполняетсяобращение к прерываниям (Г и Д), но при работе инфицированной системыобращение Д состоит из обращения Г и предшествующим ему дополнительнымвызовам прерываний, происходящим по инициативе вируса.110Рисунок 46 - Инфицирование операционной системы вирусом Bomzh3809При повторных выполнениях команд лента событий остается прежней, чтопоказывает воспроизводимость и достоверность эксперимента.4.1.2.2 Выводы по исследованию вируса Bomzh3809В результате выполненного эксперимента можно сделать вывод, чтопрограммный продукт без исходного кода выполняет следующие потенциальноопасные действия:а) передача управления в область модифицированных данных;б) изменение кода других программ в оперативной памяти;в) сохранение информации из областей оперативной памяти;г) искажение результатов работы других программ.111Указанные выше действия программного продукта реализуют скрытыеугрозы.4.2.
Оценка качества функционирования программного продукта ивизуальный контрольВ данном разделе приведены результаты эксперимента по визуальномуконтролю за функционированием программного продукта.В качестве примера контроля и визуализации функционирования программ икоманд, приведено выполнение штатной команды DIR и запуск программыqbasic.exe. На Рисунке 47 приведено выполнение команды DIR.Рисунок 47- Выполнение команды DIRНа данном графике выполняется команда DIR (перечисление файлов надиске).Привыполнениикомандыпроисходитсчитываниекаталогов,активизируется память программы (1) и (2).
Задействуется код BIOS (3) и результатвыводится на экран (4). Отличительной особенностью является то, что в пассивномрежиме DOS, работает только один код BIOS. Рассмотрим запуск программыqbasic.exe (рис. 48-49).Программа загружается в память в три этапа, это связано с размером файла,который равен 194 килобайта, это в 3 раза больше сегмента памяти. Вследствиечего,загружаются (1) – (3), три сегмента последовательно, при этомосуществляется обращение к коду BIOS (4). Стоит отметить работу прерываниетаймера, в области векторов прерывания (5) – (9).112Рисунок 48 - Запуск программы qbasic.exeРисунок 49- Окончание запуска qbasic.exe.Окончание загрузки BASIC приведено на рисунке 49.
Загруженноеприложение проходит по всей ширине памяти программы (1) и начинается работаоболочки BASIC, на экране отображается псевдографический оконный интерфейс(2). После отображения оконного интерфейса BASIC переходит в режим ожидания(3).Выполним на BASIC простую программу создания копии видеопамяти вфайле, лента событий приведена на Рисунке 50.113Рисунок 50 - Выполнение на BASIC программы создающей копию видеопамяти вфайлПосле выхода из режима ожидания по команде на запуск программы,срабатывают подпрограммы интерпретатора (1), обновляется экран (2), и мывидим, что BASIC перед началом работы написанной в нём программы, обращаетсяв область векторов прерываний (3). Он перехватывает прерывания до началаинтерпретации. По ходу интерпретации появляется запись в области видеопамяти,это и есть процесс захвата данных с экрана.
Другими словами, мыпроконтролировали, как информация снимается с экрана через видеопамять.Область видеопамяти не пересекается с областями вывода текстов на экран, онанаходится по соседним адресам. Аналогично можно сохранять с экрана текстовуюинформацию, тогда в файле окажутся буквы с экрана. После выполненияпрограммы, BASIC переходит в режим ожидания (5).Стоит отметить, что описанные программы запускались санкционировано, ивыполняемые ими действия контролировались и визуализировались средствамикомплекса.
Выполнение на BASIC программы, создающей копию видеопамятиможно отнести к скрытой угрозе в случае ее несанкционированного запуска.По результатам вышеуказанных экспериментов с программными продуктамибез исходных текстов можно сделать следующие выводы:1141. Разработанныйпрограммныйкомплекспозволяетдетальновизуализировать, оценивать и контролировать качество программных продуктов.2.