Jak napisać skaner silnika antyvirusowego

Odpowiedz Nowy wątek
2011-07-17 16:53
xsg34534
0

Witam,

Mam pytanie jak napisać dobry skaner antyvirusowy. Chodzi mi o to jak efektywnie sprawdzać czy dany plik zawiera kod wirusa ?
Jak tworzyć efektywną bazę sygnatur?

Pozostało 580 znaków

2011-07-17 17:08
Jan
0

Co do efektywnego wyszukiwania to Ci nie pomogę, nie wiem w sumie, czy jest otwierany prawie każdy plik (antywirusy zazwyczaj omijają avi, mp3 itd) i przeszukują cały plik w poszukiwaniu jakiegoś fragmentu kodu zawartego w sygnaturze, nie wiem również jak robić to wydajnie, ale chętnie się dowiem. :)

Co do baz wirusów, to z tego co pamiętam z kiedyś przeczytanego artykułu kasperskiego (wiadmo, że wszystkich szczegółów nie podadzą), u nich baza wyglądała tak, że była tabela, w której w jednej kolumnie (powiedzmy VirusDefinition) był kawałek unikalnego do każdego wirusa kodu (nie wiem czy w postaci binarner , czy w postaci szestnastkowej, czy w innej), zaś w prawej kolumnie np. Repair, był kod w ich języku skryptowym (ponoć coś ala python), którego zawartość miała usunąć / zniwelować działanie wirusa. Antywirus przeszukuje, czy w np. jakasBiblioteka.dll znajduje się jakiś kod kawalka virusa, jeśli tak to uruchamiał skrypt naprawiający.

Pozostało 580 znaków

2011-07-17 17:09
fg5456
0

a ma ktoś może jakieś linki do artykułów na ten temat?

Pozostało 580 znaków

2011-07-17 19:45
Prosze
0

http://www.av-school.pl/articles/cid,14/id,12

Pozostało 580 znaków

2011-07-17 20:01
ggdg345
0

Proszę - dzięki ci za ten artykuł.

Pozostało 580 znaków

2011-07-17 20:07
fh564564
0

kilkanaście lat temu mógłbym być bogaty tworząc własnego antyvira - a dzisiaj konkurencja jest ogromna. Na rynku istnieje masa programów antyvirusowych. Czy w takim razie jest sens tworzyć własnego antyvira?

Pozostało 580 znaków

2011-07-17 21:01
Jan
0

Jak możesz i nie chcesz zakładać konta, to pisz chociaż wszystko pod jednym nickiem - będzie łatwiej :)

Akurat wyżej podanego artykułu od kasperskiego nie widziałem, a sam wcześniejszą wypowiedź wzorowałem na innym, pamiętam tylko to, że temat artykułu na miał coś związanego z sztuczną inteligencją w kasperskim... nieważne :) - ten art jest lepszy.

Co do tego czy jest sens czy nie. To nie jest takie łatwe, trzeba dobrze przeanalizować rynek, ale ogólnie wg mnie sens jest zawsze. Dobry soft i dobra reklama = sukces, choć czasami dobra reklama = sukces ;)

Jednak....

To nie jest takie łatwe, jeśli chcesz komuś sprzedać produkt, to musisz chociaż w małym stopniu zagwarantować mu takie rzeczy jak skuteczność, brak zamieszania w systemi (np. usuwanie plików windows), aktualizacje.

Ogólnie wg mnie, sam czy w nawet 10-15 os zespole nie jest się w stanie zrobić dobrego antywirusa. W tej kategori, jak zresztą w każdej innej, trzeba być bardzo na czasie. Wydawać szybko aktualizacje, zbierać informacje o nowych zagrożeniach, implementować nowe algorytmy itd. To wszystko wymaga ogromnej wiedzy, dobrych, doświadczonych specjalistów, z różnych dziedzin, a oni się cenią. Koszty produkcji antywirusa wg mnie są ogromne, ale oczywiście sam nic nigdy takiego nie tworzyłem i nie jestem ekspertem.

Mam nadzieję, że sam sobie odpiszesz na Twoje pytanie.

Co do tematu, to chętnie był poczytał inne artykuły na temat antywirusów, ogólnie bardzo ciekawi mnie sposób sprawdzania danych. Bazy antywirusów teraz są ogromne, jak przeskanować plik i sprawdzić wszystkie sygnatury i to w niezłym czasie. Osobiście to mi najbardziej imponuje, ogromne przetwarzanie danych, choć pewnie za tym stoi sztab ludzi od algorytmów.

Pozostało 580 znaków

2011-07-17 21:38
0

Można zbudować np Automat skończony, zastosować Algorytm Aho-Corasick lub nawet zastosować metody probabilistyczne np Algorytm Karpa-Rabina czy Filtr Blooma do wstępnego odsiania. Te ostatnie może nawet nadają się do implementacji na GPGPU.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2011-07-17 23:25
0

Po co chcesz pisać antywirusa? Masz tu źródła Kasperskiego 2008 http://thepiratebay.org/torrent/6132242 przerób i wydaj pod inną nazwą :)


to to real? o_O - O_o 2011-07-18 00:10

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0