SlideShare a Scribd company logo
1 of 47
Download to read offline
1
Пловдивски университет „Паисий Хилендарски”
Факултет по математика и информатика
Специалност "Софтуерни технологии и дизайн"
ДИПЛОМНА РАБОТА
Тема:
Система за защита от зловреден софтуер
Дипломант: Научен ръководител:
Стефан Костадинов Тафков гл. ас. д-р . Иван Димитров
Фак.№ 1401681007
Пловдив, 2018
2
Съдържание
I. Увод....................................................................................................................................7
II. Подобни приложения.........................................................................................................8
1. Антивирусна програма - Kaspersky Antivirus................................................................8
2. Антивирусна програма - Avast Antivirus .....................................................................10
3. Антивирусна програма Avira Antivirus........................................................................12
4. Антивирусна програма Comodo Antiviruis ..................................................................14
5. Антивирусна програма ESet Antivrius .........................................................................15
III. Средства и технологии използвани при направата на дипломната работа ................18
1. C# ..................................................................................................................................19
2. Python............................................................................................................................20
3. MySQL ..........................................................................................................................21
4. SQLite............................................................................................................................22
IV. Структура на програмата .............................................................................................24
1. Умното ядро..................................................................................................................24
2. Anti – malware ядрото...................................................................................................25
3. Защита от шпионски софтуер ......................................................................................25
4. Ядро защита на самоличност .......................................................................................25
5. Блокиране на лошо поведение .....................................................................................26
6. Браузър защита.............................................................................................................26
7. USB защитата ...............................................................................................................26
8. USB незабавно блокиране............................................................................................27
9. Карантина .....................................................................................................................27
10. HIPS защита ..............................................................................................................27
3
11. Самозащита...............................................................................................................27
12. Autorun blocker..........................................................................................................27
13. Антивирусно ядро.....................................................................................................28
14. Защита от кражба......................................................................................................28
15. Излекуване на файл...................................................................................................28
16. Бързо стартово сканиране.........................................................................................28
V. Оптимизации на програмата............................................................................................30
1. RAM оптимизацията ....................................................................................................30
2. Disk оптимизацията......................................................................................................30
3. Registry оптимизацията................................................................................................30
VI. Функционалност на програмата Onix Antivirus ..........................................................31
Интерфейсът............................................................................................................................31
1. Началната страница на програмата .............................................................................31
a. Видове засечени вируси............................................................................................32
b. Обновления. ..............................................................................................................32
c. Елементи в карантината............................................................................................32
d. Базова защита на потребителската машина. ............................................................32
e. Ниво на защита..........................................................................................................33
f. Оптимизации.............................................................................................................33
g. Защита на самоличността .........................................................................................33
h. Активност на родителския контрол .........................................................................34
i. Активност на защита на клавиатурата .....................................................................34
2. Втората страница на Onix Antivirus.............................................................................34
a. Main protection...........................................................................................................35
4
b. Anti-Theft Protection ..................................................................................................36
c. Removable media........................................................................................................36
d. Safe Kid......................................................................................................................37
3. Третата страница на Onix Antivirus .............................................................................37
4. Четвъртата страница на програмата ............................................................................38
a. Автоматично почистване на компютъра..................................................................38
b. Ръчно дефрагментиране на хардиска .......................................................................39
c. Ръчно почистване на регистрите..............................................................................40
5. Петата страница на антивирусната програма..............................................................40
6. Шестата страница на антивирусната програма...........................................................41
a. USB Port Locker.........................................................................................................41
b. RealTime Protection ...................................................................................................42
c. USB Scanning.............................................................................................................42
d. Identity Theft Protection. ............................................................................................42
VII. База данни.....................................................................................................................44
VIII. Заключение ...................................................................................................................46
IX. Използвана литература.................................................................................................47
5
Списък от надписани елементи
Фигура 1. Kaspersky Antivirus...................................................................................................8
Фигура 2. Интерфейс на Kaspersky Antivirus...........................................................................9
Фигура 3. Avast Antivirus........................................................................................................10
Фигура 4. Интерфейс на Avast Antivirus ................................................................................11
Фигура 5. Avira Antivirus ........................................................................................................12
Фигура 6. Интерфейс на Avira Antivirus ................................................................................12
Фигура 7. Comodo Antiviruis...................................................................................................14
Фигура 8. Интерфейс на Comodo Antiviruis...........................................................................14
Фигура 9. ESet Antivrius..........................................................................................................15
Фигура 10. Интерфейс на ESet Antivrius................................................................................15
Фигура 11. Главна страница на антивирусният софтуер.......................................................31
Фигура 12. Видовете засечени вируси ...................................................................................32
Фигура 13. Видове оптимизации и грешки които са били открити......................................33
Фигура 14. Защита на самоличността ....................................................................................33
Фигура 15. Активност на родителският контрол...................................................................34
Фигура 16. Брой на всички натиснати комбинации от клавиатурата ...................................34
Фигура 17. Активност на всички главни модули за защита..................................................35
Фигура 18/ Активност на четирите ядра за защита ...............................................................35
Фигура 19. Активност на двете ядра за защита от кражба на самоличността......................36
Фигура 20. Активност на двете ядра за защита на преносимите устройства .......................36
Фигура 21. (Safe Kid) е модул който зашитава децата от опасностите в интернет .............37
Фигура 22. Обновление на базата данни и ядрото на програмата ........................................37
Фигура 23. Четвъртата страничка на софтуера където се намират опциите за настройка за
почистването на компютъра...................................................................................................38
6
Фигура 24. Настройки за автоматично почистване на компютъра.......................................39
Фигура 25. Опция за ръчно дефрагментиране на хардиска...................................................39
Фигура 26. Ръчно почистване на регистрите .........................................................................40
Фигура 27. Страница в която всеки потребител може да отвори и изтрие даден вирус ......40
Фигура 28. Настройки по програмата ....................................................................................41
Фигура 29. USB port locker който блокира дадените портове с цел предпазване от
вредоносен софтуер ................................................................................................................41
Фигура 30. Избиране на кои ядра да се използват при сканиране........................................42
Фигура 31. USB Scanning опция която позволява изхвърлянето на преносимото устройство
след сканиране ........................................................................................................................42
Фигура 32. Identity Theft Protection ........................................................................................43
Фигура 33. Допълнителната опция за сканиране на файлове не по-големи от 2 MB ..........43
Фигура 34 ................................................................................................................................44
Фигура 35. ...............................................................................................................................45
Фигура 36. ...............................................................................................................................45
7
I. Увод
Поради непрекъснатото развитие на интернет технологиите, съвременният
потребител е изправен пред много изпитания в интернет пространството, като например:
кражба на лични данни и самоличност, кибер атаки и хакерски битки, които имат за цел
единствено да навредят на компютърната система. Затова се налага софтуерните
компании да насочат вниманието си към компютърната защита. Никой човек не би
изложил личната си информация ако не е сигурен, че тя няма да стане публично
достояние. Защитата на данни може да се осъществи по следните начини: потребителско
име и парола, телефонен номер за връзка, ако акаунтът бива откраднат, индивидуален
личен имейл и др.
Системата за защита от зловреден софтуер се различава от досегашните системи за
защита от вируси с това че предотвратява заразяването на система още преди да се
активира съответния модул на зловредната програма. Дгури предимства са ниската
консумация на системи ресурси това е едно от многото но и важните предимства пред
останалите продукти на пазара. Ниското ниво на фалшиви тревоги поради тройно
подсигурителен модул който анализира както динамично така и статично файла за който
има съмнения, че е зловреден.
Предмет на тази дипломна работа е разработване на приложение, което ще
улесни запазването на личните данни на потребителите си и ще защити
компютърната система от словреден софтуер.
Името на програмата е Onix Antivirus и първите стъпки в създаването й са
направени още преди 5 години. С времето кодът на програмата е постоянно променян с
цел отстраняване на грешки и подобряване на бързината на работа. Тя садържа редца
модули за защита и мониторинг над персоналната система. Всички модули са лесни за
менижиране и употреба както от стандартен потребител така и от по напреднал.
Предвижда се системата във времето да бъде многократно обновявана, с цел
премахване на новопоявили се проблеми при нейната употреба, а също така да реагира
адекватно на появили се нови заплахи за компютърните системи.
8
II. Подобни приложения
В дипломната работа са описани и анализирани следните подобни приложения за
защита от зловреден софтуер:
 Kaspersky Antivirus;
 Avast Antivirus;
 Avira Antivirus;
 Comodo Antiviruis;
 ESet Antivrius.
1. Антивирусна програма - Kaspersky Antivirus
Фигура 1. Kaspersky Antivirus
9
Фигура 2. Интерфейс на Kaspersky Antivirus
Лаборатория Касперски е най-голямата европейска компания, специализирана в
разработката на антивирусен софтуер. Компанията е основана през 1997 година от
Евгений Касперски и неговата съпруга Наталия Касперска. Основният екип на компанията
се намира в Москва, а клонове има в над 10 други държави.
Kaspersky Lab са пионерите в прилагането на евристичния метод в улавянето на
нови вируси.
Компанията не е публична и това и позволява да бъде изключително гъвкава.
Реакцията ѝ на нови заплахи е на изключително ниво (в рамките на часове).
Kaspersky Antivirus може да дезинфекцира (поправя) заразени файлове, когато за
други това е невъзможно! (например Parite.B )
Kaspersky Antivirus е от малкото с наличие на сертификати за съвместимост от
производителите на Операционни системи като Microsoft (Windows
98/XP/Vista/7/2003/2008/) и др.!
10
Kaspersky Internet Security 2009 сканира и за „незакърпени“ дупки по използвания
софтуер на машината и предоставя лесен достъп до нужните поправки.
Лабораторията на Касперски произвеждаща едноименното програмно осигуряване
за защита на компютъра от вируси, троянски програми, шпионски програми, руткити,
adware, а също и от неизвестни заплахи. Наскоро (2009 – 2011) тя защити патенти в САЩ
и Русия за нови технологии за защита от вредоносни програми и спам. Антивирусната
програма има разновидности за домашни потребители, малкия и корпоративния бизнес.
Сайтът на лабораторията предлага изчерпателно упътване за предпазване от Интернет-
заплахи, достъпно в момента на адреса Лаборатория на Касперски. Освен това е изнесена
и изчерпателна информация за защита на децата във виртуалното пространство.
Компанията публикува отчети за вирусната активност, статии за компютърната
безопасност и в някакъв смисъл е създала интернет училище на своя сайт. Лабораторията
на Касперски е създала и Уеб базиран антивирусен скенер, който работи с браузърите
Internet Explorer и Mozilla Firefox [8].
2. Антивирусна програма - Avast Antivirus
Фигура 3. Avast Antivirus
11
Фигура 4. Интерфейс на Avast Antivirus
Avast Antivirus е антивирусна програма, разработвана от чешката софтуерна
компания Avast Software. Програма излиза на пазара през 1988 година.
avast! Home е свободна за домашна и некомерсиална употреба, подобно на AVG
Anti-Virus. Други платени версии са: avast! Professional Edition, avast! Server Edition и др.
Разпространява се на 27 езика, включително и на български език [7].
Функции на програмата:
• защита при използване на p2p;
• стандартна защита;
• защита на е-поща;
• защита на програми за директни разговори
• мрежова защита (олекотена защитна стена – firewall);
• интернет защита;
• защита срещу рекламен и шпионски софтуер (adware/spyware).
• rootkit защита, която се базира на GMER технологията.
12
3. Антивирусна програма Avira Antivirus
Фигура 5. Avira Antivirus
Фигура 6. Интерфейс на Avira Antivirus
13
Avira Operations GmbH & Co. KG е германска компания специализирана в
разработването на антивирусен софтуер.
Със своите над 100 милиона потребители и около 300 служители по целия свят
„Авира“ е сред световните лидери по компютърна сигурност. С повече от 20 г. опит,
фирмата е сред пионерите в тази област.
Основният клон на компанията се намира в южногерманския град Tettnang, близо
до брега на езерото Констанс. Мотото на компанията е „Повече от сигурност!“.
Основните продукти на Авира са:
• Avira AntiVir Premium
• Avira Premium Security Suite
• Avira AntiVir Professional
Bъзмoжнocтитe нa Аvіrа АntіVіr Реrѕоnаl вĸлючвaт:
 зacичaнe и пpeмaxвaнe нa xиляди виpycи, чepвeи, тpoянци, rооtkіtѕ и соѕtlу
dіаlеrѕ
 peзидeнтeн мoдyл и зaщитa в peaлнo вpeмe
 зacичaнe и пoпpaвĸa и нa мaĸpo виpycи
 aĸтyaлизaция пpeз интepнeт
 бeзплaтнa пoддpъжĸa чpeз бюлeтин-бopднaтa cиcтeмa АntіVіr.
14
4. Антивирусна програма Comodo Antiviruis
Фигура 7. Comodo Antiviruis
Фигура 8. Интерфейс на Comodo Antiviruis
15
Соmоdо АntіVіruѕ e бeзплaтнa aнтивиpycнa пpoгpaмa, ocигypявaщa нaдeжднa
зaщитa. Ocнoвнитe възмoжнocти нa пpoгpaмaтa ca: ĸoнтpoл нa вcичĸи cтapтиpaни
пpoцecи, eвpиcтичeн aнaлиз, пpoвepĸa нa вxoдящaтa и изxoдящa пoщa, aвтoмaтичнo
oбнoвявaнe пpeз интepнeт, cĸaниpaнe пo paзпиcaниe, cĸaниpa ĸoмпpecиpaни фaйлoвe и дp.
Соmоdо АntіVіruѕ мoжe би e eдинcтвeнaтa oт бeзплaтнитe aнтивиpycи, ĸoятo
paзпoлaгa c aĸтивeн cĸeнep зa мaĸcимaлнa зaщитa нa cиcтeмaтa. Oбнoвявa peдoвнo
дeфинициитe cи и имa лeceн и yдoбeн интepфeйc. Лицeнз: Бeзплaтeн (Frееwаrе) [9].
5. Антивирусна програма ESet Antivrius
Фигура 9. ESet Antivrius
Фигура 10. Интерфейс на ESet Antivrius
16
ESET е софтуерна компания за ИТ сигурност с главен щаб в Братислава, Словакия
и представителства по цял свят.
Открита е през 1992 г. чрез сливането на 2 частни компании. Компанията държи
офиси в Сан Диего (САЩ, щ. Калифорния), Уекфорд (Ирландия), Лондон (Обединено
кралство), Буенос Айрес (Аржентина) и Прага (Чехия).
Първият продукт на ESET е NOD – антивирусна програма за компютри с MS-DOS.
През 1998 г. Eset представя продукта NOD32 v1.0 за Microsoft Windows, с версия v2.0 през
2003 г. Последната разработка на v2.x codebase е v2.70.39, пусната през ноември 2006 г., за
да подкрепи в технически аспект Windows Vista. През ноември 2007 г. ESET пуска v3.0 и
променя името му на ESET NOD32 Antivirus. Компанията също така представя нов
продукт, наречен ESET Smart Security („Интелигентна защита“), който комбинира ESET
NOD32 Antivirus с antispam и firewall функции.
ESET NOD32 Antivirus и ESET Smart Security поддържа Windows 2000, XP, Server
2003, Vista и Server 2008. Поддържа 64-битови (x86-64, не IA-64) версии на тези
операционни системи, въпреки че програмата върви и с двете 32-битови и 64-битови
просецори. Потребителите на по-старата версия на Microsoft Windows, като Windows 95,
98, Me и NT 4.0, ще имат нуждата да инсталират v2.70.39 издание. Не е ясно за сега колко
дълго по-старите версии на Microsoft Windows ще бъдат подържани. В допълнение за
Microsoft Windows, компанията също поддържа и следните операционни системи BSD,
Linux, Novell NetWare и Sun Solaris.
Използването на асемблерен език в продуктите на ESET допринася за техните
ниски системни изисквания и дисково използване.
ESET нарича неговия сканираща машина ThreatSense, и прави обширно използване
на родови подписи и евристични принципи. Това не трябва да се бърка с ThreatSense.Net,
което е система на ESET за прибавяне на съмнителни файливе и malware към тенхите
вирус проучващи екипи.
Продуктите на ESET са често тествани от организации като as AV-Comparatives,
AV-Test и Virus Bulletin. ESET е първата компания, която е получила 51 VB100 награди от
17
Virus Bulletin и няма пропусната заплаха в тестовете на Virus Bulletin през последните
шест години. Продуктите на ESET са често тествани (проверявани) от ICSA Labs и
WestCoastLabs [10].
Защита от вируси и шпионски софтуер. Eлиминира всички видове заплахи,
включително вируси, руткитове и шпионски софтуер. Система за защита при кражба
Помага при локализирането на загубен или откраднат лаптоп, смартфон или таблет.
Защитна стена Предотвратява достъпа на кибер престъпници до компютъра и позволява
на потребителя да остане невидим за останалите при използване на обществени Wi-Fi
мрежи. Родителски контрол Блокира нежелано интернет съдържание по зададени
категории или само определени уебсайтове. Анти-спам Прецизна система за филтриране
на нежелани имейли. Анти-фишинг Предпазва от опити за фалшифициране на легитимни
уебсайтове с цел кражба на лични данни. Режим за геймъри Спира изскачащите прозорци
и уведомления.Управление на USB, CD и DVD устройства Предотвратява неоторизирано
копиране на лични данни на външни устройства за съхранение на информация. Защита
във Facebook и Twitter Предпазва от потенциално опасно съдържание, разпространявано
през Facebook и Twitter. Минимален ефект върху производителността Супер-леки
актуализации и олекотена система за сканиране, която не забавя и не товари компютъра.
Безплатна техническа поддръжка на български език Система за блокиране на експлойти
Спира атаки, използващи пробойни в сигурността на външни приложения като уеб
браузъри, PDF четци и Java приложения. Автоматични обновявания Гарантира
непрекъсната защита и срещу новопоявили се заплахи - 24 часа в денонощието, 7 дни в
седмицата.
18
III. Средства и технологии използвани при направата на
дипломната работа
При разработката на дипломната работа са използвани следните средства и
технолохи:
 C#
 Python
 MySQL
 SQLite
C# се изпозва в разработката на дипломната работа като език за програмиране на
следните модули: актуализация на вирусните дефиниции, ядро на програмата, което
включва защита от кражба или (Anti-Theft) Disk Optimization, USB scanning, модул за
защита от кражба на идентичност. В управление на бази данни като това се включват и
актуализационните процедури. Също така влизат и зареждането на еврестичните вирусни
дефиниции в паметта на програмата, автоматично почистване на компютъра от вируси и
USB Port Locker.. Python се изпозва в разработката на дипломната работа като език за
програмиране на модулите, свързани с наблюдението на системата. Тези модули
включват: Главна част в управлението и администрирането на модула за мониторинг и
защита на самоличността, файлова защита в реално време, следене за последни
актуализации на програмата (версия на програмата и програмното ядро), сигнатурно-
базираното ядро, умно ядро (Smart Engine), anti-malware ядро, anti-spyware, блокиране на
лошо поведение, браузър защита, HIPS защита, autorun blocker, file cure и др. MySQL се
изпозва в разработката на дипломната работа като база данни за актуализация на
вирусните дефиниции. Mysql се използва като service, на който функционира зад
сървърната среда. Ценното на това е че клиентската програма се актуализира с най-новите
заплахи. SQLite се изпозва в разработката на дипломната работа като база данни за
клиентското приложение, поради редицата нейни ценни качества. Някои от тях са
лекотата на работа и скоростта на извършване на операции. Също доста важна част е и
нивото на сигурност. При добавянето на допълнително ниво на криптиране системата
става и по-устойчива на външни фактори.
19
1. C#
C# (C Sharp, произнася се Си Шарп) е обектно-ориентиран език за програмиране,
разработен от Microsoft, като част от софтуерната платформа .NET. Стремежът още при
създаването на C# езика е бил да се създаде един прост, модерен, обектно-ориентиран
език с общо предназначение. Основа за C# са C++, Java и донякъде езици като Delphi,
VB.NET и C. Той е проектиран да балансира мощност (C++) с възможност за бързо
разработване (Visual Basicи Java). Те представляват съвкупност от дефиниции на класове,
които съдържат в себе си методи, а в методите е разположена програмната логика –
инструкциите, които компютърът изпълнява. Програмите на C# представляват един или
няколко файла с разширение .cs., в които се съдържат дефиниции на класове и други
типове. Тези файлове се компилират от компилатора на C# (csc) до изпълним код и в
резултат се получават асемблита – файлове със същото име, но с различно разширение
(.exe или .dll) [1][5].
Ето и някои от основните предимства на езика РНР, които го правят един от най-
често избираните езици при разработването на уеб приложения:
Повече код, по-малко ненужни специфики
C# е език от високо ниво и това го прави особено подходящ за начинаещи, тъй като
не е нужно да се сблъсквате с ненужно задълбочени технически специфики още отначало.
Това ви позволява да пишете повече код и да се упражнявате, без да губите време, както и
да имате свободата да правите повече с по-малко усилия.
Огромно разнообразие от инструменти
Дори и за опитни програмисти, научаването на C# има едно основно предимство -
наличието на огромен брой от технологични рамки, библиотеки и инструменти за
разработка с езика. Официалната им поддръжка от Microsoft значи, че те са надеждни и
изпълнени с функционалност, която може да доведе идеите ви до реалност много по-бързо
от очакваното.
20
Популярност
C# е език, който може да послужи за началото на вашата кариера, но може да
послужи и за нейното развитие занапред. Тъй като езикът е неимоверно популярен, то
неговата поддръжка, общността около него и търсенето му няма да намаляват, а с
внасянето на все повече функции и разширяването на съвместимостта му, можете да сте
сигурни, че C# ще се задържи на пазара.
C# поддържа широк набор от системи за управление на бази от данни:
- IBM DB2 - formix – Ingres;
- Microsoft SQL Server (MS SQL);
- mSQL;
- MySQL;
- Oracle;
- PostgreSQL.
2. Python
Python е интерпретируем, интерактивен, обектно-ориентиран език за програмиране,
създаден от Гуидо ван Росум в началото на 90-те години. Кръстен е на телевизионното
шоу на BBC „Monty Python’s Flying Circus“. Често бива сравняван с Tcl, Perl, Scheme, Java
и Ruby. Идеята за Python се заражда в края на 1980-те[1], като реалното осъществяване
започва през декември 1989 г.[2] от Гуидо ван Росум в CWI (Centrum Wiskunde &
Informatica – международно признат изследователски институт по математика и
компютърни науки, базиран в Амстердам, Холандия). Python имал за цел да се превърне в
наследник на ABC (език за програмиране, от своя страна вдъхновен от SETL), който да
бъде способен да обработва изключения и да е съвместим с операционната система
Amoeba[3]. Ван Росум е основният автор на Python, а неговата продължаваща централна
роля в развитието на езика е ясно отразена в титлата, дадена му от Python общността –
„пожизнен доброжелателен диктатор“ (benevolent dictator for life (BDFL)).
21
3. MySQL
MySQL е най-популярната система за управление на базата данни с отворен код.
SQL е съкращение от Structured Query Language (структурен език за заявки) предназначен
за създаване, обработка и четене на базата данни, които представляват пакети от свързана
информация, съхранявана в таблици. MySQL поддържа интерфейси за програмиране под
множество езици - C, C++, Eifel, Perl, Python и други, но най-често се използва в
комбинация с езика PHP [2][3].
Данните могат да бъдат във всякакъв вид – от обикновени текстови списъци до
сложно структурирана кооперативна информация. MySQL организира данните в таблици
и позволява бърз достъп до тях, поради което широко се използва при изграждането на
уеб сайтове, особено с по- голям обем информация, изискваща бързо четене и обработка.
MySQL e вече собственост на Oracle – най-бързата в света база данни, което ще
доведе до подобрения на базата откъм бързина и продуктивност.
MySQL предлага официална версия 5.5. Тя има следните възможности:
- ANSI SQL 99 - частично, както и разширения;
- Междуплатформена поддръжка;
- Съхранени процедури;
- Тригери (triggers);
- Указатели (Cursors);
- Обновяеми изгледи (Views);
- Пълна поддръжка на VARCHAR;
- INFORMATION_SCHEMA;
- Стриктен режим (Strict mode);
- Поддържа X/Open XA разпределена обработка на транзакции (DTP);
запазване в две стъпки (two phase commit) като част от това използвайки InnoDB на Oracle
22
- Независими хранилища (storage engines) (MyISAM оптимизирано за висока
скорост, InnoDB за транзакции и запазване на връзките (referential integrity), Archive за
архивиране на данни в по-малко пространсво и други)
- Транзакции с InnoDB, BDB и Cluster хранилища;
- Възстановителни точки (savepoints) използвайки InnoDB;
- Поддръжка на SSL;
- Кеширане на запитвания (Query caching);
- Вложени заявки (sub selects);
- Репликация от тип "Главен" - "Подчинен" (master/slave), много "подчинени"
и един "главен", не поддържа автоматично много "главни" за един "подчинен" (multiple
masters per slave);
- Пълнотекстово индексиране и търсене с MyISAM;
- "Вграден" вариант (embedded library);
- Пълна поддръжка на Unicode;
- Съвместима с ACID при използване на InnoDB, BDB и Cluster хранилища;
- Клъстър - разпределена обработка от тип "без споделен ресурс"Shared
Nothing чрез MySQL Cluster;
4. SQLite
SQLite е релационна база данни с отворен код поддържаща стандарта SQL.
Реализирана е като библиотека към приложенията, а не като самостоятелно работеща
програма. Използва се в продукти, разработвани от Adobe, Apple, Mozilla, Google и др.
[1]Концепцията на SQLite е цялата база да бъде съсредоточена в един единствен файл.
Това я прави база данни без сървърен процес, особено подходяща за използване в
мобилни устройства, таблети и софтуер, където е невъзможно поддържането на сървърен
процес.SQLite е бърза и надеждна база данни, затова е избрана за база данни по
подразбиране в OpenOffice Base, LibreOffice Base, както и в езиците за програмиране PHP,
Ruby on Rails и други. CMS системата Drupal също работи с SQLite.ЅQLіtе e
изĸлючитeлнo бъpзa и нaдeжднa бaзa дaнни бeз cъpвъpeн пpoцec. Цялaтa бaзa
23
пpeдcтaвлявa eдин eдинcтвeн фaйл. ЅQLіtе e 2-3 пъти пo-бъpзa oт МуЅQL, ĸoгaтo cтaвa
въпpoc зa извличaнe нa инфopмaция (ЅЕLЕСТ). Πpи вмъĸвaнe нa инфopмaция (ІNЅЕRТ) ca
възмoжни зaбaвяния, aĸo нe ce изпoлзвa тpaнзaĸция, зaщoтo ce пpaви зaĸлючвaнe нa нивo
фaйл.Лицeнзът нa ЅQLіtе e нaпълнo cвoбoдeн. Toй e въpxy "пyбличeн дoмeйн",
cлeдoвaтeлнo бaзaтa e coбcтвeнocт нa вcичĸи, ĸoитo няĸoгa ca paбoтили въpxy нeя.
Cлeдoвaтeлнo, бaзaтa мoжe дa ce изпoлзвa cпoĸoйнo и в ĸoмepcиaлни пpoeĸти, ĸoeтo cъc
cигypнocт щe yвeличи пoпyляpнocттa ѝ пpeз cлeдвaщитe гoдини.Beчe ce твъpди, чe ЅQLіtе
e нaй-изпoлзвaнaтa бaзa в cвeтa или пo-тoчнo c нaй-мнoгo инcтaлaции. Πopaди липcaтa нa
cъpвъpeн пpoцec, тaзи бaзa ce изпoлзвa изĸлючитeлнo мнoгo във вcичĸи мoдepни
ycтpoйcтвa, ĸaтo мoбилни тeлeфoни, тaблeти и дpyги. Kaĸтo и в cъвpeмeнни coфтyepни
пpилoжeния, ĸaтo Drорbох, пpoдyĸтитe нa Аdоbе и дpyги [4].
24
IV. Структура на програмата
Първоначално програмата е създадена с цел засичане на прости .bat file вируси.
Тази цел е простигната. Но тъй като има много видове вируси към програмата е добавен
код, който засича повече от един тип вируси. Това е простигнато чрез проучвания и
дългогодишен опит в програмирането. Направено е сигнатурно-базираното ядро (Data
based engine) , което забързва работата на програма и засичането на злонамерен код.
Ядрото е изградено от модул за четене от база данни, като например SQL, модул за
взимане на сигнатури от файловете, които му се подават. Друг модул към сигнатурно-
базираното ядро е модулът за взимане на HASH сигнатура от файла, който е получило
ядрото. Също така, много важен модул към ядрото е пренебрегване на критични файлове
от файловата система, с цел превенция на повреда върху системата.
Друго ядро, което съдържа програмата е хеуристично ядро (Heuristic engine) . То
представлява модул до който се изпраща нужната информация за файла, тоест
директорията на файла и името му. Модулът открива директорията на файла, отваря го,
прочита кода му, сравнява взетия код и го съпоставя с кода, който е в базата данни. За
разлика от сигнатурно-базираното ядро това не се нуждае от множество различни
сигнатури за засичането на повече от един вирус, а се нуждае от една, която отговаря за
повече от 1 до 1 000 вариации.
1. Умното ядро (Smart engine) представлява съвкупност от операции, които
взаимодействат със стандартните ядра в началото на инсталацията на програмата.
Времето, което е необходимо на ядрото, за да събере нужната информация зависи от
файловия трансфер в размер от 5 GB. Това е размерът на нужната информация за ядрото,
за да създаде първия закон. Законът гласи: „При засичане на потенциално опасно
приложение, се намира решения относно процедурата по изпълнение на главната задача
на ядрото, която се съгласува с желанията на потребителя“. Има и втори закон, който
гласи: „ Ако някои от модулите за защита бъде повреден или зареден с фалшива
сигнатура, която би могла да наруши работата на машината, тогава ядрото се активира и
прекратява дейността на повреденото ядро, като съобщава на потребителя за
неизправността“. Третия закон е следният: „ Когато някои от тези повредени модули не
25
може да бъде автоматично поправен се изисква ,чрез обновление на програмата, подмяна
на повредения модул с работещ или премахването на тази фалшива сигнатура. Ядрото
също събира информация относно инсталирания софтуер на машината и проверява дали
има такъв, който е в „черния списък“ на програмата. Ако бъде открит такъв, автоматично
се преминава към деинсталация. Ако не е възможна деинсталация файловете се
унищожават един по един.
2. Anti – malware ядрото сканира и защитава системата предимно от троянски
коне (Trojan horse) и червей (worm). Има по-специфична функция от останалите ядра. За
разлика от тях то има собствена база данни, в която са изразени само най-опасните видове
троянски коне и червеи, познати в интернет пространството. Сигнатурите, които използва
са 512-битов код, т.нар. sha512, което намалява до известна степен скоростта на засичане,
поради голямата сигнатура, но за сметка на това засичането на този вирус е неизбежно.
След оптимизации на ядрото е постигната максималната скорост на засечени заразени
файлове - 915 файла в секунда.
3. Защита от шпионски софтуер (anti- spyware engine). Това ядро защитава
потребителя чрез сканиране в реално време на цялата файлова система с ограничен брой
сигнатури. Те имат собствена таблица в базата данни, което повишава скоростта на
засичане, както и скоростта на засичане на нов изходящ обект. Anti-spyware ядрото
защитава от шпиониране от някои видове вируси (напр. Spyware rootkit, keyloggers). Това
ядро има собствена база данни, която е различна от тази на останалите, за да работят
паралелно без да си пречат или да се натоварват едно друго.
4. Ядро защита на самоличност (ID protection). Това ядро наблюдава и сканира
всеки работещ процес, който би могъл да се оприличи като malware. При наблюдението си
това ядро позволява на потребителя да определя правила , като напр. Какво да прави ако
бъде засечен нов процес и той е потенциално опасен. Опциите са да го премахне, да го
прати в карантина или да го игнорира (не е препоръчително). Другият метод за защита на
самоличността е чрез наблюдение на регистрационните ключове (registry keys), като следи
за създаване на нов, промяна на стар или изтриване. Това наблюдение на
регистрационните ключове е изключително сложна операция за един процес, затова се
26
използва втори процес с „нишки“, в който е интегриран целият модул за защита на
самоличността. Той има самостоятелна библиотека от операции, които биват извършвани
по време на наблюдението (напр. Собствена система за „нишки“ наречена Thread mix).
5. Блокиране на лошо поведение (Behavior blocker). Представлява модул, който
наблюдава поведението на всеки един процес за съмнителни действия и операции върху
файловата система (напр.промяна на хост файла в директорията
C:windowssystem32driversetchost ). Това е пример за начинът по който това ядро засича
„лошо поведение“. Другите методи са наблюдение на Network drivers (дали се инсталира
такъв драйвер без разрешението на потребителя), следене за добавяне на нови
регистрационни ключове, следене за манипулация върху главните папки на
операционната система и наблюдение на ядрото на системата. Това е пример за работата
на едно блокиращо поведението ядро.
6. Браузър защита (Browser protection). Тя съдържа няколко главни модула:
download скенер, temporery file скенер, cookie protection, on screen keyboard. Скенерът на
свалените файлове (download скенер) преставлява модул, който сканира всеки един файл,
който се сваля или вече е свален в директорията зададена от потребителя. Тя може да бъде
зададена по подразбиране от браузъра. Temporery file скенерът сканира всеки един файл в
temporary директорията или когато се създава от WEB браузъра. Cookie protection е модул
за защита, който не допуска да се запаметяват т.нар. „бисквитки“. Съществуват два вида
бисквитки – бисквитка, която съдържа информация относно посетени сайтове, пароли,
потребителски акаунти и бисквитка, която подпомага събирането на информация от уеб
сайтове с неоторизирани средства. On screen keyboard е част от програмата за защита на
уеб браузъра, която защитава въведените потребителски акаунти през конзолата на
клавиатурата. За разлика от периферната клавиатура екранната криптира символите,
които се натискат от потребителя.
7. USB защитата се осъществява от два от главните модули в антивирусната
програма – защита в реално време и сканиране. Защитата в реално време се активира ако
потребителят е задал настройка, която да изпълнява команда за защита на USB
устройството. Когато устройството е защитено върху него се наблюдават действия като
27
напр. Промяна на файл, запис на файл, изтриване на файл и създаване на файл. По този
начин потребителят може да е спокоен, че не пренася никакви вируси със своята
преносима памет. Опцията сканиране позволява на потребителя да направи първоначално
сканиране на USB устройството, за да следи за наличието на активни вируси.
8. USB незабавно блокиране (USB emergency blocker). Този модул от
антивирусната програма позволява на потребителя да премахне устройството без повреди
или ако се наложи, при засичане на вирус, който не може да бъде премахнат без
рестартирането на системата, да изхвърли устройството. Има опция да прочете
устройството отново като изтрие файла или да не го допуска до следващия рестарт.
9. Карантина (Quarantine). Това е много важен модул във всяка антивирусна
програма. Той преставлява file criptor, който при поставяне на файл в т.нар. карантина се
превръща в сигнатура. Новосъздадената сигнатура се поставя в папка като файл, който да
бъде възстановен или напълно изтрит ако потребителят пожелае.
10. HIPS защита. Преставлява защита на хост файл като предпазва от входящи
пакети, които отварят портове с цел кражба на лична информация или изтриване на
такава.
11. Самозащита (Self defence). Този модул предпазва процеса на антивирусната
програма, като предотвратява спирането или изтриването й. Използва модула за baypass-
ване на процеси. Той променя статутството на процеса от потребителски процес в
системен, което предотвратява неговото спиране, поради защитата на kеrnel ядрото. С
този модул всеки потребител може да е по-спокоен, че защитата му в реално време няма
да бъде спряна от непредпазливост или от компютърен вирус.
12. Autorun blocker. Той си взаимодейства със защитата в реално време и USB
protection, като следи за засечен “autorun.inf” файл. Този файл би могъл да съдържа
стартова сигнатура към дадена програма, незивисимо дали е безопасна или вредоносна.
Когато този модул е активен всеки засечен “autorun.inf” файл бива проверяван за
злонамерен код или автоматично била изтриван. Това зависи от желанието на
потребителя.
28
13. Антивирусно ядро (Antivirus engine). Това е съвкупност от всички ядра за
защита от вредоносен софтуер (напр. Anti-malware, anti-spyware). Когато всички ядра
работят заедно се осигурява една задоволително добра защита на потребителския
компютър.
14. Защита от кражба (Anti-theft protection). Този модул е интегриран във всяка
една версия на Onix Antivirus. Преставлява локатор на IP адреса, който всеки един
потребител може да активира чрез създаването на акаунт в уебсайт страницата на Onix
Antivirus. Ако апаратната част на компютъра бъде открадната тя може да бъде проследена
ако се включи от крадеца и използва интернет. Потребителят има няколко възможности –
да проследи къде се намира неговият компютър, да блокира компютъра, да вземе снимка
на крадеца ако е активна уеб камера или да изтрие дадена част от хардиска или целият
хардиск. Също така може да се направи и настройка за BIOS блокиране, чрез който да
зададем парола на компютъра и той да бъде неизползваем. Този модул работи чрез
система, която изпраща сигнал до главния сървър от дадения потребител, който е
регистрирал потребителско име и акаунт на своята антивирусна програма. Когато от
потребителя се подаде сигнал от разстояние, антивирусната програма взима IP адреса и го
намира на карта, показва го на потребителя и му дава възможност за избор от вече
изброените опции.
15. Излекуване на файл (File cure). Това е модул, който се активира само при
употребата на хеуристичното ядро. Чрез този метод за „излекуване“ на заразен файл
потребителят може да продължи работата си. Той отваря файла, намира вредоносната
сигнатура (реда, на който е записан) и го изтрива. По този начин дадения файл остава
активен, но не нанася вреда върху потребителската система. Системата, която използва
този модул е на основата на HEX кодът. Той се докомпилира и разчита на разбираем за
човека език или Assembler. След това намира реда и го маркира, като този маркер се
използва от главната част на file cure за идентификация на заразения код.
16. Бързо стартово сканиране (Start up скенер). Този модул сканира с всяко
стартиране на програмата в следните директории: start up, desktop, users. По този начин се
предотвратява добавянето на програми, които са с вграден вредоносен пакет от данни,
29
чрез който системата може да бъде срината (напр. Такъв вирус е Blue screen of Death,
който се записва в start up-а на компютъра и при всяко включване се активира и променя
настройките на хардиска, на екрана на потребителската машина се появява син екран, на
който е описана грешката [7].
30
V. Оптимизации на програмата
Оптимизациите по антивирусната програма са RAM оптимизация, Disk
оптимизация, Registry оптимизация и почистване.
1. RAM оптимизацията е модул към антивирусната програма, който
когато бъде активиран започва да премахва вече неизползваните мегабайти от процесите с
цел освобождаване на повече пространство за работа на основните процеси. Тази
оптимизация също влияе на антивирусната програма като намалява изразходваната RAM
памет с цел равномерно разпределяне на ресурсите. Чрез това разпределяне се постига
максимална бързина при изпълнението на задачи от антивирусната програма или други
приложения.
2. Disk оптимизацията дефрагментира целия хардиск, като
освобождава повече пространство в секторите на диска с цел повишаване бързината на
работа. Също така намира файлове от програми, записани на различни места в хардиска и
ги събира на едно за по-добра работа.
3. Registry оптимизацията е модул, който се включва още със
стартирането на компютъра. Сканира всички регистрационни ключове за повреда или
промяна от вредоносен код или от приложения. Търси повредени или празни
регистрационни ключове и ако открие такива ги поправя.
31
VI. Функционалност на програмата Onix Antivirus
Интерфейсът на Onix Antivirus съдържа 6 странички (tabs): Home, Shields,
Update, Tools, Quarantine, and Settings.
1. Началната страница на програмата (Home) съдържа главните
компоненти, които показват главната информация за състоянието на антивирусната
програма и на файловата система. Тук потребителят може да намери подробна
информация за: видове засечени вируси, обновления, елементи в карантината, базовата
защита на потребителската машина, нивото на защита, оптимизация на RAM паметта,
хардиска, регистрационните ключове, защита на самоличността, активността на
родителския контрол, активността на защита на клавиатурата. (Следния елемент може да
се види на фиг. 1)
Фигура 11. Главна страница на антивирусният софтуер
32
a. Видове засечени вируси (Resident Shield). В началната
страница могат да се видят видовете засечени вируси от началото на работата на
антивирусния софтуер. Там могат да се срещнат видове като: malware, Trojan horse, worm,
rootkit, joke programs, key loggers. Срещу всяко едно от изброените има цифри, които по
начало започват от 0 (като това значи, че няма засечени вируси от този тип), а след това
ако има засечени такива цифрата се променя в зависимост от броя на вирусите. Разбира се
ако потребителят пожелае тези броячи могат да бъдат занулени. Това е интерактивен
метод, чрез който потребителят може да следи за наличните вируси във файловата
система. (Следния елемент може да се види на Фигура 2.)
Фигура 12. Видовете засечени вируси
b. Обновления. В параграф „обновления“на началната страница могат
да се видят последните обновления на базата данни и ядрото. Също така са изобразени
версиите на базата данни и ядрото (напр. Версията на ядрото е 1.0 ).
c. Елементи в карантината. В този параграф се наблюдават
засечените елементи, които са под карантина, както и да се анулира този отчет.
d. Базова защита на потребителската машина. Тук
потребителят може да види състоянието на защитата на неговата машина. Дали се
защитава от по-специфични ядра или от проактивни защити (напр. Уеб защита, Cookie
protection, host protection и др.) . по този начин потребителят следи за качествената работа
на програмата.
33
e. Ниво на защита. В този сектор от началната страница може да се
види нивото на работа на всяко едно от ядрата. Дали то е настроено на по-високо ниво на
защита, като съответно това налага по-големи рестрикции, спрямо потребителя.
f. Оптимизации (Optimisations). Те биват оптимизация на RAM
паметта, HDD диска, регистрационните ключове. На началната страница срещу всички
тези елементи е изобразена цифра, която показва дефрагментираните сектори, повредите
по регистрационните ключове и проведените „почиствания“ на RAM паметта. (Следния
елемент може да се види на фиг.3)
Фигура 13. Видове оптимизации и грешки които са били открити
g. Защита на самоличността (ID protection). Този параграф
показва засечените вируси, които са се опитали по някакъв начин да навредят на
файловата система или на потребителя с цел кражба на лична информация. Срещу
имената на вирусите, които биват възможни да бъдат открити има цифров брояч. Той
показва опитите за кражба на информация. (Следния елемент може да се види на фиг.4)
Фигура 14. Защита на самоличността
34
h. Активност на родителския контрол (Parental control). В
този компонент всеки родител би могъл да наблюдава опитите на своето дете да посещава
забранени уеб сайтове. Също така и набрани комбинации от клавиатурата, тоест ключови
думи, които са въведени от родителя и са посочени като забранени. (Следния елемент
може да се види на фиг. 5)
Фигура 15. Активност на родителският контрол
i. Активност на защита на клавиатурата (Key protection).
Там се изброяват всички натиснати комбинации, които са защитени чрез криптиране с цел
предпазване от кражба на самоличност или лична информация. (Следния елемент може да
се види на фиг. 6)
Фигура 16. Брой на всички натиснати комбинации от клавиатурата
2. Втората страница на Onix Antivirus (Shields) включва
следните параграфи: Main Protection, Anti-Theft Protection, Removable Media, Safe Kid.
(Следния елемент може да се види на фиг. 7)
35
Фигура 17. Активност на всички главни модули за защита
a. Main protection (основна защита). В този параграф се вижда
активността на антивирусната защита, уеб защита, HIPS защита, Self-defence. Под всяко
едно от тези заглавия потребителят се информира относно активността им. (Следния
елемент може да се види на фиг. 8)
Фигура 18/ Активност на четирите ядра за защита
36
b. Anti-Theft Protection (защита от кражба). В това поле е показана
активността на компонентите отговорни за защитата против кражба на лична информация
и самоличност. Ако тези компоненти са включени се изписва “Active”, а ако не са –
“Disabled”. Тук са включени следните модули за цялостна защита: ID protection, Key
protection, Smart core. ((Следния елемент може да се види на фиг. 9)
Фигура 19. Активност на двете ядра за защита от кражба на самоличността
c. Removable media (преносими устройства). В този компонент са
включени следните елементи на преносима защита: USB Real-time protection, USB
emergency blocker. Те показват състоянието на защитата от заразяване на файловата
система, която може да се осъществи чрез преносима памет. (Следния елемент може да се
види на фиг. 10)
Фигура 20. Активност на двете ядра за защита на преносимите устройства
37
d. Safe Kid (защитено дете). Включва Parental control и Key protection. Тези
два компонента показват активността си пред потребителя. Дали са активни или не.
(Следния елемент може да се види на фиг. 11)
Фигура 21. (Safe Kid) е модул който зашитава децата от опасностите в интернет
3. Третата страница на Onix Antivirus (Update) включва
следните елементи: активността на автоматичното обновление (Auto update), версията на
базата данни (Database version), версия на програмата (Program version) и автоматичен
ъпдейт на програмата (Program auto update). (Следния елемент може да се види на фиг.12)
Фигура 22. Обновление на базата данни и ядрото на програмата
38
При натискането на бутона Update се прави ръчно обновление на програмата, което
обновява базата данни и ако е налична нова версия я инсталира. Ако се сложи отметка в
check box Auto Update обновлението се изпълнява автоматично.
4. Четвъртата страница на програмата (Tools) съдържа три
параграфа. Първият се отнася за автоматичното почистване на компютъра , вторият за
ръчно дефрагментиране на хардиска, а третият за ръчно почистване на регистрите.
(Следния елемент може да се види на фиг. 13)
Фигура 23. Четвъртата страничка на софтуера където се намират опциите за
настройка за почистването на компютъра
a. Автоматично почистване на компютъра (Clean
memory). В този параграф са изобразени няколко възможности за автоматична подръжка
и почистване на операционната система. При отметване на Start Up Registry Scan And Fix
се активира модул, които автоматично изпълнява почистване и поправка на регистрите. С
избиране на следващата опция Auto Disk Defrag се активира автоматичната
дефрагментация на хардиска, който се задейства само в background режим. С последната
39
опция Auto Memory Cleaner се активира модул, който започва почистване на
неизползваната RAM памет от програмите, които се изпълняват в операционната система,
включително и на антивирусната програма. По този начин се освобождава доста памет,
която може да бъде използвана за други цели. Ако бутонът Clean Memory Now бъде
натиснат правим бързо ръчно почистване на паметта. Цикълът на почистване се активира
точно след преминаване на даден процент от оперативната памет (напр.ако на компютъра
има инсталирана 2GB оперативна RAM памет модулът следи колко процента са
изразходвани и ако се надвишат 80 % се почиства) . (Следния елемент може да се види на
фиг.14)
Фигура 24. Настройки за автоматично почистване на компютъра
b. Ръчно дефрагментиране на хардиска (Defragment). Тук
се виждат последните дефрафгментации на диска, както и дефрагментираната
информация и нейния размер. Ако потребителят пожелае може да се извърши ръчно
дефрагментиране на хардисковете. Тази опция премахва възможността за избиране на
дяла от хардиска, които да бъде дефрагментиран. При натискане на бутона Defragment
Now се активира цикълът, който беше описан. (Следния елемент може да се види на фиг.
15)
Фигура 25. Опция за ръчно дефрагментиране на хардиска
40
c. Ръчно почистване на регистрите (Clean Registry). Тук
потребителят намира опция за ръчно почистване на регистрите, като се изпълнява
цялостна поправка и почистване на всички сектори на регистрите. Също така може да се
види последното ръчно сканиране на системата, както и колко грешки са били открити.
(Следния елемент може да се види на фиг. 16)
Фигура 26. Ръчно почистване на регистрите
5. Петата страница на антивирусната програма (Quarantine)
включва два бутона – единият е за премахване на вируса в карантината (delete file),
а другият е за премахване от списъка на карантината без изтриване от файловата
система. При натискане на десен бутон върху белия прозорец, на който са написани
имената и директориите на засечените вируси, се отваря малък прозорец (Context
Menu), на който има опции за вкарване на файла в „пренебрегнати“, отиване до
директорията на файла и проверка в интернет. (Следния елемент може да се види
на фиг. 17)
Фигура 27. Страница в която всеки потребител може да отвори и изтрие даден
вирус
41
6. Шестата страница на антивирусната програма (Settings)
включва четири параграфа: USB Port Locker, Realtime protection, USB Scanning,
Identity Theft Protection. (Следния елемент може да се види на фиг. 18)
Фигура 28. Настройки по програмата
a. USB Port Locker. Този модул от програмата се активира ръчно от
настройките като работата му е да „заключи“ и да изхвърли всички устройства от USB
порта, на които се предполага,че има вирус. В този параграф съществува бутон On / Off,
който служи за включване / изключване на модула. Ако Eject USB Drive е отметнато,
тогава при активирането на този модул всяко устройство, на което е засечен вирус се
изхвърля (Eject). (Следния елемент може да се види на фиг. 19 )
Фигура 29. USB port locker който блокира дадените портове с цел предпазване от
вредоносен софтуер
42
b. RealTime Protection. Тук потребителят може да избира дали да
включва или да изключва защитата в реално време, да избира кои ядра да работят (има
избор между Icon Engine, Heur Engine и Smart Core). Може също да задава лимит на
максималния размер на сканиращият файл. (Следния елемент може да се види на фиг. 20)
Фигура 30. Избиране на кои ядра да се използват при сканиране
c. USB Scanning. От тук потребителят може да командва цялостната
работа на USB-сканиращото ядро, като например задаване на лимит на размера на
файловете и изхвърляне на USB устройството след завършване на сканирането. (Следния
елемент може да се види на фиг.21)
Фигура 31. USB Scanning опция която позволява изхвърлянето на преносимото
устройство след сканиране
d. Identity Theft Protection. Всеки потребител може да избира между
това дали този модул да бъде включен или изключен, дали да използва Icon
Scanner, което означава сканиране на иконите или взимане на тяхната
43
сигнатура. Има възможност също да включва или изключва Core Optimisation,
което служи за оптимизация на производителността на този модул. (Следния
елемент може да се види на фиг. 22)
Фигура 32. Identity Theft Protection
Освен тези параграфи тази страница съдържа и още една опция – Scan Files Less
Than 2 MB, която служи за рестрикция на всяко едно от тези ядра, като ги ограничава от
това да сканират файлове по-големи от 2 MB. (Следния елемент може да се види на фиг.
23)
Фигура 33. Допълнителната опция за сканиране на файлове не по-големи от 2 MB
44
VII. База данни
Базата от данни, която Onix Antivirus използва е SQLite за С++ компилатор. Тази
база от данни осигурява една от най – бързите, надеждни и сигурни бази от данни. Поради
йерархичната структура на тази база данни, скоростта на четене и записване достатъчно
надеждна за разработката и на дипломната работа. SQLite база данни дава възможност да
се използва и извън сървърна среда и така позволява на създателите (developers) да я
използват не само за УЕБ услуги, но и за апликации. Поради високата производителност и
компактност на тази база от данни тя е подходяща за антивирусен софтуер, като Onix
Antivirus.
Базата данни съдържа 9 таблици от който 2 са главни за работата на антивирусната
програма“HEURISTIC”,“THREATDATA”.
Фигура 34
В THREATDATA се намират главните сигнатури за антивирусното ядро а те за от
типа MD5.
45
Фигура 35.
А в HEURISTIC се намират уникалните сигнатури, чрез който става възможно по
бързото засичане на нови вируси.
Фигура 36.
46
VIII. Заключение
Реализираната антивирусна програма е напълно тестван софтуер с възможност за
по-нататъшно функционално разширяване. Системата предлага лесен и бърз достъп до
потребителския интерфейс, както и достатъчен набор от функционални възможности.
Въпреки че, постига поставените в разработката цели, продуктът ще продължава да се
разширява и подобрява. Основната насока в развитието му ще бъде добавяне на
допълнителна функционалност като дистанционно управление през мобилен телефон с
операционна система Android или IOS. Неограниченият достъп за всички потребители,
интуитивният интерфейс, гъвкавостта на системата й дават шансове да бъде широко
използван от потребителите в интернет пространството, чиято работа е свързана с бизнес,
маркетинг, информационни технологии, банково дело и др.
В бъдеще развитието на Onix Antivirus ще тръгне по съвсем различен път.
Направени са планове за: инвестиции от чуждестранни инвеститори, които имат огромен
интерес, създаване на уеб сайт, чрез който всички потребители могат да свалят най-
новите версии на антивирусната програма, да я тестват и оценят. Планира се и изграждане
на нов тип система за сигурност, която да редуцира броя на сигнатури в базата данни.
Това ще забърза сравнително много сканиращия механизъм. Този алгоритъм ще използва
компресирана сигнатура, която ще бъде съвкупност от няколко сигнатури (напр.една
сигнатура на новото ядро ще отговаря за около 5 000 сигнатури в по-старата версия на
ядрото и по този начин се намалява значително времето за отреагиране при засечен
вирус). Дистанционното управление на продукта е бъдеща цел, която ще осигури по-лесно
администриране на на антивирусния софтуер чрез Android или IOS конзола.в нея ще има
редица от възможности, като например всички типове сканиране (бързо, по избор, пълно),
както и премахване на заразен файл засечен на операционна система Windows. По този
начин потребителят ще може да наблюдава работата и защитата на персоналния си
компютър от голяма дистанция.
47
IX. Използвана литература
[1] Въведение в програмирането със C#, Светлин Наков, Веселин Колев и колектив,
Издателство: Фабер, Велико Търново, 2011 г. , ISBN: 978-954-400-527-6
[2] Learning MySQL, Saied Tahaghoghi, Hugh E. Williams, ISBN-13: 978-0596008642
[3] High Performance MySQL, Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, ISBN-13:
978-1449314286
[4] Using SQLite, Jay A. Kreibich, ISBN-13: 978-0596521189
[5] Pro C# 7: With .NET and .NET Core, Andrew Troelsen, Philip Japikse, ISBN-13: 978-
1484230176
[6] Malware Analyst's Cookbook, Michael Ligh, Steven Adair, Blake Hartstein, Matthew
Richard, ISBN-13: 978-0470613030
[7] https://www.avast.com/ ( юли 2018)
[8] https://www.kaspersky.com ( юли 2018)
[9] https://antivirus.comodo.com ( юли 2018)
[10] https://www.eset.com/bg/( юли 2018)
[11] http://mysql.com ( юли 2018)
[12] https://www.sqlite.org/index.html ( юли 2018)
[13] https://www.visualstudio.com/ ( юли 2018)
[14] https://www.introprogramming.info/intro-csharp-book/ ( юли 2018)

More Related Content

What's hot

FILTERS parts no. PPT..pptx
FILTERS parts no. PPT..pptxFILTERS parts no. PPT..pptx
FILTERS parts no. PPT..pptxSaketSingh471376
 
Foldout Manual de taller de Nissan almera modelo m16 bloque de fusibles
Foldout Manual de taller de Nissan almera modelo m16 bloque de fusiblesFoldout Manual de taller de Nissan almera modelo m16 bloque de fusibles
Foldout Manual de taller de Nissan almera modelo m16 bloque de fusiblesJordan Felipe Cabrera Nuñez
 
PERKINS 4000 SERIES 4006-23 TAG3A INLINE DIESEL ENGINE Service Repair Manual
PERKINS 4000 SERIES 4006-23 TAG3A INLINE DIESEL ENGINE Service Repair ManualPERKINS 4000 SERIES 4006-23 TAG3A INLINE DIESEL ENGINE Service Repair Manual
PERKINS 4000 SERIES 4006-23 TAG3A INLINE DIESEL ENGINE Service Repair Manualjnekmsmme
 
Spy thriller genre research
Spy thriller genre researchSpy thriller genre research
Spy thriller genre researchamberloo20
 
S Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+GuideS Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+Guideguestd2fe1e
 
Harry potter Camera Work
Harry potter Camera WorkHarry potter Camera Work
Harry potter Camera Workflamegrace
 
Le Bizzarre Avventure Di JoJo - Purple Haze Feedback ENG
Le Bizzarre Avventure Di JoJo - Purple Haze Feedback ENGLe Bizzarre Avventure Di JoJo - Purple Haze Feedback ENG
Le Bizzarre Avventure Di JoJo - Purple Haze Feedback ENGSimone Lauricella
 
Yanmar
YanmarYanmar
Yanmararnrkw
 
El Arte De Ensoñar de Carlos Castañeda
El Arte De Ensoñar de Carlos CastañedaEl Arte De Ensoñar de Carlos Castañeda
El Arte De Ensoñar de Carlos CastañedaDon CesarBlogs
 
Case ih jx95 tractor service repair manual
Case ih jx95 tractor service repair manualCase ih jx95 tractor service repair manual
Case ih jx95 tractor service repair manualfusjefjjskekmem
 
Camera shots and angles for a horror and thriller film
Camera shots and angles for a horror and thriller filmCamera shots and angles for a horror and thriller film
Camera shots and angles for a horror and thriller filmbilliewilson_
 
Stock characters in horror films
Stock characters in horror filmsStock characters in horror films
Stock characters in horror filmsElisa Dubignon
 
Genres of films
Genres of filmsGenres of films
Genres of filmsIzbaAtif
 
History and Conventions of the Biopic Genre
History and Conventions of the Biopic GenreHistory and Conventions of the Biopic Genre
History and Conventions of the Biopic GenreAngharad Wilkins
 
Media – thriller genre
Media – thriller genreMedia – thriller genre
Media – thriller genrenualamckevitt
 
Lesson 2 - Action adventure films intro
Lesson 2 -  Action adventure films introLesson 2 -  Action adventure films intro
Lesson 2 - Action adventure films introElle Sullivan
 
Semantic and syntactic
Semantic and syntacticSemantic and syntactic
Semantic and syntacticembainbridge
 

What's hot (20)

FILTERS parts no. PPT..pptx
FILTERS parts no. PPT..pptxFILTERS parts no. PPT..pptx
FILTERS parts no. PPT..pptx
 
Editing in horror
Editing in horrorEditing in horror
Editing in horror
 
Foldout Manual de taller de Nissan almera modelo m16 bloque de fusibles
Foldout Manual de taller de Nissan almera modelo m16 bloque de fusiblesFoldout Manual de taller de Nissan almera modelo m16 bloque de fusibles
Foldout Manual de taller de Nissan almera modelo m16 bloque de fusibles
 
PERKINS 4000 SERIES 4006-23 TAG3A INLINE DIESEL ENGINE Service Repair Manual
PERKINS 4000 SERIES 4006-23 TAG3A INLINE DIESEL ENGINE Service Repair ManualPERKINS 4000 SERIES 4006-23 TAG3A INLINE DIESEL ENGINE Service Repair Manual
PERKINS 4000 SERIES 4006-23 TAG3A INLINE DIESEL ENGINE Service Repair Manual
 
4053 benjamin harris evaluation
4053 benjamin harris evaluation4053 benjamin harris evaluation
4053 benjamin harris evaluation
 
Spy thriller genre research
Spy thriller genre researchSpy thriller genre research
Spy thriller genre research
 
S Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+GuideS Pii Plus+C+Library+Programmer+Guide
S Pii Plus+C+Library+Programmer+Guide
 
Harry potter Camera Work
Harry potter Camera WorkHarry potter Camera Work
Harry potter Camera Work
 
Le Bizzarre Avventure Di JoJo - Purple Haze Feedback ENG
Le Bizzarre Avventure Di JoJo - Purple Haze Feedback ENGLe Bizzarre Avventure Di JoJo - Purple Haze Feedback ENG
Le Bizzarre Avventure Di JoJo - Purple Haze Feedback ENG
 
Yanmar
YanmarYanmar
Yanmar
 
El Arte De Ensoñar de Carlos Castañeda
El Arte De Ensoñar de Carlos CastañedaEl Arte De Ensoñar de Carlos Castañeda
El Arte De Ensoñar de Carlos Castañeda
 
Case ih jx95 tractor service repair manual
Case ih jx95 tractor service repair manualCase ih jx95 tractor service repair manual
Case ih jx95 tractor service repair manual
 
Camera shots and angles for a horror and thriller film
Camera shots and angles for a horror and thriller filmCamera shots and angles for a horror and thriller film
Camera shots and angles for a horror and thriller film
 
Stock characters in horror films
Stock characters in horror filmsStock characters in horror films
Stock characters in horror films
 
Genres of films
Genres of filmsGenres of films
Genres of films
 
History and Conventions of the Biopic Genre
History and Conventions of the Biopic GenreHistory and Conventions of the Biopic Genre
History and Conventions of the Biopic Genre
 
Media – thriller genre
Media – thriller genreMedia – thriller genre
Media – thriller genre
 
Lesson 2 - Action adventure films intro
Lesson 2 -  Action adventure films introLesson 2 -  Action adventure films intro
Lesson 2 - Action adventure films intro
 
Comunicación no violenta.pdf
Comunicación no violenta.pdfComunicación no violenta.pdf
Comunicación no violenta.pdf
 
Semantic and syntactic
Semantic and syntacticSemantic and syntactic
Semantic and syntactic
 

Stefan Tafkov University Work

  • 1. 1 Пловдивски университет „Паисий Хилендарски” Факултет по математика и информатика Специалност "Софтуерни технологии и дизайн" ДИПЛОМНА РАБОТА Тема: Система за защита от зловреден софтуер Дипломант: Научен ръководител: Стефан Костадинов Тафков гл. ас. д-р . Иван Димитров Фак.№ 1401681007 Пловдив, 2018
  • 2. 2 Съдържание I. Увод....................................................................................................................................7 II. Подобни приложения.........................................................................................................8 1. Антивирусна програма - Kaspersky Antivirus................................................................8 2. Антивирусна програма - Avast Antivirus .....................................................................10 3. Антивирусна програма Avira Antivirus........................................................................12 4. Антивирусна програма Comodo Antiviruis ..................................................................14 5. Антивирусна програма ESet Antivrius .........................................................................15 III. Средства и технологии използвани при направата на дипломната работа ................18 1. C# ..................................................................................................................................19 2. Python............................................................................................................................20 3. MySQL ..........................................................................................................................21 4. SQLite............................................................................................................................22 IV. Структура на програмата .............................................................................................24 1. Умното ядро..................................................................................................................24 2. Anti – malware ядрото...................................................................................................25 3. Защита от шпионски софтуер ......................................................................................25 4. Ядро защита на самоличност .......................................................................................25 5. Блокиране на лошо поведение .....................................................................................26 6. Браузър защита.............................................................................................................26 7. USB защитата ...............................................................................................................26 8. USB незабавно блокиране............................................................................................27 9. Карантина .....................................................................................................................27 10. HIPS защита ..............................................................................................................27
  • 3. 3 11. Самозащита...............................................................................................................27 12. Autorun blocker..........................................................................................................27 13. Антивирусно ядро.....................................................................................................28 14. Защита от кражба......................................................................................................28 15. Излекуване на файл...................................................................................................28 16. Бързо стартово сканиране.........................................................................................28 V. Оптимизации на програмата............................................................................................30 1. RAM оптимизацията ....................................................................................................30 2. Disk оптимизацията......................................................................................................30 3. Registry оптимизацията................................................................................................30 VI. Функционалност на програмата Onix Antivirus ..........................................................31 Интерфейсът............................................................................................................................31 1. Началната страница на програмата .............................................................................31 a. Видове засечени вируси............................................................................................32 b. Обновления. ..............................................................................................................32 c. Елементи в карантината............................................................................................32 d. Базова защита на потребителската машина. ............................................................32 e. Ниво на защита..........................................................................................................33 f. Оптимизации.............................................................................................................33 g. Защита на самоличността .........................................................................................33 h. Активност на родителския контрол .........................................................................34 i. Активност на защита на клавиатурата .....................................................................34 2. Втората страница на Onix Antivirus.............................................................................34 a. Main protection...........................................................................................................35
  • 4. 4 b. Anti-Theft Protection ..................................................................................................36 c. Removable media........................................................................................................36 d. Safe Kid......................................................................................................................37 3. Третата страница на Onix Antivirus .............................................................................37 4. Четвъртата страница на програмата ............................................................................38 a. Автоматично почистване на компютъра..................................................................38 b. Ръчно дефрагментиране на хардиска .......................................................................39 c. Ръчно почистване на регистрите..............................................................................40 5. Петата страница на антивирусната програма..............................................................40 6. Шестата страница на антивирусната програма...........................................................41 a. USB Port Locker.........................................................................................................41 b. RealTime Protection ...................................................................................................42 c. USB Scanning.............................................................................................................42 d. Identity Theft Protection. ............................................................................................42 VII. База данни.....................................................................................................................44 VIII. Заключение ...................................................................................................................46 IX. Използвана литература.................................................................................................47
  • 5. 5 Списък от надписани елементи Фигура 1. Kaspersky Antivirus...................................................................................................8 Фигура 2. Интерфейс на Kaspersky Antivirus...........................................................................9 Фигура 3. Avast Antivirus........................................................................................................10 Фигура 4. Интерфейс на Avast Antivirus ................................................................................11 Фигура 5. Avira Antivirus ........................................................................................................12 Фигура 6. Интерфейс на Avira Antivirus ................................................................................12 Фигура 7. Comodo Antiviruis...................................................................................................14 Фигура 8. Интерфейс на Comodo Antiviruis...........................................................................14 Фигура 9. ESet Antivrius..........................................................................................................15 Фигура 10. Интерфейс на ESet Antivrius................................................................................15 Фигура 11. Главна страница на антивирусният софтуер.......................................................31 Фигура 12. Видовете засечени вируси ...................................................................................32 Фигура 13. Видове оптимизации и грешки които са били открити......................................33 Фигура 14. Защита на самоличността ....................................................................................33 Фигура 15. Активност на родителският контрол...................................................................34 Фигура 16. Брой на всички натиснати комбинации от клавиатурата ...................................34 Фигура 17. Активност на всички главни модули за защита..................................................35 Фигура 18/ Активност на четирите ядра за защита ...............................................................35 Фигура 19. Активност на двете ядра за защита от кражба на самоличността......................36 Фигура 20. Активност на двете ядра за защита на преносимите устройства .......................36 Фигура 21. (Safe Kid) е модул който зашитава децата от опасностите в интернет .............37 Фигура 22. Обновление на базата данни и ядрото на програмата ........................................37 Фигура 23. Четвъртата страничка на софтуера където се намират опциите за настройка за почистването на компютъра...................................................................................................38
  • 6. 6 Фигура 24. Настройки за автоматично почистване на компютъра.......................................39 Фигура 25. Опция за ръчно дефрагментиране на хардиска...................................................39 Фигура 26. Ръчно почистване на регистрите .........................................................................40 Фигура 27. Страница в която всеки потребител може да отвори и изтрие даден вирус ......40 Фигура 28. Настройки по програмата ....................................................................................41 Фигура 29. USB port locker който блокира дадените портове с цел предпазване от вредоносен софтуер ................................................................................................................41 Фигура 30. Избиране на кои ядра да се използват при сканиране........................................42 Фигура 31. USB Scanning опция която позволява изхвърлянето на преносимото устройство след сканиране ........................................................................................................................42 Фигура 32. Identity Theft Protection ........................................................................................43 Фигура 33. Допълнителната опция за сканиране на файлове не по-големи от 2 MB ..........43 Фигура 34 ................................................................................................................................44 Фигура 35. ...............................................................................................................................45 Фигура 36. ...............................................................................................................................45
  • 7. 7 I. Увод Поради непрекъснатото развитие на интернет технологиите, съвременният потребител е изправен пред много изпитания в интернет пространството, като например: кражба на лични данни и самоличност, кибер атаки и хакерски битки, които имат за цел единствено да навредят на компютърната система. Затова се налага софтуерните компании да насочат вниманието си към компютърната защита. Никой човек не би изложил личната си информация ако не е сигурен, че тя няма да стане публично достояние. Защитата на данни може да се осъществи по следните начини: потребителско име и парола, телефонен номер за връзка, ако акаунтът бива откраднат, индивидуален личен имейл и др. Системата за защита от зловреден софтуер се различава от досегашните системи за защита от вируси с това че предотвратява заразяването на система още преди да се активира съответния модул на зловредната програма. Дгури предимства са ниската консумация на системи ресурси това е едно от многото но и важните предимства пред останалите продукти на пазара. Ниското ниво на фалшиви тревоги поради тройно подсигурителен модул който анализира както динамично така и статично файла за който има съмнения, че е зловреден. Предмет на тази дипломна работа е разработване на приложение, което ще улесни запазването на личните данни на потребителите си и ще защити компютърната система от словреден софтуер. Името на програмата е Onix Antivirus и първите стъпки в създаването й са направени още преди 5 години. С времето кодът на програмата е постоянно променян с цел отстраняване на грешки и подобряване на бързината на работа. Тя садържа редца модули за защита и мониторинг над персоналната система. Всички модули са лесни за менижиране и употреба както от стандартен потребител така и от по напреднал. Предвижда се системата във времето да бъде многократно обновявана, с цел премахване на новопоявили се проблеми при нейната употреба, а също така да реагира адекватно на появили се нови заплахи за компютърните системи.
  • 8. 8 II. Подобни приложения В дипломната работа са описани и анализирани следните подобни приложения за защита от зловреден софтуер:  Kaspersky Antivirus;  Avast Antivirus;  Avira Antivirus;  Comodo Antiviruis;  ESet Antivrius. 1. Антивирусна програма - Kaspersky Antivirus Фигура 1. Kaspersky Antivirus
  • 9. 9 Фигура 2. Интерфейс на Kaspersky Antivirus Лаборатория Касперски е най-голямата европейска компания, специализирана в разработката на антивирусен софтуер. Компанията е основана през 1997 година от Евгений Касперски и неговата съпруга Наталия Касперска. Основният екип на компанията се намира в Москва, а клонове има в над 10 други държави. Kaspersky Lab са пионерите в прилагането на евристичния метод в улавянето на нови вируси. Компанията не е публична и това и позволява да бъде изключително гъвкава. Реакцията ѝ на нови заплахи е на изключително ниво (в рамките на часове). Kaspersky Antivirus може да дезинфекцира (поправя) заразени файлове, когато за други това е невъзможно! (например Parite.B ) Kaspersky Antivirus е от малкото с наличие на сертификати за съвместимост от производителите на Операционни системи като Microsoft (Windows 98/XP/Vista/7/2003/2008/) и др.!
  • 10. 10 Kaspersky Internet Security 2009 сканира и за „незакърпени“ дупки по използвания софтуер на машината и предоставя лесен достъп до нужните поправки. Лабораторията на Касперски произвеждаща едноименното програмно осигуряване за защита на компютъра от вируси, троянски програми, шпионски програми, руткити, adware, а също и от неизвестни заплахи. Наскоро (2009 – 2011) тя защити патенти в САЩ и Русия за нови технологии за защита от вредоносни програми и спам. Антивирусната програма има разновидности за домашни потребители, малкия и корпоративния бизнес. Сайтът на лабораторията предлага изчерпателно упътване за предпазване от Интернет- заплахи, достъпно в момента на адреса Лаборатория на Касперски. Освен това е изнесена и изчерпателна информация за защита на децата във виртуалното пространство. Компанията публикува отчети за вирусната активност, статии за компютърната безопасност и в някакъв смисъл е създала интернет училище на своя сайт. Лабораторията на Касперски е създала и Уеб базиран антивирусен скенер, който работи с браузърите Internet Explorer и Mozilla Firefox [8]. 2. Антивирусна програма - Avast Antivirus Фигура 3. Avast Antivirus
  • 11. 11 Фигура 4. Интерфейс на Avast Antivirus Avast Antivirus е антивирусна програма, разработвана от чешката софтуерна компания Avast Software. Програма излиза на пазара през 1988 година. avast! Home е свободна за домашна и некомерсиална употреба, подобно на AVG Anti-Virus. Други платени версии са: avast! Professional Edition, avast! Server Edition и др. Разпространява се на 27 езика, включително и на български език [7]. Функции на програмата: • защита при използване на p2p; • стандартна защита; • защита на е-поща; • защита на програми за директни разговори • мрежова защита (олекотена защитна стена – firewall); • интернет защита; • защита срещу рекламен и шпионски софтуер (adware/spyware). • rootkit защита, която се базира на GMER технологията.
  • 12. 12 3. Антивирусна програма Avira Antivirus Фигура 5. Avira Antivirus Фигура 6. Интерфейс на Avira Antivirus
  • 13. 13 Avira Operations GmbH & Co. KG е германска компания специализирана в разработването на антивирусен софтуер. Със своите над 100 милиона потребители и около 300 служители по целия свят „Авира“ е сред световните лидери по компютърна сигурност. С повече от 20 г. опит, фирмата е сред пионерите в тази област. Основният клон на компанията се намира в южногерманския град Tettnang, близо до брега на езерото Констанс. Мотото на компанията е „Повече от сигурност!“. Основните продукти на Авира са: • Avira AntiVir Premium • Avira Premium Security Suite • Avira AntiVir Professional Bъзмoжнocтитe нa Аvіrа АntіVіr Реrѕоnаl вĸлючвaт:  зacичaнe и пpeмaxвaнe нa xиляди виpycи, чepвeи, тpoянци, rооtkіtѕ и соѕtlу dіаlеrѕ  peзидeнтeн мoдyл и зaщитa в peaлнo вpeмe  зacичaнe и пoпpaвĸa и нa мaĸpo виpycи  aĸтyaлизaция пpeз интepнeт  бeзплaтнa пoддpъжĸa чpeз бюлeтин-бopднaтa cиcтeмa АntіVіr.
  • 14. 14 4. Антивирусна програма Comodo Antiviruis Фигура 7. Comodo Antiviruis Фигура 8. Интерфейс на Comodo Antiviruis
  • 15. 15 Соmоdо АntіVіruѕ e бeзплaтнa aнтивиpycнa пpoгpaмa, ocигypявaщa нaдeжднa зaщитa. Ocнoвнитe възмoжнocти нa пpoгpaмaтa ca: ĸoнтpoл нa вcичĸи cтapтиpaни пpoцecи, eвpиcтичeн aнaлиз, пpoвepĸa нa вxoдящaтa и изxoдящa пoщa, aвтoмaтичнo oбнoвявaнe пpeз интepнeт, cĸaниpaнe пo paзпиcaниe, cĸaниpa ĸoмпpecиpaни фaйлoвe и дp. Соmоdо АntіVіruѕ мoжe би e eдинcтвeнaтa oт бeзплaтнитe aнтивиpycи, ĸoятo paзпoлaгa c aĸтивeн cĸeнep зa мaĸcимaлнa зaщитa нa cиcтeмaтa. Oбнoвявa peдoвнo дeфинициитe cи и имa лeceн и yдoбeн интepфeйc. Лицeнз: Бeзплaтeн (Frееwаrе) [9]. 5. Антивирусна програма ESet Antivrius Фигура 9. ESet Antivrius Фигура 10. Интерфейс на ESet Antivrius
  • 16. 16 ESET е софтуерна компания за ИТ сигурност с главен щаб в Братислава, Словакия и представителства по цял свят. Открита е през 1992 г. чрез сливането на 2 частни компании. Компанията държи офиси в Сан Диего (САЩ, щ. Калифорния), Уекфорд (Ирландия), Лондон (Обединено кралство), Буенос Айрес (Аржентина) и Прага (Чехия). Първият продукт на ESET е NOD – антивирусна програма за компютри с MS-DOS. През 1998 г. Eset представя продукта NOD32 v1.0 за Microsoft Windows, с версия v2.0 през 2003 г. Последната разработка на v2.x codebase е v2.70.39, пусната през ноември 2006 г., за да подкрепи в технически аспект Windows Vista. През ноември 2007 г. ESET пуска v3.0 и променя името му на ESET NOD32 Antivirus. Компанията също така представя нов продукт, наречен ESET Smart Security („Интелигентна защита“), който комбинира ESET NOD32 Antivirus с antispam и firewall функции. ESET NOD32 Antivirus и ESET Smart Security поддържа Windows 2000, XP, Server 2003, Vista и Server 2008. Поддържа 64-битови (x86-64, не IA-64) версии на тези операционни системи, въпреки че програмата върви и с двете 32-битови и 64-битови просецори. Потребителите на по-старата версия на Microsoft Windows, като Windows 95, 98, Me и NT 4.0, ще имат нуждата да инсталират v2.70.39 издание. Не е ясно за сега колко дълго по-старите версии на Microsoft Windows ще бъдат подържани. В допълнение за Microsoft Windows, компанията също поддържа и следните операционни системи BSD, Linux, Novell NetWare и Sun Solaris. Използването на асемблерен език в продуктите на ESET допринася за техните ниски системни изисквания и дисково използване. ESET нарича неговия сканираща машина ThreatSense, и прави обширно използване на родови подписи и евристични принципи. Това не трябва да се бърка с ThreatSense.Net, което е система на ESET за прибавяне на съмнителни файливе и malware към тенхите вирус проучващи екипи. Продуктите на ESET са често тествани от организации като as AV-Comparatives, AV-Test и Virus Bulletin. ESET е първата компания, която е получила 51 VB100 награди от
  • 17. 17 Virus Bulletin и няма пропусната заплаха в тестовете на Virus Bulletin през последните шест години. Продуктите на ESET са често тествани (проверявани) от ICSA Labs и WestCoastLabs [10]. Защита от вируси и шпионски софтуер. Eлиминира всички видове заплахи, включително вируси, руткитове и шпионски софтуер. Система за защита при кражба Помага при локализирането на загубен или откраднат лаптоп, смартфон или таблет. Защитна стена Предотвратява достъпа на кибер престъпници до компютъра и позволява на потребителя да остане невидим за останалите при използване на обществени Wi-Fi мрежи. Родителски контрол Блокира нежелано интернет съдържание по зададени категории или само определени уебсайтове. Анти-спам Прецизна система за филтриране на нежелани имейли. Анти-фишинг Предпазва от опити за фалшифициране на легитимни уебсайтове с цел кражба на лични данни. Режим за геймъри Спира изскачащите прозорци и уведомления.Управление на USB, CD и DVD устройства Предотвратява неоторизирано копиране на лични данни на външни устройства за съхранение на информация. Защита във Facebook и Twitter Предпазва от потенциално опасно съдържание, разпространявано през Facebook и Twitter. Минимален ефект върху производителността Супер-леки актуализации и олекотена система за сканиране, която не забавя и не товари компютъра. Безплатна техническа поддръжка на български език Система за блокиране на експлойти Спира атаки, използващи пробойни в сигурността на външни приложения като уеб браузъри, PDF четци и Java приложения. Автоматични обновявания Гарантира непрекъсната защита и срещу новопоявили се заплахи - 24 часа в денонощието, 7 дни в седмицата.
  • 18. 18 III. Средства и технологии използвани при направата на дипломната работа При разработката на дипломната работа са използвани следните средства и технолохи:  C#  Python  MySQL  SQLite C# се изпозва в разработката на дипломната работа като език за програмиране на следните модули: актуализация на вирусните дефиниции, ядро на програмата, което включва защита от кражба или (Anti-Theft) Disk Optimization, USB scanning, модул за защита от кражба на идентичност. В управление на бази данни като това се включват и актуализационните процедури. Също така влизат и зареждането на еврестичните вирусни дефиниции в паметта на програмата, автоматично почистване на компютъра от вируси и USB Port Locker.. Python се изпозва в разработката на дипломната работа като език за програмиране на модулите, свързани с наблюдението на системата. Тези модули включват: Главна част в управлението и администрирането на модула за мониторинг и защита на самоличността, файлова защита в реално време, следене за последни актуализации на програмата (версия на програмата и програмното ядро), сигнатурно- базираното ядро, умно ядро (Smart Engine), anti-malware ядро, anti-spyware, блокиране на лошо поведение, браузър защита, HIPS защита, autorun blocker, file cure и др. MySQL се изпозва в разработката на дипломната работа като база данни за актуализация на вирусните дефиниции. Mysql се използва като service, на който функционира зад сървърната среда. Ценното на това е че клиентската програма се актуализира с най-новите заплахи. SQLite се изпозва в разработката на дипломната работа като база данни за клиентското приложение, поради редицата нейни ценни качества. Някои от тях са лекотата на работа и скоростта на извършване на операции. Също доста важна част е и нивото на сигурност. При добавянето на допълнително ниво на криптиране системата става и по-устойчива на външни фактори.
  • 19. 19 1. C# C# (C Sharp, произнася се Си Шарп) е обектно-ориентиран език за програмиране, разработен от Microsoft, като част от софтуерната платформа .NET. Стремежът още при създаването на C# езика е бил да се създаде един прост, модерен, обектно-ориентиран език с общо предназначение. Основа за C# са C++, Java и донякъде езици като Delphi, VB.NET и C. Той е проектиран да балансира мощност (C++) с възможност за бързо разработване (Visual Basicи Java). Те представляват съвкупност от дефиниции на класове, които съдържат в себе си методи, а в методите е разположена програмната логика – инструкциите, които компютърът изпълнява. Програмите на C# представляват един или няколко файла с разширение .cs., в които се съдържат дефиниции на класове и други типове. Тези файлове се компилират от компилатора на C# (csc) до изпълним код и в резултат се получават асемблита – файлове със същото име, но с различно разширение (.exe или .dll) [1][5]. Ето и някои от основните предимства на езика РНР, които го правят един от най- често избираните езици при разработването на уеб приложения: Повече код, по-малко ненужни специфики C# е език от високо ниво и това го прави особено подходящ за начинаещи, тъй като не е нужно да се сблъсквате с ненужно задълбочени технически специфики още отначало. Това ви позволява да пишете повече код и да се упражнявате, без да губите време, както и да имате свободата да правите повече с по-малко усилия. Огромно разнообразие от инструменти Дори и за опитни програмисти, научаването на C# има едно основно предимство - наличието на огромен брой от технологични рамки, библиотеки и инструменти за разработка с езика. Официалната им поддръжка от Microsoft значи, че те са надеждни и изпълнени с функционалност, която може да доведе идеите ви до реалност много по-бързо от очакваното.
  • 20. 20 Популярност C# е език, който може да послужи за началото на вашата кариера, но може да послужи и за нейното развитие занапред. Тъй като езикът е неимоверно популярен, то неговата поддръжка, общността около него и търсенето му няма да намаляват, а с внасянето на все повече функции и разширяването на съвместимостта му, можете да сте сигурни, че C# ще се задържи на пазара. C# поддържа широк набор от системи за управление на бази от данни: - IBM DB2 - formix – Ingres; - Microsoft SQL Server (MS SQL); - mSQL; - MySQL; - Oracle; - PostgreSQL. 2. Python Python е интерпретируем, интерактивен, обектно-ориентиран език за програмиране, създаден от Гуидо ван Росум в началото на 90-те години. Кръстен е на телевизионното шоу на BBC „Monty Python’s Flying Circus“. Често бива сравняван с Tcl, Perl, Scheme, Java и Ruby. Идеята за Python се заражда в края на 1980-те[1], като реалното осъществяване започва през декември 1989 г.[2] от Гуидо ван Росум в CWI (Centrum Wiskunde & Informatica – международно признат изследователски институт по математика и компютърни науки, базиран в Амстердам, Холандия). Python имал за цел да се превърне в наследник на ABC (език за програмиране, от своя страна вдъхновен от SETL), който да бъде способен да обработва изключения и да е съвместим с операционната система Amoeba[3]. Ван Росум е основният автор на Python, а неговата продължаваща централна роля в развитието на езика е ясно отразена в титлата, дадена му от Python общността – „пожизнен доброжелателен диктатор“ (benevolent dictator for life (BDFL)).
  • 21. 21 3. MySQL MySQL е най-популярната система за управление на базата данни с отворен код. SQL е съкращение от Structured Query Language (структурен език за заявки) предназначен за създаване, обработка и четене на базата данни, които представляват пакети от свързана информация, съхранявана в таблици. MySQL поддържа интерфейси за програмиране под множество езици - C, C++, Eifel, Perl, Python и други, но най-често се използва в комбинация с езика PHP [2][3]. Данните могат да бъдат във всякакъв вид – от обикновени текстови списъци до сложно структурирана кооперативна информация. MySQL организира данните в таблици и позволява бърз достъп до тях, поради което широко се използва при изграждането на уеб сайтове, особено с по- голям обем информация, изискваща бързо четене и обработка. MySQL e вече собственост на Oracle – най-бързата в света база данни, което ще доведе до подобрения на базата откъм бързина и продуктивност. MySQL предлага официална версия 5.5. Тя има следните възможности: - ANSI SQL 99 - частично, както и разширения; - Междуплатформена поддръжка; - Съхранени процедури; - Тригери (triggers); - Указатели (Cursors); - Обновяеми изгледи (Views); - Пълна поддръжка на VARCHAR; - INFORMATION_SCHEMA; - Стриктен режим (Strict mode); - Поддържа X/Open XA разпределена обработка на транзакции (DTP); запазване в две стъпки (two phase commit) като част от това използвайки InnoDB на Oracle
  • 22. 22 - Независими хранилища (storage engines) (MyISAM оптимизирано за висока скорост, InnoDB за транзакции и запазване на връзките (referential integrity), Archive за архивиране на данни в по-малко пространсво и други) - Транзакции с InnoDB, BDB и Cluster хранилища; - Възстановителни точки (savepoints) използвайки InnoDB; - Поддръжка на SSL; - Кеширане на запитвания (Query caching); - Вложени заявки (sub selects); - Репликация от тип "Главен" - "Подчинен" (master/slave), много "подчинени" и един "главен", не поддържа автоматично много "главни" за един "подчинен" (multiple masters per slave); - Пълнотекстово индексиране и търсене с MyISAM; - "Вграден" вариант (embedded library); - Пълна поддръжка на Unicode; - Съвместима с ACID при използване на InnoDB, BDB и Cluster хранилища; - Клъстър - разпределена обработка от тип "без споделен ресурс"Shared Nothing чрез MySQL Cluster; 4. SQLite SQLite е релационна база данни с отворен код поддържаща стандарта SQL. Реализирана е като библиотека към приложенията, а не като самостоятелно работеща програма. Използва се в продукти, разработвани от Adobe, Apple, Mozilla, Google и др. [1]Концепцията на SQLite е цялата база да бъде съсредоточена в един единствен файл. Това я прави база данни без сървърен процес, особено подходяща за използване в мобилни устройства, таблети и софтуер, където е невъзможно поддържането на сървърен процес.SQLite е бърза и надеждна база данни, затова е избрана за база данни по подразбиране в OpenOffice Base, LibreOffice Base, както и в езиците за програмиране PHP, Ruby on Rails и други. CMS системата Drupal също работи с SQLite.ЅQLіtе e изĸлючитeлнo бъpзa и нaдeжднa бaзa дaнни бeз cъpвъpeн пpoцec. Цялaтa бaзa
  • 23. 23 пpeдcтaвлявa eдин eдинcтвeн фaйл. ЅQLіtе e 2-3 пъти пo-бъpзa oт МуЅQL, ĸoгaтo cтaвa въпpoc зa извличaнe нa инфopмaция (ЅЕLЕСТ). Πpи вмъĸвaнe нa инфopмaция (ІNЅЕRТ) ca възмoжни зaбaвяния, aĸo нe ce изпoлзвa тpaнзaĸция, зaщoтo ce пpaви зaĸлючвaнe нa нивo фaйл.Лицeнзът нa ЅQLіtе e нaпълнo cвoбoдeн. Toй e въpxy "пyбличeн дoмeйн", cлeдoвaтeлнo бaзaтa e coбcтвeнocт нa вcичĸи, ĸoитo няĸoгa ca paбoтили въpxy нeя. Cлeдoвaтeлнo, бaзaтa мoжe дa ce изпoлзвa cпoĸoйнo и в ĸoмepcиaлни пpoeĸти, ĸoeтo cъc cигypнocт щe yвeличи пoпyляpнocттa ѝ пpeз cлeдвaщитe гoдини.Beчe ce твъpди, чe ЅQLіtе e нaй-изпoлзвaнaтa бaзa в cвeтa или пo-тoчнo c нaй-мнoгo инcтaлaции. Πopaди липcaтa нa cъpвъpeн пpoцec, тaзи бaзa ce изпoлзвa изĸлючитeлнo мнoгo във вcичĸи мoдepни ycтpoйcтвa, ĸaтo мoбилни тeлeфoни, тaблeти и дpyги. Kaĸтo и в cъвpeмeнни coфтyepни пpилoжeния, ĸaтo Drорbох, пpoдyĸтитe нa Аdоbе и дpyги [4].
  • 24. 24 IV. Структура на програмата Първоначално програмата е създадена с цел засичане на прости .bat file вируси. Тази цел е простигната. Но тъй като има много видове вируси към програмата е добавен код, който засича повече от един тип вируси. Това е простигнато чрез проучвания и дългогодишен опит в програмирането. Направено е сигнатурно-базираното ядро (Data based engine) , което забързва работата на програма и засичането на злонамерен код. Ядрото е изградено от модул за четене от база данни, като например SQL, модул за взимане на сигнатури от файловете, които му се подават. Друг модул към сигнатурно- базираното ядро е модулът за взимане на HASH сигнатура от файла, който е получило ядрото. Също така, много важен модул към ядрото е пренебрегване на критични файлове от файловата система, с цел превенция на повреда върху системата. Друго ядро, което съдържа програмата е хеуристично ядро (Heuristic engine) . То представлява модул до който се изпраща нужната информация за файла, тоест директорията на файла и името му. Модулът открива директорията на файла, отваря го, прочита кода му, сравнява взетия код и го съпоставя с кода, който е в базата данни. За разлика от сигнатурно-базираното ядро това не се нуждае от множество различни сигнатури за засичането на повече от един вирус, а се нуждае от една, която отговаря за повече от 1 до 1 000 вариации. 1. Умното ядро (Smart engine) представлява съвкупност от операции, които взаимодействат със стандартните ядра в началото на инсталацията на програмата. Времето, което е необходимо на ядрото, за да събере нужната информация зависи от файловия трансфер в размер от 5 GB. Това е размерът на нужната информация за ядрото, за да създаде първия закон. Законът гласи: „При засичане на потенциално опасно приложение, се намира решения относно процедурата по изпълнение на главната задача на ядрото, която се съгласува с желанията на потребителя“. Има и втори закон, който гласи: „ Ако някои от модулите за защита бъде повреден или зареден с фалшива сигнатура, която би могла да наруши работата на машината, тогава ядрото се активира и прекратява дейността на повреденото ядро, като съобщава на потребителя за неизправността“. Третия закон е следният: „ Когато някои от тези повредени модули не
  • 25. 25 може да бъде автоматично поправен се изисква ,чрез обновление на програмата, подмяна на повредения модул с работещ или премахването на тази фалшива сигнатура. Ядрото също събира информация относно инсталирания софтуер на машината и проверява дали има такъв, който е в „черния списък“ на програмата. Ако бъде открит такъв, автоматично се преминава към деинсталация. Ако не е възможна деинсталация файловете се унищожават един по един. 2. Anti – malware ядрото сканира и защитава системата предимно от троянски коне (Trojan horse) и червей (worm). Има по-специфична функция от останалите ядра. За разлика от тях то има собствена база данни, в която са изразени само най-опасните видове троянски коне и червеи, познати в интернет пространството. Сигнатурите, които използва са 512-битов код, т.нар. sha512, което намалява до известна степен скоростта на засичане, поради голямата сигнатура, но за сметка на това засичането на този вирус е неизбежно. След оптимизации на ядрото е постигната максималната скорост на засечени заразени файлове - 915 файла в секунда. 3. Защита от шпионски софтуер (anti- spyware engine). Това ядро защитава потребителя чрез сканиране в реално време на цялата файлова система с ограничен брой сигнатури. Те имат собствена таблица в базата данни, което повишава скоростта на засичане, както и скоростта на засичане на нов изходящ обект. Anti-spyware ядрото защитава от шпиониране от някои видове вируси (напр. Spyware rootkit, keyloggers). Това ядро има собствена база данни, която е различна от тази на останалите, за да работят паралелно без да си пречат или да се натоварват едно друго. 4. Ядро защита на самоличност (ID protection). Това ядро наблюдава и сканира всеки работещ процес, който би могъл да се оприличи като malware. При наблюдението си това ядро позволява на потребителя да определя правила , като напр. Какво да прави ако бъде засечен нов процес и той е потенциално опасен. Опциите са да го премахне, да го прати в карантина или да го игнорира (не е препоръчително). Другият метод за защита на самоличността е чрез наблюдение на регистрационните ключове (registry keys), като следи за създаване на нов, промяна на стар или изтриване. Това наблюдение на регистрационните ключове е изключително сложна операция за един процес, затова се
  • 26. 26 използва втори процес с „нишки“, в който е интегриран целият модул за защита на самоличността. Той има самостоятелна библиотека от операции, които биват извършвани по време на наблюдението (напр. Собствена система за „нишки“ наречена Thread mix). 5. Блокиране на лошо поведение (Behavior blocker). Представлява модул, който наблюдава поведението на всеки един процес за съмнителни действия и операции върху файловата система (напр.промяна на хост файла в директорията C:windowssystem32driversetchost ). Това е пример за начинът по който това ядро засича „лошо поведение“. Другите методи са наблюдение на Network drivers (дали се инсталира такъв драйвер без разрешението на потребителя), следене за добавяне на нови регистрационни ключове, следене за манипулация върху главните папки на операционната система и наблюдение на ядрото на системата. Това е пример за работата на едно блокиращо поведението ядро. 6. Браузър защита (Browser protection). Тя съдържа няколко главни модула: download скенер, temporery file скенер, cookie protection, on screen keyboard. Скенерът на свалените файлове (download скенер) преставлява модул, който сканира всеки един файл, който се сваля или вече е свален в директорията зададена от потребителя. Тя може да бъде зададена по подразбиране от браузъра. Temporery file скенерът сканира всеки един файл в temporary директорията или когато се създава от WEB браузъра. Cookie protection е модул за защита, който не допуска да се запаметяват т.нар. „бисквитки“. Съществуват два вида бисквитки – бисквитка, която съдържа информация относно посетени сайтове, пароли, потребителски акаунти и бисквитка, която подпомага събирането на информация от уеб сайтове с неоторизирани средства. On screen keyboard е част от програмата за защита на уеб браузъра, която защитава въведените потребителски акаунти през конзолата на клавиатурата. За разлика от периферната клавиатура екранната криптира символите, които се натискат от потребителя. 7. USB защитата се осъществява от два от главните модули в антивирусната програма – защита в реално време и сканиране. Защитата в реално време се активира ако потребителят е задал настройка, която да изпълнява команда за защита на USB устройството. Когато устройството е защитено върху него се наблюдават действия като
  • 27. 27 напр. Промяна на файл, запис на файл, изтриване на файл и създаване на файл. По този начин потребителят може да е спокоен, че не пренася никакви вируси със своята преносима памет. Опцията сканиране позволява на потребителя да направи първоначално сканиране на USB устройството, за да следи за наличието на активни вируси. 8. USB незабавно блокиране (USB emergency blocker). Този модул от антивирусната програма позволява на потребителя да премахне устройството без повреди или ако се наложи, при засичане на вирус, който не може да бъде премахнат без рестартирането на системата, да изхвърли устройството. Има опция да прочете устройството отново като изтрие файла или да не го допуска до следващия рестарт. 9. Карантина (Quarantine). Това е много важен модул във всяка антивирусна програма. Той преставлява file criptor, който при поставяне на файл в т.нар. карантина се превръща в сигнатура. Новосъздадената сигнатура се поставя в папка като файл, който да бъде възстановен или напълно изтрит ако потребителят пожелае. 10. HIPS защита. Преставлява защита на хост файл като предпазва от входящи пакети, които отварят портове с цел кражба на лична информация или изтриване на такава. 11. Самозащита (Self defence). Този модул предпазва процеса на антивирусната програма, като предотвратява спирането или изтриването й. Използва модула за baypass- ване на процеси. Той променя статутството на процеса от потребителски процес в системен, което предотвратява неговото спиране, поради защитата на kеrnel ядрото. С този модул всеки потребител може да е по-спокоен, че защитата му в реално време няма да бъде спряна от непредпазливост или от компютърен вирус. 12. Autorun blocker. Той си взаимодейства със защитата в реално време и USB protection, като следи за засечен “autorun.inf” файл. Този файл би могъл да съдържа стартова сигнатура към дадена програма, незивисимо дали е безопасна или вредоносна. Когато този модул е активен всеки засечен “autorun.inf” файл бива проверяван за злонамерен код или автоматично била изтриван. Това зависи от желанието на потребителя.
  • 28. 28 13. Антивирусно ядро (Antivirus engine). Това е съвкупност от всички ядра за защита от вредоносен софтуер (напр. Anti-malware, anti-spyware). Когато всички ядра работят заедно се осигурява една задоволително добра защита на потребителския компютър. 14. Защита от кражба (Anti-theft protection). Този модул е интегриран във всяка една версия на Onix Antivirus. Преставлява локатор на IP адреса, който всеки един потребител може да активира чрез създаването на акаунт в уебсайт страницата на Onix Antivirus. Ако апаратната част на компютъра бъде открадната тя може да бъде проследена ако се включи от крадеца и използва интернет. Потребителят има няколко възможности – да проследи къде се намира неговият компютър, да блокира компютъра, да вземе снимка на крадеца ако е активна уеб камера или да изтрие дадена част от хардиска или целият хардиск. Също така може да се направи и настройка за BIOS блокиране, чрез който да зададем парола на компютъра и той да бъде неизползваем. Този модул работи чрез система, която изпраща сигнал до главния сървър от дадения потребител, който е регистрирал потребителско име и акаунт на своята антивирусна програма. Когато от потребителя се подаде сигнал от разстояние, антивирусната програма взима IP адреса и го намира на карта, показва го на потребителя и му дава възможност за избор от вече изброените опции. 15. Излекуване на файл (File cure). Това е модул, който се активира само при употребата на хеуристичното ядро. Чрез този метод за „излекуване“ на заразен файл потребителят може да продължи работата си. Той отваря файла, намира вредоносната сигнатура (реда, на който е записан) и го изтрива. По този начин дадения файл остава активен, но не нанася вреда върху потребителската система. Системата, която използва този модул е на основата на HEX кодът. Той се докомпилира и разчита на разбираем за човека език или Assembler. След това намира реда и го маркира, като този маркер се използва от главната част на file cure за идентификация на заразения код. 16. Бързо стартово сканиране (Start up скенер). Този модул сканира с всяко стартиране на програмата в следните директории: start up, desktop, users. По този начин се предотвратява добавянето на програми, които са с вграден вредоносен пакет от данни,
  • 29. 29 чрез който системата може да бъде срината (напр. Такъв вирус е Blue screen of Death, който се записва в start up-а на компютъра и при всяко включване се активира и променя настройките на хардиска, на екрана на потребителската машина се появява син екран, на който е описана грешката [7].
  • 30. 30 V. Оптимизации на програмата Оптимизациите по антивирусната програма са RAM оптимизация, Disk оптимизация, Registry оптимизация и почистване. 1. RAM оптимизацията е модул към антивирусната програма, който когато бъде активиран започва да премахва вече неизползваните мегабайти от процесите с цел освобождаване на повече пространство за работа на основните процеси. Тази оптимизация също влияе на антивирусната програма като намалява изразходваната RAM памет с цел равномерно разпределяне на ресурсите. Чрез това разпределяне се постига максимална бързина при изпълнението на задачи от антивирусната програма или други приложения. 2. Disk оптимизацията дефрагментира целия хардиск, като освобождава повече пространство в секторите на диска с цел повишаване бързината на работа. Също така намира файлове от програми, записани на различни места в хардиска и ги събира на едно за по-добра работа. 3. Registry оптимизацията е модул, който се включва още със стартирането на компютъра. Сканира всички регистрационни ключове за повреда или промяна от вредоносен код или от приложения. Търси повредени или празни регистрационни ключове и ако открие такива ги поправя.
  • 31. 31 VI. Функционалност на програмата Onix Antivirus Интерфейсът на Onix Antivirus съдържа 6 странички (tabs): Home, Shields, Update, Tools, Quarantine, and Settings. 1. Началната страница на програмата (Home) съдържа главните компоненти, които показват главната информация за състоянието на антивирусната програма и на файловата система. Тук потребителят може да намери подробна информация за: видове засечени вируси, обновления, елементи в карантината, базовата защита на потребителската машина, нивото на защита, оптимизация на RAM паметта, хардиска, регистрационните ключове, защита на самоличността, активността на родителския контрол, активността на защита на клавиатурата. (Следния елемент може да се види на фиг. 1) Фигура 11. Главна страница на антивирусният софтуер
  • 32. 32 a. Видове засечени вируси (Resident Shield). В началната страница могат да се видят видовете засечени вируси от началото на работата на антивирусния софтуер. Там могат да се срещнат видове като: malware, Trojan horse, worm, rootkit, joke programs, key loggers. Срещу всяко едно от изброените има цифри, които по начало започват от 0 (като това значи, че няма засечени вируси от този тип), а след това ако има засечени такива цифрата се променя в зависимост от броя на вирусите. Разбира се ако потребителят пожелае тези броячи могат да бъдат занулени. Това е интерактивен метод, чрез който потребителят може да следи за наличните вируси във файловата система. (Следния елемент може да се види на Фигура 2.) Фигура 12. Видовете засечени вируси b. Обновления. В параграф „обновления“на началната страница могат да се видят последните обновления на базата данни и ядрото. Също така са изобразени версиите на базата данни и ядрото (напр. Версията на ядрото е 1.0 ). c. Елементи в карантината. В този параграф се наблюдават засечените елементи, които са под карантина, както и да се анулира този отчет. d. Базова защита на потребителската машина. Тук потребителят може да види състоянието на защитата на неговата машина. Дали се защитава от по-специфични ядра или от проактивни защити (напр. Уеб защита, Cookie protection, host protection и др.) . по този начин потребителят следи за качествената работа на програмата.
  • 33. 33 e. Ниво на защита. В този сектор от началната страница може да се види нивото на работа на всяко едно от ядрата. Дали то е настроено на по-високо ниво на защита, като съответно това налага по-големи рестрикции, спрямо потребителя. f. Оптимизации (Optimisations). Те биват оптимизация на RAM паметта, HDD диска, регистрационните ключове. На началната страница срещу всички тези елементи е изобразена цифра, която показва дефрагментираните сектори, повредите по регистрационните ключове и проведените „почиствания“ на RAM паметта. (Следния елемент може да се види на фиг.3) Фигура 13. Видове оптимизации и грешки които са били открити g. Защита на самоличността (ID protection). Този параграф показва засечените вируси, които са се опитали по някакъв начин да навредят на файловата система или на потребителя с цел кражба на лична информация. Срещу имената на вирусите, които биват възможни да бъдат открити има цифров брояч. Той показва опитите за кражба на информация. (Следния елемент може да се види на фиг.4) Фигура 14. Защита на самоличността
  • 34. 34 h. Активност на родителския контрол (Parental control). В този компонент всеки родител би могъл да наблюдава опитите на своето дете да посещава забранени уеб сайтове. Също така и набрани комбинации от клавиатурата, тоест ключови думи, които са въведени от родителя и са посочени като забранени. (Следния елемент може да се види на фиг. 5) Фигура 15. Активност на родителският контрол i. Активност на защита на клавиатурата (Key protection). Там се изброяват всички натиснати комбинации, които са защитени чрез криптиране с цел предпазване от кражба на самоличност или лична информация. (Следния елемент може да се види на фиг. 6) Фигура 16. Брой на всички натиснати комбинации от клавиатурата 2. Втората страница на Onix Antivirus (Shields) включва следните параграфи: Main Protection, Anti-Theft Protection, Removable Media, Safe Kid. (Следния елемент може да се види на фиг. 7)
  • 35. 35 Фигура 17. Активност на всички главни модули за защита a. Main protection (основна защита). В този параграф се вижда активността на антивирусната защита, уеб защита, HIPS защита, Self-defence. Под всяко едно от тези заглавия потребителят се информира относно активността им. (Следния елемент може да се види на фиг. 8) Фигура 18/ Активност на четирите ядра за защита
  • 36. 36 b. Anti-Theft Protection (защита от кражба). В това поле е показана активността на компонентите отговорни за защитата против кражба на лична информация и самоличност. Ако тези компоненти са включени се изписва “Active”, а ако не са – “Disabled”. Тук са включени следните модули за цялостна защита: ID protection, Key protection, Smart core. ((Следния елемент може да се види на фиг. 9) Фигура 19. Активност на двете ядра за защита от кражба на самоличността c. Removable media (преносими устройства). В този компонент са включени следните елементи на преносима защита: USB Real-time protection, USB emergency blocker. Те показват състоянието на защитата от заразяване на файловата система, която може да се осъществи чрез преносима памет. (Следния елемент може да се види на фиг. 10) Фигура 20. Активност на двете ядра за защита на преносимите устройства
  • 37. 37 d. Safe Kid (защитено дете). Включва Parental control и Key protection. Тези два компонента показват активността си пред потребителя. Дали са активни или не. (Следния елемент може да се види на фиг. 11) Фигура 21. (Safe Kid) е модул който зашитава децата от опасностите в интернет 3. Третата страница на Onix Antivirus (Update) включва следните елементи: активността на автоматичното обновление (Auto update), версията на базата данни (Database version), версия на програмата (Program version) и автоматичен ъпдейт на програмата (Program auto update). (Следния елемент може да се види на фиг.12) Фигура 22. Обновление на базата данни и ядрото на програмата
  • 38. 38 При натискането на бутона Update се прави ръчно обновление на програмата, което обновява базата данни и ако е налична нова версия я инсталира. Ако се сложи отметка в check box Auto Update обновлението се изпълнява автоматично. 4. Четвъртата страница на програмата (Tools) съдържа три параграфа. Първият се отнася за автоматичното почистване на компютъра , вторият за ръчно дефрагментиране на хардиска, а третият за ръчно почистване на регистрите. (Следния елемент може да се види на фиг. 13) Фигура 23. Четвъртата страничка на софтуера където се намират опциите за настройка за почистването на компютъра a. Автоматично почистване на компютъра (Clean memory). В този параграф са изобразени няколко възможности за автоматична подръжка и почистване на операционната система. При отметване на Start Up Registry Scan And Fix се активира модул, които автоматично изпълнява почистване и поправка на регистрите. С избиране на следващата опция Auto Disk Defrag се активира автоматичната дефрагментация на хардиска, който се задейства само в background режим. С последната
  • 39. 39 опция Auto Memory Cleaner се активира модул, който започва почистване на неизползваната RAM памет от програмите, които се изпълняват в операционната система, включително и на антивирусната програма. По този начин се освобождава доста памет, която може да бъде използвана за други цели. Ако бутонът Clean Memory Now бъде натиснат правим бързо ръчно почистване на паметта. Цикълът на почистване се активира точно след преминаване на даден процент от оперативната памет (напр.ако на компютъра има инсталирана 2GB оперативна RAM памет модулът следи колко процента са изразходвани и ако се надвишат 80 % се почиства) . (Следния елемент може да се види на фиг.14) Фигура 24. Настройки за автоматично почистване на компютъра b. Ръчно дефрагментиране на хардиска (Defragment). Тук се виждат последните дефрафгментации на диска, както и дефрагментираната информация и нейния размер. Ако потребителят пожелае може да се извърши ръчно дефрагментиране на хардисковете. Тази опция премахва възможността за избиране на дяла от хардиска, които да бъде дефрагментиран. При натискане на бутона Defragment Now се активира цикълът, който беше описан. (Следния елемент може да се види на фиг. 15) Фигура 25. Опция за ръчно дефрагментиране на хардиска
  • 40. 40 c. Ръчно почистване на регистрите (Clean Registry). Тук потребителят намира опция за ръчно почистване на регистрите, като се изпълнява цялостна поправка и почистване на всички сектори на регистрите. Също така може да се види последното ръчно сканиране на системата, както и колко грешки са били открити. (Следния елемент може да се види на фиг. 16) Фигура 26. Ръчно почистване на регистрите 5. Петата страница на антивирусната програма (Quarantine) включва два бутона – единият е за премахване на вируса в карантината (delete file), а другият е за премахване от списъка на карантината без изтриване от файловата система. При натискане на десен бутон върху белия прозорец, на който са написани имената и директориите на засечените вируси, се отваря малък прозорец (Context Menu), на който има опции за вкарване на файла в „пренебрегнати“, отиване до директорията на файла и проверка в интернет. (Следния елемент може да се види на фиг. 17) Фигура 27. Страница в която всеки потребител може да отвори и изтрие даден вирус
  • 41. 41 6. Шестата страница на антивирусната програма (Settings) включва четири параграфа: USB Port Locker, Realtime protection, USB Scanning, Identity Theft Protection. (Следния елемент може да се види на фиг. 18) Фигура 28. Настройки по програмата a. USB Port Locker. Този модул от програмата се активира ръчно от настройките като работата му е да „заключи“ и да изхвърли всички устройства от USB порта, на които се предполага,че има вирус. В този параграф съществува бутон On / Off, който служи за включване / изключване на модула. Ако Eject USB Drive е отметнато, тогава при активирането на този модул всяко устройство, на което е засечен вирус се изхвърля (Eject). (Следния елемент може да се види на фиг. 19 ) Фигура 29. USB port locker който блокира дадените портове с цел предпазване от вредоносен софтуер
  • 42. 42 b. RealTime Protection. Тук потребителят може да избира дали да включва или да изключва защитата в реално време, да избира кои ядра да работят (има избор между Icon Engine, Heur Engine и Smart Core). Може също да задава лимит на максималния размер на сканиращият файл. (Следния елемент може да се види на фиг. 20) Фигура 30. Избиране на кои ядра да се използват при сканиране c. USB Scanning. От тук потребителят може да командва цялостната работа на USB-сканиращото ядро, като например задаване на лимит на размера на файловете и изхвърляне на USB устройството след завършване на сканирането. (Следния елемент може да се види на фиг.21) Фигура 31. USB Scanning опция която позволява изхвърлянето на преносимото устройство след сканиране d. Identity Theft Protection. Всеки потребител може да избира между това дали този модул да бъде включен или изключен, дали да използва Icon Scanner, което означава сканиране на иконите или взимане на тяхната
  • 43. 43 сигнатура. Има възможност също да включва или изключва Core Optimisation, което служи за оптимизация на производителността на този модул. (Следния елемент може да се види на фиг. 22) Фигура 32. Identity Theft Protection Освен тези параграфи тази страница съдържа и още една опция – Scan Files Less Than 2 MB, която служи за рестрикция на всяко едно от тези ядра, като ги ограничава от това да сканират файлове по-големи от 2 MB. (Следния елемент може да се види на фиг. 23) Фигура 33. Допълнителната опция за сканиране на файлове не по-големи от 2 MB
  • 44. 44 VII. База данни Базата от данни, която Onix Antivirus използва е SQLite за С++ компилатор. Тази база от данни осигурява една от най – бързите, надеждни и сигурни бази от данни. Поради йерархичната структура на тази база данни, скоростта на четене и записване достатъчно надеждна за разработката и на дипломната работа. SQLite база данни дава възможност да се използва и извън сървърна среда и така позволява на създателите (developers) да я използват не само за УЕБ услуги, но и за апликации. Поради високата производителност и компактност на тази база от данни тя е подходяща за антивирусен софтуер, като Onix Antivirus. Базата данни съдържа 9 таблици от който 2 са главни за работата на антивирусната програма“HEURISTIC”,“THREATDATA”. Фигура 34 В THREATDATA се намират главните сигнатури за антивирусното ядро а те за от типа MD5.
  • 45. 45 Фигура 35. А в HEURISTIC се намират уникалните сигнатури, чрез който става възможно по бързото засичане на нови вируси. Фигура 36.
  • 46. 46 VIII. Заключение Реализираната антивирусна програма е напълно тестван софтуер с възможност за по-нататъшно функционално разширяване. Системата предлага лесен и бърз достъп до потребителския интерфейс, както и достатъчен набор от функционални възможности. Въпреки че, постига поставените в разработката цели, продуктът ще продължава да се разширява и подобрява. Основната насока в развитието му ще бъде добавяне на допълнителна функционалност като дистанционно управление през мобилен телефон с операционна система Android или IOS. Неограниченият достъп за всички потребители, интуитивният интерфейс, гъвкавостта на системата й дават шансове да бъде широко използван от потребителите в интернет пространството, чиято работа е свързана с бизнес, маркетинг, информационни технологии, банково дело и др. В бъдеще развитието на Onix Antivirus ще тръгне по съвсем различен път. Направени са планове за: инвестиции от чуждестранни инвеститори, които имат огромен интерес, създаване на уеб сайт, чрез който всички потребители могат да свалят най- новите версии на антивирусната програма, да я тестват и оценят. Планира се и изграждане на нов тип система за сигурност, която да редуцира броя на сигнатури в базата данни. Това ще забърза сравнително много сканиращия механизъм. Този алгоритъм ще използва компресирана сигнатура, която ще бъде съвкупност от няколко сигнатури (напр.една сигнатура на новото ядро ще отговаря за около 5 000 сигнатури в по-старата версия на ядрото и по този начин се намалява значително времето за отреагиране при засечен вирус). Дистанционното управление на продукта е бъдеща цел, която ще осигури по-лесно администриране на на антивирусния софтуер чрез Android или IOS конзола.в нея ще има редица от възможности, като например всички типове сканиране (бързо, по избор, пълно), както и премахване на заразен файл засечен на операционна система Windows. По този начин потребителят ще може да наблюдава работата и защитата на персоналния си компютър от голяма дистанция.
  • 47. 47 IX. Използвана литература [1] Въведение в програмирането със C#, Светлин Наков, Веселин Колев и колектив, Издателство: Фабер, Велико Търново, 2011 г. , ISBN: 978-954-400-527-6 [2] Learning MySQL, Saied Tahaghoghi, Hugh E. Williams, ISBN-13: 978-0596008642 [3] High Performance MySQL, Baron Schwartz, Peter Zaitsev, Vadim Tkachenko, ISBN-13: 978-1449314286 [4] Using SQLite, Jay A. Kreibich, ISBN-13: 978-0596521189 [5] Pro C# 7: With .NET and .NET Core, Andrew Troelsen, Philip Japikse, ISBN-13: 978- 1484230176 [6] Malware Analyst's Cookbook, Michael Ligh, Steven Adair, Blake Hartstein, Matthew Richard, ISBN-13: 978-0470613030 [7] https://www.avast.com/ ( юли 2018) [8] https://www.kaspersky.com ( юли 2018) [9] https://antivirus.comodo.com ( юли 2018) [10] https://www.eset.com/bg/( юли 2018) [11] http://mysql.com ( юли 2018) [12] https://www.sqlite.org/index.html ( юли 2018) [13] https://www.visualstudio.com/ ( юли 2018) [14] https://www.introprogramming.info/intro-csharp-book/ ( юли 2018)