Bc. Tarek Batiha1 ABSOLVOVÁNÍ ODBORNÉ PRAXE VE SPOLEČNOSTI MPS Mont a.s. Abstrakt Tento článek popisuje osobní zkušenost s tvorbou dokumentace, analýzou sítového provozu a nasazením systému typu honeypot ze stáže ve firmě MPS Mont a. s. v areálu elektrárny Dětmarovice, která byla realizována v rámci projektu CZ.1.07/2.4.00/31.0080 Partnerství v oblasti energetiky. Klíčová slova Honeypot, Síť, SolarWinds.
1
ÚVOD
Ke své stáži jsem se dostal díky Moravskoslezskému energetickému klastru v rámci projektu „Partnerství v oblasti energetiky“. Stáž jsem absolvoval v dětmarovické pobočce firmy MPS Mont a.s. Pracovní stáž sestávala ze dvou částí. První část byla věnována kompletní analýze současného stavu rozvodů počítačové sítě firmy MPS Mont a.s. v areálu dětmarovické elektrárny. Jednalo se konkrétně o tři objekty. Dále proměření rozvodů ke kontrole současného stavu a následná analýza výsledků. Protože rozvody nebyly nijak označené a nebyla dostupná žádná dokumentace, bylo mým úkolem její vytvoření a návrh označení. Druhá část stáže byla zaměřena na konfiguraci a nasazení systému typu honeypot. Toto téma jsem navrhl osobně, jelikož je součástí mého profesního zájmu. Jedná se o systém, který zachytává neautorizované pokusy o vniknutí do systému. A protože je počítačová bezpečnost v energetice velice důležitá, byl tento návrh přijat.
2
O SPOLEČNOSTI
Společnost patří se svou více než 20letou výrobně montážní činností mezi tradiční dodavatele v energetickém strojírenství, teplárenství a petrochemii.
1
Bc. Tarek Batiha, Katedra informatiky, Fakulta elektrotechniky a informatiky VŠB – Technická univerzita Ostrava, 17. listopadu, 2172/15 Ostrava-Poruba, tel.: (+420) 776 630 477, e-mail:
[email protected].
MPS Mont a. s. zajišťuje komplexní dodávky pro výstavbu, modernizaci, renovaci a údržbu, a to v širokém spektru průmyslových odvětví, zejména teplárenství, petrochemii, energetice, strojírenství a potravinářském průmyslu. V rámci svých činností nabízí projektování a dodávky strojních a elektrotechnologických celků, jejich servis, údržbu, GO a pozáruční servis. Společnost má certifikovaný integrovaný systém řízení, který zahrnuje systém managementu kvality podle ČSN EN ISO 9001:2009, systém environmentálního managementu podle ČSN EN ISO 14001:2005 a systém managementu kvality podle ČSN EN ISO 9001:2009 ve spojení s ČSN EN ISO 3834-2:2006. Dále je společnost certifikována na provádění stavebních výrobků – konstrukčních ocelových stavebních dílů, dílců, sestav a konstrukcí dle EN 1090-2+A1 [1].
Obr. 1: Vjezd do areálu dětmarovické elektrárny
3 3.1
ZPRACOVANÍ RM OSI
V první části stáže jsem se zabýval analýzou současného stavu rozvodů a vytvořením dokumentace počítačové sítě firmy. U počítačových sítí se jako standard používá mezinárodní norma ISO 7498. Referenční model ISO/OSI se používá jako názorný příklad řešení komunikace v počítačových sítích pomocí vrstevnatého modelu, kde jsou jednotlivé vrstvy nezávislé a snadno nahraditelné. V praxi je model využit pro programování jednotlivých součástí síťového subsystému v modulech, které reprezentují jednotlivé vrstvy a komunikují mezi sebou pomocí rozhraní (API). Díky tomu je možné jednotlivé části snadněji naprogramovat a nezávisle nahrazovat (například vyměnit síťovou kartu, ovladač, aplikaci a zároveň ponechat ostatní součásti beze změny). [2]
Obr. 2: RM-OSI
3.2
Dokumentace
Ve druhé fázi stáže u společnosti bylo vytvoření dokumentace sítě tak, jak vypadá na první, fyzické vrstvě RM OSI. Tato vrstva zajišťuje převod proudu bitů na signál, nejčastěji elektrický a naopak. Protokoly fyzické vrstvy stanovují elektrické vlastnosti rozhraní (napěťové úrovně, průběhy, kmitočty, modulace, rychlosti, elektrické vlastnosti kabelů) a mechanické vlastnosti (tvary, velikosti a zapojení konektorů). Protože se na úrovni fyzické vrstvy pracuje se signálem, musí být její realizace hardwarová [3]. Vytvoření dokumentace spočívalo v zakreslení celé počítačové sítě firmy MPS Mont a. s. v areálu dětmarovické elektrárny. Samotný proces spočíval v průchodu všech prostor a zakreslení všech zařízení připojených do počítačové sítě. Další fází bylo převedení nákresů do srozumitelné, lehce čitelné elektronické podoby. V tomto ohledu mi byla dána volnost ve výběru nástroje k zakreslení. Vybral jsem program Microsoft Visio, který je součástí kancelářského balíku Microsoft Office. Tento nástroj byl zvolen proto, že umožňuje na rozdíl od jiných programů určených k zakreslení síťové infrastruktury, krom zachycení jednotlivých síťových zařízení a jejich propojení, také srozumitelný grafický editor pro zakreslení, v mém případě rozdělení zařízení v jednotlivých místnostech. Na Obr. 3 můžeme vidět část vytvořené dokumentace.
Obr. 3: Ukázka dokumentace
4
ANALÝZA PROVOZU NA SÍŤOVÝCH ROZHRANÍCH
Další krok spočíval v analýze síťového provozu všech síťových rozhraní počítačové sítě firmy. Tato analýza byla prováděna za účelem odhalení slabých míst sítě, jako například nefunkčních kabelů a odhalení možných anomálií v síťovém toku. Pro tento úkol byly zvoleny produkty firmy SolarWinds. Konkrétně se jednalo o SolarWinds Server & Application Monitor – aplikace pro monitorování serverů, virtuální vrstvy a aplikací, a SolarWinds Network Performance Monitor – nástroj pro detekci, diagnózu a odhalení nesrovnalostí v síťovém provozu.
4.1
SNMP
Použité nástroje od firmy SolarWinds primárně používají ke sběru informací o stavu sítě protokol SNMP – Simple Network Management Protocol. Tento protokol slouží ke sběru informací nebo nastavení hodnot na určitém zařízení. Protokol SNMP vyžaduje pro komunikaci dvě strany. Jednou entitou je správce (manager) a druhou agent. SNMP pracuje ve dvou režimech činnosti:
Správce posílá dotazy agentovi a přijímá odpovědi. Hodnoty tedy může získávat i více správců a mohou se ptát kdykoliv. Agent zasílá oznámení (trapy) na adresu správce. V nějakých definovaných situacích (překročení nějaké hodnoty nebo i v pravidelném intervalu) odesílá agent jednomu správci hodnoty [4]. Software pro analýzu vystupuje jako manager.
4.2
Měření
Pro měření byly použity produkty firmy SolarWinds, jak už bylo zmíněno. První problém nastal hned po instalaci softwaru. Uživatelské rozhraní programu je webové, tj. otevírá se v internetovém prohlížeči. Po instalaci je možné se do tohoto rozhraní přihlásit pomocí defaultního uživatelského jména a hesla. Bohužel, přihlášení nefungovalo a nebylo tedy možné program použít. Byla kontaktována oficiální podpora produktu, ale řešení se nepodařilo nalézt. Všechny pokusy probíhaly v internetovém prohlížeči firmy Microsoft – Internet Explorer. Jako poslední možnost byl zvolen prohlížeč Mozilla Firefox, na kterém vše fungovalo bez problému. A to i přesto, že oficiální dokumentace softwaru uváděla Internet Explorer mezi podporovanými prohlížeči. Jelikož bylo potřeba provést měření na všech síťových rozhraních počítačové sítě, přičemž ne všechny byly obsazené, bylo potřeba tuto situaci vyřešit. Řešení spočívalo v obsazení všech volných síťových rozhraní VoIP telefony. Telefony byly připojeny po celou dobu měření. Před samotným měřením je nejprve nutné provést network discovery – zalogování všech zařízení, která mají být monitorována. To je možné buď zadáním každé jednotlivé IP adresy zařízení manuálně, nebo je možné proskenovat síťový rozsah. Protože byly monitorovány desítky síťových rozhraní, byl proskenován celý rozsah firemních adres. Samotný sken pak prochází každou adresu jednotlivě a testuje ji na ping nebo jiné služby, na které by mohlo koncové zařízení odpovídat. Zařízení, která reagují na testy, se pak uloží do interní databáze programu a je na nich možné provádět různé testy a monitorovat je. Na Obr. 4 je znázorněn běžící program.
Obr. 4: Solarwinds
4.3
Výsledky měření
Nejdůležitějším sledovaným parametrem ke zjištění spolehlivosti jednotlivých rozhraní je ztrátovost paketu na jednotlivých rozhraních. Při týdenním monitorování byla zjištěna vysoká odezva a ztrátovost jednoho PC. Všechna ostatní rozhraní měla minimální odezvu a ztrátovost paketů, což odpovídá bezproblémovému stavu. Na Obr. 5 pak můžeme vidět graf ztrátovostí paketů vytvořený jako report softwarem SolarWinds. V grafu je zaznamenána ztrátovost paketů v průběhu jednoho pracovního dne. Každá barva reprezentuje jednu IP adresu, nejčastěji PC. Výkyvy, kde je ztrátovost paketů 100 %, jsou situace, kde jsou jednotlivá PC vypnuta zaměstnanci nebo v režimu spánku v důsledku delší neaktivity.
Obr. 5: Graf ztrátovostí paketů
5
HONEYPOT
V poslední fázi praxe bylo vybráno testovací nasazení systému typu honeypot do interní sítě firmy z důvodu zvýšení cyber bezpečnosti firmy jako poměrně nenáročné řešení. Honeypot byl založen na opensource technologiích vydaných pod licencí GPL, a proto nebyly nutné žádné investice do tohoto projektu.
5.1
Vysvětlení pojmu
Honeypot znamená v doslovném překladu „hrnec medu”. Jeho úkolem je nalákat útočníka jako potenciálně jednoduchý cíl, forma pasti. V počítačových sítích se pro zvýšení bezpečnosti mohou nasadit takovéto falešné systémy jako například server na Internetu. V tomto případě systém čeká, až jej někdo napadne a takovéto útoky se pak analyzují. Server se z venku jeví jako každý jiný. Tento model se používá k detekci červů a expolitů síťových služeb. Honeypoty se dělí do 2 velkých skupin: Honeypoty s nízkou mírou interakce Honeypoty s vysokou mírou interakce Honeypoty s vysokou mírou interakce jsou v podstatě úplně obyčejné systémy, často průměrně zabezpečené, např. s odhadnutelným SSH heslem. Tyto systémy se od obyčejných ale liší tím, že každá akce potencionálního útočníka je zaznamenána. Účelem tohoto systému je pak analýza takovýchto průniků. Toto je však velice časově náročné a vyžaduje vysoce vzdělané bezpečnostní experty pro analýzu. Honeypoty s nízkou interakcí jsou nejčastěji počítačové programy, které se navenek tváří jako reálný počítač. Simulují nejznámější služby a tím matou útočníka. Na rozdíl od honeypotů s vysokou mírou interakce může potencionální útočník jednodušeji odhalit, že se jedná o honeypot. Výhodou je, že lze na jednom stroji spustit více takovýchto strojů a tím vytvořit tzv. honeynet.
5.2
Konfigurace
Pro nasazení byl vybrán démon honeyd, který vyvinul Niels Provos. Bohužel, poslední vydání tohoto systému je z roku 2007. Dnes je honeyd udržován v projektu Nova společnosti DataSoft. Pro nasazení byl použit tento systém. Prvním krokem byla instalace honeyd. Důležitou volbou byl operační systém, na kterém má honeyd běžet. Existuje i port na systém Windows společnosti Microsoft, ale oficiálně nemusí nabízet stejnou konfiguraci jako systém Linux. Pro testovací nasazení byl zvolen operační systém Ubuntu 12.04 LTS server edition ve virtualizačním nástroji virtualbox. Jelikož balík honeyd v repositáři ubuntu není nejnovější verzí, nejvhodnějším řešením se jevilo použití verze z projektu Nova. Tato verze byla použita. Níže můžeme vidět postup instalace honeyd ze zdrojových kódů DataSoft.
5.3
Postup instalace
Stažení zdrojových kódů: git clone git://github.com/DataSoft/Honeyd.git Instalace potřebných knihoven: sudo apt-get install libevent-dev libdumbnet-dev libpcap-dev libpcre3-dev libedit-dev bison flex libtool automake tcl perl python Kompilace: 1. ./autogen.sh 2. automake 3. ./configure 4. Make 5. sudo make install
Po instalaci je honeyd připraven k použití. V jedné instanci honeyd je možné spustit přes 65 000 simulovaných systémů a vytvořit tzv. honeynet. Konfigurace se provádí pomocí konfiguračních souborů. Jazyk konfigurace je bezkontextová gramatika. Syntaxe je dobře popsaná v manuálových stránkách programu. Aby honeypot vypadal důvěryhodně, i když se jedná pouze o program, musí se navenek tvářit, jako kdyby na něm běžel operační systém. Toho se dá docílit tak, že bude odpovídat na síťový provoz specifickým způsobem, který má téměř každá verze všech operačních systémů specifický. Honeyd pracuje s databází otisků, která se dá specifikovat při spuštění, takže je možné, aby se v honeyd nasimulovala většina operačních systémů.
5.4
Provoz
Při prvním testování honeyd, který byl nainstalován na operačním systému linux ve virtuálním prostředí nástroje virtualbox, se testy prováděly na virtuálním síťovém rozhraní loopback a vše fungovalo bez problémů do té doby, než se spustil honeyd na ethernetovém rozhraní virtualboxu eth0. V tomto případě nebyl schopen honeyd odpovídat na jakýkoliv provoz. Po dlouhém bádání bylo zjištěno, že virtualbox defaultně nedovoluje sniffing na žádném síťovém rozhraní. To byl velký problém, protože této techniky využívá honeyd k zachytávání síťového provozu určeného vytvořeným honeypotům. V nastavení virtualboxu lze sniffing jednoduše povolit a tím plně zprovoznit honeyd. Důležitou technikou k dokonalejšímu napodobení operačního systému je simulace standardních služeb. Tyto služby se dají jednoduše naprogramovat, kdy příchozí síťový provoz se čte ze standardního vstupu STDIN a odpovědi se pak posílají na STDOUT. Honeyd už v základu obsahuje několik skriptů se simulacemi služeb jako telnet atd. Tyto skripty jsou psány nejčastěji v pythonu nebo BASHi. Nevýhodou je, že při provozu na nějakém portu, kde se simuluje nějaká služba, se vždy vytvoří nový proces. Toto se může při velkém provozu jevit jako plýtvání systémovými prostředky, ale na druhou stranu by provoz neměl být dlouhodobý, protože účelem nasazení honeypotu je vyvarovat se takovému provozu. Ukázka konfigurace jednoduchého honeypotu: create windows set windows personality “Microsoft Windows XP Professional SP1″ set windows default tcp action filtered set windows default udp action filtered set windows default icmp action filtered add windows tcp port 23 open telnet.sh add windows tcp port 135 open add windows tcp port 139 open add windows tcp port 445 open set windows ethernet dell dhcp windows on eth0 Honeyd si může vyžádat IP adresu z DHCP serveru. Po přijetí adresy z DHCP serveru pak honeypot informuje ARP protokol o tom, že přijatá IP adresa se nachází na MAC adrese virtuálního systému. Na Obr. 6 můžeme vidět celý tento proces.
Obr. 6: Honeyd
5.5
Použití
Systém byl nasazen do testovacího provozu sítě firmy jako množina virtuálních PC do subnetu s klientskými PC. Toto řešení bylo zvoleno z důvodu monitorování potencionálně nebezpečného provozu, který by klientské stanice mohly mít. Z logu honeyd pak lze vyčíst, které stanice jsou napadeny a o jaký druh komunikace se škodlivý software snaží. Toto řešení je vhodné k použití zejména proto, že antivirový software nebo firewall není, ani nikdy nebude stoprocentní, a proto nasazení honeypotu v síti posouvá její bezpečnost o stupínek výš.
6
ZÁVĚR
V průběhu praxe jsem se naučil a poznal spoustu nových věcí. V první řadě to bylo seznámení se s funkcí IT oddělení ve větší firmě. Toto byla má první zkušenost z praxe a z tohoto pohledu to byl pro mě značný přínos do budoucna, hlavně větší rozhled při budoucí volbě povolání. Také jsem se seznámil s procesy uvnitř firmy, kteroužto zkušenost je při studiu prakticky nemožné získat. Rovněž jsem se seznámil a pracoval s komerčním softwarem, který běžně používám. Hlavním přínosem pro mě bylo seznámení s funkcí honeypotu a počítačové bezpečnosti vůbec, protože je to obor, kterému bych se chtěl během svého dalšího studia věnovat. Poděkování Touto cestou bych rád poděkoval Moravskoslezskému energetickému klastru, o. s., který mi umožnil, za finančního přispění Evropské unie v rámci projektu Partnerství v oblasti energetiky, č. projektu: CZ.1.07/2.4.00/31.0080, realizovat praxi ve firmě MPS Mont a. s., a tím tak prověřit své teoretické znalosti a aplikovat je v praxi.
NETWORK INFRASTRUCTURE ANALYSIS Keywords Honeypot, Computer network, SolarWinds. Summary I have learned a lot of new information during my practise in the company. Firstly it was to get know with IT department in bigger company. This was my first working experience and from this point of view it was significant benefit to the future, especially in choosing my job after studies. I also meet with processes in the company which experience is impossible to gain during studies. Next I worked with commercial software which is normally used in practise. Main contribution for me was learning about honeypot and computer security in general because it is the area I would like to focuse on in my future studies.
Literatura 1 MPS Mont a.s. [online]. mont.cz/cz/spolecnost.html.
[cit.
2014-05-20].
Dostupné
z:
http://www.mps-
2 Referenční model ISO/OSI. [online]. [cit. 2014-05-20]. Dostupné z:http://cs.wikipedia.org/wiki/Referen%C4%8Dn%C3%AD_model_ISO/OSI#Fyzick. C3.A1_vrstva. 3 Fyzická vrstva. [online]. [cit. 2014-05-20]. z: http://cs.wikipedia.org/wiki/Fyzick%C3%A1_vrstva.
Dostupné
4 SNMP – Simple Network Management Protocol. [online]. [cit. 2014-05-20]. Dostupné z: http://www.samuraj-cz.com/clanek/snmp-simple-network-managementprotocol/.