27.05.2014 Views

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

А,В,Соколов, 0,М, Степанюк - Скачать документы

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

104<br />

торам дисков и «подставляют» вместо себя незараженные участки информации. Кроме<br />

этого, такие вирусы при обращении к файлам используют достаточно оригинальные<br />

алгоритмы, позволяющие обманывать резидентные антивирусные программы.<br />

Способов маскировки вирусов существует великое множество, но все они основаны<br />

на перехвате вирусами прерываний BIOS и операционной системы. Перехватив<br />

прерывания, вирусы контролируют доступ к зараженным объектам. Например, при<br />

просмотре зараженного объекта они могут «подсунуть» вместо него здоровый. Кроме<br />

того, вирусы искажают информацию DOS (например, возвращают неверное значения<br />

длины файла, скрывая свое присутствие в нем). Для большинства антивирусных программ<br />

вирусы, использующие стелс-технологию, являются серьезной проблемой.<br />

Полиморфик-вирусы — это достаточно трудно обнаруживаемые вирусы, не имеющие<br />

сигнатур, то есть не содержащие ни одного постоянного участка кода. <strong>В</strong> большинстве<br />

случаев два образца одного и того же полиморфик-вируса не будут иметь ни<br />

одного совпадения. Это достигается шифрованием основного тела вируса и модификациями<br />

программы-расшифровщика.<br />

<strong>В</strong>ирусы, шифрующие свой код, известны довольно давно. Однако сами процедуры<br />

дешифрования достаточно легко выявить, в частности, потому, что далеко не все авторы<br />

вирусов имеют достаточно знаний для написания собственных процедур шифрования<br />

и дешифрования, поэтому многие вирусы используют для этих целей один и тот<br />

же код. Теперь сканеры вирусов ищут определенные процедуры дешифрования. Хотя<br />

обнаружение такой процедуры еще ничего не говорит о том, какой именно вирус присутствует<br />

в зашифрованном виде, но уже сигнализирует о наличии вируса.<br />

Поэтому последней уловкой злоумышленников становится полиморфизм. <strong>В</strong> прежние<br />

времена обнаружение вирусов было простым делом: каждый вирус создавал точную<br />

копию самого себя при тиражировании и инфицировании новых файлов и загрузочных<br />

секторов, поэтому антивирусным программам требовалось только знать<br />

последовательность байтов, составляющих вирус. Для каждого вируса специалисты<br />

выявляли уникальную последовательность байтов — его сигнатуру. Наличие такой<br />

сигнатуры служило высоконадежным индикатором присутствия нежелательного кода,<br />

что и заставило авторов вирусов попытаться скрывать любую последовательность<br />

байтов, способную выдать присутствие их творений. Они стали делать это посредствам<br />

шифрования вирусов.<br />

Первые полиморфные вирусы Tequila и Maltese Amoeba появились в 1991 году.<br />

<strong>В</strong>се бы ничего, но в 1992 году автор, известный под псевдонимом Dark Avenger, написал<br />

своего рода комплект «Сделай сам» для мутационного механизма, который он<br />

сделал частью вируса Maltese Amoeba.<br />

До 1992 года вирусописатели старались на самом деле зря. Совершенно ясно, что<br />

квалификация профессионалов в сфере антивирусной безопасности никак не ниже их<br />

собственной и, следовательно, все их многомесячные усилия стоили в крайнем случае<br />

лишних часов работы для специалистов. <strong>В</strong>едь все зашифрованные вирусы обязательно<br />

содержали некий незашифрованный фрагмент: сам расшифровщик или некоторую его<br />

часть, по которым можно было построить сигнатуру данного вируса и затем уже бороться<br />

с ним обычными способами.<br />

Ситуация изменилась, когда были придуманы алгоритмы, позволяющие не только<br />

шифровать код вируса, но и менять расшифровщики. Сама постановка такой задачи

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!