Poslao: 27 Jan 2006 00:07
|
offline
- ilidan
- Saradnik foruma
- Pridružio: 18 Dec 2005
- Poruke: 340
|
Bobby je u pravu. Test je prilicno slican MC testu, izuzev NOD32, koji je na MC testu bio ubedljivo najgori a ovde se ipak drzi. Ali, gledajuci ovaj test, palo mi je nesto na pamet. Kao i na svim testovima, i ovde su virusi pakovani raznim pakerima, kao sto se i nalaze "u divljini". Rezultati testova upravo zavise od podrske za pakere koju imaju testirani programi, sto pruza predstavu o tome kako bi se AV programi ponasali u svakodnevnom radu. Medjutim, AV programi imaju i skenere u realnom vremenu a oni skeniraju svaki fajl koji se otvori, pa i paker koji inace ne podrzavaju. Tako da, kada pokrenemo neku instalaciju ciji paket AV nije mogao da skenira a zarazen je, mislim da AV ima dobre sanse da uhvati taj virus. Ja se ne bih mnogo oslonio na ovaj i njemu slicne testove pa zakljucio da je ovaj AV ekstra a neki drugi cisto s****e. Primer je navedeni NOD32.
Zaista se izvinjavam za ovu malo duzu poruku.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 27 Jan 2006 00:41
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Jos uvek nisam siguran da li svi znaju razliku izmedju packera, arhivera i kompresora.
Arhiver nema nikakvu kompresiju, vec samo 'trpa' vise fajlova u jedan.
Kompresor samo kompresuje, bez da trpa vise fajlova u jedan.
Primera radi, WinZip je kombinacija prethodna dva (takodje i RAR, ARJ, 7z...).
Packeri su posebna prica. Cilj packera je da izvrsan fajl (i iskljucivo izvrsan fajl) smanji.
Fajl ostaje funkcionalan i posle smanjivanja, znaci ostaje izvrsan fajl.
Takav fajl se NE RASPAKUJE pre upotrebe.
Ovo je bio malo grub opis, ali bi trebao da stvori neku sliku.
Packera ima na hiljade razlicitih, i neki budu upotrebljeni samo za jedan virus i nikada vise.
Oni koji su rasprostranjeniji, njih rad je poznat, i AV program uspeva da restaurira kako je izgledao fajl pre pakovanja. Kod manje rasprostranjenih je ovo vec problem.
Neki AV programi su razvili jaku heuristiku po ovom pitanju, i uspevaju da restauriraju fajlove pakovane totalno nepoznatim pakerima.
Svida sam pisao packeri (pakeri), a pod tim sam mislio i na protektore, obfruskatore itd.
SVITAC je skoro ponovo ponovio test sa NOD-om na istoj kolekciji na kojoj je vrsen tadasnji test - rezultat je tek za stotinak komada virusa bolji.
Stvarno mi nije jasno gde to zapinje, ali za sledeci test imamo daleko bolju organizaciju, tako da cemo moci da vam kazemo koju to tacno grupu malicioznih programa NOD ne prepoznaje. Mozda su u pitanju DOS virusi koji nisu vise aktuelni, ili su u pitanju Linux virusi... bicete obavesteni u svakom slucaju.
|
|
|
|
Poslao: 27 Jan 2006 05:43
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
Hmmm...
Da li si siguran da se 'pakovani' EXE [nekim packer-om] uopste raspakuje prilikom njegovog pokretanja?
Nisam asembler programer, ali mislim da je moguce da neki packeri kompresuju EXE i re-linkuju sve funkcije u programu, tako da se EXE izvrsava bez ikakvog 'raspakivanja'.
Zapravo, kompresija tu nije ni potrebna. Dovoljno je da packer rastavi program na sitne delice [funkcije i blokove], i da sve to ponovo sklopi, ali potpuno drugim redosledom.
Dobijas 'istumbani' EXE, ali potpuno funkcijalan. Nije potrebno nikakvo 'otpakivanje'.
To je, po sadrzaju, potpuno drugi EXE, sama arhitektura je skroz promenjena, a po funkcionalnosti to je potpuno identican EXE.
Kako ce se Antivirusi snaci u toj situaciji?
Postoji jedan virus koji to upravo i radi. Inficira EXE, i skroz istumba i EXE i sebe. Rasklopi ceo EXE, na najsitnije blokove, i ponovo ga sklopi, sasvim slucajno izabranim redosledom. EXE ne izgubi funkcionalnost, ali arhitektura EXE-a je skroz izmenjena. Virus i svoj kod ubaci na vise mesta u EXE-u... nije uopste na jednom mestu virus, nego razbaca svoj kod po EXE-u, i medjusobno linkuje sve to.
Neke njegove mutacije ni jedan AV ne moze da detektuje.
To je napisao jedan ruski programer, imam negde na disku celu dokumentaciju, mozda i sors virusa, probacu da iskopam.
Taj ruski programer je namerno napravio da virus ubacuje jedan odredjeni bajt na pocetku EXE fajla, te je tako dao sansu Antivirusima da detektuju njegovo prisustvo, pomocu tog 'obelezivanja' fajla koga je on inficirao...
Sta mislite o takvim virusima, ili packerima?
Konkrentno recimo o packerima, posto o njima pricamo.
Kako bi AV 'prepoznao' neki kod, ako ga ovaj istumba po random redosledu?
Tu bi heuristika morala da bude vanzemaljska da bi mogle sve mutacije da se detektuju...
A emuliranje svakog EXE-a, i gledanje da li ce taj EXE pokusati da inficira neki drugi EXE, bi mnogo oduzelo vreme antivirusu... neprihvatljivo mnogo za skeniranje...
|
|
|
|
Poslao: 27 Jan 2006 07:01
|
offline
- bNasty
- Građanin
- Pridružio: 17 Mar 2004
- Poruke: 293
- Gde živiš: UK
|
Citat:Tu bi heuristika morala da bude vanzemaljska da bi mogle sve mutacije da se detektuju...
Pa dovoljno je imati md5/sha1 originalnog exe-a i eto ti zashtite. Ja ne znam za komercijalni aplikativni softver koji sam sebe menja. Ako se pri skenu hash vrednost ne poklapa (a sigurno nece!) eto potencijalne zaraze.
A i kod ne mozhe prosto da se "istumba". Da bi tumbao program morash da razreshish sve do jedan branch (skok) u kodu i ako ga vec pomerash morash da pratish i gde cesh pomerati deo na koji se skache. Tek nastaje problem ako se takvim tumbanjem ustanovi da se short jump pretvara u long jump, pa mora da se i menja sam kod.
Hm, taj kod mora da radi to ili drugachije, ili mnogo jednostavnije od "tumbanja", ovo bi uzelo mnogo vremena i totalno je nepraktichno (propustish bilo koji Exe kroz disasembler pa vidish koliko mu treba vremena da uradi 2 pass-a kroz kod dok sredi jump-ove...). K'o shto rekoh, dovoljno je da pokupish md5 ili neki slichan kod za originalne exe fajlove i to je dovoljna provera.
Just my 2 cents...
|
|
|
|
Poslao: 27 Jan 2006 07:25
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Svaki packer menja hash signaturu, to stoji.
Problem je sto ti fajl nailazi vec pakovan, pa neznas koji je originalan hash summ.
Gledao sam kako se KAV snalazi sa Morphine, posto imam jedan fajl zestoko zapakovan Morphine-om, treba mu dobrih par minuta i jedno 10 pokusaja da rekonstruise fajl.
UPX je boza za sve AV programe, ali posto je open source, lako se moze i menjati, pa se onda dobijaju kvazi-novi pakeri. Imam negde na disku jedan tako modifikovan UPX, da ga vecina AV programa ne prepoznaje.
Ono sto je Peca gore opisao se zove polymorph engine. Takvi programi dodaju sebe na sam kod programa koji menjaju, i svaki put kada se program startuje i pokusava da zarazi drugi program - polymorph engine 'tumba' kod menjajuci cak i redosled instrukcija kod kojih menjanje redosleda ne menja funkcionalnost programa.
Doduse, ima polymorph engina koji ponekad izrenderuju nefunkcionalan virus, ali to je vec druga prica.
Za malo vise informacija pogledaj http://www.mycity.rs/phpbb/viewtopic.php?t=15937
|
|
|
|
Poslao: 28 Jan 2006 04:29
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
Bravo Bobby, upravo sam govorio o Zmist-u.
Evo imam njegov sors na disku, i dokumentaciju, pa ako nekog zanima - mogu da okacim.
"This virus supports a unique new technique: code integration. The Mistfall engine contained in it is capable of decompiling Portable Executable files to its smallest elements, requiring 32 MB of memory. Zmist will insert itself into the code: it moves code blocks out of the way, inserts itself, regenerates code and data references, including relocation information, and rebuilds the executable. This is something never seen before in previous viruses. "
32 MB memorije zauzme, da bi obavio proces rastavljanja i sastavljanja EXE-a...
Ako nekog zanima vise, uploadovacu, a ovo odvajamo u zaseban topic...
|
|
|
|
Poslao: 14 Feb 2006 17:01
|
|
pixxel ::A u beogradu je treca prica. Po prodavnicama imaju SAMO F-Secure, i to za ogromne pare - oko 6-7000, Kaspersky je jako tesko naci (samo u singiju), a recimo nod koji ima distributera u srbiji se ne prodaje po prodavnicama, a i kad ga kupis dodje oko 50$ godisnje, dok kod f-securea platis paket 7000 (skoro duplo vise), i onda trcis kod distributera da kupis licencu...
Na vise mesta mozes da kupis AVG Pro ili AVG with Firewall, retail box, dvogodisnja licenca.
Dopuna: 14 Feb 2006 17:01
ilidan :: ...Test je prilicno slican MC testu...
Test nema veze sa ovim na MC.
Grk samo uzme nekoliko AV programa ( http://www.virus.gr/english/fullxml/default.asp?id=72&mnu=72 ) i preskenira njima fajlove, pa onda na osnovu njihovih logova odredi sta su virusi.
S obzirom da mu je kriterijum za novi virus (ili "virus") da najmanje 1 AV program nesto detektuje, pitanje je sta je to sto je detektovano. To znaci da mu je kolekcija vrlo prljava.
A posto viruse tretira po CRC-u to znaci da se isti virus moze naci u vise varijanti.
Kako ceovek ne radi analizu fajlova, onda je veliko pitanje da li je kolekcija validna, sto samo znaci da se ceo test dovodi u pitanje. A i test koji se svodi na to koliko je prebrojano virusa je sve manje interesantan.
MC je napravio test u kome su simulirane razne zivotne situacije prosecnog korisnika. Mozda im kolekcija nije najbolja, ali je trebalo napraviti sve one testove koje su oni napravili. Zato su i rezultati daleko realniji.
|
|
|
|
Poslao: 14 Feb 2006 18:48
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
AVG Distributer ::
Grk samo uzme nekoliko AV programa ( http://www.virus.gr/english/fullxml/default.asp?id=72&mnu=72 ) i preskenira njima fajlove, pa onda na osnovu njihovih logova odredi sta su virusi.
S obzirom da mu je kriterijum za novi virus (ili "virus") da najmanje 1 AV program nesto detektuje, pitanje je sta je to sto je detektovano. To znaci da mu je kolekcija vrlo prljava.
A posto viruse tretira po CRC-u to znaci da se isti virus moze naci u vise varijanti.
Kako ceovek ne radi analizu fajlova, onda je veliko pitanje da li je kolekcija validna, sto samo znaci da se ceo test dovodi u pitanje. A i test koji se svodi na to koliko je prebrojano virusa je sve manje interesantan.
MC je napravio test u kome su simulirane razne zivotne situacije prosecnog korisnika. Mozda im kolekcija nije najbolja, ali je trebalo napraviti sve one testove koje su oni napravili. Zato su i rezultati daleko realniji.
Slazem se da smo imali otpada u kolekciji, ali smo se toga sada najvecim delom otarasili.
Da sada obrazlozim malo taj fenomen otpada:
Dobar deo tih kolekcija su skupljene uz pomoc AVP-a i F-Prot-a zbog toga sto su ti programi u LOG fajlovima davali ne-genericku detekciju.
Da objasnim pojam ne-genericke i genericke detekcije:
Kada jedan AV program prijavi dve varijante virusa pod istim imenom (pr. Virus.Win32.Ghost), onda je to genericka detekcija.
Kada dve varijantte budu prijavljene kao Virus.Win32.Ghost.1 i recimo Virus.Win32.Ghost.2, onda je to ne-genericka detekcija.
Ova podela je jako gruba, ali moze da posluzi.
Ponekad, i AV programi koji imaju ne-genericku detekciju, ukoliko bas ne prepoznaju varijantu, onda je prijave kao recimo Virus.Win32.Ghost.gen
Iz ovog razloga su ta dva programa bili dugo godina jedine reference za sakupljanje virusa.
Problem otpada:
F-Prot ima 'ruzne' definicije u bazi, koje pojedine viruse prepoznaju iskljucivo po nekim stringovima koji se pojavljuju u njima. Ukoliko se taj string pojavi u nekom drugom fajlu - taj fajl ce biti prijavljen kao virus.
Verovatnoca pojavljivanja stringa nije velika, ali ce se string sigurno pojaviti u source fajlovima datog virusa, pa ce F-Prot zato prepoznati i gomilu source fajlova kao malware.
Svi AV programi koji su kupili engine i starije definicije od F-Prota pate od iste boljke.
Kada sada (primera radi) taj isti fajl skenirate KAV-om, KAV nece prijaviti malware, posto se njegova definicija tog virusa ne zasniva na tom stringu (ili samo na tom stringu).
Trenutni primer losih definicija je ClamAV, koji prvenstveno skenira za stringovima (ukoliko postoje), pa onda tek za delom koda ukoliko ne postoje stringovi. Pisao sam skoro o nekim fake detekcijama kod ClamAV-a (deo koda packera su ubacili kao definiciju za Bagle, pa sada svaki program pakovan tim packerom bude proglasen za Bagle).
Koriscenje CRC-a:
Jako bitno za testiranje rada AV programa koji baziraju definicije na stringovima, tako da je Grkova kolekcija po ovom pitanju ispravna.
Najcesce (lame) modifikacije se sastoje bas u menjanju stringova, tako da ako je AV zasnovao identifikaciju na stringovima - on nece moci da detektiju modifikovanu verziju (iako je modifikacija banalna i moze se odraditi resource editorom).
Oba spomenuta problema (otpad i CRC) su karakteristicni za detekciju starijih virusa, pre nego sto su AV programi dobili upotrebljive heuristike. Posto su vecina novijih kompanija, definicije za starije viruse kupili od jedne od ove dve kompanije, tako svi imaju problema sa fake-detekcijom tih starih virusa, kao i sa detekcijom modifikacija.
Podatak koji nije nigde objavljen, ali sam ja primetio:
KAV je negde kod serije 4.5 poceo da radi reviziju starih definicija, tako da vec od tada pocinje da gubi detekciju source fajlova (detekcija zasnovana na stringovima).
Bio bi zanimljiv test, kada bih imao vremena, da iskompajliram jedan stari virus, sa modifikovanim stringovima i pozicijom stringova, pa da vidimo ko jos pati od string-detekcije.
Naravno, moracu da nadjem neki virus koji ce biti prepoznat od strane svih programa kada se iskompajlira nemodifikovan.
Htedoh da kazem, i mi skupljamo varijante, ali ne poredimo CRC (tacnije CRC32), vec MD5 iz razloga sto je dokazano da CRC ima veliku koliziju. Nije preterana kolizija, ali su nam racunari vec dovoljno brzi da mogu da racunaju MD5 zadovoljavajucom brzinom.
Nadam se da je moje obrazlozenje gore dovoljno da bi se opravdalo skupljanje varijanti.
Ostaje samo jos jedan problem, koji ni mi jos nismo resili, ali hocemo skoro:
Dupliran virus, jednom recimo pakovan UPX-om, a drugi put recimo ASPackom.
Eliminisanje ovakvih duplikata ce malo teze da ide, a pitanje je trenutno da li je vredno.
Pricao sam skoro na IRC-u sa jednim tipom koji vrsi analizu fajlova za ClamAV.
Oni preferiraju kada fajl ostane packovan onako kako je nadjen "u divljini", jer to oslikava pravo stanje "u divljini". Dumpovanjem cistog virusa prelazimo u totalno akademsko testiranje, tako da neznam da li vise takvo testiranje oslikava mogucnosti AV programa.
|
|
|
|