În cadrul misiunilor de auditare a sistemelor informaționale există două activități de colectare a datelor de pe sistemele de calcul care asigură suportul, la momentul auditului, pentru luarea unei decizii de conformitate cu cerințele sistemului auditat. Prima activitate este aceea de documentare a sistemului auditat iar cea dea doua de extragere a informațiilor despre diferite configurări specifice în funcție de rolul sistemului auditat.
Rolul principal în procesul de documentare și colectare a configurațiilor îl are tot auditorul pentru că el decide care sunt elementele necesare a căror rezultat ar oferi cea mai corectă imagine despre securitate sistemului auditat.
Pentru realizarea acestor activități fiecare auditor are la îndemână o serie de instrumente specifice sau folosește pur și simplu metode de observare directă a configurațiilor direct de pe un terminal al sistemului auditat. În sensul realizării dosarului de audit trebuie să avem în vedere și modul în care sunt stocate probele electronice. De asemenea, o aplicabilitate a operațiunilor de documentare și colectare a configurațiilor este des întâlnită în activitățile de investigație a fraudelor informatice, dar aici plaja de aplicații disponibile este mult mai generoasă decât a aplicațiilor pentru audit.
Articolul curent are drept obiectiv prezentarea unui model de colectare a informațiilor despre sistemele de calcul cu sisteme de operare Windows, generațiile de după versiunea 2000, aplicabil atât sistemelor de operare de tip client cât și celor de tip server, membre ale unui domeniu sau workgroup.
Formatul de tip proces (intrare/prelucrare/ieșire) permite auditorului să definească, în cunoștință de cauză care sunt elementele unui sistem de calcul pe care dorește să le documenteze sau interogheze, apoi pe baza deciziei sale se realizează extragerea datelor din sistem și generarea ieșirilor care permit auditorului să-și motiveze opinia.
Documentarea
Din punct de vedere tehnic, datele de intrate pentru documentarea sistemului de calcul au la bază clasele de WMI[1] (Windows Management Instrumentation), principala sursă de stocare a informațiilor despre sistemele de operare Windows. Fiecare clasă este specificată în documentul XML de intrare sub forma unei secțiuni noi, auditorul având la dispoziție posibilitatea de a comenta sau chiar elimina anumite clase din fișierul de intrări.
Structura fișierului XML de intrare (wmiClassInput.xml) este prezentată în imaginea de mai jos:
Elementul rădăcină este winDokm iar fiecare clasă de registry este prezentată în elementele repetitive Section. Pentru sistemele de operare de tip Windows 2008 Server și ulterioare există o clasă WMI specifică, Win32_ServerFeature, folosită pentru extragerea rolurilor curente configurate pe serverele respective.
Aspectul inovativ al acestui model este reprezentat de aspectul deschis al fișierului de date de intrare care permite actualizarea ușoară a versiunilor, eliminarea și adăugarea de clase WMI în funcție de evoluția versiunilor sistemului de operare.
Fișierul de prelucrare (winDokm v1.vbs) se bazează pe limbajul de scripting VB Script, care se regăsește în toate versiunile sistemelor de operare Windows. Logica de prelucrare constă în specificarea fișierului de intrare a claselor WMI și pe bază de funcții specifice generarea unui fișier XML de ieșire.
Provocarea pentru noi în realizarea acestui script a fost de a interoga în mod dinamic WMI pe baza datelor dinamice de intrare. În atingerea acestui obiectiv am creat o funcție parametrizată (imagine) care generează secțiuni în fișierul de ieșire în funcție de valorile rezultate din interogările WMI.
Interogările WMI nu generează obiecte de tip recordset ci o formă particulară de arrays cunoscută și sub numele de SWbemObject [2]care poate conține valori liniare sau în stivă multidimensională.
Fișierul de ieșire, care are numele asemănător sistemului de calcul pentru care se realizează documentarea, conține toate datele accesibile din clasele WMI specificate în fișierul de intrare, prezentate în format XML.
În mod formatat cu XSL (winDokmFOut) fișierul de ieșire poate arăta în formatul următor:
Fișierul de formatare are drept scop doar o prezentare a datelor într-un format mai accesibil citirii decât formatul XML. În același timp, datele de ieșire pot fi prelucrate în aplicații de calcul tabelar, precum Microsoft Excel, sau importate în baze de date și interogate sau prelucrate după necesarul fiecărui obiectiv al misiunii.
Extragerea configurațiilor din regiștrii Windows
Folosind aceeași tehnică a datelor de intrare, prelucrare și date de ieșire se pot realiza aplicații de colectare a unor serii de configurații de pe calculatoarele Windows. Principala sursă de date vizată în acest paragraf este reprezentată de regiștrii Windows care stochează majoritatea datelor de configurare, informații despre produse și servicii din Windows, informații despre configurările de securitate și politicile aplicate.
Fișierul XML pentru a specifica clasele de ieșire are o structură pe secțiuni oarecum diferită, incluzând și o parte documentară, preluată de pe siturile oficiale MSDN[3] și TechNet[4] de la Microsoft.
Foarte importante în structura acestui fișier de intrare sunt primele trei valori:
- · regHive – Specificarea locației rădăcină din registry
- · regClass – adresa completă a cheii de registry fără rădăcină
- · regData – numele configurației din registry folosită pentru a extrage valoarea.
Fișierul de prelucrări folosește metode specifice de conectare la registry prin apelarea la o funcție de interogare și generare a ieșirilor pe baza datelor de intrare.
Apelul funcției:
Conectarea la registry, extragerea valorilor din cheile de registri specificate și generarea output-ului:
Fișierul XML de ieșire:
Formatat via XSL fișierul de ieșire ar arăta ca în graficul:
Câmpurile winPolicy și Description din documentul de intrare sunt folosite doar cu rol documentar pentru acest fișier de ieșire.
Pentru o mai bună interpretare a datelor de ieșire, noi recomandăm utilizarea aplicațiilor de calcul tabelar. Un model de reprezentare a unui fișier de ieșire în Microsoft Excel puteți vedea mai jos.
În cazul în care avem deja un set de date dorite, pe baza celor mai bune practici, putem realiza grafice comparative de tip Radar pentru a putea raporta către managementul non-tehnic o stare concretă a configurărilor identificate în cadrul unei rețele.
Aplicații concurente
Instrumente concurente sunt multe (Sidy-Server), dar sunt mai greu de utilizat și în special pe servere pe care nu există Word instalat. De asemenea, MBSA și SCCM.
Dezvoltări viitoare
Pornind de la acest concept al datelor de intrare, prelucrari si ieșiri, ne propunem ca la viitoarele versiuni să putem realiza fișiere XML de intrare cu mai multe calculatoare pentru documentarea unei rețele.
Download and feedback
- Registry dumper: http://gallery.technet.microsoft.com/Registry-Dumper-39087876
- WMI Windows Dokumenter: http://gallery.technet.microsoft.com/WMI-Windows-Dokumenter-d3f62c7f
[1] Win32 Classes, http://msdn.microsoft.com/en-us/library/aa394084(v=vs.85).aspx
[2] SWbemObject object (Windows), http://msdn.microsoft.com/en-us/library/windows/desktop/aa393741(v=vs.85).aspx
[3] Group Policy Registry Table, http://msdn.microsoft.com/en-us/library/ms815238.aspx
[4] Auditing Policy, http://technet.microsoft.com/en-us/library/cc779526(v=ws.10).aspx