Analiza euristică (scanarea euristică) este un set de funcții antivirus care vizează detectarea malware-ului necunoscut bazelor de date cu viruși. În același timp, acest termen se referă și la una dintre metodele specifice.
Aproape toate instrumentele anti-virus moderne folosesc tehnologia analizei euristice a codului programului. Analiza euristică este adesea folosită împreună cu scanarea semnăturilor pentru a căuta viruși complexi amestecați și polimorfi . Tehnica de analiză euristică face posibilă detectarea infecțiilor necunoscute anterior, cu toate acestea, tratamentul în astfel de cazuri este aproape întotdeauna imposibil. În acest caz, de regulă, este necesară o actualizare suplimentară a bazelor de date antivirus pentru a obține cele mai recente semnături și algoritmi de tratament, care pot conține informații despre un virus necunoscut anterior. În caz contrar, fișierul este trimis spre analiză analiștilor antivirus sau autorilor de programe antivirus.
Metodele de scanare euristică nu oferă protecție garantată împotriva noilor viruși informatici care nu se află în setul de semnături, ceea ce se datorează utilizării virușilor cunoscuți anterior ca obiect de analiză a semnăturilor și cunoștințelor despre mecanismul polimorfismului semnăturilor ca reguli de verificare euristică. . În același timp, deoarece această metodă de căutare se bazează pe presupuneri empirice, falsele pozitive nu pot fi excluse complet.
În unele cazuri, metodele euristice sunt extrem de reușite, de exemplu, în cazul părților de program foarte scurte din sectorul de pornire: dacă programul scrie în sectorul 1, pista 0, partea 0, atunci aceasta duce la o schimbare a partiției unității. . Dar, în afară de programul de ajutor fdisk , această comandă nu este folosită în altă parte și, prin urmare, dacă apare pe neașteptate, vorbim despre un virus de boot.
În procesul de analiză euristică, programul emulat este verificat de analizorul de cod. De exemplu, un program este infectat cu un virus polimorf format dintr-un corp criptat și un decriptor. Emulatorul de cod citește instrucțiuni în bufferul antivirus, le parsează în instrucțiuni și le execută o instrucțiune pe rând, după care analizorul de cod calculează suma de control și o compară cu cea stocată în baza de date. Emularea va continua până când partea de virus necesară pentru calcularea sumei de control este decriptată. Dacă semnătura se potrivește, programul este definit.