Классически написанные загрузочные вирусы под современными версиями WindowsИтак, классически написанные загрузочные вирусы под современными версиями Windows не получат управления во время обращения к дискете и по этой причине не смогут размножаться. Конечно, вирусописатели не собираются так просто сдаваться. Имеется ряд попыток обеспечить хотя бы частичное функционирование загрузочных вирусов в среде Windows. Рассмотрим механизм, использованный в вирусе Babec. В основу функционирования этого вируса положено то обстоятельство, что операционная система семейства Windows 95/98/ME не все аппаратные прерывания обслуживает 32-битовым кодом. Вероятно, это связано с тем, что 16-битовый код по своей природе гораздо более компактен, прост и в большинстве случаев нисколько не проигрывает 32-битовому коду в быстродействии. Вот и в Windows 95/98/ME работа с клавиатурой осуществляется «по старинке», с использованием BIOS-прерывания 16h. Это дает возможность вирусу, перехватившему клавиатурное прерывание, хотя бы однажды получить управление. Итак, алгоритм работы загрузочного вируса Babec выглядит следующим образом. Обработчик перехваченного прерывания 21h отслеживает вызов функции 0Eh. Если некая DOS — программа попытается обратиться к диску «A:» или «B:», то немедленно начинает выполняться вполне традиционная процедура заражения дискеты. Еще одним примером загрузочного вируса, способного существовать в условиях Windows, является разработка под названием Logko. Этим вирусом используется то обстоятельство, что перед первым обращением к дискете Windows считывает с винчестера образец кода загрузочного сектора и делает эту операцию через прерывание 13h. Перехвативший указанное прерывание вирус анализирует содержимое всех считываемых операционной системой секторов, и если обнаруживает в рабочем буфере нечто похожее на Boot-сектор, то делает вывод, что в кармане дисковода имеется дискета, которую можно попытаться заразить.

Еще интересные статьи :