Стелс-віруси - it
Стелс-віруси тими або іншими способами приховують факт своєї присутності в системі. Відомі стелс-віруси всіх типів за винятком Windows-вірусів - завантажувальні віруси, файлові DOS-віруси і навіть макровіруси. Поява стелс-вірусів, що заражають файли Windows, швидше за все справа часу.
Завантажувальні стелс-віруси для приховування свого коду використовують два основних способи. Перший з них полягає в тому, що вірус перехоплює команди читання зараженого сектора (INT 13h) і підставляє замість нього незаражений оригінал. Цей спосіб робить вірус невидимим для будь-якої DOS-програми, включаючи антивіруси, нездатні "лікувати" оперативну пам'ять комп'ютера. Можливий перехоплення команд читання секторів на рівні нижчому, ніж INT 13h.
Другий спосіб спрямований проти антивірусів, що підтримують команди прямого читання секторів через порти контролера диска. Такі віруси при запуску будь-якої програми (включаючи антивірус) відновлюють заражені сектора, а після закінчення її роботи знову заражають диск. Оскільки для цього вірусу доводиться перехоплювати запуск і закінчення роботи програм, то він повинен перехоплювати також DOS-переривання INT 21h.
Більшість файлових стелс-вірусів використовує ті ж прийоми, що наведені вище: вони або перехоплюють DOS-виклики звернення до файлів (INT 21h), або тимчасово лікують файл при його відкритті і заражають при закритті. Так само як і для завантажувальних вірусів, існують файлові віруси, що використовують для своїх стелс-функцій перехоплення переривань більш низького рівня - виклики драйверів DOS, INT 25h і навіть INT 13h.
Повноцінні файлові стелс-віруси, що використовують перший спосіб приховування свого коду, в більшості своїй досить громіздкі, оскільки їм доводиться перехоплювати велику кількість DOS-функцій роботи з файлами: відкриття-закриття, читання-запис, пошук, запуск, перейменування і т.д. причому необхідно підтримувати обидва варіанти деяких викликів (FCB / ASCII), а з появою Windows 95 / NT необхідно також обробляти третій варіант - функції роботи з довгими іменами файлів.
Деякі віруси використовують частину функцій повноцінного "стелс" -віруси. Найчастіше вони перехоплюють функції DOS FindFirst і FindNext (INT 21h, AH = llh, 12h, 4Eh, 4Fh) і зменшують розмір заражених файлів. Такий вірус неможливо визначити по зміні розмірів файлів, якщо, звичайно, він резидентно перебуває в пам'яті. Програми, які не звертаються до зазначених функцій DOS (наприклад, Norton утиліти), а безпосередньо використовують вміст секторів, що зберігають каталог, показують правильну довжину заражених файлів.
Реалізація стелс-алгоритмів в макровіруси є, напевно, найбільш простим завданням - досить усього лише заборонити виклик меню File / Templates або Tools / Macro. Досягається це або видаленням цих пунктів меню зі списку, або їх підміною на макроси FileTemplates і ToolsMacro.
Частково стелс-вірусами можна назвати невелику групу макровірусів, які зберігають свій основний код не в самому макросі, а в інших областях документа - у його змінних або в Auto-text.