Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Алгоритм роботи вірусів для AccessСодержание книги
Поиск на нашем сайте
Оскільки Access є частиною пакета Office, то віруси для Access являють собою такі ж самі макроси мовою Visual Basic, як і інші віруси, що заражають програми Office. Однак, у даному випадку замість авто-макросів у системі присутні автоматичні скрипти, що викликаються системою при різних подіях (наприклад, Autoexec). Дані скрипти потім можуть викликати різні макро-програми. Таким чином, при зараженні баз даних Access вірусу необхідно замінити який-небудь авто-скрипт і скопіювати в базу, що заражається, свої макроси. Зараження скриптів без додаткових макросів не є можливим, оскільки мова скриптів досить примітивна і не містить необхідних для цього функцій. Слід зазначити, що в термінах Access скрипти називаються макросами (macro), а макроси – модулями (module), однак частіше використовується уніфікована термінологія - скрипти і макроси. Лікування баз даних Access є більш складною задачею, ніж видалення інших макро-вірусів, оскільки у випадку Access необхідно знешкодити не тільки вірусні макроси, але й авто-скрипти. А оскільки значна частина роботи Access покладена саме на скрипти і макроси, то некоректне видалення чи деактивація якого-небудь елемента може привести до неможливості операцій з базою даних. Те саме справедливо і для вірусів – некоректне заміщення авто-скриптів може привести до втрати даних, що зберігаються в базі. Приклади макро-вірусів Macro.Word.Box. Містить сім макросів AutoOpen, AutoClose, Box, Dead, FilePrint, FilePrintDefault, ToolsMacro. При викликах AutoOpen і AutoClose заражає глобальні макроси і документи. Макрос ToolsMacro використовується для заборони меню Tools/Macro. Решта макросів містить процедури зараження і різні ефекти. Виявляється декількома способами. При друці вставляє в документи рядки китайською мовою, виводить MessageBox, записує на диск і запускає вірус "OneHalf.3544", створює і програє WAV-файл (звуковий ефект). Викликає команди DOS: - echo y|format с/u - echo y|format c/u/vTwnos1 Містить рядки: - Taiwan Super No.1 Macro Virus - Twno1-S - Today Is My Birthday - Macro.Word.Catch Містить шість макросів AutoOpen, encrypt1, FileSave, AutoClose, infectdoc, infectnorm. Зараження системної області макросів і документів відбувається при відкритті файлів. Вірус замінює в документах букви "i" на "o", "o" на "i", "a" на "e", "e" на "a". Причому підміна символів непомітна. При відкритті заражених файлів вірус відновлює текст документа в первинному вигляді, а при збереженні документів на диск – знову замінює. В результаті після лікування вірусу текст документів може виявитися зіпсованим. Після кожної заміни вірус видає в StatusBat крапку. При закритті документів залежно від лічильника випадкових чисел (з вірогідністю 1%) вірус видає повідомлення: Its а Catch 22 Situation! Macro.Excel.Soldier. Поліморфний макро-вірус, заражає електронні таблиці Excel. Містить чотири функції з постійними іменами Auto_Open, Auto_Close, Delay, Poly; і декілька функцій з випадковими іменами. При відкритті зараженої таблиці видаляє рядки меню Format/Sheet/Hide і Format/Sheet/Unhide (стелс). При закритті заражає файли, що знаходяться у поточному каталозі. При зараженні залежно від системного датчика випадкових чисел вставляє в початок тексту функції з випадковими іменами і випадковими рядками. Також залежно від випадкового числа виводить в заголовок Excel рядок, що біжить: Microsoft Excel.
Мережеві віруси Мережеві віруси поширюються по комп'ютерних мережах. Існують комбінації, наприклад, файлово-бутові віруси, які заражають і файли, і бут-сектори дисків. Крім того, у комп'ютерних мережах можуть розповсюджуватись віруси будь-яких типів. Віруси розповсюджуються від одного користувача до іншого внаслідок обміну програмними продуктами. Локальні мережі, як відомо, призначені для сумісного використання програмних пакетів кількома користувачами. Мережі дозволяють широко обмінюватися програмами і даними. Очевидно, що при цьому створюється зручне середовище для розповсюдження вірусу. Так, якщо вірус заразив програму login.ехе, яка знаходиться на сервері і яку запускає кожен користувач при вході в мережу, то дуже швидко вірус з'явиться на всіх робочих станціях. Але на практиці ситуація виглядає не дуже драматично, бо мережні операційні системи мають механізми захисту і розподілу користувачів. При грамотному використанні цих можливостей можна обмежити область, в якій може розповсюдитись вірус, внесений з робочої станції, тільки робочою областю того користувача, який вніс його в систему. Існують мережні віруси, які розраховані на спеціальні мережні диски, наприклад, на систему Netware – вони несанкціоновано входять у систему і, використовуючи максимальні повноваження супервізора, пошкоджують програми, які знаходяться на мережних дисках. Все це свідчить про те, що рівень захищеності сучасних операційних систем поки що бажає бути кращим. Доки залишається принципова можливість такого втручання, доти існує небезпека появи таких вірусів. IRC-хробаки. IRC (Internet Relay Chat) – це спеціальний протокол, розроблений для комунікації користувачів Інтернет у реальному часі. Цей протокол надає можливість так званої Інтернет-розмови за допомогою спеціально розробленого програмного забезпечення. IRC чимось схожий на телефонну розмову, за винятком того, що в розмові можуть брати участь більш двох співрозмовників, що поєднуються по інтересах у різні групи IRC-конференцій. Для підтримки IRC-конференцій створені різні IRC-сервера, до яких підключаються учасники IRC-розмов. В усьому світі нараховується величезна кількість IRC-серверів, об'єднаних у так звані мережі. Найбільшою є мережа EFnet, сервер якої щодня одночасно відвідують кілька десятків тисяч користувачів. Для підключення до IRC-сервера і ведення IRC-розмов розроблені спеціальні програми – IRC-клієнти. Підключившись до IRC-сервера за допомогою програми-клієнта, користувач зазвичай вибирає тему IRC-конференції, командою join входить в одну або декілька конференцій ("канали" у термінах IRC) і починає спілкування з іншими "мешканцями" цих каналів. Крім відвідування загальних (public) конференцій користувачі IRC мають можливість спілкуватися один-на-один з будь-яким іншим користувачем (private), при цьому вони навіть не обов'язково повинні бути на одному каналі. Крім цього існує досить велика кількість IRC-команд, за допомогою яких користувач може одержати інформацію про інших користувачів і канали, змінювати деякі установки IRC-клієнта та інше. Існує також можливість передавати і приймати файли – саме на цій можливості і базуються IRC-хробаки. IRC-клієнти. На комп'ютерах з MS Windows найпоширенішими клієнтами є mIRC і PIRCH. Це не дуже об'ємні, але досить складні програмні продукти, що крім надання основних послуг IRC (підключення до серверів і каналів) мають ще і масу додаткових можливостей. До таких можливостей відносяться, наприклад, сценарії роботи (скрипти) і завдання автоматичної реакції на різні події. Наприклад, з появою під час розмови визначеного слова IRC-клієнт передає повідомлення користувачу, що послав його. Можливе відключення користувача від каналу; посилка персональних повідомлень новим користувачам, що підключаються до каналу; і багато чого іншого. У PIRCH-клієнті, наприклад, подій, на які передбачена реакція, більше 50. Скрипт-хробаки. Як виявилося, могутня і розгалужена система команд IRC-клієнтів дозволяє на основі їх скриптів створювати комп'ютерні віруси, що передають свій код на комп'ютери користувачів мереж IRC, так називані IRC-хробаки. Перший інцидент із IRC-хробаком зафіксований наприкінці 1997 року: користувачами mIRC-клієнта був виявлений скрипт (файл SCRIPT.INI), що переносив свій код через канали IRC і заражав mIRC-клієнтів на комп'ютерах користувачів, що підключалися до заражених каналів. Як виявилося, скрипт-хробаки є досить простими програмами, і через досить короткий час на основі першого mIRC-хробака були створені і "випущені" у мережі декілька десятків різних скрипт-хробаків. Принцип дії таких IRC-хробаків приблизно однаковий. За допомогою IRC-команд файл сценарію роботи (скрипт) чи реакції на IRC-події автоматично посилається з зараженого комп'ютера кожному користувачу, що під’єднується до каналу. Надісланий файл-сценарій заміщає стандартний і при наступному сеансі роботи вже знову заражений клієнт буде розсилати хробака. Хробаки при цьому використовують особливості конфігурації клієнта, завдяки якій прийняті файли всіх типів розміщуються в кореневий каталог клієнта. Цей каталог також містить і основні скрипти клієнта, включаючи завантажувальні mIRC-скрипти SCRIPT.INI, MIRC.INI і PIRCH-скрипт EVENTS.INI. Ці скрипти автоматично виконуються клієнтом при старті і далі використовуються як основний сценарій його роботи. Деякі IRC-хробаки також містять троянський компонент – по заданих ключових словах здійснюють руйнівні дії на уражених комп'ютерах. Наприклад, хробак "pIRCH.Events" по визначеній команді стирає усі файли на диску користувача. У скрипт-мовах клієнтів mIRC і PIRCH також існують оператори для запуску звичайних команд ОС і модулів, що виконуються, програм DOS і Windows. Ця можливість IRC-скриптів послужила основою для появи скрипт-хробакв нового покоління, що крім скриптів заражали комп'ютери користувачів EXE-вірусами, установлювали "троянських коней", і т.п. Скрипт-хробаки працездатні тільки в тому випадку, якщо користувач дозволяє копіювання файлів з мережі на свій комп'ютер. Дана опція IRC-клієнтів називається “DCC autoget” – одержання файлів по протоколу DCC автоматично і без попереджуючого повідомлення. При відключеній опції заражений файл приймається, розміщується в каталозі клієнта і в наступному сеансі роботи продовжує своє поширення. При цьому користувач не одержує ніяких попереджуючих повідомлень. Слід зазначити, що фірма-виготовлювач клієнта mIRC відреагувала досить оперативно і буквально через кілька днів після появи першого хробака випустила нову версію свого клієнта, у якій були закриті пробіли в захисті. Приклади мережевих вірусів mIRC.Acoragil і mIRC.Simpsalapim. Перші відомі mIRC-хробаки виявлені наприкінці 1997 року. Назви одержали по кодових словах, що використовуються хробаками: якщо в тексті, переданому в канал будь-яким користувачем, присутній рядок "Acoragil", то всі користувачі, заражені хробаком mIRC.Acoragil автоматично відключаються від каналу. Те саме відбувається з хробаком mIRC. Simpsalapim – він аналогічно реагує на рядок "Simpsalapim". При розмноженні хробаки командами mIRC пересилають свій код у файлі SCRIPT. INI кожному новому користувачу, що підключається до каналу. Містять троянську частину. Хробак mIRC.Simpsalapim містить код захоплення каналу IRC – якщо mIRC власника каналу заражений, то по введенню кодового слова "ananas", зловмисник перехоплює керування каналом. Хробак mIRC. Acoragil по кодових словах пересилає системні файли OC. Деякі кодові слова обрані так чином, що не привертають уваги жертви – hi, cya чи the. Одна з модифікацій цього хробака пересилає зловмиснику файл паролів UNIX. Win95.Fono. Небезпечний резидентный файлово-завантажувальний поліморфік-вірус. Використовує mIRC як один із способів свого поширення: перехоплює системні події Windows і при запуску файла MIRC32.EXE активізує свою mIRC-процедуру. При цьому відкриває файл MIRC.INI і записує в його кінець команду, що знімає захист: [fileserver] Warning=Off. Потім створює файли SCRIPT.INI і INCA.EXE. Файл INCA.EXE містить дроппер вірусу, скрипт файла SCRIPT.INI пересилає себе і цей дроппер у канал IRC кожному, хто приєднується до каналу або виходить з нього. pIRCH.Events. Перший відомий PIRCH-хробак. Розсилає себе кожному користувачу, що приєднався. По ключових словах виконує різні дії, наприклад: - по команді ".query" відбувається свого роду переклик, по якому заражені системи відповідають <Так, я вже заражена>; - по команді ".exit" завершує роботу клієнта; По інших командах хробак видаляє всі файли з диска С, надає доступ до файлів на зараженому комп'ютері і т.д. IRC-Worm.Pron. Мережевий вірус-черв'як, зашифрований. Розмножується в IRC-каналах і використовує для свого розмноження mIRC-клієнта. Має дуже невелику довжину – всього 582 байти. Передається з мережі на комп'ютер у вигляді файла PR0N.BAT. При його запуску вірус копіює себе у файл PR0N.COM і запускає його на виконання. Заголовок вірусу влаштований таким чином, що він може виконуватися як BAT-, так і COM-програма, і в результаті управління передається на основну процедуру зараження системи. При зараженні системи вірус використовує дуже простий прийом: він копіює свій BAT-файл в поточний каталог і в каталог C\WINDOWS\SYSTEM (якщо такий відсутній, то вірус не заражає систему). Потім вірус записує свій код у файл WINSTART.BAT. Для розповсюдження свого коду через mIRC вірус створює новий файл SCRIPT.INI в каталозі mIRC-клієнта. Цей каталог вірус шукає за чотирма варіантами: C\MIRC; C\MIRC32; C\PROGRA~1\MIRC; C\PROGRA~1\MIRC32. Скрипт вірусу містить всього одну команду – кожному користувачу, що підключається до зараженого каналу, передається вірусний файл PR0N.BAT. Вірус містить рядок-"копірайт". Стелс-віруси Стелс-віруси тими чи іншими способами приховують факт своєї присутності в системі, підставляючи замість себе незаражені ділянки інформації. Крім того, такі віруси при зверненні до файлів використовують досить оригінальні алгоритми, що “обманюють” резидентні антивірусні програми. Відомі стелс-віруси всіх типів – завантажувальні віруси, файлові DOS-віруси і навіть макро-віруси. Завантажувальні стелс-віруси. Завантажувальні стелс-віруси для приховання свого коду використовують два основних способи. Перший спосіб полягає в тому, що вірус перехоплює команди читання зараженого сектора (INT 13h) і підставляє замість нього незаражений оригінал. Цей спосіб робить вірус невидимим для будь-якої DOS-програми, включаючи антивіруси, нездатні "лікувати" оперативну пам'ять комп'ютера. Можливе перехоплення команд читання секторів на рівні більш низькому, чим INT 13h. Другий спосіб спрямований проти антивірусів, що підтримують команди прямого читання секторів через порти контролера диска. Такі віруси при запуску будь-якої програми (включаючи антивірус) відновлюють заражені сектори, а після закінчення її роботи знову заражають диск. Оскільки для цього вірусу приходиться перехоплювати запуск і закінчення роботи програм, то він повинен перехоплювати також DOS-переривання INT 21h. З деяким застереженням стелс-вірусами можна назвати віруси, що вносять мінімальні зміни в сектор, що заражається (наприклад, при зараженні MBR змінюють тільки активну адресу завантажувального сектора – зміні підлягають тільки 3 байти), або маскуються під код стандартного завантажника. Файлові стелс-віруси. Більшість файлових стелс-вірусів використовує ті самі прийоми, що приведено вище: вони або перехоплюють DOS-виклики звертання до файлів (INT 21h), або тимчасово лікують файл при його відкритті і заражають при закритті. Так само, як і для boot-вірусів, існують файлові віруси, що використовують для своїх стелс-функцій перехоплення переривань більш низького рівня – виклики драйверів DOS, INT 25h і навіть INT 13h. Повноцінні файлові стелс-віруси, що використовують перший спосіб приховання свого коду, здебільшого досить громіздкі, оскільки їм потрібно перехоплювати велику кількість DOS-функцій роботи з файлами: відкриття/закриття, читання/записування, пошук, запуск, перейменування і т.д., причому необхідно підтримувати обидва варіанти деяких викликів (FCB/ASCII), а після появи Windows 95/NT їм стало необхідно також обробляти третій варіант – функції роботи з довгими іменами файлів. Деякі віруси використовують частину функцій повноцінного стелс-віруса. Найчастіше вони перехоплюють функції DOS FindFirst і FindNext (INT 21h, AH=11h, 12h, 4Eh, 4Fh) і зменшують розмір заражених файлів. Такий вірус неможливо визначити по зміні розмірів файлів, якщо, звичайно, він резидентно знаходиться в пам'яті. Програми, що не використовують зазначені функції DOS (наприклад, "Нортоновські утиліти"), а прямо використовують вміст секторів, що зберігають каталог, показують правильну довжину заражених файлів. Макро-стелс-віруси. Реалізація стелс-алгоритмів у макро-вірусах є, напевно, найбільш простою задачею – досить усього лише заборонити виклик меню File/ Templates або Tools/Macro. Досягається це або видаленням цих пунктів меню зі списку, або їхньою підміною на макроси FileTemplates і ToolsMacro. Частково стелс-вірусами можна назвати невелику групу макро-вірусів, що зберігають свій основний код не в самому макросі, а в інших областях документа – у його змінних чи в Auto-text. Приклади стелс-вірусів Crusher. Безпечний резидентний MBR-EXE-стелс-вірус. При запуску зараженого файла він записується в MBR вінчестера, потім перехоплює INT 21h і записується в початок EXE-файлів при їх копіюванні. При завантаженні з ураженого диска перехоплює INT 1Ch, чекає завантаження DOS, потім відновлює INT 1Ch, перехоплює INT 21h і приступає до зараження файлів. Якщо при роботі вірусу йому не вистачає пам'яті, він повідомляє "Insufficient memory" і повертається в DOS. При запуску CHKDSK вірус виводить текст: Crusher… You are damned. Bit Addict / Trident. Ekoterror. Резидентний небезпечний стелс-вірус, при запуску зараженого файла записується в MBR вінчестера і передає управління програмі-носію, при завантаженні з ураженого MBR перехоплює INT 8, 13h, а потім, використовуючи INT 8, перехоплює INT 21h і записується в початок.COM-файлів при їх створенні. Періодично розшифровує і виводить текст: EkoTerror (C) 1991 ATK-toimisto P.Linkola Oy Kovalevysi on poistettu kДytФstД luonnonsuojelun nimessД. VihreДssД yhteiskunnassa ei saa olla ydinsДhkФllД toimivia kovalevyjД. а потім завішує комп'ютер. В деяких випадках некоректно уражає MBR, в результаті DOS гине при завантаженні. Rasek, сімейство. Дуже небезпечні файлово-завантажувальні віруси, що самошифруються. При запуску зараженого файла записують себе в MBR вінчестера, потім перехоплюють INT 13h, 12h. Переривання INT 13h використовується для реалізації стелс-механізму при читанні ураженої MBR. Віруси також записують в Boot-сектори флопі-дисків програму, яка при завантаженні з такого флопі стирає FAT вінчестера. Переривання INT 21h використовується вірусом для зараження COM- і EXE-файлів при їх запуску, вірус записується в кінець файлів. У тілі вірусу міститься рядок "AND.COM", вірус шукає цей рядок в імені файла і не вражає такі файли (COMMAND.COM). У тілі вірусів також міститься і інші рядки: "Rasek.1310" ASEK v1.1,from LA CORUеA(SPAIN).Jan93 "Rasek.1489" RaseK v2.1,from LA CORUеA(SPAIN).Mar93 Vecna. Дуже небезпечний резидентний файлово-завантажувальний стелс-вірус. Заражає boot-сектори дискет, MBR вінчестера і записується поверх EXE-файлів (псує їх). При запуску зараженого EXE-файла записується в MBR вінчестера, розшифровує і виводить текст: Out of memory. Потім повертає управління DOS. При завантаженні з диска перехоплює INT 13h, залишається резидентним в пам'яті і заражає дискети і EXE-файли на дискетах. Під налагоджувачем і на Pentium-комп'ютерах виводить текст: Vecna Live... Має досить серйозну помилку – може повернути управління оригінальному обробнику INT 13h із зіпсованим вмістом регістра АХ, що може привести до втрати даних на диску і навіть до його форматування. Kyokushinkai. Дуже небезпечний резидентний файлово-завантажувальний вірус. При запуску зараженого записується в MBR вінчестера, перехоплює INT 12h, 13h, 1Ch, 21h і при запуску програм шукає EXE-файли і записується в їх кінець. Заражений MBR-сектор не видно при активному в пам'яті вірусі (стелс). Залежно від поточного часу стирає системні сектори рядком: +++++++ KШФkБshЛдkДЛ +++++++.- 39-mynrazCmeroizв..... Поліморфік-віруси Не так давно виявлення вірусів було простою справою: кожен вірус створював точну копію самого себе при тиражуванні і інфікуванні нових файлів і завантажувальних секторів, тому антивірусним програмам необхідно було тільки знати послідовність байтів, що становлять вірус. Для кожного вірусу фахівці виявляли унікальну послідовність байтів – його сигнатуру. Наявність такої сигнатури служила високонадійним індикатором присутності небажаного коду, що і примусило авторів вірусів спробувати приховувати будь-яку послідовність байтів, здатну видати присутність їх творінь. Вони стали робити це шляхом шифрування вірусів. Віруси, що шифрують свій код, відомі досить давно. Проте самі процедури розшифрування досить легко виявити, зокрема, тому, що далеко не всі автори вірусів мають досить знань для написання власних процедур шифрування і розшифрування, тому багато вірусів використовують для цього один і той самий код. Тепер сканери вірусів шукають певні процедури розшифрування. Хоча виявлення такої процедури ще нічого не говорить про те, який саме вірус присутній у зашифрованому вигляді, але це вже сигнал про наявність вірусу. Тому останнім прийомом зловмисників стає поліморфізм. Перші поліморфні віруси Tequila і Maltese Amoeba з'явилися в 1991 році. Все б нічого, але в 1992 році автор, відомий під псевдонімом Dark Avenger, написав свого роду комплект «Зроби сам» для мутаційного механізму, який він зробив частиною вірусу Maltese Amoeba. До 1992 року розробники вірусів працювали насправді дарма. Абсолютно ясно, що кваліфікація професіоналів у сфері антивірусної безпеки ніяк не нижча, і тому багатомісячні зусилля “вірусописьменників” коштували в крайньому випадку зайвих годин роботи для фахівців. Адже всі зашифровані віруси обов'язково містили якийсь незашифрований фрагмент: сам розшифровувач або деяку його частину, по яких можна було б побудувати сигнатуру даного вірусу і потім вже боротися з ним звичними способами. Ситуація змінилася, коли були придумані алгоритми, що дозволяють не тільки шифрувати код вірусу, але і міняти розшифровувач. Сама постановка такої задачі питань не викликає: ясно, що можна побудувати різні розшифровувачі. Суть у тому, що цей процес автоматизований, і кожна нова копія вірусу містить новий розшифровувач, кожен біт якого може відрізнятися від бітів розшифровувача копії, що породила її. Отже, до поліморфік-вірусів відносяться ті з них, які неможливо (чи вкрай важко) знайти за допомогою так званих вірусних масок – ділянок постійного коду, специфічних для конкретного вірусу. Досягається це двома основними способами: - шифруванням основного коду вірусу з непостійним ключем і випадковим набором команд розшифровувача; - зміною самого виконуваного коду вірусу. Існують також інші, досить екзотичні приклади поліморфізму: DOS-вірус "Bomber", наприклад, не зашифрований, однак послідовність команд, що передає керування коду вірусу, є цілком поліморфною. Поліморфізм різного ступеня складності зустрічається у вірусах усіх типів – завантажувальних, файлових і навіть у макро-вірусах. Поліморфні розшифровувачі Найпростішим прикладом частково поліморфного розшифровувача є наступний набір команд, в результаті застосування якого жоден байт коду самого вірусу і його розшифровувача не є постійним при зараженні різних файлів: MOV reg_1, count; reg_1, reg_2, reg_3 вибираються з MOV reg_2, key; AX,BX,CX,DX,SI,DI,BP MOV reg_3, _offset; count, key, _offset також можуть мінятися _LOOP: xxx byte ptr [reg_3], reg_2; xor, add чи sub DEC reg_1 Jxx _loop; ja чи jnc; далі йдуть зашифровані код і дані вірусу. Більш складні поліморфік-віруси використовують значно більш складні алгоритми для генерації коду своїх розшифровувачів. Приведені вище інструкції переставляються місцями від зараження до зараження, розбавляються нічого не змінюючими командами типу NOP, STI, CLI, STC, CLC, DEC <невикористовуваний регістр> або XCHG <невикористовувані регістри>. Повноцінні ж поліморфік-віруси використовують ще більш складні алгоритми, у результаті роботи яких у розшифровувачі вірусу можуть зустрітися операції SUB, ADD, XOR, ROR, ROL і інші в довільній кількості і порядку. Завантаження і зміна ключів і інших параметрів шифровки виробляється також довільним набором операцій, у якому можуть зустрітися практично всі інструкції процесора Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP...) із усіма можливими режимами адресації. З'являються також поліморфік-віруси, розшифровувач яких використовує інструкції аж до Intel386. В результаті на початку файла, зараженого подібним вірусом, йде набір безглуздих на перший погляд інструкцій, причому деякі комбінації, що цілком працездатні, не аналізуються фірмовими дизасемблерами (наприклад, сполучення CSCS чи CSNOP). І серед цієї "каші" з команд і даних зрідка прослизають MOV, XOR, LOOP, JMP – інструкції, що дійсно є "робітниками". Рівні поліморфізму Існує розподіл поліморфік-вірусів на рівні в залежності від складності коду, що зустрічається в розшифровувачах цих вірусів. Такий розподіл уперше запропонував доктор Алан Соломон, а згодом Весселин Бончев розширив його. Рівень 1: віруси, що мають деякий набір розшифровувачів з постійним кодом і при зараженні вибирають один з них. Такі віруси є "напів-поліморфіками" і носять також назву "олігоморфік" (oligomorphic). Приклади: "Cheeba", "Slovakia", "Whale". Рівень 2: розшифровувач вірусу містить одну чи кілька постійних інструкцій, основна ж його частина непостійна. Рівень 3: розшифровувач містить невикористовувані інструкції – "сміття" типу NOP, CLI, STI і т.д. Рівень 4: у розшифровувачі використовуються взаємозамінні інструкції і зміна порядку проходження (перемішування) інструкцій. Алгоритм розшифрування при цьому не змінюється. Рівень 5: використовуються всі перераховані вище прийоми, алгоритм розшифрування не постійний, можливе повторне зашифрування коду вірусу і навіть часткове зашифрування самого коду розшифровувача. Рівень 6: permutating-віруси. Зміні підлягає основний код вірусу – він поділяється на блоки, що при зараженні переставляються в довільному порядку. Вірус при цьому залишається працездатним. Подібні віруси можуть бути незашифрованими. Наведений вище розподіл не вільний від недоліків, оскільки створений за єдиним критерієм – можливість детектувати вірус по коду розшифровувача за допомогою стандартного прийому вірусних масок: рівень 1 – для детектування вірусу досить мати кілька масок; рівень 2 – детектування по масці з використанням "wildcards"; рівень 3 – детектування по масці після видалення інструкцій-"сміття"; рівень 4 – маска містить кілька варіантів можливого коду, тобто стає алгоритмічною; рівень 5 – неможливість детектування вірусу по масці. Недостатність такого розподілу продемонстрована у вірусі 3-го рівня поліморфічності, що так і називається – "Level3". Цей вірус, будучи одним з найбільш складних поліморфік-вірусів, за приведеним вище розподілом попадає в Рівень 3, оскільки має постійний алгоритм розшифровки, перед яким стоїть велика кількість команд-"сміття". Однак у цьому вірусі алгоритм генерування "сміття" доведений до досконалості в коді розшифровувача можуть зустрітися практично всі інструкції процесора і8086. Якщо зробити розподіл на рівні з погляду антивірусів, що використовують системи автоматичної розшифровки коду вірусу (емулятори), то розподіл на рівні буде залежати від складності емуляції коду вірусу. Можливо детектування вірусу й інших прийомів, наприклад, розшифровка за допомогою елементарних математичних законів і т.д. Зміна виконуваного коду Найбільш часто подібний спосіб поліморфізму використовується макро-вірусами, що при створенні своїх нових копій випадковим чином змінюють імена своїх змінних, вставляють порожні рядки чи змінюють свій код яким-небудь іншим способом. У такий спосіб алгоритм роботи вірусу залишається без змін, але код вірусу практично цілком міняється від зараження до зараження. Рідше цей спосіб застосовується складними завантажувальними вірусами. Такі віруси впроваджують у завантажувальні сектори лише досить коротку процедуру, що зчитує з диска основний код вірусу і передає на нього керування. Код цієї процедури вибирається з декількох різних варіантів (які також можуть бути розведені "порожніми" командами), команди переставляються між собою і т.д. Ще рідше цей прийом зустрічається у файлових вірусів – адже їм приходиться цілком змінювати свій код, а для цього вимагаються досить складні алгоритми. На сьогоднішній день відомі всего два таких віруси, один із яких ("Ply") випадковим образом переміщає свої команди по своєму тілу і заміняє їх на команди JMP чи CALL. Інший вірус ("TMC") використовує більш складний спосіб – щоразу при зараженні вірус змінює місцями блоки свого коду і даних, вставляє "сміття", у своїх асемблерних інструкціях встановлює нові значення оффсетів на дані, змінює константи і т.д. В результаті, хоча вірус і не шифрує свій код, він є поліморфік-вірусом – у коді не присутній постійний набір команд. Більш того, при створенні своїх нових копій вірус змінює свою довжину. Деякі віруси (наприклад, віруси сімейства Eddie, Murphy) використовують частину функцій повноцінного вірусу-невидимки. Зазвичай вони перехоплюють функції DOS FindFirst і FindNext і «зменшують» розмір заражених файлів. Такий вірус неможливо визначити за зміною розмірів файлів, якщо, звичайно, він резидентно знаходиться в пам'яті. Програми, що не використовують вказані функції DOS (наприклад, Norton Commander), а напряму звертаються до вмісту секторів, які зберігають каталог, показують правильну довжину заражених файлів. При інфікуванні файла вірус може здійснювати дії, що маскують і прискорюють його розповсюдження. До подібних дій можна віднести обробку атрибуту Read-only, зняття його перед зараженням і подальше відновлення цього атрибуту. Багато файлових вірусів прочитують дату останньої модифікації файла і відновлюють її після зараження. Для маскування свого розповсюдження деякі віруси перехоплюють переривання DOS, що виникає при зверненні до диска, захищеного від запису, і самостійно обробляють його. Тому серед особливостей алгоритму файлового вірусу можна назвати наявність або відсутність обробки і швидкість його розповсюдження. Швидкість розповсюдження файлових вірусів, що заражають файли тільки під час їх запуску на виконання, буде нижчою, ніж у вірусів, що заражають файли при їх відкритті, перейменуванні, зміні їх атрибутів і т.д. Деякі віруси при створенні своєї копії в оперативній пам'яті намагаються зайняти область пам'яті з найстаршими адресами, руйнуючи тимчасову частину командного інтерпретатора COMMAND.COM. Після закінчення роботи зараженої програми тимчасова частина інтерпретатора відновлюється, при цьому відбувається відкриття файла COMMAND.COM і його зараження, якщо вірус вражає файли при їх відкритті. Приклади поліморфік-вірусів Amoeba.2367. Дуже небезпечний резидентний поліморфик-вірус. Перехоплює INT 21h і записується в кінець COM- і EXE-файлів при їх запуску або відкритті. 21 березня і 1 листопада знищує інформацію на вінчестері. Містить тексти: Tosee aworld in а grain of sand, And а heaven in а wildflower Hold Infinity in the palm of your hand And Eternity in an hour. "THE VIRUS 16/3/91 AMOEBA virus by the Hacker Twins (C) 1991 This is nothing, wait for the release of AMOEBA II-The universal infector, hidden to any eye but ours! Dedicated to the University of Malta- the worst educational system in the universe,and the destroyer of 5X2 years of human life. Simulation. Безпечний нерезидентний поліморфік-вірус. Шукає.COM-файли і записується в їх кінець. Періодично виводить одне з повідомлень, після чого завішує комп'ютер: HA HA HA YOU HAVE А VIRUS! FRODO LIVES! Have you ever danced with the Devil in the pale moonlight? DATACRIME VIRUS RELEASED 1 MARCH 1989 ALIVE... Your system is infected by the SIMULATION virus. Have а nice day! Predator (файлово-завантажувальні) Нешкідливі резидентні COM-EXE-MBR-Boot-поліморфік-віруси. Під час запуску зараженого файла трасують і перехоплюють INT 13h, 21h і записуються в MBR вінчестера. Потім записуються в кінець COM- і EXE-файлів при зверненнях до них. Вражають Boot-сектори дискет. При завантаженні з ураженого флопі-диска перехоплюють INT 13h і чекають завантаження DOS, потім перехоплюють INT 21h і приступають до зараження. Містять текст: THE PREDATOR. TORPNACSAELCFASVVAPC. VANOCED Останній рядок містить частини імен файлів (задом наперед), які не вражаються вірусом PROT, SCAN, CLEA, VSAF, CPAV, NAV, DECO. Також містять рядки: "Predator.2248" Predator virus #2 (c) 1993 Priest - Phalcon/Skism "Predator.2424" Predator virus #2 (c) 1993 Here comes the Predator! Samara.1536. Безпечний резидентний файлово-завантажувальний поліморфік-вірус. При старті з інфікованого файла заражає MBR вінчестера, перехоплює INT 21h і записується в кінець COM- і EXE-файлів при їх запуску (окрім COMMAND.COM). Забороняє запуск антивірусів AVPLITE, AIDSTEST, AVP, DRWEB, SCAN. При завантаженні з інфікованого MBR вірус перехоплює INT 13h, чекає завантаження DOS і потім перехоплює INT 21h. При завантаженні з boot-сектора дискети вірус ще заражає MBR. При зараженні MBR і boot-секторів не зберігає їх оригінали. Для збереження працездатності системи вірус при завантаженні із зараженого диска самостійно прочитує і запускає на виконання перший логічний сектор диска С, який містить завантажувальний код операційної системи. OneHalf, сімейство. Дуже небезпечні резидентні файлово-завантажувальні поліморфік-віруси. При запуску заражають MBR вінчестера, при завантаженні з ураженого диска перехоплюють INT 13h, 1Ch, 21h і записуються в COM- і EXE-файли при зверненні до них. Не заражають файли SCAN, CLEAN, FINDVIRU, GUARD, NOD, VSAFE, MSAV, CHKDSK. Код-розшифровувач цих вірусів розкиданий по всьому файла з випадковими зсувами. При зараженні вінчестера вірус прочитує його MBR і сканує таблицю розділів диска (DPT). У ній він шукає останній DOS'івський диск – логічний диск (FAT-12,16/BIGDOS) або Extended partition, і коли знаходить, підраховує номер першого і останнього циліндрів знайденого диска (або Extended partition). При цьому вірус досить грамотно обробляє диски, що мають більше 1024 циліндрів і не вписуються в стандарти INT 13h. Вірус запам'ятовує адреси цих циліндрів і заражає вінчестер. Потім при завантаженні із зараженого вінчестера вірус шифрує два останні циліндри диска, при наступному завантаженні – ще два і т.д., поки не дійде до першого циліндра. При цьому вірус використовує адреси першого і останнього циліндрів диска, які запам'ятав при зараженні вінчестера. Коли кількість зашифрованих циліндрів перевалить за половину диска, вірус повідомляє (залежно від поточної дати і свого "покоління"): Disк is one half. Press any key to continue... Таким чином, чим частіше перезавантажується заражений комп'ютер, тим більше дані виявляються зашифрованими. Після завантаження в пам'ять вірус розшифровує/зашифровує ці сектори "на льоту", тому користувач не помічає того, що його дані зіпсовані. Проте, якщо вилікувати MBR, то всі дані виявляються втраченими. "OneHalf.3518" не шифрує себе у файлах. Виводить текст: A20 Error!!! Press any key to continue... "OneHalf.3544.b" не заражає файли AIDS*.*, ADINF*.*, DRWEB*.*, ASD*.*, MSAV*.*. Виводить повідомлення: Dis is TWO HALF. Fucks any key to Goping... Cheeba, сімейство. Резидентні безпечні віруси. Активізуються, коли вектор INT 13h вказує на область з адресою меншою, ніж адреса першого MCB. В обробниках INT 13h, 21h, 22h замінюють перші 5 байтів на код "FAR JMP на тіло вірусу", потім записуються в кінець COM- і EXE-файлів. Містять текст: CHEEBA Makes Уа High Harmlessly F**K THE LAMERS. У вірусі присутні також коди, які розшифровуються і виконуються при відкритті файла USERS.BBS, використовуючи ім'я файла як ключ розшифровки. При цьому вірус записує у файл USERS.BBS якусь інформацію (створює ім'я з максимальними привілеями?). Bomber. Нешкідливий резидентний поліморфік-вірус. Перехоплює INT 21h і заражає COM-файли, окрім COMMAND.COM, при їх запуску. Містить усередині себе текст: COMMANDER BOMBER WAS HERE. [DAME] Характерною рисою цього вірусу є те, що він використовує досить незвичайний поліморфік-алгоритм. При зараженні вірус прочитує 4096 байтів з середини файла і переносить їх в його кінець. Себе він записує в “диру”, що утворилася, і приступає до генерації поліморфік-коду. Вірус містить декілька підпрограм генерації випадкового (але цілком працездатного!) коду, який записується у випадкові місця файла, що заражається. У цьому коді може бути присутньою близько 90% всіх інструкцій процесора i8086. Управління з однієї ділянки в іншу передається коман<
|
||||
Последнее изменение этой страницы: 2016-07-16; просмотров: 356; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.27.33 (0.019 с.) |