Важно за антивирусните програми - Форум
Black-Zone Петък
09.12.2016
22:14:31
На пазара мъж продава комар в бурканче. На него има залепен етикет: "Заместител на мъже – само 25 лв." Една заинтересувана клиентка пита: - А как се използва? - В къщи се разсъбличаш,лягаш на леглото и го пускаш от буркана. Ако нещо не е наред – позвъни ми – ето телефонния ми номер. Вечерта жената звъни: - Прибрах се, съблякох се, легнах,отворих буркана, но той стои вътре и не се движи… - Стой така. Идвам веднага! Дошъл мъжът на мястото, разсъблякъл се и казал на комара: - Гледай, глупак! За последен път показвам
Добре дошли Гост | RSS Главна | Важно за антивирусните програми - Форум | Регистрация | Вход
  • BGtop . Гласувайте за моя сайт в БГ чарт . Гласувай за мен в BGTop100.com


    [ Ново съобщение · Членове · Правила на форума · Търси · RSS ]
    Страница 1 от 11
    Модератор на форума: evlogi4 
    Форум » Test category » Софтуер » Важно за антивирусните програми
    Важно за антивирусните програми
    ангелинкаДата: Петък, 10.08.2012, 11:17:55 | Съобщение # 1
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Антивирусни „ механизми”

    Една от основните части на всяка антивирусна програма е така наречения антивирусен „двигател” - модул, отговарящ за проверката на обектите и обезоръжаването на вредоносните програми. Именно от антивирусния „модул” от това, как е разработен, какви методи за откриване и евристика използва той, зависи качеството на откриване на вредоносните програми и като следствие, нивото на защита, предоставено от антивирусната програма.

    Дадената статия подробно описва стандартните технологии и някои оригинални подходи на различните разработчици на антивирусни програми, реализирани в антивирусния „модул”
    Попътно ще бъдат разгледани някои технически въпроси, необходими за оценка на качеството на антивирусния „модул” и уточнения за използваните в него технологии.

    Добър или лош е „ модула” ?

    За съжаление, разработчиците на антивирусно програмно обезпечаване много рядко разкриват детайли от реализацията на своя” модул”. Но и по косвени признаци може да се определи дали даден „ модул” е добър или лош. Ето основните критерий по които може да се определи качеството на антивирусния „ модул”:
    Качество на откриване. Колко добре антивирусната програма определя вирусите.Този критерий може да се оцени по резултатите от различни тестове, които се провеждат от няколко организации и обикновено са представени на web - ресурсите на разработчика.

    Ниво на откриване с евристическите анализатори. За съжаление, без тестване на колекциите от вируси не е възможно да се определи този параметър, но може достатъчно лесно да се определи какво е нивото на неистински сработвания на конкретния"механизъм".

    Ниво на лъжливите сработвания. Ако за 100% незаразени файлове, антивирусната програма рапортува за разкриването на възможно заразен файл, то това е лъжливо сработване. Струва ли си да се доверяваме на такъв евристически анализатор, който безпокои потребителя с лъжливи тревоги? Нали сред голямото количество лъжливи сработвания, потребителя може да пропусне действителен нов вирус.

    Поддръжка на голямо количество опаковчици и архиватори. Това е много важен фактор, защото често създателите на вредоносни програми, написали вируси ги опаковат в няколко опаковки на изпълняеми модули и като получат няколко различни вируси, ги пускат в пространството. В същността си всички тези вируси се явяват екземпляри на един и същи вариант. За антивируси, които поддържат всички или почти всички популярни опаковки, няма да е трудно да определят всички тези модификации на един и същи вирус, като при това ги назовава с едно и също име. За други антивируси ще се наложи обновяване на антивирусната база (а така също и време за анализ на модификацията на вируса от антивирусен експерт).
     
    ангелинкаДата: Петък, 10.08.2012, 11:18:32 | Съобщение # 2
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Честота и размер на обновяванията на антивирусната база.

    Тези параметри се явяват косвени признаци на качеството на антивируса. Честото обновяване гарантира, че потребителя винаги ще бъде защитен и от току що появили се вируси. Размера на обновлението (и количеството на откриваемите вируси в това обновление) говори за качеството на проектиране на антивирусната база и на нейното ядро в частност.

    Възможност за обновяване на самия „двигател” на антивируса, без обновление на самата антивирусна програма. Понякога за изолирането на вируса трябва да се обнови не само антивирусната база данни, но и самия механизъм, двигател. Ако вируса не поддържа такава възможност, то потребителя може да остане без защита пред лицето на новия вирус. Освен това, тази възможност позволява оперативно да се подобри „двигателя” на антивируса и да се поправят възникналите в него грешки.

    Антивирусен” двигател”: съществуващи технологии.

    С появяването на първите компютърни вируси, програмистите много бързо се ориентирали в принципите им на работа и създали първите антивирусни програми. От тогава минало много време и съвременния антивирус се отличава от тези първи антивирусни програми, така както персоналния компютър сега се отличава от калкулатора.

    В първия абзац на тази статия беше дадено малко наивно определение на антивирусния механизъм (двигател). По нататък ще бъдат приведени няколко точни определения и технологични описания, които в крайна сметка ще ни позволят напълно да разберем структурата и алгоритмите на работа на антивирусния „двигател”.

    Антивирусния „двигател” (Anti-Virus Engine) – това е програмен модул, който е предназначен за откриване на вредоносни програмни обезпечения. „Двигателя” се явява основен компонент на всяка антивирусна програма. Използва се както в персонални продукти - персонален скенер или монитор, така и в сървърни решения - скенер за пощенски или файлов сървър или прокси- сървър. Като правило, за откриването на вредоносните програми при повечето „ двигатели” са реализирани следните технологии:

    Търсене по „сигнатура” (байт с уникална последователност)

    Търсене по контролни суми или CRC (контролни суми с уникална последователност на байта)
    Използване на редуцирани маски.
    Криптоанализ
    Статистически анализ.
    Евристически анализ.

    Емулация.
     
    ангелинкаДата: Петък, 10.08.2012, 11:19:07 | Съобщение # 3
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Ще разгледаме всеки от тези методи подробно.

    Търсене по „сигнатура”.

    Сигнатура - това е уникална „линия” байт, която еднозначно характеризира тази или онази вредоносна програма. Сигнатурното търсене, в тази или друга модификация се използва за изолиране на вируси и други вредоносни програми, като се прилага от времето на най-първите антивирусни програми да сега. Неоспоримо достойнство на сигнатурното търсене е – скоростта на работа (при използване на специално разработени алгоритми по подразбиране) и възможността да открива няколко вируси с една сигнатура. Недостатък - размера на сигнатурите за надеждно откриване трябва да бъде доста голям, като минимумът е 8-12 байта (обикновено за точно откриване се използват много по-дълги сигнатури, до 64 байта), следователно размера на антивирусната база ще бъде доста голям. Освен това, в последно време голямо разпространение получиха вредоносни програми, написани на езици от висок клас (C+, Delphi, Visual Basic), а в такива програми има отделни части на кода, които практически не се изменят (така наречените Run Time Library). Неправилно избраната сигнатура неизбежно ще доведе до лъжливо сработване - разкриване на чист, незаразен файл като заразен с вирус. Като решение на този проблем се предлага да се използват или много големи сигнатури или да се използва разкриване по някои области от данни, например (relocation table) или текстови редове, което не винаги е добре.

    Търсене по контролни суми (CRC)

    Търсенето по контролни суми (CRC - cyclic redundancy check), в същността си се явява модификация на търсенето по сигнатури. Метода е разработен за да се избегнат основните недостатъци на сигнатурното търсене - размера на базата и намаляване на вероятността от лъжливи сработвания. Същността на метода се състои в това, че за да се открие вредоносният код се взема не само „опорния” ред - сигнатура, а по-точно казано контролната сума на този ред и местоположението на сигнатурата в тялото на вредоносната програма. Местоположението се използва, за да не се събират контролни суми за целия файл. По този начин, вместо 10-12 байта сигнатура минимално, се използват 4 байта за съхранение на контролната сума и още 4 байта за местоположение. Метода на търсене по контролни суми е по-бавен от метода на търсене по сигнатури.

    Използването на маски за разкриването на вредоносния код, много често е усложнено от наличието на шифрован код (така наречените полиморфни вируси), защото в тези случаи, или е невъзможно да се избере маска, или маската с максимален размер не удовлетворява условието за еднозначна идентификация на вируса, без лъжливи сработвания.
    Не е възможно избора на маска с достатъчен размер в случай на полиморфен вирус да се обясни лесно. По пътя на шифроване на своето тяло, вируса се сдобива с това, че голяма част от неговия код в поразения обект се явява изменена и съответно не може да бъде избрана в качеството на маска. (Подробно самошифроващи се и полиморфни вируси са описани в приложенията в края на статията)

    За откриването на такива вируси се използват следните методи: използване на редуцирани маски, криптоанализ и статистически анализ. Ще разгледаме тези методи подробно.
     
    ангелинкаДата: Петък, 10.08.2012, 11:19:45 | Съобщение # 4
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Използване на редуцирана маска.

    При поражение на обекти от вирус, който използва шифроване, преобразува своя код в шифрована последователност от данни:

    S = F (T), къде

    T - базов код на вируса

    S - зашифровани кодове на вируса

    F - функция на шифроване на вируса, произволно избирана от някакво множество
    преобразования {F}.

    Способа на редуцираната маска се състои в това, че се избира преобразование R от зашифрованите кодове на вируса S, такова, че резултата от преобразуването (тоест някаква последователност от данни S) няма да зависи от ключовете на преобразуване на F, или
    S = F (T)

    S" = R (S) = R (F (T)) = R" (T).

    При използването на преобразуванията на R към всевъзможни варианти на шифрования код S, резултатът S ще бъде постоянен при постоянно T. В такъв смисъл, идентификацията на поразените обекти се осъществява по пътя на избор на S в качеството на редуцирана маска и прилагането и към поразените обекти на преобразованието на R.

    Криптоанализ

    Този способ се състои в следното: по известен базов код на вируса и по известен зашифрован код ( или по подозрителен код, приличащ на зашифровано тяло на вирус) се възстановяват ключовете и алгоритъма на програмите на разшифровчика. След това, този алгоритъм се прилага към зашифрования участък и в резултат от това се явява разшифрованото тяло на вируса. При решението на тези задачи се налага използването на системни уравнения.

    Като правило, този способ работи значително по-бързо и заема доста по-малко памет, отколкото емулацията на инструкциите на вируса. Понякога решението на подобни системи се явява задача с висока сложност.

    Основния проблем е математическият анализ на полученото уравнение или получената система от уравнения. В много отношения задачата за решаване на система от уравнения при възстановяване на зашифрованото тяло на вируса напомня класическата криптографическа задача за възстановяване на зашифрован текст при неизвестни ключове. Но тук тази задача звучи малко по-различно: необходимо е да се изясни, явяват ли се данните от зашифрования код като резултат от използването на някоя известна с точност до ключ функция. При това отрано са известни много данни за решаването на тази задача: участък на зашифрования код, участък на не зашифрования код, възможни варианти на функциите на преобразуването. Освен това, самия алгоритъм на това преобразование и ключовете също присъстват в анализираните кодове.
     
    ангелинкаДата: Петък, 10.08.2012, 11:20:16 | Съобщение # 5
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Съществува обаче и значително ограничение, което се състои в това, че дадената задача трябва да се решава в конкретни граници на оперативната памет и процедурата по решението не бива да отнема много време.

    Статистически анализ.

    Той също се използва за откриване на полиморфни вируси. По време на своята работа сканера анализира честотата на използваните команди на процесора, прави таблица на срещащите се команди на процесора и на основата на тази информация прави извод за заразяването на файла с вирус. Този метод е ефективен за търсене на някои полиморфни вируси, защото тези вируси използват ограничен набор команди, докато чистите файлове използват съвсем други команди, с друга честота. Например всички програми за MS-DOS често използват прекъсване 21ч. ( CDh 21h), докато в кода на полиморфните DOS - вируси, тази команда практически не се среща.

    Основният недостатък на този метод се състои в това, че има редица сложни полиморфни вируси, които използват почти всички команди на процесора и от копие към копие набора от използваните команди силно се променя, тоест по направената таблица на честотите не е възможно да се разпознае вируса.

    Евристически анализ.

    Когато количеството на вирусите е превишило няколко стотин, антивирусните експерти се замислили над идеята за разкриване на вредоносни програми, за съществуването, на които антивирусната програма още не знае (няма съответстващи сигнатури). В резултат били създадени така наречените евристически анализатори. Евристически анализатори се наричат набор от програми, които анализират кода на испълняемите файлове, макроси, скриптове, памети или застрашени сектори за изолиране в тях на различни типове вредоносни компютърни програми. Съществуват два принципа на работа на анализатора.

    Статистически метод. Търсене на общи кратки сигнатури, които присъстват в повечето вируси (така наречените „ подозрителни” команди”). Например за голямо количество вируси, се прави търсене на вируси по маската *. EXE, открива се намерения файл и се прави запис в открития файл. Задачата на евристика в този случай е да намери сигнатурата, която отразява тези действия. След това се прави анализ на намерените сигнатури и ако е намерено някакво количество необходими и достатъчни „ подозрителни команди”, се взема решение за това, че файлът е заразен. Големия плюс на този метод е простата реализация и добрата скорост на работа, но при това нивото на откриване на нови вредоносни програми е доста нисък.

    Динамически метод. Този метод се е появил едновременно с внедряването в антивирусните програми на емулации на команди на процесора (подробно емулатора е описан по-долу). Същността на метода се състои в емулация на изпълнение на програмите и протоколиране на всички „ подозрителни” действия на програмите. Въз основа на този протокол се взима решение за възможно заразяване на програмата с вирус. За разлика от статистическия метод, динамическия метод използва повече ресурси от компютъра и нивото на откриване чрез динамическия метод е по-високо.
     
    ангелинкаДата: Петък, 10.08.2012, 11:21:00 | Съобщение # 6
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Емулация.

    Технологията на емулиране на кода на програмата (Sandboxing) се появила в отговор на появяването на голям брой полиморфни вируси. Идеята на този метод се състои в това, че емулира изпълнението на програмата (както заразена с вирус, така и чиста) в специално „ заграждение”, наречено още буфер на емулацията. Ако в емулатора попадне заразен с полиморфен вирус файл, то след емулацията в буфера се оказва разшифрованото тяло на вируса, което е готово вече за откриване със стандартните методи (сигнатурно или CRC търсене).

    Съвременните емулатори емулират не само командите на процесора, но и търсенията на операционната система. Задачата за написване на пълноценен емулатор се явява доста трудоемък процес, да не говорим, че при използването на емулатора се налага постоянно да се контролират действията на всяка команда. Това е необходимо, за да не се изпълнят случайно деструктивните компоненти на алгоритъма на вируса.
    Много е важно да се отбележи, че се налага именно да се емулира работата по инструкциите на вируса, а не да се трасират тези инструкции, защото при трасирането на вируса има много голяма вероятност да се извикат деструктивни инструкции или кодове, отговарящи за разпространението на вируса.

    База данни на антивирусния ”двигател”.

    Базата данни се явява неделима част от антивирусния „ двигател”. Още повече, ако смятаме, че добре проектирания „ двигател” не се изменя толкова често, то антивирусната база се изменя постоянно, защото именно в антивирусната база се намират сигнатурите, контролните суми и специални програмни модули за откриване на вредоносните програми. Както е известно, новите вируси, червеи и други вредоносни програми се появяват със завидна честота и затова е много важно обновлението на антивирусната база да става колкото се може по-често. Ако преди пет години е било достатъчно ежеседмично обновление, то днес е наложително да се прави ежедневно обновяване на антивирусната база.

    Така също е много важно, какво точно се намира в антивирусната база: само записи за вируси или и допълнителни програмни процедури. Във втория случай много по-лесно се обновява функционално антивирусния „ двигател” по пътя на обичайното обновление на базите.

    Поддръжка на „сложни”, вложени обекти.

    През последните няколко години антивирусните” двигатели” силно са се изменили. Ако за да се смята първата антивирусна програма , за първокласна програма е било достатъчно да проверява системната памет, изпълнимите файлове и застрашените сектори, то след няколко години във връзка с ръста на популярност на специални опаковки на изпълняваните модули пред разработчиците възникнала задача да разопаковат опакования файл преди да го сканират.

    След това се появява нов проблем- вирусите се научили да заразяват архивни файлове( а и самите потребители все по- често препращали заразените файлове в архивите). Антивирусните програми били принудени да се научат да обработват и архивни файлове. През 1995 г. се появил първия макровирус, който заразява документи на Microsoft Word. Трябва да се отбележи, че формата на документите, използван от Microsoft Word е закрит и много сложен. Редица антивирусни компании до сега не могат пълноценно да обработват такива файлове.

    Днес, във връзка с огромната популярност на електронната поща, антивирусните механизми обработват и базите на пощенските съобщения и самите съобщения.
     
    ангелинкаДата: Петък, 10.08.2012, 11:21:40 | Съобщение # 7
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Методи на откриване.

    В типичното антивирусно ядро, което е реализирано във всяка антивирусна програма се използват всички необходими технологии за откриване на вредоносните програми: ефективен евристичен анализатор, високопроизводителен емулатор и най-важното грамотна и здрава архитектура на подсистемите за откриване на вредоносни програми, позволяваща използването на всички изброени по-горе методи за разкриване.

    Почти във всяко антивирусно ядро основен се явява метода за откриване по контролни суми. Този метод е бил избран поради необходимостта от минимализиране размера на антивирусната база. Тъй като архитектурата на „ядрото” често е толкова здрава, че позволява използването на който и да е от изброените по-горе методи за откриване, тя се използва и за някои особено сложни вируси. Това позволява да се постигне високо ниво на разкриване на вирусите. Подробната архитектура на антивирусното „ ядро” е представена на схемата по-нататък в текста.

    Практическото използване на способите за разпознаване на полиморфните вируси (криптоанализ и статистически анализ, използване на редуцирана маска и емулация), се свежда до избора на най-оптимален по бързодействие и обем на използваната памет метод. Кодът на болшинството от самошифроващите се вируси много лесно се възстановява с процедурата на емулация. Ако използваните емулатори не са оптималното решение, то кода на вируса се възстановява с помощта на подпрограми, реализиращи обратно преобразуване - криптоанализ. За откриване на неподдаващи се на емулации вируси и вируси, за които няма възможност, да се построи обратно преобразуване се използва способа на изграждане на редуцирани маски.

    В някои, много сложни случаи се предприема комбинация от изброените по-горе способи. Част от кода на разшифровчика се емулира, при това от разщифровчика се издават команди, реално отговарящи за алгоритъма на разшифроване. След това на базата на получената информация се строи и решава система от уравнения за възстановяване на кода на вируса и неговото разкриване.

    Комбинация от способите се използва също при няколкократно изменение на шифраването, когато вируса шифрова своето тяло няколко пъти, като при това използва различни алгоритми за шифроване. Комбинираният способ за възстановяване на информацията или „ чиста” емулация на кода на разшифровчика често се използват и поради това, че всеки нов вирус трябва да бъде проанализиран и включен към антивирусната база за минимални срокове, в които не винаги се извършва необходимия математически анализ. И като резултат се налага да се ползват други методи за разкриване на вируса, без да се има предвид, че напълно ще се изменят методите на математическия анализ на алгоритъма на разшифровчика.
     
    ангелинкаДата: Петък, 10.08.2012, 11:22:14 | Съобщение # 8
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Работа със „сложни” обекти.

    Антивирусните” механизми” поддържат работа с огромно число формати на опаковане и архивиране. Разработчиците много рядко публикуват пълен (или поне достатъчно подробен) списък на поддържаните формати. По-нататък е представена официално публикувана информация за подържането на „ сложни” формати в антивирус „ Касперски”. В другите антивирусни продукти списъка от поддържани формати би трябвало да бъде горе - долу същия.

    „Двигателя” на антивирусната програма „ Касперски” поддържа работа с повече от 400 различни по опаковка изпълняеми файлове, инсталатори и архиватори.( Всичко, повече от 900 модификации, считано към май 2003г.). Сред тях: Упаковчици на изпълняемите файлове и системи за шифроване. Най-популярните от тях са: Diet, AVPACK, COMPACK, Epack, ExeLock, ExePack, Expert, HackStop, Jam, LzExe, LzCom, PaquetBuilder, PGMPAK, PkLite, PackWin, Pksmart, Protect, ProtEXE, RelPack, Rerp, Rjcrush, Rucc, Scramb, SCRNCH, Shrink, Six-2-Four, Syspack, Trap, UCEXE, Univac, UPD, UPX (няколко версии), WWPACK, ASPack (няколко версии), ASProtect (няколко версии), Astrum, BitArts, BJFnt, Cexe, Cheaters, Dialect, DXPack, Gleam, CodeSafe, ELFCrypt, JDPack, JDProtect, INFTool, Krypton, Neolite, ExeLock, NFO, NoodleCrypt, OptLink, PCPEC, PEBundle, PECompact (няколко версии), PCShrink, PE-Crypt, PE-Diminisher, PELock, PEncrypt, PE-Pack (няколко версии), PE-Protect, PE-Shield, Petite, Pex, PKLite32, SuperCede, TeLock, VBox, WWPack32, XLok, Yoda.

    Поддържането на толкова упаковчици и архиватори позволява да се съкрати времето за анализ на новите вируси, което води до увеличаване скоростта на реакция при появяването на нов вирус и да се постигне високо ниво на разкриване на вече известни вируси.

    Архиватори и инсталагори (всичко повече от 60). Най популярните сред тях са:
    CAB, ARJ, ZIP, GZIP, Tar, AIN, HA, LHA, RAR, ACE, BZIP2, WiseSFX (няколко версии), CreateInstall, Inno Installer, StarDust Installer, MS Expand, GKWare Setup, SetupFactory, SetupSpecialist, NSIS, Astrum, PCInstall, Effect Office.

    Поддържането на голям брой разновидности на архиваторите е особено важно за проверка на пощенската система, защото голяма част от вирусите се разпространяват по пощата в архивиран вид. Разопаковката на обектите става в зависимост от нивото на вложените архиви. Например, ако заразения файл е опакован в UPX, а после е опакован и в архив ZIP, който пък е опакован в архив CAB и т.н., то антивирусния „ двигател” трябва да бъде в състояние да достави изходния файл и да разкрие вируса.

    Трябва да отбележим, че подобни разсъждения са с теоретичен характер. Много широко известна е троянската програма Backdoor. Rbot, която се разпространяваше опакована в множество различни програми (Ezip, Exe32Pack, ExeStealth, PecBundle, PECompact, FSG, UPX, Morphine, ASPack, Petite, PE-Pack, PE-Diminisher, PELock, PESpin, TeLock, Molebox, Yoda, Ezip, Krypton и др.).

    Алгоритъма за разопаковане на архиви обикновено разполага с достатъчен интелект, за да не разопакова всевъзможни „архивни бомби” - архиви, с неголям размер, в които са опаковани огромни файлове (с много висока степен на компресия) или няколко еднакви файлове. Обикновено за проверка, а такъв архив трябва много време, но съвременните антивирусни „механизми” често разпознават подобни бомби.
     
    ангелинкаДата: Петък, 10.08.2012, 11:22:55 | Съобщение # 9
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Механизъм за обновяване на антивирусните бази и техния размер.

    Обновленията на антивирусните бази обикновено излизат по няколко пъти на ден. Някои са в състояние да пускат обновления по един път на час, някои по един път на два часа. При всички случай при съвременната висока степен на опасност в интернет, такова често обновление на антивирусните бази е напълно оправдано.

    Размера на обновлението зависи от обмислеността на архитектурата на антивирусния”механизъм”. Така например, размера на регулярните обновления в отраслите на компанията като правило не надвишават 30 кв. При това в антивирусната база обикновено е заложено около 70% от функционалността на целия антивирусен” механизъм”. Във всяко обновяване на антивирусната база може да бъде добавена поддръжка на нов упаковчик или архиватор. По този начин като обновява ежедневно антивирусната база, потребителя получава не само нови процедури за разкриване на нови вредоносни програми, но и обновяване на целия антивирус. Това позволява много точно да се реагира на ситуацията и гарантира на потребителя максимална защита.

    Евристически анализатор.

    В евристическия анализатар, който влиза в състава на почти всяка антивирусна програма се използват заедно някои от описаните по-горе методи за анализ- криптоанализ и статистически анализ. Съвременния евристически анализатор първоначално се разработва така, че да бъде разширяем (за разлика от болшинството евристически анализатори от първо поколение, които се разработвали за разкриване на вредоносните програми само в изпълняемите модули).

    В днешно време евристическия анализатор позволява да се разкриват вредоносни кодове в изпълняемите файлове, сектори и памети, а така също новия скрипт на вирусите и вредоносните програми за Microsoft Office (и други програми използващи VBA ) и накрая, вредоносния код, написан на езици от висока степен, като Microsoft Visual Basic.

    Здравата архитектура и комбинация от различни методи позволява да се постигне високо ниво на разкриване на новите вредоносни програми. При това разработчиците влагат всичките си усилия, за да може, количеството на лъжливите тревоги да се сведе до минимум. Продуктите представени от лидерите в антивирусната индустрия, много рядко бъркат при разкриването на вредоносните кодове.

    В приведената по-долу схема е описан примерен алгоритъм на антивирусния ”двигател”.
    Трябва да отбележим, че емулацията, търсенето на известни и неизвестни вредоносни програми протича едновременно.

    Както беше казано по-горе, по време на обновяване на антивирусната база става също и обновяване и добавяне на модули за разопаковане на опаковани файлове и архиви, евристическия анализатор и други модули на антивирусното „ядро”.

    Оригинални технологии в антивирусните ”механизми”.

    Почти всеки разработчик на антивирусни продукти, реализира някакви свои технологии, позволяващи да се направи работата на програмата по-ефективна и производителна. Някои от тези технологии имат пряко отношение към устройството на „ антивирусния модул”, тъй както именно от неговата работа често зависи производителността на всички решения. По-нататък ще бъдат разгледани ред технологии, позволяващи значително да се ускори проверката на обектите и при това да се гарантира по-добро разкриване и дезинфектиране на вредоносното програмно обезпечение в архивните файлове.
     
    ангелинкаДата: Петък, 10.08.2012, 11:23:36 | Съобщение # 10
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Ще започнем с технологията на iChecker. Тази технология и нейните аналози са реализирани в почти всяка съвременна антивирусна програма. Трябва да отбележим, че iChecker е название, предложено от специалистите от лабораторията на „ Касперски”. Експертите например от Panda Software я наричат UltraFast. Дадената технология позволява да се достигне разумен баланс между надеждността на защитата на работещите станции (и особено сървъри) и използването на системни ресурси на защитения компютър.

    Благодарение на тази технология значително се съкращава времето за зареждане (до 30-40%) на операционната система (в сравнение с традиционните антивирусни защити ) и времето за стартиране на приложението при активна антивирусна защита. При това се гарантира, че всички файлове на твърдия диск на компютъра ще бъдат проверени и обезвредени. Основната идея на дадената технология е: - не трябва да се проверява това, което не се е изменяло и вече е било проверено. Антивирусният механизъм съдържа специална база данни, в която се съхраняват контролните суми на всички проверени (и незаразени) файлове. Сега, преди да се вземе даден файл за проверка „антивирусният механизъм” проверява и сравнява контролната сума на файла с данни, съхраняващ се в базата данни. Ако данните съвпадат, то това значи, че файлът е бил проверен и повторна проверка не е необходима. Трябва да отбележим, че времето, използвано за сравняване на контролните суми на файла е значително по-малко от времето за антивирусна проверка.

    Особено място в работата на антивирусните програми заема обезвреждането на архивирани заразени обекти. Именно за това ще стане дума по-нататък.
    iCure е технология за обезвреждане на заразени файлове в архивите. Благодарение на тази технология заразените обекти вътре в архивните файлове ще бъдат успешно извлечени (или премахнати, в зависимост от настройките на антивируса) без използването на външни услуги (допълнения) за архивация. Днес Болшинството от антивирусните програми поддържат следните типове архиви: ARJ, CAB, RAR, ZIP. Благодарение на модулната архитектура и технологията за обновяване на антивирусното ядро, потребителя може лесно да обновява и разширява списъка на поддържаните типове архиватори без повторно пускане (зареждане) на антивируса.

    iArc е още една технология за работа с архивни файлове. Тази технология е необходима за работа с многотомни архиви. iArc позволява да се проверяват многотомни архиви и да открива вируси даже, ако те са опаковани в многотомен архив, който от своя страна също е опакован в многотомен архив.

    Многопоточност. Антивирусния „механизъм” се явява многопоточен модул и може едновременно да обработва (проверява за наличие на вредоносни кодове) няколко обекти (файлове, сектори, скриптове и др.).

    Повечето от изброените по-горе технологии в този или друг вид са реализирани във всеки съвременен антивирусен продукт.
     
    ангелинкаДата: Петък, 10.08.2012, 11:24:09 | Съобщение # 11
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Полиморфни вируси.

    В изложението често използвахме термините ”полиморфни” и „самошифроващи се” вируси. Както трябваше да стане ясно от предишните разсъждения, именно този тип вредоносни кодове са оказали силно влияние на развитието на антивирусните технологии. По-нататък следва информация за полиморфните вируси, предоставена от експертите на лабораторийте „Касперски”.

    Основни определения: Самошифроване и полиморфичност. Използват се практически всички типове вируси, за да може максимално да се усложни процедурата по разкриване на вируса.

    Полиморфните вируси (polymorphic) – това са достатъчно трудно разкриваеми вируси, които нямат сигнатура, тоест несъдържащи нито един постоянен участък от кода. В повечето случаи два образеца на един и същ полиморфен вирус няма да имат нито едно съвпадение. Това се достига чрез шифроване на основното тяло на вируса и модификации на програмите на разшифровчика ( декриптора). Към полиморфните вируси се отнасят тези от тях, откриването, на които е невъзможно (или крайно затруднено) да се осъществи с помощта на така наречените вирусни маски - участъци от постоянен код, специфични за конкретния вирус. Това се достига чрез два основни способа: шифроване на основния код на вируса с непостоянен ключ и случаен набор от команди на разшифровчика или изменение на самия изпълняем код на вируса. Съществуват също други, достатъчно екзотични примери на полиморфизъм: DOS-вирус "Bomber", например не е зашифрован, но последователността от команди, която предава управлението на кода на вируса се явява напълно полиморфна.
    Полиморфизмът в различни степени на сложност се среща във вируси от всички типове – от зареждащи и файлови DOS-вируси до Windows-вируси и даже макро - вируси.

    Полиморфни разшифровчици.

    Елементарен пример за частично полиморфен разшифровчик се явява следващия набор от команди, в резултат на изпълнението, на които нито един байт от кода на самия вирус и неговия разшифровчик не е постоянен при заразяване на различни файлове:

    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 и т.д.
     
    ангелинкаДата: Петък, 10.08.2012, 11:24:46 | Съобщение # 12
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Пълноценните полиморфни вируси използват още по-сложни алгоритми и в резултат на работата им в разшифровчика на вируса могат да се срещнат операции SUB, ADD, XOR, ROR, ROL и други в произволно количество и ред. Зареждане и изменение на ключовете и други параметри на шифровката се осъществява също от произволен набор операции, в които мога практически да се срещнат всички инструкции на процесора Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP...) с всички възможни режими на адресиране. Появяват се също полиморфни вируси, чийто разшифровчик използва инструкции пригодени за Intel386,, а през лятото на 1997г. е разкрит 32- битов полиморфен вирус, заразяващ EXE- файловете в Windows 95.

    Като резултат, в началото файлът, заразен с подобен вирус, върши набор от безсмислени на пръв поглед инструкции. Интересното е, че някои комбинации, които са напълно работоспособни не се вземат от фирмените асемблери ( например, съчетанието CS:CS: или CS:NOP). И сред тази каша от команди и данни рядко се вземат MOV, XOR, LOOP, JMP - инструкции, които действително се явяват работещи.

    Нива на полиморфизъм.

    Съществува деление на полиморфните вируси на нива в зависимост от сложността на кода, който се среща в разшифровчиците на тези вируси. Такова деление за пръв път предложил доктор Алан Соломон, а след известно време Веселин Бончев го разширил:

    Ниво 1: Вируси, които имат някакъв набор от разшифровчици с постоянен код; при заразяване избират един от тях. Такива вируси се явяват полу- полиморфни и носят още названието „ олигоморфни” (oligomorphic). Примери: "Cheeba", "Slovakia", "Whale".

    Ниво 2: Разшифровчика на вируса съдържа една или няколко постоянни инструкции, но основната му част е непостоянна.

    Ниво 3: Разшифровчика съдържа неизползваеми инструкции - от типа на NOP, CLI, STI и т.н.

    Ниво 4: В разшифровчика се използват взаимозаменяеми инструкции и изменение на реда на извършване на инструкциите. Алгоритъма на разшифроване при това не се изменя.

    Ниво5: Използват се всички изброени по- горе примери, алгоритъма на разшифровка е непостоянен, възможно е повторно шифроване на кода на вируса и даже частично шифроване на самия код на разшифровчика.

    Ниво6: Permutating-вируси. На изменение подлежи основния код на вируса - той се дели на блокове, които при заразяване се представят в произволен ред. При това вируса си остава работоспособен. Подобни вируси могат да бъдат назашифровани.

    Направената по-горе класификация има своите недостатъци, защото тя е направена по един единствен критерий - възможност за разкриване на вируси по кода на разшифровчика с помощта на стандартното използване на вирусни маски:

    Ниво 1: За разкриване на вируса е достатъчно да има няколко маски.
    Ниво2: Разкриване по маска с използване на "wildcards"
    Ниво 3: Разкриване по маска след отделянето на инструкциите – „заблудите”
     
    ангелинкаДата: Петък, 10.08.2012, 11:25:16 | Съобщение # 13
    Генерал-майор
    Група: Uploader
    Съобщения: 436
    Статус: Offline
    Ниво 4: Маската съдържа няколко варианта на възможния код, тоест явява се алгоритмическа.
    Ниво5: невъзможност за разкриване на вируса по маската.

    Недостатъчността на такова деление е демонстрирана вече във вирус от трето ниво на полиморфизъм, който така се и нарича - „Level3". Този вирус се явява един от най-сложните полиморфни вируси, по приведеното по-горе деление попада в ниво 3, има постоянен алгоритъм на разшифровка, пред който стои голямо количество команди – „заблуждаващи” В този вирус, алгоритъма за генериране на „заблуди” е доведен до съвършенство: в кода на разшифровчика могат да се срещнат практически всички инструкции на процесора i8086.
    Ако се прави деление на нива от гледна точка на антивирусните програми, използващи системи за автоматично разшифроване на кода на вируса (эмулатори), то деленето по нива ще зависи от сложността на емулация на кода на вируса. Възможно е и разкриване на вируси и с други приоми, например разшифровка с помощта на елементарни математически закони и т.н.

    По-обективна ще бъде класификация, в която покрай критериите на вирусните маски участват и други параметри например:

    Степен на сложността на полиморфния код (процент от всички инструкции на процесора).
     
    Форум » Test category » Софтуер » Важно за антивирусните програми
    Страница 1 от 11
    Търси:

    Нито един от торентите не се хоства на сървъра на сайта. Сайтът http://black-zone.ovo.bg/ само предлага връзки към други сайтове и не носи отговорност за неуредени авторски права.

    Copyright MyCorp © 2016 Хостнат от