„Application Whitelisting” – Cea mai eficientă strategie antimalware

„Application Whitelisting” – Cea mai eficientă strategie antimalware

574
Cătălin PĂTRAȘCU Șef Serviciu Securitate Informatică și Monitorizare la CERT-RO, poziție din care a coordonat numeroase activități de răspuns la incidente de securitate cibernetica, proiecte tehnice și exerciții cibernetice
Cătălin PĂTRAȘCU
Șef Serviciu Securitate Informatică și Monitorizare la CERT-RO, poziție din care a coordonat numeroase activități de răspuns la incidente de securitate cibernetica, proiecte tehnice și exerciții cibernetice

Analizând datele procesate de CERT-RO în ultimii ani cu privire la diferite variante de malware, dar și informaţiile publicate în această perioadă de diferite organizaţii ce activează în domeniul securităţii cibernetice, rezultă o tendinţă evidentă de diversificare, specializare și creștere a complexităţii aplicaţiilor maliţioase, fie că vorbim despre APT (Advanced Persistent Threats), botnet, malware financiar (banking botnets) sau Ransomware. Softwareul maliţios reprezintă una dintre cele mai răspândite și periculoase tipuri de ameninţări cibernetice și asta datorită, în primul rând, impactului negativ pe care-l poate avea asupra unui sistem informatic infectat cu un astfel de software.

În prezent există o varietate de tehnici și tehnologii destinate combaterii acestui tip de ameninţare, precum bine-cunoscutele soluţii de tip antivirus, firewall, IDS, IPS etc., încă destul de eficiente, însă rândurile următoare sunt dedicate conceptului de „Application whitelisting”, a cărui implementare îndrăznesc s-o consider de o importanţă deosebită pentru combaterea ameninţării malware.

„Application whitelisting” presupune implementarea unui mecanism care să asigure faptul că în cadrul unui sistem informatic rulează numai softwareul autorizat/cunoscut. La prima vedere pare un obiectiv idealist și poate că acesta este unul dintre principalele motive pentru care un astfel de mecanism nu are o rată de implementare ridicată, mai ales în rândul organizaţiilor mici și utilizatorilor casnici. Conceptul în sine nu este ceva nou, reprezentând practic o extindere la nivelul aplicaţie din stiva TCP/IP a abordării de tip „default deny” (nu permite în mod implicit) utilizată de mult timp de tehnologiile firewall.

Implementările corecte de „application whitelisting” presupun:

  • Unelte care să faciliteze identificarea executabilelor și librăriilor software (precum DLL în Windows) și care să permită sau să blocheze rularea acestora;
  • Metodele de identificare a executabilelor și librăriilor software nu trebuie să se bazeze pe reguli slabe, precum numele fișierului sau locaţia acestuia în structura de directoare. Cea mai eficientă metodă constă în identificarea acestora pe baza certificatelor digitale cu care sunt semnate sau, în cazul în care nu sunt semnate, pe baza amprentelor digitale de tip „hash”;
  • Mecanisme de tip ACL (Access Control Lists) care să prevină modificarea de către utilizatori a listei programelor software permise.

În prezent, „application whitelisting” este considerată una dintre cele mai importante strategii de combatere a ameninţărilor de tip malware și există deja o varietate de soluţii tehnice cu ajutorul cărora poate fi implementată, inclusiv de către utilizatorii casnici, mai ales în cadrul sistemelor de operare Windows unde implementarea se poate realiza utilizând uneltele deja conţinute de sistemul de operare:

  • SRP (Software Restriction Policies) – o facilitate conţinută de unealta Group Policy, începând cu Windows XP;
  • AppLocker – unealta recomandată începând cu sistemul de operare Windows 7, având același scop ca și facilitatea SRP din Group Policy.

În cazul sistemelor de operare Linux/Unix, implementarea „application whitelisting” este ceva mai dificilă, în sensul că nu este încă nativ suportată de kernel și nici nu există în distribuţiile de Linux importante o unealtă dedicată acestui lucru. Totuși, există câteva soluţii comerciale care facilitează implementarea, însă acestea depind de versiunea de kernel utilizată și pot apărea probleme în cazul actualizărilor. Alte variante ar fi utilizarea uneltelor SELinux sau AppArmor, deși acestea nu au fost proiectate în acest sens și ar presupune resurse consistente de implementare și testare.

În anumite cazuri implementarea „application whitelisting” se poate dovedi greoaie și consumatoare de resurse, însă beneficiile din punct de vedere al prevenirii infecţiilor cu malware sunt considerabile. Mai mult, se obţine un nivel ridicat de vizibilitate în ceea ce privește fișierele executabile și librăriile software introduse într-un sistem informatic, un aspect extrem de util în procesul de investigare a incidentelor de securitate cibernetică.

În încheiere aș îndrăzni să concluzionez că, deși nicio soluţie de securitate nu poate fi considerată un panaceu, probabil că „application whitelisting” este cea mai eficientă metodă de reducere a impactului generat de malware în cadrul sistemelor informatice utilizate în prezent.