Особенности закладок и защита от воздействия закладок. Пакеты антивирусных программ
Практическая работа, 01 Декабря 2011, автор: пользователь скрыл имя
Описание работы
Цель работы: изучить принцип построения программных закладок и методы защиты от воздействия закладок, изучить разновидности пакетов по защите ПК.
Работа содержит 1 файл
Практическая работа №2 -Особенности закладок и защита от воздействия закладок. Пакеты антивирусных программ.doc
— 1,018.50 Кб (Скачать)- Принципы защиты от вирусов.
- Что такое спам?
- Принципы защиты от спама.
5. Проверить
компьютер на наличие
6. Установить программу для сохранения образа дисков в файл.
7. Создать резервную копию диска.
8. Ответить
на тесты.
Ход
выполнения практической
работы
1. Составьте
таблицу №1 «Теоретические
2. Разберите
механизмы разрушения
Механизм
разрушения программы
защиты, схем контроля
или изменение
текущего состояния
программной среды
Предположим, что злоумышленнику известна интересующая его программа с точностью до команд реализации на конкретном процессоре. Следовательно, возможно смоделировать процесс ее загрузки и выяснить относительные адреса частей программы относительно сегмента оперативной памяти, в который она загружается. Это означает, что возможно произвольное изменение кода программы и соответственно отклонение (возможно негативного характера) в работе прикладной программы.
Тогда алгоритм действия
1) закладка загружается в
2) закладка осуществляет перехват (редактирование цепочки) одного или нескольких прерываний:
- прерывания DOS <запуск программ и загрузка оверлеев> ;
- прерывания BIOS <считать сектор>;
- прерывание таймера.
3) по одному из трех событий закладка получает управление на свой код и далее выполняется:
- проверка принадлежности запущенной программы или уже работающей (для таймерного прерывания) к интересующим программам;
- определение сегмента, в который загружена программа;
- запись относительно определенного сегмента загрузки некоторых значений в ОП так, чтобы отключить схемы контроля и/или исправить программу нужным образом.
Принципиальная возможность
Сравнение результатов работы
выполняется командой типа СМР,
Наконец, возможен случай, когда
содержательный код программы
защиты вместе со схемой
Основным способом активизации разрушающих закладок является запуск ассоциированных с ними программ. При этом закладка получает управление первой и выполняет какие-либо действия (изменения адресов прерывания на собственные обработчики, исправление в коде программ защиты и т. д.). В данном случае борьба с воздействием закладок может быть произведена только путем контроля целостности исполняемых файлов непосредственно перед их исполнением.
Эти операции связаны с легко идентифицируемым событием в программной среде ПЭВМ - выполнением или завершением прерывания int N.
В рамках принятой модели можно выделить следующие пути воздействия программных закладок.
В ситуации 1:
1.1. Сохранение на внешнем
устройстве информации из
изменяемой области ОЗУ,
1.2. Разрушение информации в
1.3. Определение прерывания int N на собственную программу в ОЗУ путем:
1.3.1. Изменения вызовов int N в пользовательской программе.
1.3.2. Встраивания в цепочки
В ситуации 2:
Пункты 1.1 - 1.3 полностью сохраняются, но добавляется еще один:
2.4. Изменение кода самого исходного обработчика int N.
Пусть работа программно-аппаратного
комплекса строится по следующей
схеме:
Возвpат упpавления
Ё Обpаботчик int N,k Ё
LLLLLL>L*LLLLLL*
Вызов Ё Ё
пользовательской Ё Ё
пpогpаммы
Аппаpатная частьLL>
Тогда возможны следующие ситуации:
1) нападение на пользовательскую
программу, работающую с программно-аппаратным
комплексом, путем исправления в ЕХЕ-
или СОМ-файле данной программы вызовов
прерываний int N (код CD N) на вызов своего
прерывания, например, int М;
int M -----------> Резидентная пpогpамма-закладка
Возвpат упpавления
Ё Обpаботчик int N,k Ё
LLLLLL>L*LLLLLL*
int N Ё Ё
Ё Ё
Аппаpатная частьLL>
2) нападение на обработчик int N.
- исправление в таблице
Таблица прерываний: off1 seg1 ... offN segN ... off255 seg255
segN:offN
-------> Резидентная пpограмма-закладка
Возвpат упpавления
Ё Обpаботчик int N,k Ё
*LLLLLL* *LLLLLLL*
--------> Ё Ё
упpавление не Ё Ё
пеpедается
Аппаpатная частьLL>
-переопределение прерывания на коды закладки с выполнением части функций в программно-аппаратном комплексе, а части - в закладке.
Таблица прерываний:
оff1
seg1 offN segN ... off255 seg255
segN:offN
-------> Резидентная пpограмма-закладка
Ё
Выделение j-й подфункцииLLL©
LLLLLLLLLLLLLLLLLLLLLLLLLLLL>
Ё Возвpат упpавления
Ё
Ё Ё Обpаботчик int N,k Ё
-LLL*LLLLLL* *LLLLLLL*
--------> Ё Ё
упpавление не Ё Ё
пеpедается
Аппаpатная частьLL>
Примером является
программная закладка, маскируемая
под прикладную программу-<ускоритель>
типа "Turbo Krypton".
Обработчик ранних версии платы Krypton, реализующей
алгоритм ГОСТ 28147-89 [11], находился в ПЗУ,
однако не предпринимал никаких
действий по проверке того, на какой адрес
указывает прерывание 4Ch, определенное
комплексом для взаимодействия
с платой. Несмотря на
то, что закладка воздействует
только на демонстрационные
версии программ, работающих
с платой, <разработчикам>
закладки нельзя отказать в
значительной доле юмора - ускорение
программ шифрования по прежнему
привлекает многих.
Пpимеp
4. Упpощенный фpагмент кода
.MODEL TINY
.CODE
org 100h
start:
jmp init
CopyRight db "Turbo Krypton driver 1992."
; Новая функция обработки прерывания 4С
new_4C :
pushf
; начало сравнений рода работы
z1:
; сравнить с родом работы 0 или 1 - зашифрование
сmр аl,0
jne z2
jmp zz
z2:
crm al, 1
jne r1
; реализация зашифрования
zz:
push cx
push si
push di
push ах
; сложение с фиксированным байтом OFFh по модулю 2
zzz:
mov ah,byte ptr ds:[si+8]
xor ah,0FFh
mov byte ptr es:[di],ah
inc di
inc si
loop zzz
pop ах
pop di
pop si
pop cx
jmp end_new_4c
; возврат из прерывания без передачи управления на плату
r1:
; проверка на режим расшифрования - 2 или 3
сmp al, 2
jne r2
jmp rr
r2:
cmp al, 3
jne ost
rr:
push cx
push si
push di
push ах
rrr:
mov ah,byte ptr ds:[si+8]
хоr ah,0FFh
mov byte ptr es:[di],ah
inc di
inc si
loop rrr
pop ах
pop di