Запрос на файловый ввод-выводЗапрос на файловый ввод-вывод, поступивший от прикладной программы, воспринимается IFSMgr, проходит последовательно по «звеньям» цепочки и, будучи распознан тем или иным обработчиком, попадает в тот или иной драйвер. Типичное поведение резидентного вируса в Windows 9X заключается в том, чтобы встроиться в цепочку обработчиков, используя для этого вполне легальные средства — документированные системные запросы к IFSMgr. За иллюстрацией этого приема проще всего опять обратиться к коду вирусов семейства Win9X. CIH: «IFSMgr_InstallFileSystemApiHook» возвращает в регистре EAX адрес следующего компонента, встроенного в цепочку обработчиков запросов к IFSMgr. Вирус использует его, чтобы передать запрос дальше в цепочку обработчиков. Если приходит запрос на встраивание в цепочку со стороны еще какого-нибудь компонента, то вирус старается остаться самым первым «звеном». Запрос на выполнение операции ввода-вывода, поступающий в цепочку обработчиков со стороны IFSMgr, имеет формат, описанный в файле «IFS. H» комплекта MS DDK. Таким образом, при получении управления обработчиком в стеке находятся О если запрос не касается открытия файла, то вирус пропускает его дальше по цепочке обработчиков. Вообще говоря, «Чернобыль» — не самый простой вирус и требует довольно глубокого понимания принципов работы Windows, не так ли? Вероятно, именно поэтому многие последователи тайваньского студента Чен Инг Хау предпочитали просто-напросто «передирать» его оригинальный код, тщательно прокомментированный и опубликованный в электронном журнале «Codebreakers», вместо того чтобы пользоваться заложенными в вирусе идеями. Справедливости ради следует сказать, что первые попытки встраивания вирусов в файловую систему можно обнаружить задолго до Win9X. CIH — уже в «ранних» Windows-вирусах 1996 г. , исходные тексты которых опубликованы в журнале «Vlad». Но удачными их признать нельзя, поскольку они сочетали использование запросов к IFSMgr с прямым модифицированием системных таблиц Windows по конкретным адресам. Версии и релизы операционных систем менялись через год, адреса «плыли», и вирусы теряли работоспособность.

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