Реферат: Компьютерный файлово-загрузочный полиморфный стелс-вирус ONEHALF 3544, особенности алгоритма и методы борьбы с ним
получим истинное значение количества памяти. По раз-
нице мы можем судить о заражении нашей системы.
6) Многие вирусы трассируют int13h до BIOS, чтобы
обойти антивирусные ревизоры. Так же поступает и
OneHalf, если увидит, что машина не заражена, и ее нуж-
но заразить - тогда он прописывает себя в MBR, но де
лает это после того, как оттрассирует int13h.
Вакцина А.Крыжановского также перехватывает int13h,
и использует антитрассировочный алгоритм, называю-
щийся в программистком мире "поплавок". Как только
кто-либо в системе совершал попытку оттрассировать
прерывание 13h, вакцина выдает предупреждение и
останавливает систему.
Метод «поплавка» основан на том, что трассировка
делается пошагово – процессор переключается в режим
отладки, и после выполнения каждой команды вызывает
debug-прерывание, используемое, обычно отладчиками
для пошаговой отладки программы, чтобы проанализиро
вать результаты выполнения команды. Вызов отладочно
го прерывания подразумевает, что используется стек
процессора, в котором сохраняется адрес возврата. Это и
используется для того, чтобы определить трассировку:
Мы запрещаем прерывания, затем помещаем в первую
свободную ячейку стека код 0000 или FFFF (оба адреса
не могут быть адресом возврата), затем считываем из
первой свободной ячейки стека значение, разрешаем пре
рывания и сравниваем считанное значение с тем, что мы
туда помещали.
Смысл метода в том, что когда программа выполняется