Menu Zavrieť

Anonymizácia datasetov sieťovej prevádzky

  • Autor: Miroslav Kohútik

Niekedy sa môže stať, že potrebujete poskytnúť PCAP súbory tretím stranám mimo vašej organizácie, prípadne ako tomu bolo v našom prípade, zverejniť dataset sieťovej prevádzky. Aby ste neodhalili sieťovú infraštruktúru alebo iné citlivé dáta, musíte tieto súbory anonymizovať pred tým, ako ich budete zdieľať s kýmkoľvek mimo vašej organizácie.

TraceWrangler

Na anonymizáciu siťových dát ns OSI vrstvách 2 až 4 používame TraceWrangler. TraceWrangler je veľmi jednoduchý na používanie a disponuje intuitívnym grafickým rozhraním:
TraceWrangler

Naneštastie TraceWrangler nie je dokonalý. Po prvé, maximálna veľkosť súbora, ktorý TraceWrangler dokáže otvoriť je 2 GB. Keďže typický dataset sieťovej prevádzky zvyčajne pozostáva z PCAP/pcapng súborov o veľkosti niekoľko GB, ak sa teda rozhodnete použiť TraceWrangler, budete musiet tieto súbory rozdeliť na menšie, ľahšie spracovateľné kusy.

Na rozdelenie PCAP súborov používame editcap, ktorý je súčasťou nástroja Wireshark. Keďže editcap nedisponuje grafickým rozhraním, musíme použiť príkazový riadok vo Windows.

Najprv sa presunieme do inštalačného priečinku programu Wireshark (C:Program FilesWireshark):

cd "C:Program FilesWireshark"

Typický príkaz na rozdelenie súboru pomocou editcap vyzerá nasledovne:

editcap -c 300000 "C:datasetsdataset.pcap" "C:datasetsanondataset-split-.pcap"

Možnosť -c 300000 definuje maximálny počet paketov na jeden výstupný súbor. “C:datasetsdataset.pcap” je cesta k vstupnému súboru a “C:datasetsanondataset-split-.pcap” obsahuje cestu k priečinku a vzor názvov výstupných súborov. TraceWrangler je ešte stále v beta verzii a obsahuje isté chyby, ako napríklad náhodné chybové hlásenia, ktoré sa vyskytujú pri anonymizácii súborov väčších ako 50 MB. Vzhľadom na tento fakt, odporúčame nastaviť maximálny počet paketov pre výstupné súbory editcapu na hodnotu, ktorej vúsledkom budú súbory omnoho menšie ako 2 GB, v rámci možností dokonca menšie ako 50 MB.

Po tom, ako otvoríme súbory, ktoré chceme anonymizovať cez TraceWrangler, klikneme na “anonymize files” a otvorí sa nám menu s možnosťami anonymizácie. Pred tým ako začneme, najprv vyčistíme všetky predvolené nastavenia anonymizácie, inak by nám zostali veľmi orezané súbory:

Anonymization options

Pokiaľ chceme anonymizovať veľké množstvo IP adries, bolo by nelogické tieto adresy anonymizovať pomocou priamo daných IP adries. Na tento účel zvolíme možnosť “Replace IP addresses by subnet”, kde zvolíme možnosť “keep host part”, ktorá ponechá časť IP adresy prislúchajúcu zariadeniu. Pole “Recalculate CRC” nastavíme na možnosť “Keep bad checksums bad”, pokiaľ potrebujeme zachovať z pôvodného PCAP súboru nesediaci checksum aj v anonymizovanom datasete.

IPv4 anonymization using TraceWrangler

Nakoniec v nastaveniach výstupu môžeme vybrať adresár, do ktorého chceme uložiť súbory. Ak nastavíme názov súboru ako *< filename>_anonymized*, názov výsledného súboru bude názov pôvodného súboru s reťazcom *_anonymized* pripojeným na konci. Potvrdíme nastavenia kliknutím na “Okay” a klikneme na “Run” pre spustenie anonymizácie.

Na spojenie PCAP súborov dokopy využijeme nástroj mergecap, ktorý je taktiež súčasťou Wiresharku. Wireshark síce poskytuje spájanie PCAP súborov pomocou GUI v samotnej aplikácii Wireshark, avšak táto možnosť podporuje iba spájanie po dvoch, čo by v našom prípade bolo časovo náročné a preto sme využili príkazový riadok:

mergecap.exe -w "C:datasetsdataset.pcap" "C:datasetsdataset-split01-anonymized.pcap" "C:datasetsdataset-split02-anonymized.pcap" "C:datasetsdataset-split03-anonymized.pcap" "C:datasetsdataset-split04-anonymized.pcap" "C:datasetsdataset-split05-anonymized.pcap" "C:datasetsdataset-split06-anonymized.pcap" "C:datasetsdataset-split07-anonymized.pcap" "C:datasetsdataset-split08-anonymized.pcap" "C:datasetsdataset-split09-anonymized.pcap" "C:datasetsdataset-split10-anonymized.pcap" "C:datasetsdataset-split11-anonymized.pcap"

Prepínač -w špecifikuje výstupný súbor a všetky nasledujúce cesty označujú súbory, ktoré má spojiť dokopy. Súbory sa spoja dokopy v chronologickom poradí podľa časovej známky.

HxD

TraceWrangler dokáže anonymizovať iba dáta vrstiev OSI modelu 2 až 4 a teda nie je schopný anonymizácie identifikátorov URI, napr. http://192.168.4.2/index.php. Na ich anonymizáciu používame hex editor HxD. Na rozdiel od TraceWranglera, HxD dokáže modifikovať súbory akejkoľvej veľkosti nachádzajúce či už na disku alebo v pamäti RAM.
HxD

Teoreticky môžeme použiť HxD na anonymizáciu všetkých vrstiev bez potreby použitia nástroja TraceWrangler, avšak toto by malo za následok nesprávne checksumy  vo všetkých hlavičkách.

Pre anonymizáciu L2 až L4 dát môžeme použiť funkciu search and replace za použitia Hex hodnôt:
Search and replace using Hex
Avšak, musíme byť opatrní, príklad na obrázku vyššie nahradí prvé dva oktety v sieti 192.168.0.0/16 za 172.16., ale taktiež nahradí akékoľvek dva po sebe nasledujúce oktety 192 a 168 v iných adresách, napr. adresa 10.0.192.168. bude zmenená na 10.0.172.16. Čím viac špecifickí budeme, tým nižšie bude riziko nechceného nahradenia: ak chceme nahradiť 192.168.1.1 za 192.0.0.1, určite je vhednejšie nahradzovať 192.168.1. za 192.0.0. namiesto iba posledných dvoch z týchto troch oktetov.

Veci sú jednoduchšie na L7, tu môžeme byť omnoho špecifickejší pri nahradzovaní za použitia textových reťazcov:
Search and replace za použitia textových reťazcov

V závislosti od toho, či upravujeme súbor vo vašej RAM alebo na disku, zmeny v súbore nemusia byť trvalé, svojú prácu si teda nakoniec uložíme:
Uloženie súboru v HxD

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.