Резиденты 0-го кольца защитыВообще говоря, для пользовательской программы в Windows есть только один легальный способ проникнуть в 0-е кольцо защиты — необходимо быть системным драйвером. Тем не менее в Windows 9X существуют обходные пути, позволяющие любому приложению 3-го кольца получить «волшебные привилегии». Таким образом, практически все, о чем будет идти речь в этом разделе, относится лишь к Windows 9X. У этого метода множество модификаций, но далеко не все они встречаются в вирусах. Рассмотрим метод на примере действий, предпринимаемых для перехода в 0-е кольцо защиты вирусом Win9X. Yabran.3132. Первым делом вирус читает текущее содержимое регистра GDTR: Вирус обращается к первому попавшемуся дескриптору в GDT, сохраняет его старое значение и модифицирует таким образом, чтобы получился шлюз.

Наконец, вирус выполняет дальний переход по получившемуся шлюзу при помощи обычной команды «CALL». В результате управление получает фрагмент того же вируса, только привилегии у этого кода уже соответствуют 0-му кольцу. Кстати, в Windows NT этот вирус натолкнется на невозможность модификации дескрипторов.

Этот метод стал очень популярным среди вирусописателей после мировой эпидемии вируса Win9X. CIH в 1998-1999 гг. Он был практически байт в байт воспроизведен во многих десятках вирусов, написанных «по образу и подобию» его. Не будем далеко ходить, а изучим начальные фрагменты «оригинала»:

Поскольку стек «растет вниз», то достаточно перевернуть эту табличку вверх тормашками и увидеть, что фрагмент стековой памяти, начинающийся с адреса, по своему содержимому очень напоминает начало какой-то TIB. Все правильно, именно в этой роли он в дальнейшем и будет использоваться! Итак, первым делом вирус взял на себя обработку исключительных ситуаций. Зачем? Дело в том, что непосредственно вслед за этим он пытается модифицировать системную IDT, чтобы взять на себя также еще и обработку прерывания номер 3 . Смотрите: Теперь достаточно инициировать вызов прерывания командой «INT 3», и управление получит вирусный

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

Резиденты 0-го кольца защиты
Резиденты 0-го кольца защиты
Резиденты 0-го кольца защиты
Резиденты 0-го кольца защиты