RO130379B1 - Explorare pentru software rău intenţionat cu căutare în avans - Google Patents

Explorare pentru software rău intenţionat cu căutare în avans Download PDF

Info

Publication number
RO130379B1
RO130379B1 ROA201300848A RO201300848A RO130379B1 RO 130379 B1 RO130379 B1 RO 130379B1 RO A201300848 A ROA201300848 A RO A201300848A RO 201300848 A RO201300848 A RO 201300848A RO 130379 B1 RO130379 B1 RO 130379B1
Authority
RO
Romania
Prior art keywords
files
file
application
directory
groups
Prior art date
Application number
ROA201300848A
Other languages
English (en)
Other versions
RO130379A2 (ro
Inventor
Pavel Turbin
Original Assignee
F-Secure Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by F-Secure Corporation filed Critical F-Secure Corporation
Publication of RO130379A2 publication Critical patent/RO130379A2/ro
Publication of RO130379B1 publication Critical patent/RO130379B1/ro

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

Invenția prezentă se referă la o metodă și la un aparat pentru efectuarea de explorare pentru software rău intenționat. în particular, invenția prezentă se referă la o metodă și la un aparat pentru optimizarea performanței unui sistem de calculator care efectuează explorare pentru software rău intenționat (eng. malware) pe un grup de fișiere.
în limba engleză termenul Malware este prescurtarea de la software rău intenționat (eng. malicious software), și este utilizat ca un termen pentru a se face referință la oricare software proiectat pentru a infiltra sau a deteriora un sistem de calcul fără consimțământul proprietarului. Software-ul rău intenționat poate include virusuri de calculator, viermi, cai troieni, kituri de rădăcină (eng. rootkits), software de reclamă (eng. adware), software de spionaj și oricare alte tipuri de software rău intenționat sau nedorit.
Numeroși utilizatori finali utilizează software antivirus pentru a detecta și pentru a elimina software-ul rău intenționat. Cu scopul de a detecta un fișier de software rău intenționat, software-ul antivirus trebuie să aibă o modalitate de a-l identifica dintre toate celelalte fișiere prezente pe un dispozitiv. în mod tipic, acest lucru necesită ca software-ul antivirus să aibă o bază de date care să conțină „semnături sau „ amprente care sunt o caracteristică a fișierelor de program de software rău intenționat individuale. Atunci când un furnizor al software-lui antivirus identifică o nouă amenințare de software rău intenționat, amenințarea este analizată, și semnătura acesteia este generată. Software-ul rău intenționat este apoi „cunoscut, și semnătura sa poate fi distribuită la utilizatorii finali ca actualizări la bazele de date de software antivirus locale ale acestora.
Software-ul antivirus în mod tipic furnizează explorarea fișierelor, la cerere, în care utilizatorul unui sistem de calculator determină când ar trebui să fie explorate fișierele de pe sistemul de calculator pentru detecția prezenței software-lui rău intenționat. în explorarea la cerere utilizatorul poate activa procesul de explorare în mod manual, sau poate configura procesul de explorare pentru a începe în anumite circumstanțe. De exemplu, utilizatorul ar putea configura software-ul antivirus ca să exploreze dosare (eng. folders) sau directoare (acești termeni vor fi utilizați aici în mod interschimbabil) o dată pe săptămână, și să exploreze toate fișierele de pe un sistem de calculator o singură dată pe lună. Suplimentar, software-ul antivirus poate, de asemenea, furniza protecție în timp real împotriva software-ului rău intenționat prin efectuarea de explorare la acces.
în explorarea la acces un sistem de calcul este monitorizat pentru prezența de software rău intenționat prin explorarea fișierelor în mod automat în fundal, atunci când există un acces detectat al fișierelor de către una sau mai multe aplicații care execută pe sistemul de calculator. Cea mai obișnuită metodă de acces la fișier este accesul de deschidere de fișier numai pentru citire. Acest tip de acces este comun pentru operațiuni pe fișiere multiple, de exemplu, la căutarea pentru/în fișiere, la pornirea și în timpul execuției unei aplicații, la copierea fișierelor de la dosar la dosar (director la director), la comprimarea de fișiere etc. Următoarele exemple ilustrează suplimentar unele dintre aceste operațiuni obișnuite.
Exemplul 1, comanda copy (copiere):
- C:\>copy source\*.* d:\dest
Această comandă (aplicație) ar putea fi reprezentată de către următorul pseudocod:
- pentru fiecare fișier din c:\ sourceV* deschide numai pentru citire fișierul curent (c:\ source\..);
- citește datele din fișier;
- închide fișierul;
- salvează datele la d:\dest\.
Comanda de copiere generează acces numai pentru citire continuu și secvențial pentru toate fișierele sursă.
RO 130379 Β1
Exemplul 2. O aplicație care execută mai multe fișiere de modul: Se presupune 1 faptul că aplicația constă dintr-un singur executabil (.EXE) și un număr de module cum ar fi biblioteci legate în mod dinamic (dynamic linked libraries -.DLL). Atunci când un utilizator 3 lansează aplicația, această aplicație încarcă bibliotecile necesare și apoi începe execuția. Această operațiune ar putea fi reprezentată de către următorul pseudocod: 5
- pentru fișierele application.exe, module1.dll, module2.dll... moduleN.dll deschide numai pentru citire fișierul curent; 7
- încarcă datele din fișier.
Aplicația generează accesări de deschidere de fișier numai pentru citiri continue și 9 secvențiale pentru fișierele sursă din aplicație și/sau directoarele de modul relevante.
Modele similare de acces de deschidere de fișier numai pentru citire continuă și sec- 11 vențială de fișiere multiple dintr-un director dat pot fi găsite în alte comenzi sau aplicații, de exemplu, căutarea unui model într-o colecție de fișiere (grep.exe sau findstr.exe), calculul 13 unui șir de octeți de comprimare (eng. hash) peste fișiere (md5.exe), împachetarea într-un container (rar.exe sau winzip.exe) și așa mai departe. 15
O interacțiune obișnuită este ilustrată în fig. 1, între o aplicație și software antivirus, atunci când aplicația efectuează un acces de deschidere de fișier numai pentru citire de 17 fișiere multiple. în timpul operațiunii, numai atunci când software-ul antivirus detectează accesul de către aplicație la fișiere, acesta efectuează explorarea la acces a fișierelor. 19 în particular, atunci când aplicația încearcă să deschidă un fișier, solicitarea de deschidere este interceptată de către un filtru care generează o solicitare de explorare pentru 21 utilizare de către software-ul antivirus, și împiedică aplicația să deschidă și să utilizeze fișierul. La recepția solicitării de explorare, software-ul antivirus explorează fișierul și gene- 23 rează un rezultat în modalitatea obișnuită. în dependență de rezultat, accesul fișierului este înmânat înapoi la aplicație pentru utilizarea sa, de exemplu, citirea, copierea sau execuția 25 fișierului. Cu toate acestea, dacă fișiere multiple au nevoie să fie accesate de către aplicație, această operațiune va fi repetată în mod secvențial pentru fiecare acces de fișier ulterior de 27 către aplicație, așa cum este prezentat în fig. 1. Acesta este un proces foarte lent și laborios, ce are un impact asupra performanței aplicației și sistemului de calculator. 29
Majoritatea sistemelor de calculator moderne sunt acum optimizate pentru execuția de sarcini multiple. Un CPU tipic adesea include suport de nuclee multiple (fire multiple de 31 execuție), care permite în mod eficient sarcinilor de aplicație să fie executate ca și cum ar apărea în mod simultan. Un fir de execuție este definit ca cea mai mică unitate de procesare 33 (de exemplu, o sarcină sau o porțiune a unei sarcini) care poate fi planificată de către un sistem de operare. Execuția de fire multiple se referă la o aplicație ce are fire de execuție 35 multiple, în care firele sunt planificate pentru a fi executate de către un sistem de operare în același timp. Articolul INTEL™, „Predicția și măsurarea performanței paralele 37 („Predicting and Measuring Parallel Performance), 9 martie 2010, disponibil de la http://software.intel.com/en-us/articles/predictinq-and-measurinq-parallel-performance/, des- 39 crie dezvoltarea de software paralelizat de către aplicații cu fire de execuție multiple, pentru a permite acestora să proceseze un set de date dat în timp mai puțin, sau să proceseze 41 seturi de date multiple într-un timp fix.
Un procesor unic poate efectua execuție de fire multiple, prin multiplexarea, prin diviza- 43 rea timpului a firelor de execuție (adică execuție de fire multiple), astfel încât procesorul comută contextul între diferite fire. Această comutație de context se întâmplă atât de frecvent 45 încât utilizatorul percepe firele sau sarcinile ca și cum ar fi executate în mod simultan sau în paralel. Pe un procesor multiplu sau un sistem de nuclee multiple, unele dintre fire sau sarcini 47
RO 130379 Β1 în realitate execută la același moment de timp (în dependență de numărul de procesoare), cu fiecare procesor sau nucleu executând un fir sau o sarcină particular/particulară. Cu scopul de a obține performanță maximă, aplicațiile, atunci când sunt executate pe sistemul de calculator, ar trebui să încerce să blocheze ecuațiile sau sarcinile complexe ale acestora.
Explorarea în paralel a mai multor fișiere pentru software rău intenționat cu software antivirus poate fi realizată prin planificarea în mod simultan a uneia sau mai multor fire, pentru a trata procesul de explorare al fiecăruia dintre fișiere. Așa cum s-a menționat mai sus, sistemul de operare gestionează execuția firelor pe un sistem de calculator cu sarcini multiple și/sau nuclee multiple. Explorarea paralelă poate fi efectuată pe fișiere multiple într-o coadă de explorare, pentru a crește performanța sistemului de calculator. Organizarea în coadă de așteptare a fișierelor accesate pentru explorarea de software rău intenționat poate utiliza puterea explorării paralele. Astfel de explorare ar putea fi efectuată de către metode de explorare la închidere asincrone. Dar, chiar și cu suportul de nucleu multiplu, explorarea paralelă la acces a fișierelor multiple pentru software rău intenționat, în timpul accesului de deschidere de fișier numai pentru citire de către o aplicație, este problematică. Organizarea fișierelor în cozi de așteptare pentru o explorare mai târziu paralelă sau în serie nu este o opțiune pentru aplicații care necesită operațiunea de acces de deschidere de fișier numai pentru citire. Acest tip de acces la fișier necesită un răspuns sincron imediat de la software-ul antivirus, pentru a permite aplicației să continue cât mai rapid posibil. Solicitările de explorare de la driverul (software specializat pentru acces la hardware) de filtrare la antivirus nu pot fi organizate în coadă pentru procesare de grup viitoare, deoarece software-ul antivirus nu cunoaște fișierul următor pe care o aplicație îl va solicita.
Aplicațiile pot genera solicitări de deschidere de fișier numai pentru citiri secvențiale multiple arbitrare, și logica de explorare antivirus tipică solicită ca fiecare solicitare de deschidere de fișier numai pentru citire să declanșeze un eveniment de explorare sau o solicitare pentru acel fișier. Din cauza naturii secvențiale a accesului la fișier, logica de explorare nu poate determina care fișiere vor fi ulterior accesate de către aplicație. Acest lucru nu permite software-ului antivirus să profite de efectuarea de explorare în șarjă sau în paralel de fișiere multiple pe sisteme de calculator moderne. Acest lucru înseamnă faptul că aplicația va avea nevoie fie să aștepte până când explorarea pentru software rău intenționat se termină pe toate fișierele înainte de a începe, fie să fie întreruptă în timpul execuției, în timp ce fiecare fișier care trebuie să fie accesat este explorat. Ambele scenarii deteriorează în mod semnificativ performanța aplicației și a sistemului de calculator.
Procesul sincron de explorare la acces blochează o aplicație de a începe sau de a întrerupe execuția aplicației până când o explorare pentru software rău intenționat pentru toate fișierele sau pentru fiecare fișier a fost efectuată. Astfel, software-ul antivirus împiedică execuția aplicației să progreseze, încetinind rata la care aceasta își poate îndeplini sarcinile. Acest lucru are un impact asupra performanței sistemului de calculator.
Dezavantajul major al sistemelor antivirus existente constă în pierdere de performanță prin scanare în timpul accesării fișierului/ fișierelor.
Problema tehnică pe care o rezolvă invenția constă în minimizarea întârzierilor, în timpul executării aplicațiilor, cauzate de scanarea fișierului/fișierelor în directorul comun.
Metoda de explorare împotriva software-ului rău intenționat în timpul execuției unei aplicații pe un sistem de calculator cuprinde:
- întreținerea unui tabel de acces la director pentru urmărirea accesului fișierelor din interiorul unui director comun, care este accesat de către aplicație, unde tabelul de acces la director include drumul directorului care menține un nume sau o locație logică a directorului comun, un număr de atingeri care indică numărul de accesări de fișier la directorul comun de către aplicație, și o stare de acces care indică dacă directorul comun este în una dintre stările următoare: starea de pre-explorare, starea de explorare și starea de explorat;
RO 130379 Β1
- detectarea accesărilor de către aplicație a fișierelor din cadrul directorului comun, 1 și actualizarea numărului de atingeri;
- modificarea stării de acces a directorului comun de la starea de pre-explorare la o 3 stare de explorare atunci când numărul de atingeri atinge un prag predeterminat;
- utilizarea accesărilor detectate și a numărului de atingeri pentru a identifica unul sau 5 mai multe grupuri de fișiere din cadrul directorului comun pe care aplicația poate ulterior dori să le acceseze în timpul execuției aplicației; 7
- declanșarea de explorare paralelă sau în șarjă a unuia sau mai multor grupuri de fișiere, împotriva software-ului rău intenționat, în timpul execuției aplicației, și înainte ca apli- 9 cația să încerce să acceseze fișierele grupului sau grupurilor, unde pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de adăugare a fișierului curent detectat, 11 pentru a fi accesat de către aplicație la unul sau mai multe grupuri de fișiere pentru explorare atunci când fișierul curent necesită explorare; și 13
- actualizarea stării de acces a directorului comun de la starea de explorare la starea de explorat atunci când toate cele unul sau mai multe grupuri de fișiere identificate din direc- 15 torul comun au fost explorate împotriva atacurilor de software rău intenționat.
Programul de calculator pentru explorarea software-ului rău intenționatîn timpul exe- 17 cuției unei aplicații pe un sistem de calculator cuprinde mijloace de cod de program de calculator adaptate pentru a efectua pașii următori: 19
- întreținerea unui tabel de acces la director pentru urmărirea accesului fișierelor din interiorul unui director comun care este accesat de către aplicație, unde tabelul de acces la 21 director include drumul directorului care menține un nume sau o locație logică a directorului comun, un număr de atingeri care indică numărul de accesări de fișier la directorul comun 23 de către aplicație, și o stare de acces care indică dacă directorul comun este în una dintre situațiile: starea de pre-explorare, starea de explorare și starea de explorat;25
- detecția accesărilor de către aplicație la fișierele din cadrul directorului comun, și actualizarea numărului de atingeri;27
- modificarea stării de acces a directorului comun de la starea de pre-explorare la o stare de explorare atunci când numărul de atingeri atinge un prag predeterminat;29
- utilizarea accesărilor detectate și a numărului de atingeri pentru a identifica unul sau mai multe grupuri de fișiere în cadrul directorului comun, în timpul execuției aplicației, pe care 31 aplicația poate ulterior să dorească să le acceseze;
- instruirea explorării paralele sau în serie a acelui unul sau a acelor mai multe grupuri 33 de fișiere menționate, împotriva software-ului rău intenționat, în timpul execuției aplicației, înainte ca aplicația să încerce să acceseze fișiere ale grupului sau grupurilor, unde pasul de 35 identificare a unuia sau mai multor grupuri de fișiere include pasul de adăugare a fișierului curent detectat pentru a fi accesat de către aplicație la cele unul sau mai multe grupuri de 37 fișiere pentru explorare, atunci când fișierul curent necesită explorare; și
- actualizarea stării de acces a directorului comun de la starea de explorare la starea 39 de explorat, atunci când toate cele unul sau mai multe grupuri de fișiere identificate din directorul comun au fost explorate împotriva atacurilor de software rău intenționat. 41
Sistemul de calculator configurat pentru a explora fișiere împotriva unui software rău intenționat, în timpul execuției unei aplicații pe un procesor, și pentru a întreține un tabel de 43 acces la director pentru urmărirea accesului fișierelor din interiorul unui director comun, care este accesat de către aplicație, unde tabelul de acces la director include drumul directorului 45 care menține un nume sau o locație logică a directorului comun, un număr de atingeri care indică numărul de accesări de fișier la directorul comun de către aplicație, și o stare de acces 47 care indică dacă directorul comun este în una dintre starea de pre-explorare, starea de
RO 130379 Β1 explorare și starea de explorat, cuprinde o unitate de detecție pentru detecția accesărilor de către aplicație a fișierelor din cadrul directorului comun, actualizarea numărului de atingeri, modificarea stării de acces a directorului comun de la starea de pre-explorare la starea de explorare, atunci când numărul de atingeri atinge un prag predeterminat, și utilizarea accesărilor detectate și a numărului de atingeri pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun, în timpul execuției aplicației, pe care aplicația ar putea dori ulterior să le acceseze, instruirea unei unități de explorare pentru explorarea paralelă sau în șarjă a unuia sau mai multor grupuri de fișiere menționate împotriva software-ului rău intenționat, în timpul execuției aplicației, înainte ca aplicația să încerce să acceseze fișierele grupului sau grupurilor, unde pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de adăugare a unui fișier curent detectat pentru a fi accesat de către aplicație la unul sau mai multe grupuri de fișiere pentru explorare, atunci când fișierul curent necesită explorare; și actualizarea stării de acces a directorului comun de la starea de explorare la starea de explorat, atunci când toate cele unul sau mai multe grupuri de fișiere identificate din directorul comun au fost explorate împotriva atacurilor de software rău intenționat.
Prin aplicarea invenției se obțin următoarele avantaje:
- realizarea de scanări preventive ale unui/unor fișier/fișiere ce sunt necesare unor aplicații;
- îmbunătățirea sistemului de calcul.
Se dă, în continuare, un exemplu de realizare a invenției, în legătură cu fig. 1...7, ce reprezintă:
- fig. 1, diagramă care ilustrează un proces din stadiul tehnicii de efectuare a explorării de software rău intenționat la acces;
- fig. 2, schema unui sistem de calculator în conformitate cu aplicații concrete ale invenției prezente;
- fig. 3, diagramă care ilustrează un proces de efectuare a explorării de software rău intenționat la acces, în conformitate cu o aplicație concretă a invenției prezente;
- fig. 4, diagramă de flux care ilustrează un proces în conformitate cu o aplicație concretă a invenției prezente;
- fig. 5, tabel de acces la director pentru utilizare în actualizarea și întreținerea directoarelor accesate de către aplicații, în conformitate cu aplicații concrete ale invenției prezente;
- fig. 6, diagramă de flux care ilustrează un proces de efectuare a explorării de software rău intenționat la acces, pentru o aplicație care accesează fișiere în conformitate cu o aplicație concretă a invenției prezente;
- fig. 7, diagramă de flux care ilustrează un proces de efectuare a explorării de software rău intenționat la acces pentru o aplicație care accesează fișiere în conformitate cu o altă aplicație concretă a invenției prezente.
Un obiectiv al invenției prezente este de a furniza o metodă de efectuare a explorării pentru software rău intenționat care minimizează întârzierile introduse de către explorarea în timpul execuției aplicațiilor pe un sistem de calculator, astfel optimizând performanța sistemului de calculator.
în conformitate cu un prim aspect al invenției este furnizată o metodă de explorare pentru un software rău intenționatîn timpul execuției unei aplicații pe un sistem de calculator, metoda cuprinzând detecția de accesări de către aplicație la fișiere în cadrul unui director comun, utilizând accesările detectate pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun menționat, pe care aplicația poate ulterior să le acceseze, și explorarea unuia sau mai multor grupuri de fișiere menționate pentru un software rău intenționat, înainte ca aplicația să încerce să acceseze fișierele grupului sau grupurilor.
RO 130379 Β1
Aplicațiile concrete ale invenției furnizează faptul că acel software de antivirus poate 1 efectua exploatarea unui grup din multitudinea de fișiere fără nevoia de a bloca complet execuția aplicației înaintea utilizării unuia sau mai multor fișiere din grup. 3
Ca o opțiune, cuprinde suplimentar selecția grupului sau grupurilor de fișiere pe baza tipurilor de fișier ale fișierelor accesate de către aplicație. Selecția fișierelor de preferință 5 include punerea în corespondență a tipurilor de fișier ale fișierelor accesate de către aplicație, cu tipurile de fișier ale fișierelor din cadrul directorului comun. De preferință, fișierele din 7 cadrul grupului sau grupurilor de fișiere sunt fișiere care necesită explorare. Metoda opțional cuprinde suplimentar identificarea unuia sau mai multor grupuri de fișiere prin adăugarea 9 fișierului curent detectat pentru a fi accesat de către aplicație la grupul de fișiere pentru explorare, atunci când fișierul curent necesită explorare. 11
Metoda include opțional faptul că utilizarea accesărilor detectate include pasul de determinarea a numărului de accesări detectate din cadrul directorului comun, și utilizarea 13 rezultatelor pentru a declanșa pasul de explorare a grupurilor, care sunt unul sau mai multe.
De preferință, declanșarea pasului de explorare apare atunci când numărul de accesări 15 detectate atinge un prag predeterminat. Opțional, utilizarea accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere include pasul de adăugare a fișierului curent 17 detectat pentru a fi accesat de către aplicație, la un grup de fișiere, atunci când pasul de explorare este declanșat. Opțional, determinarea numărului de accesări detectate include 19 pasul de resetare a numărului de accesări detectate, atunci când o primă perioadă de timp a trecut, și pasul de explorare nu a fost declanșat. Opțional, metoda include pasul de ter- 21 minare a explorării grupului sau grupurilor atunci când o a doua perioadă de timp a trecut, după ce pasul de explorare a fost declanșat. 23
Metoda include opțional faptul că pasul de utilizare a accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere include pasul de întreținere a unei liste de 25 tipuri de fișier a fișierelor detectate accesate, și pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de selecție a fișierelor pe baza listei de tipuri de fișier. 27 Selecția fișierelor include suplimentar punerea în corespondență a listei de tipuri de fișier a fișierelor accesate de către aplicație, cu tipurile de fișier ale fișierelor din cadrul directorului 29 comun.
Ca o opțiune, pasul de detecție a accesărilor de către aplicație la fișiere din cadrul 31 directorului comun include recepția unei solicitări de explorare pentru explorarea unui fișier accesat de către aplicație, din cadrul directorului comun. Opțional, pasul de detecție a acce- 33 sărilor de către aplicație la fișiere din cadrul directorului comun include detecția accesului la fișier de către aplicație, și generarea unei solicitări de explorare pentru explorarea fișierului 35 atunci când explorarea este solicitată.
în conformitate cu un al doilea aspect al invenției prezente este furnizat un program 37 de calculator pentru explorarea pentru un software rău intenționat în timpul execuției unei aplicații pe un sistem de calculator, programul de calcul cuprinzând mijloace de cod de pro- 39 gram de calculator adaptate pentru a efectua pașii următori:
- detecția accesărilor de către aplicație la fișiere din cadrul unui director comun; 41
- utilizarea accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun menționat, pe care aplicația poate ulterior să dorească 43 să le acceseze; și
- instruirea unui explorator de software rău intenționat, pentru explorarea unuia sau 45 mai multor grupuri de fișiere menționate pentru un software rău intenționat, înainte ca aplicația să încerce să acceseze fișierele grupului sau grupurilor. 47
RO 130379 Β1
Programul de calculator poate cuprinde suplimentar mijloace de cod de program adaptate pentru a efectua explorarea unuia sau mai multor grupuri de fișiere pentru un software rău intenționat.
în conformitate cu un al treilea aspect al invenției prezente, este furnizat un program de calculator așa cum este schițat mai sus, concretizat pe un mediu care poate fi citit de calculator.
în conformitate cu un al patrulea aspect al invenției este furnizat un sistem de calculator configurat pentru a explora fișiere pentru un software rău intenționat în timpul execuției unei aplicații pe un procesor, sistemul de calculator cuprinzând o unitate de detecție pentru detecția accesărilor de către aplicație la fișiere din cadrul unui director comun, și utilizarea accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun menționat, pe care aplicația ar putea ulterior să vrea să le acceseze, și instruirea unei unități de explorare pentru explorarea unuia sau mai multor grupuri de fișiere menționate pentru un software rău intenționat, înainte ca aplicația să încerce să acceseze fișierele grupului sau grupurilor. Sistemul de calculator poate include suplimentar o unitate de explorare pentru efectuarea explorării grupurilor de fișiere, care sunt unul sau mai multe.
Cu scopul de a depăși cel puțin parțial problemele descrise mai sus, se propune aici să se îmbunătățească performanța unui sistem de calculator prin efectuarea unei explorări de software rău intenționat la acces în șarjă sau în paralel de fișiere multiple, înainte ca o aplicație să utilizeze unul dintre fișierele multiple. Acest lucru semnifică faptul că execuția aplicației nu este în întregime blocată în accesări de fișier ulterioare. Așa cum s-a descris anterior, explorarea în șarjă sau în paralel este planificarea simultană a unui grup de fișiere pentru explorare de către un sistem de calculator; de exemplu, planificarea simultană de fire de explorare multiple, câte un fir pentru fiecare fișier din grup, pentru execuție pe sistemul de calculator.
Acest tip de explorare este realizat prin detecția accesărilor de către aplicație la fișiere din cadrul unui director comun, utilizând accesările detectate pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun menționat, pe care aplicația poate ulterior să vrea să le acceseze, explorarea unuia sau mai multor grupuri de fișiere menționate pentru un software rău intenționat, înainte ca aplicația să încerce să acceseze fișierele grupului sau grupurilor. După explorarea unui grup de fișiere, un grup de fișiere ulterior poate fi identificat și/sau explorat.
Prin efectuarea de explorare în șarjă sau în paralel a unui grup de fișiere pe care aplicația le poate utiliza, șansele ca aplicația să fie blocată sau întreruptă în mod continuu de către o explorare de software rău intenționat este minimizată. Acest lucru apare deoarece aplicația poate accesa și utiliza fișierele explorate dintr-un grup, care acum nu necesită explorare. De fapt, dacă grupul corect de fișiere este identificat pentru fiecare explorare, va exista numai o întârziere a unei explorări de fișier și, după aceea, execuția aplicației nu ar trebui să fie blocată de către nicio explorare de software rău intenționat suplimentară, atunci când aplicația accesează fișierele explorate. Acest tip de explorare în șarjă sau în paralel minimizează întârzierea introdusă de către explorarea de software rău intenționat la acces, astfel optimizând performanța sistemului de calculator.
Fig. 2 ilustrează schematic un sistem 1 de calculator și un sistem 12 de calculator la distanță, în conformitate cu aplicații concrete ale invenției prezente. Sistemul 1 de calculator poate fi implementat ca o combinație de hardware și software de calculator. Sistemul 1 de calculator cuprinde o memorie 2, o memorie 3 intermediară, cu acces rapid (cache), un procesor 4 și un emițător-receptor 5. Memoria 2 stochează toate fișierele necesare pentru sistemul 1 de calculator. Fișierele stocate în memoria 2 includ diverse programe/fișiere executabile care sunt implementate de către procesorul 4, precum și oricare fișiere 6 de date.
RO 130379 Β1
Aplicațiile/programele/fișierele executabile stocate în memorie 2, și implementate de către 1 un procesor 4, includ o unitate 7 de detecție și o unitate 8 de explorare de software rău intenționat, fiecare dintre acestea putând fi subunități ale unei unități 9 antivirus care pot executa 3 software antivirus local, precum și sistemul 10 de fișiere și oricare alte programe/aplicații 11. Fișierele 6 de date stocate în memoria 2 pot include fișiere de date de aplicație, tabele de 5 acces la director, așa cum sunt definite aici, fișiere de date de definiție de software rău intenționat, fișiere care conțin reguli de analiză euristice, liste albe, liste negre etc. Memoria 3 7 cache furnizează o unitate de stocare temporară, pentru stocarea de date care trebuie să fie explorate de către unitatea 8 de explorator de software rău intenționat. Emițător-receptorul 9 5 poate fi utilizat pentru a comunica peste o rețea 13 internet/LAN cu un sistem 12 de calculator la distanță. Sistemul 12 de calculator la distanță poate furniza stocare de date și servicii 11 de aplicație la un sistem 1 de calculator. De exemplu, sistemul 12 de calculator la distanță poate fi un server de aplicație care furnizează aplicații de tipul Software ca un Serviciu 13 (Software as a Service - SaaS) la utilizatorul sistemului 1 de calculator.
Sistemul 12 de calculator la distanță este în mod tipic operat de către un furnizor de 15 diverse aplicații care sunt executate pe sistemul 12 la distanță, și utilizate la distanță de către utilizatorul sistemului 1 de calculator. Sistemul 12 de calculator la distanță poate fi implemen- 17 tat ca o combinație de hardware și software de calculator, cum este pentru sistemul 1 de calculator. Sistemul 12 de calculator la distanță cuprinde o memorie 14, un procesor 15, și 19 un emițător-receptor 16. în privința sistemului 1 de calculator, memoria 14 poate stoca fișiere care includ diverse aplicații/programe/fișiere executabile care sunt implementate de către un 21 procesor 15, precum și oricare fișiere 16 de date. Aplicațiile/programele/fișierele executabile stocate în memoria 14, și implementate de către procesorul 15, de asemenea, includ o 23 unitate 18 de detecție și o unitate 19 de explorator de software rău intenționat, fiecare dintre acestea putând fi subunități ale unei unități 20 antivirus care execută software-ul antivirus 25 local pe sistemul 12 la distanță. Emițător-receptorul 16 este utilizat pentru a comunica astfel cu sistemul 1 de calculator peste rețeaua 13. 27 în operațiune utilizatorul sistemului 1 de calculator poate executa aplicații local, sau poate executa aplicații pe sistemul 12 de calculator la distanță. Unitatea 8 de explorator 29 pentru software rău intenționat a sistemului 1 de calculator poate fi utilizată pentru a explora fișiere locale pentru un software rău intenționat din memoria 2, accesate de către aplicații 31 locale. Unitatea 19 de explorator de software rău intenționata sistemului 12 la distanță poate fi utilizată pentru a explora fișiere pentru software rău intenționat în memoria 14, accesată 33 de către aplicațiile sistemului 12 la distanță. Metodele de explorare a fișierelor din oricare dintre aceste sisteme pot fi bazate pe acelea în conformitate cu invenția prezentă. Trebuie 35 să fie apreciat faptul că aplicațiile concrete ale invenției, așa cum sunt descrise aici, pot fi implementate în sisteme de calcul independente sau legate la rețea prin intermediul siste- 37 melor de calcul distribuite, unde fișierele și aplicațiile sunt stocate și executate la distanță.
în particular, sistemele 1,12 de calculator sunt configurate pentru a explora fișierele 39 pentru software rău intenționat în timpul execuției unei aplicații sau a aplicațiilor care se execută pe oricare dintre procesoarele 4,15 în mod corespunzător. Sistemele 1,12 de cal- 41 culator includ unitățile de detecție 7, 18, în mod corespunzător, pentru detecția accesărilor de către aplicație la fișierele din cadrul unui director comun, și utilizarea accesărilor detectate 43 pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun menționat, pe care aplicația poate să dorească să le acceseze ulterior, și instruirea unităților 8,19 45 de explorare, în mod corespunzător, pentru explorarea unuia sau mai multor grupuri de fișiere menționate pentru un software rău intenționat, înainte ca aplicația să încerce să 47
RO 130379 Β1 acceseze fișierele grupului sau grupurilor. Așa cum este ilustrat, sistemele 1, 12 de calculator deja includ unitățile 8,19 de explorare, pentru explorarea unuia sau mai multor grupuri de fișiere menționate ca răspuns la instruirea unităților 7,18 de detecție, în mod corespunzător. Trebuie să fie apreciat faptul că, deși explorarea unităților 8, 19 este implementată în cadrul unităților 9, 20 antivirus, în mod corespunzător, unitățile 8, 9 de explorare ar putea fi de asemenea implementate pe alte sisteme de calculator/servere, astfel încât unitatea 7 sau 18 de detecție trimite instrucțiuni peste rețeaua 13, pentru a avea grupurile de fișiere, care sunt unul sau mai multe, explorate.
Trebuie să fie apreciat faptul că aplicațiile concrete ale invenției pot fi utilizate într-un sistem de calcul de Nor sau de calcul distribuit. De exemplu, o aplicație poate executa pe sistemul 12 de calculator la distanță, și accesează fișiere de la un centru de date la distanță (nu este prezentat) unde detecția accesărilor de fișier este efectuată la centrul de date, dar explorarea de software rău intenționat este efectuată la sistemul 12 de calculator la distanță. Sistemul 12 de calculator la distanță poate efectua explorare de „Nor, care este un exemplu de furnizare a capacității de explorare pentru un software rău intenționat, peste o rețea sau un sistem de calculator distribuit. Pentru a minimiza suprasarcina implicată în explorarea fișierelor peste o rețea, adică minimizarea lățimii de bandă, explorarea poate fi limitată la verificarea meta-datelor de fișier stocate în centrul de date la distanță (serverul la distanță sau partea de susținere (backend)). Meta-datele ar putea fi create pentru fiecare fișier de la un șir de octeți de comprimare (hash) (de exemplu, shal), calculat de la datele fișierului sau de la porțiuni specifice ale datelor fișierului. Numai meta-datele sunt încărcate și explorate de către sistemul 12 de calculator la distanță atunci când acesta detectează accesări generate de către o aplicație de utilizator la fișiere. Sistemul 1 de calculator gazdă al utilizatorului ar putea interoga sistemul 12 de calculator la distanță în legătură cu datele fișierului explorat, și recepționează starea pe baza unei explorări de verificare limitate (curățare, nume fișier infectat și software rău intenționat).
Aplicațiile concrete ale invenției permit explorarea paralelă (de exemplu, explorare cu fire multiple) pe un sistem 1 de calcul sau sistem 14 de calcul la distanță, pentru solicitări de explorare cum ar fi solicitări de explorare la acces de deschidere de fișier numai pentru citire. Metodele descrise aici sunt bazate pe analizarea comportamentului uneia sau mai multor aplicații, pentru a găsi dependențe atunci când o aplicație generează acces secvențial pentru fișiere multiple dintr-un director de lucru curent al aplicației, sau un director comun. Termenul director comun se referă la aceeași locație logică din memorie (de exemplu, dispozitiv de disc) unde unul sau mai multe fișiere sunt stocate. Performanța este optimizată datorită faptului că aplicațiile accesează în mod comun mai multe fișiere din același dosar sau director. Dacă software-ul antivirus recunoaște acest tip de model de comportament de aplicație atunci acesta poate efectua explorare în avans asupra unui grup de fișiere pe care aplicația poate ulterior dori să le acceseze sau să le utilizeze. Software-ul antivirus efectuează apoi explorare la acces pe grupuri de fișiere multiple pentru un software rău intenționat.
Fig. 3 ilustrează procesul de efectuare de explorare de software rău intenționat la acces în șarjă sau în paralel, în conformitate cu o aplicație concretă a invenției prezente. Software-ul antivirus grupează fișiere multiple împreună în dependență de comportamentul aplicațiilor care accesează fișierele, și execută explorare de căutare în avans pe grupuri de fișiere multiple. Rezultatele explorărilor sunt memorate în cache și, dacă aplicația accesează fișierul explorat prin căutare în avans, aceasta recepționează un răspuns de la memoria cache despre faptul că fișierul a fost explorat, și poate continua să utilizeze fișierul.
RO 130379 Β1 în practică, explorarea normală de fișier este implementată în modul de utilizator și 1 software-ul antivirus interceptează accesările de fișier de nivel redus de către aplicație, și trimite o solicitare de explorare la modul de utilizator. Aceasta este o operațiune scumpă și 3 necesită comutație de context (nucleu la mod de utilizator și din nou înapoi). Trebuie să fie apreciat faptul că metodele de explorare, așa cum sunt descrise aici, reduc apelurile înapoi 5 de la aplicație la software-ul antivirus, care îmbunătățesc în mod considerabil performanța.
De exemplu, software-ul antivirus are un driver de filtru de nucleu care interceptează aplicații 7 care încearcă să acceseze sau să deschidă fișiere. Driverul de filtru de nucleu trimite o solicitare la modul de utilizator pentru a efectua o sarcină de explorare pe fișierul pe care o 9 aplicație încearcă să-l acceseze. Serviciul de explorare care execută în modul de utilizator efectuează o explorare de software rău intenționat reală pe fișier, și notifică rezultatele și 11 starea explorării înapoi la driverul de filtru de nucleu. Pe baza acestor rezultate driverul de filtru de nucleu permite sau respinge aplicației accesul la fișier. 13
Cu referință la fig. 3, atunci când aplicația deschide fișierul denumit filei, software-ul antivirus interceptează solicitarea aplicației de a deschide fișierul 1. Software-ul antivirus, 15 care a determinat faptul că o explorare în șarjă sau în paralel este necesară de la comportamentul aplicației, efectuează o explorare de șarjă sau paralelă pe un grup de fișiere, care 17 poate include fișierul solicitat (de exemplu, filei, file2 și file3). Odată ce filei, file2 și file3 au fost explorate, rezultatele sunt memorate în cache, și aplicația poate continua să deschidă 19 și să utilizeze filei în mod normal. Deoarece file2 și file3 au fost de asemenea explorate, atunci când aplicația deschide aceste fișiere aceasta recepționează un răspuns de la 21 memoria cache care permite aplicației să deschidă și să utilizeze imediat file2 și file3 (în dependență de răspuns). în acest exemplu, explorarea în șarjă sau în paralel a grupului de 23 fișiere permite aplicației să execute fără o întrerupere suplimentară.
Deși explorarea în șarjă sau paralelă a unui grup de fișiere poate îmbunătăți în mod 25 substanțial performanța generală a unei aplicații sau a aplicațiilor care execută pe un sistem de calcul, performanța este îmbunătățită în mod substanțial dacă grupul de fișiere explorate 27 include numai acele fișiere care sunt necesare pentru aplicație/aplicații. Explorarea fișierelor care nu sunt utilizate de către o aplicație poate avea impact asupra performanței, cu excepția 29 cazului în care acel fișier va fi utilizat de către o altă aplicație. De exemplu, dacă software-ul antivirus explorează în avans prea multe fișiere, care nu vor fi accesate de către oricare apli- 31 cație, atunci acesta numai reduce performanța generală deoarece resursele calculatorului sunt utilizate pentru explorarea fișierelor nenecesare. Următoarele aplicații concrete ale 33 invenției prezente descriu metode pentru minimizarea explorărilor de fișier nenecesare, ceea ce maximizează performanța aplicației sau a aplicațiilor și a sistemului de calcul. 35
Fig. 4 reprezintă o diagramă de flux care ilustrează suplimentar procesul de explorare pentru un software rău intenționat în timpul execuției uneia sau mai multor aplicații pe un 37 sistem de calculator în conformitate cu o aplicație concretă a invenției prezente. Procesele efectuate de către o unitate de explorare sau un software antivirus pentru fiecare aplicație 39 care accesează fișiere din cadrul unui director comun sunt schițate după cum urmează:
A1. Detecția accesărilor de către aplicație la fișierele din cadrul unui director comun. 41 A2. Utilizarea accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun menționat, pe care aplicația poate dori ulterior să le 43 acceseze.
A3. Explorarea unuia sau mai multor grupuri de fișiere menționate pentru un software 45 rău intenționat înainte ca aplicația să încerce să acceseze fișierele grupului sau grupurilor.
RO 130379 Β1
Cu privire la pasul A1, detecția accesărilor de către aplicație la fișierele din cadrul directorului comun poate include recepția unei solicitări de explorare pentru explorarea unui fișier accesat de către aplicație (fișierul curent accesat), din cadrul directorului comun. Detecția accesului la fișier de către aplicație poate, de asemenea, include intercepția accesului la fișier realizată de către aplicație, generarea solicitării de explorare și trimiterea solicitării de explorare, atunci când explorarea este solicitată, la software-ul antivirus, pentru explorare.
Cu privire la pasul A2, utilizarea accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere poate include pasul de selecție a grupului sau grupurilor de fișiere pe baza tipurilor de fișier a fișierelor accesate de către aplicație. Acest lucru poate implica selecția de fișiere care pun în corespondență tipurile de fișier ale fișierelor accesate de către aplicație, cu tipurile de fișier sau fișierele din cadrul directorului comun. Suplimentar, fișierele din cadrul grupului sau grupurilor de fișiere pot fi selectate de la fișierele din cadrul directorului comun care necesită explorare. Fișierul curent detectat ca fiind accesat de către aplicație poate fi adăugat la grupul de fișiere pentru explorare, dacă fișierul curent necesită explorare.
Cu scopul de a utiliza accesările detectate, și pentru a declanșa explorarea grupului sau grupurilor de fișiere, pasul A2 poate include determinarea numărului de accesări detectate din cadrul directorului comun, și utilizarea rezultatelor pentru a declanșa pasul de explorare a grupurilor, care sunt unul sau mai multe. Declanșarea explorării poate apărea atunci când numărul de accesări detectate atinge un prag N. Acest prag ar putea fi un prag predeterminat sau un prag dinamic determinat de către software-ul antivirus, și comportamentul observat al acestuia la una sau mai multe aplicații care accesează fișierele din cadrul directorului comun. Fișierul curent detectat pentru a fi accesat de către una sau mai multe aplicații poate fi adăugat la grupul de fișiere. Acest lucru poate apărea înainte sau atunci când pasul de explorare este declanșat. Fișierul curent accesat poate corespunde la fișierul care corespunde la solicitarea de explorare recepționată. Fișierul curent este apoi adăugat la grupul de fișiere pentru explorare. Grupul de fișiere este explorat pe baza solicitării de explorare recepționate de către antivirus pentru fișierul curent. Cu scopul de a evita explorarea nenecesară atunci când aplicațiile accesează un director nefrecvent, pasul de detecție a numărului de accesări poate include resetarea numărului de accesări detectate atunci când o primă perioadă de timp a trecut, și pasul de explorare nu a fost declanșat.
Așa cum s-a explicat mai jos, utilizarea accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere poate include întreținerea unei liste de tipuri de fișier ale fișierelor detectate accesate, și pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de selecție a fișierelor pe baza listei de tipuri de fișier. Selectarea fișierelor include suplimentar punerea în corespondență a listei de tipuri de fișiere ale fișierelor accesate de către aplicație, cu tipurile de fișier ale fișierelor din cadrul unui director comun. Software-ul antivirus poate întreține o listă pentru fiecare director comun care are fișiere accesate în mod frecvent de către una sau mai multe aplicații.
în privința pasului A3, utilizarea accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere poate include urmărirea numărului de accesări detectate și, de la rezultate, declanșarea pasul A3. Declanșarea pasului A3 ar putea apărea atunci când numărul de accesări detectate atinge un prag predeterminat sau un prag de explorare. Identificarea unuia sau mai multor grupuri de fișiere pentru explorare poate include selecția fișierelor din cadrul directorului comun pe baza tipurilor de fișier care au fost accesate anterior sau sunt accesate de către aplicație. Ca alternativă, o selecție a grupurilor poate fi determinată de la o listă stocată a tipurilor sau numelor de fișiere accesate de către de către diverse aplicații din cadrul directorului comun. Suplimentar, pasul A3 poate include terminarea
RO 130379 Β1 exploatării după ce o perioadă de timp predeterminată a trecut, de exemplu, dacă directorul 1 a fost accesat în mod frecvent, dar nu a fost accesat pentru o perioadă de timp care justifică terminarea explorării directorului, atunci explorarea unuia sau mai multor grupuri de fișiere 3 ar putea fi terminată pentru a evita procesarea nenecesară. Acest lucru poate apărea atunci când o a doua perioadă de timp a trecut după ce pasul de explorare a fost declanșat. 5
Urmărirea numărului de accesări detectate (sau numărul de atingeri) la directorul comun ajută să se determine dacă aplicațiile accesează în mod activ directorul. Dacă direc- 7 torul are un „număr de atingeri suficient de înalt datorită faptului că este accesat peste o perioadă scurtă de timp, atunci, pentru accesările de fișier ulterioare din director, software-ul anti- 9 virus poate explora în mod simultan o șarjă de fișiere selectate de la tipurile de fișier de explorare prevalente, sau de la tipul de fișier accesat și fișierul curent accesat. Așa cum s-a 11 menționat anterior, explorarea în mod simultan poate fi realizată prin planificarea în mod simultan de fire de explorare multiple pentru explorarea fișierelor, adică explorarea în paralel sau 13 în șarjă. Explorarea este declanșată odată ce numărul de accesări detectate atinge un prag.
Explorarea trebuie să fie efectuată pe un grup de fișiere dacă se detectează faptul 15 că fișierul curent pe care o aplicație îl detectează este un fișier neexplorat. în acest caz, accesul de fișier este detectat sau interceptat de către un driver de filtru nucleu, care gene- 17 rează o solicitare de explorare care este recepționată de către software-ul antivirus pentru explorarea fișierului accesat curent. în locul explorării numai a fișierului neexplorat, antivi- 19 rusul nu numai că explorează fișierul neexplorat care a fost accesat, ci, de asemenea, încarcă un grup sau grupuri de fișiere pentru explorare. Software-ul antivirus execută explo- 21 rarea solicitării de explorare curente (solicitarea de explorare pentru fișierul curent accesat) și, în mod simultan, planifică (sau execută) explorarea de mai multe „solicitări de explorare 23 purtate în spate a fișierelor de la o listă încărcată. Lista încărcată este o listă de fișiere generate de către antivirus care poate fi accesată de la director - aceasta poate include tipuri de 25 fișier accesate în mod prevalent. Antivirusul încarcă o selecție de fișiere de la director pe baza listei încărcate. 27
De exemplu, dacă un director (sau un dosar) are fișierele A, B, C, D, E, atunci la momentul de timp la care fișierele A și B au fost explorate se poate considera faptul că acest 29 director a fost accesat în mod frecvent. Dacă C, D și E au fost puse pe lista încărcată, atunci când explorarea este declanșată de către accesările frecvente, antivirusul încarcă fișierele 31 C, D, E (A și B sunt omise deoarece acestea sunt deja explorate). Dacă se detectează faptul că fișierul C este accesat de către aplicație, atunci o solicitare de explorare pentru fișierul C 33 va fie recepționată de către antivirus pentru explorare, care explorează fișierul C împreună cu explorarea fișierelor D și E. Aceasta semnifică faptul că, atunci când fișierele D și E sunt 35 ulterior accesate de către o aplicație, solicitările de explorare pentru aceste fișiere nu vor fi generate de către driverul de filtru deoarece aceste fișiere au fost deja explorate. 37
Grupul sau grupurile de fișiere sunt fișiere selectate de la directorul pe care aplicație poate ulterior să vrea să le acceseze. Explorarea grupului sau grupurilor „duce în spate 39 explorarea fișierului accesat curent, adică duce în spate solicitarea de explorare a fișierului curent. Acest lucru împiedică solicitări de explorare viitoare, care sunt generate sau realizate 41 pentru fișierele grupului.
Chiar dacă unele dintre fișierele selectate pentru explorare „dusă în spate nu sunt 43 accesate de către aplicație, pierderea de performanță într-o singură șarjă „dusă în spate este neglijabilă datorită explorării în șarjă sau în paralel. Atunci când o aplicație efectuează 45 procesare lungă (de exemplu, copierea unui întreg dosar de date), acest tip de explorare cu căutare în avans crește considerabil performanța generală. Software-ul antivirus estimează 47
RO 130379 Β1 multitudinea de fișiere care trebuie să fie accesate din director prin selecția fișierelor celor mai comune pe care aplicațiile le-au accesat din director peste o perioadă de timp particulară. Acest lucru poate fi efectuat prin întreținerea unui tabel la momentul execuției de accesări de director, care depinde de comportamentul diverselor aplicații care sunt executate.
Fig. 5 reprezintă un tabel de acces la director care ilustrează actualizarea și întreținerea accesărilor detectate de către aplicații la fișiere din cadrul unuia sau mai multor directoare, în conformitate cu aplicații concrete ale invenției prezente. Tabelul de acces la director poate fi implementat ca un tabel de căutare la momentul execuției stocat în memorie. Tabelul este întreținut de către software-ul antivirus pentru utilizare în determinarea numărului de ori de care fișierele din director sunt accesate.
Software-ul antivirus întreține tabelul de acces la director la momentul execuției (sau tabelul de acces la director), care urmărește accesul fișierelor în interiorul directoarelor de către aplicații. în această aplicație concretă, tabelul de acces la director are următoarele câmpuri:
- drumul de director, care menține numele sau locația logică a directorului în care unul sau mai multe fișiere sunt accesate;
- lista de extensii accesate, care conține o listă a extensiilor de fișier a fișierelor care au fost accesate și explorate din director;
- numărul de atingeri, care prezintă numărul de accesări la fișier din director; și
- starea elementului, care definește ciclul de viață al elementului directorului.
în această aplicație concretă, câmpul de Stare de Elementare 3 stări logice: Remarcat, Colectat și Procesat. Starea Remarcat (adică o stare de preexplorare) indică faptul că fișierul a fost accesat în director, dar că numărul de atingeri ale directorului nu este încă suficient pentru a garanta explorarea paralelă sau în șarjă. Odată ce numărul de atingeri ajunge la un prag, Starea de Element a directorului este schimbată la starea Colectat (adică o stare de explorare). Starea Colectat semnifică faptul că directorul a fost sau este accesat în mod activ de către o aplicație, ceea ce garantează explorarea paralelă sau în șarjă. Software-ul antivirus preîncarcă grupuri de fișiere având extensii de fișier listate în Lista de Extensii Accesate, sau extensii de fișier ale fișierului curent care este accesat pentru explorare paralelă sau în șarjă. Starea Procesat semnifică faptul că explorarea cu căutare în avans a fost deja efectuată pentru director, și fișierele ar trebui să fie explorate în mod normal.
Fiecare stare are o perioadă de valabilitate, după expirare elementul de director este eliminat din tabelul de acces, de exemplu, dacă niciun fișier nu este accesat dintr-un director pentru o perioadă de timp, atunci elementul este considerat ca fiind expirat. Starea Remarcat are o perioadă de valabilitate scurtă, și servește pur și simplu pentru a recunoaște directoarele care pot fi accesate în mod frecvent. Stările Colectat și Procesat au perioade mai lungi de valabilitate, datorită frecvenței accesărilor și pentru a evita reexplorarea nenecesară a fișierelor accesate din director. Trebuie să fie apreciat faptul că aceste perioade pot fi variate de către software-ul antivirus pe baza oricărei scale de timp.
Este de apreciat faptul că respectivul câmp de Stare de Element este utilizat pentru a exclude reîncărcarea și explorarea unui director dacă acesta a fost procesat numai recent (de exemplu, cu 10 min în urmă). Alte implementări ale tabelului de acces la director pot exclude acest câmp, și se bazează pe temporizatoare sau alte mijloace pentru a împiedica un director de la a fi explorat într-un mod prea regulat după ce acesta a fost procesat.
Fig. 6 reprezintă o diagramă de flux care ilustrează suplimentar procesul de utilizare a tabelului din fig. 5 în efectuarea explorării de software rău intenționat la acces în paralel sau în șarjă, în conformitate cu o aplicație concretă a invenției prezente. Pașii metodei sunt efectuați de către software-ul antivirus după cum urmează:
RO 130379 Β1
Β1. Pentru fiecare fișier interceptat pentru explorarea de software rău intenționat, de 1 exemplu, o solicitare de explorare este generată pentru o deschidere de fișier, se continuă la pasul B2, pentru a verifica tabelul de acces. 3
B2. Verifică dacă directorul fișierului este în tabelul de acces; dacă directorul nu este în tabelul de acces, atunci se continuă la pasul B3, pentru a crea un element de director, 5 altfel se continuă la pasul B4.
B3. Creează un element de tabel de acces pentru directorul de fișier, și inițializează 7 Starea de Element a directorului la Remarcat, Numărul de Atingeri = 0, extensia de fișier a fișierului este adăugată la Lista de Extensii de Fișier (sau lista de tipuri de fișier explorată), 9 continuă să efectueze explorare de software rău intenționat normală a fișierului accesat.
B4. Verifică dacă Starea Elementului directorului este în starea Remarcat, dacă 11 Starea Elementului este Remarcat atunci se continuă la pasul B5, altfel se continuă la pasul B8. 13
B5. Incrementează Numărul de Atingeri ce reprezintă numărul de accesări de fișier din director prin diverse aplicații, și adaugă extensia de fișier a fișierului la Lista de Extensii 15 Accesate.
B6. Verifică dacă Numărul de Atingeri (HC) ajunge la o valoare de prag N (de 17 exemplu, HC >= N, unde A/=5). Dacă Numărul de Atingeri ajunge la valoarea de prag, atunci se continuă la pasul B7, altfel explorarea de software rău intenționat normală este efectuată 19 pe fișierul accesat.
B7. Starea de Element a directorului este modificată la starea Colectat, și procesul 21 continuă la pasul B8, unde software-ul antivirus încarcă un grup de fișiere care include fișierul accesat pentru explorarea în paralel sau în șarja de la director. 23
B8. Verifică dacă Starea de Element a directorului este în starea Colectat; dacă Starea Elementului este Colectat, atunci continuă la pasul B9, altfel continuă la pasul B10.25
B9. Efectuează o explorare de software rău intenționat în paralel (sau în șarjă) pe un grup sau o selecție de fișiere neexplorate, care include fișierul curent din director.27
Următoarele reguli pot fi utilizate pentru selecția unui grup de fișiere pentru explorarea în șarjă sau în paralel:29
- selectează fișiere cu extensii sau tipuri de fișier care corespund la fișierul accesat în mod curent; sau31
- selectează fișiere cu extensii sau tipuri de fișier listate în Lista de Extensii Accesate.
B10. Verifică dacă mai multe grupuri de fișiere există în director. Fișierele pot fi 33 selectate din lista încărcată. Dacă există mai multe grupuri de fișiere, metoda continuă la pasul B11, altfel metoda continuă la pasul B12. 35
B11. Un alt grup de fișiere neexplorate este selectat din lista încărcată, și o explorare de software rău intenționat în șarjă sau în paralel este efectuată; metoda continuă la pasul 37 B10. Deși software-ul antivirus este intenționat pentru a evita blocarea execuției unei aplicații, acest lucru poate fi realizat dacă suportul de nucleu multiplu este capabil de sarcini 39 multiple între aplicație și software-ul antivirus. Aceasta este explorarea în șarjă sau în paralel a fișierelor neexplorate suplimentare din listă, care ar putea fi efectuată în fundal astfel încât 41 aplicația să poată continua.
B12. Deoarece nu mai există fișiere încărcate sau fișiere neexplorate având extensii 43 de fișier listate în Lista de Extensii de Acces în director, atunci Starea de Element a directorului este modificată la starea Procesat. Dacă un director este găsit în starea Procesat, pro- 45 cesul efectuează o explorare de software rău intenționat normală a fișierului dacă este necesar. 47
RO 130379 Β1
Rezultatele explorărilor de software rău intenționat sunt adăugate în memoria cache de explorare, și sunt raportate la aplicație atunci când aceasta accesează un fișier explorat din director, permițând aplicației să utilizeze imediat fișierul accesat.
Fig.7 reprezintă o diagramă de flux alternativă, care ilustrează explorarea de software rău intenționat la acces în șarjă sau în paralel, în conformitate cu o aplicație concretă a invenției prezente. Pașii de metodă de la B1 la B12 care sunt efectuați de către software-ul antivirus sunt similari cu cei ai fig. 6, cu excepția pașilor B10 și B11 (B11 a fost eliminat). Pasul B10 este descris după cum urmează:
B10. Verifică dacă mai multe grupuri de fișiere există în director. Fișierele pot fi selectate de la lista încărcată. Dacă mai multe grupuri de fișiere există, metoda continuă la explorarea de software rău intenționat normal, până când un fișier suplimentar este accesat de către aplicația care solicită explorare, unde metoda începe din nou la pasul B1.
Motivul pentru necontinuarea de a efectua o explorare în paralel suplimentară a altor grupuri de fișiere este acela că aplicația are nevoie să acceseze numai un număr limitat de fișiere din director; acest proces împiedică software-ul antivirus de la efectuarea unei explorări în șarjă sau în paralel în fundal pe toate fișierele listate în Lista de Extensii de Acces, până când este absolut necesar, atunci când un alt fișier este accesat de către o aplicație. Acest lucru, de asemenea, minimizează numărul de întreruperi de explorare de software rău intenționat în timpul execuției unei aplicații.
Exemplul următor ilustrează modul în care metoda menționată mai sus poate opera atunci când se copiază o multitudine de fișiere de la un director comun. Sunt făcute următoarele presupuneri:
a) directorul comun are o colecție de fișiere *.exe și *.dll;
b) tabelul de acces este întreținut de către programul antivirus;
c) tabelul de acces deja are un element de director în legătură cu directorul comun;
d) un număr de atingeri ce reprezintă numărul de accesări și o listă de extensii de fișier accesate din directorul comun sunt întreținute.
Fluxul de logică este după cum urmează:
1. primele câteva fișiere „exe accesate sunt explorate în mod normal până când directorul colectează un număr suficient de atingeri, adică numărul de atingeri ajunge la un prag;
2. cât de curând numărul de atingeri ajunge la un prag, software-ul antivirus încarcă fișierele din director;
3. oricare solicitare de explorare următoare de fișiere „exe din director declanșează o explorare „de ducere în spate a altor fișiere „exe (un grup de fișiere) din director;
4. după ce copierea este terminată,elementul de director expiră după o perioadă de timp.
Mai în detaliu, atunci când operațiunea de copiere, copy <de la directorul comun>*.exe <la un alt director> este efectuată, comanda de copiere (aplicația) va accesa fișierele „exe în mod secvențial, pentru a citi și a copia date în celălalt director. Atunci când primul fișier „exe este accesat de la directorul comun, o solicitare de explorare va fi generată pentru software-ul antivirus. Dacă directorul comun nu are un element de director în tabelul de acces, software-ul antivirus va crea și va inițializa un element de director pentru directorul comun, numărul de atingeri al elementului de director ce reprezintă numărul de accesări de fișier este inițializat, și tipul de fișier, în acest caz „exe, este adăugat la o listă de extensie în legătură cu elementul de director. Altfel, numărul de atingeri al elementului de director este incrementat, și tipul de fișier „exe este adăugat la lista de extensie dacă acesta nu este deja în lista de extensie.
RO 130379 Β1
Primul fișier „exe accesat este apoi explorat în mod normal pentru software rău 1 intenționat, și utilizat de către comanda copy. Fișiere „exe ulterioare sunt accesate, solicitări de explorare sunt realizate, și sunt explorate normal de către software-ul antivirus, și numărul 3 de atingeri pentru elementul directorului comun este incrementat pe fiecare acces până când elementul de director în legătură cu directorul comun colectează un număr suficient de 5 atingeri. Cât de curând numărul de atingeri ajunge la un prag, software-ul antivirus începe să încarce sau determină unul sau mai multe grupuri de fișiere „exe neexplorate de la direc- 7 torul comun. Fiecare solicitare de explorare următoare a unui fișier „exe neexplorat declanșează antivirusul pentru a efectua explorarea în paralel (adică în mod substanțial explorare 9 simultană) a fișierului „exe neexplorat și a unuia dintre grupurile de fișiere neexplorate de la directorul comun. Explorarea continuă până când fișierele „exe relevante din directorul 11 comun au fost procesate, sau comanda copy se termină. După ce comanda copy se termină, elementul de director din tabelul de acces va expira într-un cadru de timp predeterminat, și 13 este eliminat din tabelul de acces la expirare.
în ceea ce privește sistemele de calcul, așa cum sunt descrise aici, fiecare poate 15 efectua explorare în șarjă sau în paralel a unui grup de fișiere selectate dintr-o multitudine de fișiere accesate de la un director comun pentru software rău intenționat. Procesoarele 17 unor astfel de sisteme sunt configurate pentru a executa instrucțiuni de program de calculator pe baza metodelor descrise aici, astfel de instrucțiuni fiind conținute într-un mediu care 19 poate fi citit de calculator, cum ar fi o memorie. Instrucțiunile programului de calculator pot fi citite în memorie de la un alt mediu care poate fi citit de calculator, sau de la un alt dispo- 21 zitivprin intermediul unei interfețe de comunicație. Instrucțiunile conținute în memorie fac ca procesorul sistemului de calculator să efectueze procedurile sau metodele așa cum este des- 23 cris aici. Cu toate acestea, ca alternativă, circuite cablate hardware pot fi utilizate în locul sau în combinație cu instrucțiunile de program de calculator, pentru a implementa procese con- 25 sistente cu invenția prezentă. Astfel, invenția prezentă nu este limitată la nicio combinație specifică de circuite hardware și/sau de software. 27 în particular, un program de calculator include mijloace de cod de program de calculator adaptate pentru a efectua pașii de detecție a accesărilor de către aplicație la fișierele 29 din cadrul unui director comun, utilizând accesările detectate pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun menționat, pe care aplicația poate dori 31 ulterior să le acceseze, și instruind explorarea grupurilor de fișiere menționate, care sunt unul sau mai multe, pentru software rău intenționat, înainte ca aplicația să încerce să acceseze 33 fișierele grupului sau grupurilor. Programul de calculator poate suplimentar include mijloace de cod de program de calculator adaptate suplimentar pentru a efectua explorarea unuia sau 35 mai multor grupuri de fișiere menționate. Programul de calculator poate fi încorporat pe un mediu care poate fi citit de calculator. 37
Suplimentar, metodele descrise mai sus pot exploata capacitățile de multi-procesor, sarcini multiple, fire de execuție multiple și hiper fire de execuție (hyper-threading) ale siste- 39 melor de calculator moderne (așa cum este descris aici și, de asemenea, în documentul Tehnologia Hyper-Threading de la Intel®, Ghidul Utilizatorului Tehnic (Inter® 41 Hyper-Threading Technology, Technical User's Guide), ianuarie 2003), pentru a îmbunătăți suplimentar performanța unui sistem de calculator atunci când se implementează explorare 43 de software rău intenționat la acces la deschidere de fișier numai pentru citire, prin permiterea ca explorarea unuia sau mai multor grupuri de fișiere să fie paralelizată. 45
Se va aprecia de către persoana cu calificare în domeniu faptul că diverse modificări pot fi realizate la aplicațiile concrete descrise mai sus, fără îndepărtarea de la scopul 47 invenției prezente.

Claims (21)

1. Metodă de explorare împotriva unui software rău intenționatîn timpul execuției unei aplicații pe un sistem de calculator, metoda cuprinzând:
- întreținerea unui tabel de acces la director, pentru urmărirea accesului fișierelor din interiorul unui director comun care este accesat de către aplicație, unde tabelul de acces la director include drumul directorului care menține un nume sau o locație logică a directorului comun, un număr de atingeri care indică numărul de accesări de fișier la directorul comun de către aplicație, și o stare de acces care indică dacă directorul comun este în una dintre următoarele stări: starea de preexplorare, starea de explorare și starea de explorat;
- detectarea accesărilor de către aplicație a fișierelor din cadrul directorului comun, și actualizarea numărului de atingeri;
- modificarea stării de acces a directorului comun de la starea de preexplorare la o stare de explorare atunci când numărul de atingeri ajunge la un prag predeterminat;
- utilizarea accesărilor detectate și a numărului de atingeri pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun, pe care aplicația poate ulterior dori să le acceseze în timpul execuției aplicației;
- declanșarea de explorare paralelă sau în serie a unuia sau mai multor grupuri de fișiere, împotriva unui software rău intenționat, în timpul execuției aplicației și înainte ca aplicația să încerce să acceseze fișierele grupului sau grupurilor, unde pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de adăugare a fișierului curent detectat pentru a fi accesat de către aplicație la unul sau mai multe grupuri de fișiere pentru explorare, atunci când fișierul curent necesită explorare; și
- actualizarea stării de acces a directorului comun de la starea de explorare la starea de explorat, atunci când toate cele unul sau mai multe grupuri de fișiere identificate din directorul comun au fost explorate împotriva atacurilor de software rău intenționat.
2. Metodă în conformitate cu revendicarea 1, în care pasul de utilizare a accesărilor detectate pentru a identifica grupurile de fișiere, care sunt unul sau mai multe, include pasul de selecție a grupului sau grupurilor de fișiere pe baza tipurilor de fișier ale fișierelor accesate de către aplicație.
3. Metodă în conformitate cu revendicarea 2, în care pasul de selecție a fișierelor include suplimentar punerea în corespondență a tipurilor de fișier accesate de către aplicație cu tipurile de fișier ale fișierelor din cadrul directorului comun.
4. Metodă în conformitate cu oricare dintre revendicările de la 1 la 3, în care fișierele din cadrul grupului sau grupurilor de fișiere sunt fișiere care necesită explorare.
5. Metodă în conformitate cu oricare dintre revendicările de la 1 la 4, în care pasul de utilizare a accesărilor detectate include pasul de determinare a numărului de accesări detectate în cadrul directorului comun, și utilizarea rezultatelor pentru a declanșa pasul de explorare a acelui/acelor unul sau mai multe grupuri.
6. Metodă în conformitate cu revendicarea 5, în care pasul de declanșare a pasului de explorare apare atunci când numărul de accesări detectate atinge pragul predeterminat.
7. Metodă în conformitate cu revendicările 5 sau 6, în care utilizarea accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere include pasul de adăugare a fișierului curent detectat ca fiind accesat de către aplicație, la grupul de fișiere, atunci când pasul de explorare este declanșat.
8. Metodă în conformitate cu oricare dintre revendicările de la 5 la 7, în care determinarea numărului de accesări detectate include pasul de resetare a numărului de accesări detectate atunci când o primă perioadă de timp a trecut, și pasul de explorare nu a fost declanșat.
RO 130379 Β1
9. Metodă în conformitate cu oricare dintre revendicările de la 5 la 8, în care pasul 1 de explorare a unuia sau mai multor grupuri de fișiere include pasul de terminare a explorării grupului sau grupurilor atunci când o a doua perioadă de timp a trecut, după ce pasul de 3 explorare a fost declanșat.
10. Metodă în conformitate cu oricare dintre revendicările de la 1 la 9, în care pasul 5 de utilizare a accesărilor detectate pentru a identifica unul sau mai multe grupuri de fișiere include pasul de întreținere a unei liste de tipuri de fișier ale fișierelor detectate accesate, și 7 pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de selecție a fișierelor pe baza listei de tipuri de fișier. 9
11. Metodă în conformitate cu revendicarea 10, în care pasul de selecție a fișierelor include suplimentar punerea în corespondență a listei de tipuri de fișier a fișierelor accesate 11 de către aplicație cu tipurile de fișier ale fișierelor din cadrul directorului comun.
12. Metodă în conformitate cu revendicările 10 sau 11, în care fișierele din cadrul gru- 13 pului sau grupurilor de fișiere sunt fișiere din cadrul directorului comun care necesită explorare. 15
13. Metodă în conformitate cu oricare dintre revendicările de la 10 la 12, în care pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de adăugare a fișierului 17 curent detectat pentru a fi accesat de către aplicație, la un grup de fișiere pentru explorare.
14. Metodă în conformitate cu oricare dintre revendicările de la 1 la 13, în care pasul 19 de detecție de accesări de către aplicație la fișierele din cadrul directorului comun include recepția unei solicitări de explorare pentru explorarea unui fișier accesat de către aplicație 21 din cadrul directorului comun.
15. Metodă în conformitate cu revendicarea 14, în care pasul de identificare a unuia 23 sau mai multor grupuri de fișiere include pasul de adăugare a fișierului care corespunde la solicitarea de explorare la grupul de fișiere pentru explorare. 25
16. Program de calculator pentru explorarea software-ului rău intenționat în timpul execuției unei aplicații pe un sistem de calculator, care cuprinde mijloace de cod de program 27 de calculator adaptate pentru a efectua pașii următori:
- întreținerea unui tabel de acces la director, pentru urmărirea accesului fișierelor din 29 interiorul unui director comun care este accesat de către aplicație, unde tabelul de acces la director include drumul directorului care menține un nume sau o locație logică a directorului31 comun, un număr de atingeri care indică numărul de accesări de fișier la directorul comun de către aplicație, și o stare de acces care indică dacă directorul comun este în una dintre33 următoarele stări: starea de preexplorare, starea de explorare și starea de explorat;
- detecția accesărilor de către aplicație la fișierele din cadrul directorului comun, și35 actualizarea numărului de atingeri;
- modificarea stării de acces a directorului comun de la starea de preexplorare la o 37 stare de explorare atunci când numărul de atingeri atinge un prag predeterminat;
- utilizarea accesărilor detectate și a numărului de atingeri pentru a identifica unul sau 39 mai multe grupuri de fișiere în cadrul directorului comun în timpul execuției aplicației, pe care aplicația poate ulterior să dorească să le acceseze; 41
- instruirea explorării paralele sau în serie a acelui unul sau a acelor mai multe grupuri de fișiere menționate, împotriva unui software rău intenționat, în timpul execuției aplicației, 43 înainte ca aplicația să încerce să acceseze fișiere ale grupului sau grupurilor, unde pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de adăugare a fișierului 45 curent detectat pentru a fi accesat de către aplicație, la cele unul sau mai multe grupuri de fișiere pentru explorare, atunci când fișierul curent necesită explorare; și 47
RO 130379 Β1
- actualizarea stării de acces a directorului comun de la starea de explorare la starea de explorat, atunci când toate cele unul sau mai multe grupuri de fișiere identificate din directorul comun au fost explorate împotriva atacurilor de software rău intenționat.
17. Program de calculator în conformitate cu revendicarea 16, care cuprinde suplimentar mijloace de cod de program de calculator adaptate pentru a efectua explorarea unuia sau mai multor grupuri de fișiere menționate împotriva unui software rău intenționat, ca răspuns la pasul de instruire.
18. Program de calculator în conformitate cu revendicarea 16 sau 17, încorporat pe un mediu care poate fi citit de calculator.
19. Sistem de calculator configurat pentru a explora fișiere împotriva unui software rău intenționat, în timpul execuției unei aplicații pe un procesor, și pentru a întreține un tabel de acces la director, pentru urmărirea accesului fișierelor din interiorul unui director comun care este accesat de către aplicație, unde tabelul de acces la director include drumul directorului care menține un nume sau o locație logică a directorului comun, un număr de atingeri care indică numărul de accesări de fișier la directorul comun de către aplicație, și o stare acces care indică dacă directorul comun este în una dintre stările următoare: starea de preexplorare, starea de explorare și starea de explorat, sistemul de calculator cuprinzând:
- o unitate de detecție pentru detecția accesărilor de către aplicație a fișierelor din cadrul directorului comun, actualizarea numărului de atingeri, modificarea stării de acces a directorului comun de la starea de preexplorare la starea de explorare, atunci când numărul de atingeri atinge un prag predeterminat, și utilizarea accesărilor detectate și a numărului de atingeri pentru a identifica unul sau mai multe grupuri de fișiere din cadrul directorului comun în timpul execuției aplicației, pe care aplicația ar putea dori ulterior să le acceseze, instruirea unei unități de explorare pentru explorarea paralelă sau în serie a unuia sau mai multor grupuri de fișiere menționate, împotriva unui software rău intenționat, în timpul execuției aplicației, înainte ca aplicația să încerce să acceseze fișierele grupului sau grupurilor, unde pasul de identificare a unuia sau mai multor grupuri de fișiere include pasul de adăugare a unui fișier curent detectat, pentru a fi accesat de către aplicație, la unul sau mai multe grupuri de fișiere pentru explorare, atunci când fișierul curent necesită explorare; și actualizarea stării de acces a directorului comun de la starea de explorare la starea de explorat, atunci când toate cele unul sau mai multe grupuri de fișiere identificate din directorul comun au fost explorate împotriva atacurilor de software rău intenționat.
20. Sistem de calculatorîn conformitate cu revendicarea 19, care cuprinde suplimentar o unitate de explorare pentru explorarea unuia sau mai multor grupuri de fișiere menționate, ca răspuns la instruirea de către unitatea de detecție.
21. Produs program de calculator care cuprinde cod de instrucțiuni, care, atunci când este executat pe un procesor, efectuează metoda în conformitate cu oricare dintre revendicările de la 1 la 15.
ROA201300848A 2011-05-16 2012-03-29 Explorare pentru software rău intenţionat cu căutare în avans RO130379B1 (ro)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/068610 2011-05-16
US13/068,610 US8726388B2 (en) 2011-05-16 2011-05-16 Look ahead malware scanning
PCT/EP2012/055733 WO2012156143A1 (en) 2011-05-16 2012-03-29 Look ahead malware scanning

Publications (2)

Publication Number Publication Date
RO130379A2 RO130379A2 (ro) 2015-06-30
RO130379B1 true RO130379B1 (ro) 2020-05-29

Family

ID=45937341

Family Applications (1)

Application Number Title Priority Date Filing Date
ROA201300848A RO130379B1 (ro) 2011-05-16 2012-03-29 Explorare pentru software rău intenţionat cu căutare în avans

Country Status (7)

Country Link
US (1) US8726388B2 (ro)
BR (1) BR112013029404A2 (ro)
DE (1) DE112012002106B4 (ro)
ES (1) ES2463265B1 (ro)
RO (1) RO130379B1 (ro)
RU (1) RU2621608C2 (ro)
WO (1) WO2012156143A1 (ro)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9679137B2 (en) * 2006-09-27 2017-06-13 Hewlett-Packard Development Company, L.P. Anti-viral scanning in Network Attached Storage
US8127358B1 (en) * 2007-05-30 2012-02-28 Trend Micro Incorporated Thin client for computer security applications
WO2013141545A1 (ko) * 2012-03-21 2013-09-26 삼성에스디에스 주식회사 안티-멀웨어 시스템 및 상기 시스템에서의 데이터 처리 방법
US11126720B2 (en) 2012-09-26 2021-09-21 Bluvector, Inc. System and method for automated machine-learning, zero-day malware detection
US9292688B2 (en) 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
CN103780589A (zh) * 2012-10-24 2014-05-07 腾讯科技(深圳)有限公司 病毒提示方法、客户端设备和服务器
GB2517483B (en) * 2013-08-22 2015-07-22 F Secure Corp Detecting file encrypting malware
US9323929B2 (en) * 2013-11-26 2016-04-26 Qualcomm Incorporated Pre-identifying probable malicious rootkit behavior using behavioral contracts
CN103810428B (zh) * 2014-02-24 2017-05-24 珠海市君天电子科技有限公司 一种宏病毒检测方法及装置
US9710648B2 (en) * 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
CN104199894A (zh) * 2014-08-25 2014-12-10 百度在线网络技术(北京)有限公司 一种文件扫描方法及装置
WO2016081346A1 (en) 2014-11-21 2016-05-26 Northrup Grumman Systems Corporation System and method for network data characterization
US11023449B2 (en) * 2014-12-19 2021-06-01 EMC IP Holding Company LLC Method and system to search logs that contain a massive number of entries
US9715589B2 (en) 2015-01-23 2017-07-25 Red Hat, Inc. Operating system consistency and malware protection
US10032023B1 (en) * 2016-03-25 2018-07-24 Symantec Corporation Systems and methods for selectively applying malware signatures
US10200395B1 (en) * 2016-03-30 2019-02-05 Symantec Corporation Systems and methods for automated whitelisting of files
US10248787B1 (en) * 2016-12-20 2019-04-02 Symantec Corporation Systems and methods for determining reputations of files
US10511631B2 (en) 2017-01-25 2019-12-17 Microsoft Technology Licensing, Llc Safe data access through any data channel
EP3376424B1 (en) * 2017-03-14 2021-05-05 VirusTotal SLU Scanning files using antivirus software
CN109361643B (zh) * 2018-06-22 2021-05-25 中国移动通信集团广东有限公司 一种恶意样本的深度溯源方法
RU2726878C1 (ru) * 2019-04-15 2020-07-16 Акционерное общество "Лаборатория Касперского" Способ ускорения полной антивирусной проверки файлов на мобильном устройстве
US11210395B2 (en) * 2019-09-13 2021-12-28 EMC IP Holding Company LLC Filename-based malware pre-scanning
US11288391B2 (en) 2019-09-13 2022-03-29 EMC IP Holding Company LLC Filename-based malware pre-scanning
CN113468119A (zh) * 2021-05-31 2021-10-01 北京明朝万达科技股份有限公司 一种文件扫描方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6968461B1 (en) * 2000-10-03 2005-11-22 Networks Associates Technology, Inc. Providing break points in a malware scanning operation
US7424706B2 (en) * 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
US7681237B1 (en) 2004-05-13 2010-03-16 Symantec Corporation Semi-synchronous scanning of modified files in real time
GB0418066D0 (en) * 2004-08-13 2004-09-15 Ibm A prioritization system
US8037527B2 (en) * 2004-11-08 2011-10-11 Bt Web Solutions, Llc Method and apparatus for look-ahead security scanning
US8572738B2 (en) 2006-12-07 2013-10-29 International Business Machines Corporation On demand virus scan
US8254858B2 (en) * 2007-12-21 2012-08-28 Hewlett-Packard Development Company, L.P. Techniques to manage power based on motion detection
GB2469322B (en) * 2009-04-09 2014-04-16 F Secure Oyj Malware determination
US8745743B2 (en) 2009-06-09 2014-06-03 F-Secure Oyj Anti-virus trusted files database
US8468602B2 (en) * 2010-03-08 2013-06-18 Raytheon Company System and method for host-level malware detection

Also Published As

Publication number Publication date
BR112013029404A2 (pt) 2017-01-31
US8726388B2 (en) 2014-05-13
US20120297486A1 (en) 2012-11-22
RU2621608C2 (ru) 2017-06-06
ES2463265A2 (es) 2014-05-27
RU2013154735A (ru) 2015-06-27
DE112012002106T5 (de) 2014-02-13
DE112012002106B4 (de) 2023-06-15
ES2463265R1 (es) 2014-09-04
RO130379A2 (ro) 2015-06-30
ES2463265B1 (es) 2015-06-02
WO2012156143A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
RO130379B1 (ro) Explorare pentru software rău intenţionat cu căutare în avans
US11960441B2 (en) Retention management for data streams
US8087061B2 (en) Resource-reordered remediation of malware threats
JP5976020B2 (ja) アンチマルウェアメタデータのルックアップを行うためのシステム及び方法
EP2529328B1 (en) Systems and methods for sharing the results of computing operations among related computing systems
EP2933747B1 (en) System and methods of distributing antivirus checking tasks among virtual machines in a virtual network
EP2750067B1 (en) System and method for selecting synchronous or asynchronous file access method during antivirus analysis
US20100077481A1 (en) Collecting and analyzing malware data
GB2554390A (en) Computer security profiling
BR102015017215A2 (pt) método implementado em computador para classificação de aplicativos móveis, e, programa de computador codificado em um meio de armazenamento não-trasitório
US10834121B2 (en) Predictive real-time and scheduled anti-virus scanning
WO2012098018A1 (en) Malware detection
US11593480B2 (en) Predictive scheduled anti-virus scanning
US11477232B2 (en) Method and system for antivirus scanning of backup data at a centralized storage
CN110659484B (zh) 生成对于文件信息的请求以执行防病毒扫描的系统和方法
JP2023512247A (ja) 複数のチェーンを使用した共有キャッシュ内のオブジェクトの管理
CN106203105B (zh) 文件管理方法和装置
US11003770B2 (en) Predictive real-time anti-virus scanning
CN115017504A (zh) 一种智能物联终端容器安全管控方法
CN117099101A (zh) 用于文件存储管理的管理服务器和方法
CN104239026B (zh) 用于度量存储系统性能的方法和装置
US20230169046A1 (en) File Transfer Prioritization During Replication
US20240187427A1 (en) User Device Agent Event Detection and Recovery
US20220215090A1 (en) Detecting Stack Pivots Using Stack Artifact Verification
KR102039498B1 (ko) 악성코드 격리 시스템 및 방법