Application Whitelisting – Software Restriction Policy

By Bogdan Morosan - Last updated: Thursday, October 29, 2009 - Save & Share - 2 Comments

 

Este protectia de tip antivirus destinata unui sfarsit prematur? Unii specialisti din domeniul securitatii informatice spun ca da, iar dovezile sunt din ce in ce mai multe:

· Numarul de masini infectate cu malware a crescut cu 15% numai in luna Septembrie a acestui an, comparat cu luna August (sursa Panda Security);

· numarul mediu de masini infectate la nivelul intregului glob este estimat la 59% (sursa Panda Security);

· In anul 2008, 85% din totalul breselor de securitate s-a datorat pachetelor malware customizate – nedetectabile de catre sistemele antivirus (sursa Verizon).

Aplicatiile antivirus functioneaza de fapt dupa principiul blacklisting, adica blocheaza accesul la anumite aplicatii/fisiere in functie de o lista identificatori (semnaturi) ai acestor aplicatii. Aceasta inseamna ca orice aplicatie/fisier care nu este in lista va putea fi rulata/accesat, orice cod de tip malware nou aparut va putea infecta sistemele pana cand producatorii de aplicatii antivirius vor avea o mostra si vor produce semnaturile. Si chiar si atunci pot aparea situatii in care anumite sisteme sa nu primeasca semnaturile datorita unei greseli de configurare.

Cu totul altfel sta situatia in cazul aplicarii principiului whitelisting; in acest caz sunt blocate implicit toate aplicatiile si vor putea fi rulate doar cele dintr-o lista de excluziuni; acest model de securitate este echivalent cu cel folosit in configurarea firewall-urilor – implicit “Deny Everything”.

In ce situatii putem folosi strategia whitelisting? Poate fi folosita in orice situatie in care dorim securitate cat mai buna pe anumite sisteme, dar trebuie luat in calcul ca munca de configurare, testare si administrare poate creste exponential cu numarul sistemelor. Recomand un numar de situatii in care se poate folosi application whitelisting:

· Pentru utilizatorii din anumite departamente (cum ar fi call center, contabilitate, vanzari, etc.) pe a caror statii se foloseste o imagine standardizata a sistemului de operare si care contine un numar de aplicatii necesare preinstalate;

· Pentru servere de aplicatii pe care nu se doreste instalarea de antivirus din motive de performanta;

· Servere cu aplicatii tip legacy pe care nu se doreste instalarea nici unei aplicatii suplimentare sau chiar a patch-urilor de sistem de operare.

Intr-un mediu Windows putem pune in aplicare strategia “application whitelisting” folosind Group Policy, mai exact componenta Software Restriction Policy (SRP).

Inainte de toate va recomand cu insistenta sa folositi un mediu virtual pe care sa testati toate politicile inainte de a le introduce in mediul de productie. De asemeni va recomand sa inventariati toate aplicatiile care vor avea permisiunea de a rula pe masinile pe care doriti sa aplicati politicile. Atentie la scripturile de startup/shutdown si logon/logoff in cazul in care folositi. Nu uitati ca in metodologia de testare sa includeti si scenarii in care sa folositi un cont de administrator (local si de domeniu). Dupa faza de testare folositi un grup restrans de masini ca parte a proiectului pilot.

Iar acum partea practica:

1. Creati un container de tip OU in Active Directory, in care veti avea conturile de computer pe care se va aplica politica SRP.

2. Creati o noua politica (GPO).

NewPol

3. Legati aceasta politica de Organizational Unit-ul creat anterior.

OUlink

4. Editati GPO-ul (App Whitelisting in acest exemplu) si creati o noua politica de restrictie a aplicatiilor (SRP).

NewSwResPol

5. In “Security Levels” activati optiunea “Disallowed” – nici o aplicatie nu va putea rula si vom introduce reguli pentru a permite functionarea unor aplicatii.

Ca o paranteza, nivelul implicit este “Unrestricted”, aceasta insemnand ca orice aplicatie va putea fi rulata, dar putem introduce reguli in care sa blocam anumite aplicatii, in acest caz se poate folosi strategia “application blacklisting”.

SecLevel

6. Lista “Designated File Types” contine extensiile fisierelor care sunt considerate executabile. Va recomand sa stergeti din aceasta lista intrarea “LNK” pentru a putea folosi shortcut-urile de pe Desktop si din Quick Launch.

LNK

7. In “Additional Rules” introduceti regulile pentru aplicatiile ce doriti sa ruleze pe sistem. Este important sa aveti aici calea in care este instalat sistemul de operare (%WINDIR%) si as sugera si aplicatiile din Program Files (%PROGRAMFILES%). De asemeni va sugerez sa folositi ca Security level “Unrestricted” si sa va asigurati ca utilizatorii folosesc conturi de user si nu au drepturi administrative pe statii.

Rules

Se pot folosi patru tipuri de reguli:

– Reguli care folosesc certificatele digitale emise de anumiti producatori, certificate folosite pentru semnatura digitala a aplicatiilor producatorului respectiv. Trebuie luat in considerare ca o regula bazata pe certificatul digital al unui producator va permite rularea tuturor aplicatiilor semnate cu acest certificat.

– Reguli care se bazeaza pe semnatura criptografica de tip hash a fisierului executabil al aplicatiei.

– Reguli in care se introduce calea catre aplicatie, in cazul in care aplicatia nu este in aceasta cale nu va rula.

– Reguli care se aplica numai pachetelor tip “msi” in functie de zonele de securitate din Internet Explorer.

In cazul in care pentru o aplicatie se aplica mai multe reguli, regulile au prioritate in ordinea de mai sus: Certificat, Hash, Path, Zone.

8. Si acum aplicarea politicii pentru toti utilizatorii cu exceptia administratorilor locali:

Enforcement

Atentie! In Windows Vista si 7 chiar si administratorii locali vor rula implicit aplicatiile fara privilegii administrative (vedeti UAC).

Ce se intampla cand un utilizator incearca sa ruleze o aplicatie care nu este “whitelisted”? Simplu, aplicatia nu va porni.

blocked

Cateva reguli suplimentare:

· Pentru sistemele de operare pe 64 de biti va trebui sa mai creati o regula in care sa parmiteti rularea aplicatii din calea “C:\Program Files (x86)”.

· Chiar daca ati exceptat conturile administrative de la aplicarea SRP, in Windows Vista si 7 aplicatiile pornesc fara privilegii administrative; in cazul in care o aplicatie nu ruleaza datorita SRP dati click cu butonul drept al mouse-ului pe executabil si alegeti “Run as administrator”.

“Application whitelisting” este doar un nivel de protectie din strategia mult mai cuprinzatoare “Defense in Depth”; nu va puteti baza 100% pe ea, dar o puteti folosi in paralel cu alte mecanisme de protectie. In aceasta situatie este recomandat sa aveti si o aplicatie de tip blacklisting, cum ar fi antivirusul, desi in aparenta pare redundant. Luati in considerare cazul unui cont administrativ, care este exceptat de la politicile “application whitelisting”; nu de multe ori chiar administratorii au contribuit la raspandirea de cod malware prin instalarea unor aplicatii de pe kituri deja compromise.

Intr-un articol viitor voi prezenta tehnologia Applocker disponibila pentru Windows Server 2008 R2 si Windows 7.

Posted in Security • • Top Of Page

2 Responses to “Application Whitelisting – Software Restriction Policy”

Comment from Vitalie Ciobanu
Time November 5, 2009 at 9:55 pm

Vai de capul meu!! :))))
Acum am avut timp sa citesc articolul. Practic, eu azi nu am facut nici o boacana, cum crezusem la inceput. Pur si simplu nu am scos extensia LNK din lista. Deci din cauza nu mi-au pornit doua aplicatii de pe desktop 🙂
Gata, maine pun politica la loc 🙂

Comment from BMoro
Time November 6, 2009 at 5:21 pm

Ma abucur ca ti-a fost de folos 🙂

Write a comment