Je načase monitorovať bezpečnosť siete? Určite áno. Nová aplikácia umožňuje monitorovanie udalostí v systéme a zabezpečuje upozornenia na podozrivé udalosti. Jej tvorcovia nechávajú užívateľom na zvážení, či sa rozhodnú pre lacné rozšíriteľné open source riešenie alebo pre drahé platené uzavreté riešenie.
Projekt s názvom Talented otters: SecMon realizujú študenti Fakulty informatiky a informačných technológií Slovenskej technickej univerzity v Bratislave. Bol prezentovaný na finále najlepších tohtoročných projektov, ktoré sa uskutočnilo začiatkom júna 2017. Išlo o TOP aktuálne aplikácie a IT projekty, z ktorých niektoré sa v minulé roky podarilo premeniť na start-upy. Riešia ich každoročne študenti STU v Bratislave v rámci predmetu Tímové projekty.
Tím Talented otters: SecMon bol v zložení Norbert Danišik, Matej Guráň, Matúš Jurika, Štefan Kadlic, Roland Lang, Milan Poliak, Matej Puk, pričom ako vedúci pôsobil Ján Laštinec. Cieľom projektu bolo vytvoriť webovú aplikáciu na monitorovanie bezpečnostných udalostí, ktoré sú kolerované pomocou SEC-u. Využívajú pritom Yii – vysoko výkonný PHP framework na vytváranie webových aplikácii.
„Bezpečnosť je top prioritou, preto naša aplikácia umožňuje monitorovanie udalostí v systéme a zabezpečuje upozornenia na podozrivé udalosti. Funkčnosť a ovládateľnosť aplikácie na každom zariadení je zabezpečené plnou responzívnosťou,” sú presvedčení autori projektu.
Ako sa uvádza v dokumentácii k tomuto inžinierskemu dielu, názov projektu SecMon vyplýva z holej podstaty problému, ktorý tím rieši. „SEC je open source nástroj na analýzu zozbieraných logov zo siete a ich korelácie v kontexte informačnej bezpečnosti. Druhá časť názvu Mon naznačuje, že sa podieľame na vytvorení monitorovacieho nástroja, ktorý prináša grafické používateľské rozhranie pre prácu s nástrojom SEC. Okrem toho prináša oveľa viac výhod ako napríklad filtrovanie udalostí, ukladanie korelovaných udalostí, vytváranie videní a iné.“
Primárnym cieľom riešiteľského tímu v rámci zimného semestra bola verzia produktu systému SecMon, ktorá bude schopná prijímať vstupné logy, správne ich korelovať a kategorizovať a bude ponúkať základné náhľady na zanalyzované dáta. Hlavný cieľ bolo potrebné rozdeliť na ciele s menšou granularitou, aby bol vývoj lepšie sledovateľný:
- Nástroj SEC – na začiatku vývoja bolo potrebné zoznámiť sa s nástrojom, ktorý tvorí srdce systému. Tento nástroj je open source, čiže k dispozícii je aj jeho zdrojový kód, čo pomohlo lepšie ho pochopiť a pripraviť ekosystém schopný sa tomuto nástroju prispôsobiť.
- Návrh architektúry systému – keďže SEC je nástroj, ktorý je vo svojej podstate na pozadí samo bežiaci, bolo potrebné vyriešiť netriviálny problém kooperácie s webovým rozhraním, ktoré bude slúžiť ako ovládací panel pre používateľa, aby vedel nastavovať SEC nástroj a efektívne zobrazovať zozbierané údaje. Preto bolo kľúčové navrhnúť architektúru systému, ktorá bude spĺňať konkrétne náležitosti na správny chod celého ekosystému.
- Návrh a realizácia používateľského rozhrania – problém, ktorý sa tím snažil vyriešiť, prináša široké vizuálne možnosti realizovania sa. „Používateľovi systému je potrebné zobrazovať obrovské množstvo dát a je kľúčové zabezpečiť, aby jeho pozornosť bola upriamovaná na problém, ktorý vzniká/vznikol. Preto by aplikácia mala poskytovať dostatočne prehľadné a jednoduché používateľské rozhranie, ktoré ale musí spĺňať podmienky vysokej efektivity pri práci. Toto sa budeme snažiť dosiahnuť čiastočným prototypovaním, pričom budeme zbierať spätnú väzbu od zákazníka a postupne zapracovávať jeho pripomienky do tvorby softvéru,“ uvádzajú autori.
- Rozšírená funkcionalita softvéru – systém by mal byť schopný okrem jednoduchého zobrazovania korelovaných a nekorelovaných udalostí v reálnom čase, zobrazovať aj rôzne aplikované filtre a videnia na dané informácie.
Globálne ciele pre letný semester sa týkali predovšetkým toho, aby bol tím schopný dodať funkčný produkt vo svojej holej podstate, aby ho bolo možné využívať v konkrétnom prostredí a aby vedel úspešne korelovať aspoň dva druhy udalostí.
„Po zoznámení s nástrojom SEC by sme mali vyprodukovať pravidlá pre minimálne 2 typy odchytávaných bezpečnostných udalostí (napr. SSH alebo IPTables). Taktiež by bolo dobré, aby bolo možné SEC nastavovať priamo z používateľského rozhrania, no táto funkcionalita je skôr radená medzi ´enhacementy´, ktoré sa budú robiť, až keď bude všetko ostatné hotové,“ kládli si za cieľ tvorcovia projektu. Následne tiež uviedli ako dôležitý míľnik implementáciu Middlewaru. Middleware je podľa nich jadrom celého produktu, a preto je kľúčové postaviť okolo neho veľmi dobrú architektúru, ktorú si navrhli a sprototypovali v zimnom semestri. „Middleware by mal byť schopný čítať z viacerých named pipes a mal by byť schopný procesovať niekoľko desiatok logov za sekundu,“ píše sa v dokumentácii.
Ďalej sa tím sústredil na zveľaďovanie používateľského rozhrania, zlepšovanie filtrov, ale aj implementáciu dashboardov. Ako operačný systém pre server si zvolili linuxovú distribúciu s názvom CentOS, ktorá hostí Apache server. „Funkcionalita nástroja SEC je na tomto operačnom systéme plne funkčná a bezproblémovo komunikuje aj s našou databázou, ktorá je typ PostgreSQL. Surové logy sa budú ukladať taktiež do PostgreSQL databázy pre potreby budúceho dohľadania.“
V dokumentácii k tomuto inžinierskemu dielu je ďalej poznamenané, že nástroj SEC je spúšťaný skriptom, ktorý zabezpečuje odchytávanie výstupu z nástroja SEC a reportovanie výsledkov do databázy a ukladanie surových logov do PostgreSQL databázy. Backend webovej aplikácie tieto reporty spracúva z databázy a zobrazuje v konkrétnych moduloch, ktoré sú súčasťou frontendovej časti aplikácie.
Používatelia sú celkovo rozdelení na administrátora a bežného užívateľa. Administrátor môže upravovať nastavenia nástroja SEC a pridávať mu nové monitorovacie pravidlá, spravovať staré pravidlá alebo využívať funkcionalitu, na ktorú sú oprávnení aj bežní používatelia. Bežný používateľ si môže vyberať filtre na zobrazenia logov, zobrazovať rôzne sledované videnia, ktoré si vyberie zo zoznamu, prípadne sledovať udalosti v rôznych typoch grafov. Tieto nastavenia si môže jednoducho uložiť a opäť sa k nim hocikedy vrátiť.
„Funkcionalita a architektúra systému je založená na princípoch efektívneho prezentovania výsledkov používateľovi a intuitívnej práce s rozhraním. Rámec YII poskytuje veľa možností implementácie rôznych modulov, ktoré zabezpečujú plynulý vývoj a prudko stúpajúcu krivku učenia. Idea nášho projektu je taká, že softvér poskytne bežnému používateľovi vysoko efektívne, ale jednoduché možnosti práce s aplikáciou, ale na druhej strane, pokročilému používateľovi alebo administrátorovi možnosť plnohodnotne pracovať s nástrojom SEC a využívať všetky jeho výhody naplno,“ uzatvára realizačný tím.
Informácie a foto poskytla: Andrea Settey Hajdúchová, manažérka pre komunikáciu, Slovenská technická univerzita v Bratislave
Spracovala: Slávka Habrmanová, NCP VaT pri CVTI SR
Uverejnila: VČ