Cyber Security-Analýza kybernetických útoků a úniků dat

Anna Střeštíková
11 min readNov 28, 2020

--

AUTOR: Anna Střeštíková
MENTOR: Jiří Severa (Accenture)

Ráda bych vám představila projekt, který jsem zpracovávala v rámci Czechitas Digitální Akademie Data. Nápad na téma vznikl, když jsem brouzdala na internetu a hledala jaká data jsou a nejsou k dispozici. Na Kaggle.com jsem narazila na analýzu Cyber Security společnosti McAfee, která se odkazovala na data z webové stránky Hackmagedon. Na stánkách jsou měsíční reporty o kybernetických útocích a to od roku 2017 do (tou dobou) léta roku 2020. Některé reporty nebyly kompletní, ale přes kontakt na webu jsem si od autora, pana Paola Passeriho, požádala o jejich doplnění. Prioritou pro výběr projektu bylo zajímavé téma, které je důležité a zároveň užitečné.

Cyber Security rezonuje společností dlouhodobě ,

někteří tomu přikládají větší váhu a rizika si uvědomují, jiní žijí v “sladké nevědomosti”. Super, máme data a skvělé téma.

Obr.1: Projektové Zoom pozadí

Když nevíš jak začít, vezmi to postupně, to jsme si řekly s mojí parťačkou Luckou a nepodcenily jsme přípravu na akci Meet Your Mentor. Akce proběhla online, a díky soutěži o nejlepší Zoom pozadí, které jsem vytvořila v Adobe Illustrator, jsme začaly budovat povědomí o našem projektovém tématu již v začátku. V rámci Meet Your Mentor nám padl do noty Jirka Severa z Accenture, a protože sympatie byly vzájemné, stal se naším mentorem.

Na prvním callu s Jirkou jsme si nastavili časový plán projektu. První zásadní částí byla explorační analýza dat a vymyšlení Use Case. Explorační analýzu jsme dělaly pomocí SQL ve Snowflake a zkusily to také v Pythonu. K naší hrůze jsme zjistily, že data sice máme, ale téma je složitější, než by se zdálo, je hodně odborné a máme minimum metrických údajů. Velkou výzvou pro nás byla otázka:

Jak kvalitně zpracovat takto složité a odborné téma tak, aby výsledky nebyly zavádějící?

Jirka domluvil společný call s jeho kolegou Filipem Štěpánkem, který je Security Architect v pražském Accenture Cyber Fusion Center. Filip nás navedl na cestu toho, abychom se zaměřily na útoky sociálního charakteru, tedy ty, které spíše než technické zabezpečení vyžadují interakci s obětí. Naším use casem se tedy stal běžný uživatel technologií a internetu, využívající jedno univerzální heslo nebo více velmi jednoduchých hesel, jako přístup do všech možných účtů. V mediích postřehl informace, že se dějí kybernetické útoky, má ale dojem, že to jde mimo něj. Zneužití svých dat se neobává, protože má pocit, že jsou bezcenná. A co s ním? My ho poučíme o tomto tématu a dáme mu základní doporučení jak se správně chovat, aby předešel např. nabourání se do jeho účtů na sociálních médiích, nebo aby mu někdo neposlal výhrůžný email, že má jeho intimní video a chce zaplatit výkupné v bitcoinech atd. Bohužel si myslím, že v dnešním době, se s tím většina lidí již osobně setkala a nebo minimálně zná někoho, komu se taková věc přihodila. Motivací pro zpracování této problematiky bylo také to, že spoustu informací je převážně v angličtině, a tak pro většinu lidí může být jazyková bariéra překážkou k získání informací. Lidský faktor je významný článek v cyber security, ať už co se týká sítě nebo konkrétního zařízení, a tak tuto součást není radno podceňovat.

Obr.2: Data neměla primární klíč, takže jsme si vytvořily umělé ID jako primární klíč pomocí SQL ve Snowflake.

Dále přišlo na řadu čištění dat. V začátku jsme si myslely, že máme krásná a čistá data, později jsme ale zjistily, že naše představa byla mírně naivní. Když jsme začaly data předběžně čistit, objevily jsme, že v csv souborech jsou v některých sloupcích čárky, což nám bránilo ve správné transformaci dat do Snowflake. Pro jejich odstranění jsme použili Python. Nastavení datových formátů a další kroky čištění jsme pak prováděly pomocí SQL ve Snowflake.

Obr.3: Odstranění čárek pomocí knihovny Pandas a funkce Replace v Python
Obr.4: Čištění dat pomocí SQL ve Snowflake

V DBDiagram jsme si postavily datový model vstupní vrstvy dat,která byla denormalizovaná, z nich jsme si vytvořily datový model normalizovaných dat, kde jsme si data rozdělily do číselníků a relačních tabulek. V dalším datovém modelu, jsme si pak vytvořily výstupní vrstvu denormalizovaných dat, která budou výstupem pro analýzu. Vytvoření datového modelu nám významně pomohlo v orientaci v datech a organizačně i při čištění, nastavování datových typů i následném napojování dat do výstupní vrstvy.

Obr.5: Denormalizovaný datový model

Týden před Hackatonem mi odpadla parťačka Lucka, která bohužel musela ze zdravotních důvodů Digitální Akademii ukončit. Bylo mi to líto, hlavně proto, že s Luckou nemůžeme zažít tohle dobrodružství až do konce. Zdraví máme ale jen jedno a jde se dál. Před Hackatonem jsem naplánovala jeho cíle, aneb co by se mělo v rámci toho víkendu stihnout (použila jsem k tomu aplikaci Trello).

Hlavním cílem Hackatonu bylo vyparsovat z dat popisy jednotlivých kybernetických útoků a vybrat z nich klíčová slova.

Na základě klíčových slov pak bude možné hledat relace mezi různými typy útoků. Hackaton jsem sice už měla bez parťačky, ale za to s mentorem Jirkou, který si kvůli mě stáhnul Visual Studio Code i Python, a přestože běžně neprogramuje, pustil se do toho se mnou.

Obr.6: Začátek kódu v Python na vyparsování klíčových slov z popisu kybernetických útoků (pravidla pokračovala až do řádku 45).
Obr.7: Konec kódu v Python pro vyparsování klíčových slov z popisu kybernetických útoků. (Nakonec nevyužito a nahrazeno efektivnějším nástrojem na textovou analýzu od Geneea.)

Při prezentaci výsledků Hackatonu přišel další zlomový bod projektu, a to nabídka Markéty Špinkové z Geneea použít na popisy útoků jejich textovou analýzu. Díky textové analýze bylo možné lépe porozumět souvislostem v datech, která by jinak díky absenci metriky bylo těžké vyjádřit. Textovou analýzu jsem využila k vyobrazení útoků souvisejících s lidských faktorem, kde z velké části figuroval phishing v návaznosti na hijacking přístupových údajů. Textová analýza od Geneea je skvělý nástroj právě k zobrazení souvislostí v textu, které bych jinak jen těžko hledala.

Obr.8: Dashboard z textové analýzy od Geneea

A jak projekt udělat ještě zajímavější a užitečnější? Výsledky vyzkouším v praxi! Na základě analýzy dat o kybernetických útocích jsem zjistila, že nejčastějším útokem (a to hlavně v anglicky hovořících zemích) je account hijacking, tedy krádež přístupových údajů k účtům, a díky textové analýze se prokázala významná souvislost právě s phishingem. Rozhodla jsme se tedy udělat phishingový útok na Czechitas, a to samozřejmě ve spolupráci s nimi. Experimentem si tak potvrdím/vyvrátím hypotézu, že phishing je potenciálně vstupní brána pro kybernetický útok a je to účinný nástroj. Do plánování útoku jsem kromě mého mentora zahrnula i Aničku Mai a Jirku Přikryla z Czechitas a konzultačně i Filipa z Accenture Cyber Fusion Centra. Ještě jednou všem moc děkuji za spolupráci.

A co je vlastně Phishing? Phishing je typ kybernetického útoku, který je jednou z technik sociálního inženýrství a je to snaha počítačových podvodníků získat vaše citlivé osobní informace jako jsou hesla, údaje o platebních kartách, rodná čísla nebo čísla bankovních účtů, popřípadě jakékoliv soukromé údaje, které mohou být nějakým způsobem zneužity. Šíří se podvodnými emaily nebo přesměrováním na falešné webové stránky. Mezi základní znaky phishingu patří to, že je email neočekávaný, přišel z podezřelé domény, vybízí k akci (něco vyplňte, odešlete, napište své přihlašovací údaje apod.), doručení emailu v podezřelém čase, často bývá v emailu použita i špatná gramatika či obecné nebo neformální oslovení. Kromě Phishingu se můžeme setkat také se Spear Phishingem, který je typem Phishingu se zaměřením na konkrétní entitu.

Phishing si můžeme přirovnat k plošnému útoku, takovému kobercovému bombardování a Spear Phishing je takový přesně mířící sniper.

K phishingovému útoku jsem použila Gophish, což je open source nástroj k automatizaci některých procesů phishingu a k vytvoření tzv. kampaní. Gophish funguje tak, že zjednodušuje celý proces do několika kroků a funguje v různých operačních systémech a i na virtualizačních platformách jako je třeba Docker.

Nejdříve jsem si musela zajistit doménu, která bude podobná té originální. Původní záměr byl pořídit doménu czechitas.it, ta je ale k dispozici pouze pro rezidenty Itálie nebo osoby, které se mohou prokázat italskými doklady, takže jsem si pořídila doménu czechitas.eu. Doménu jsem si zakoupila na serveru Gransy.com, který nabízí i mailový hosting s přístupem k jejich SMTP serveru. SMTP server slouží k rozesílání emailů a při jeho výběru jsem musela vzít v potaz aby měl co nejlepší “reputaci”, protože jinak by email mohl automaticky skončit jako spam.

Obr.9: Vytvoření Landing Page v nástroji GoPhish

Gophish funguje tak, že zobrazuje kdo z účastníků útoku klikl na odkaz ve phishingovém emailu. Aby bylo možné prokliky evidovat, musí se v Gophish nastavit tzv. landing page, která se vkládá do templatu phishingového emailu a aby landing page fungovala, musí být stránka veřejně dostupná z celého internetu.Moje první volba bylo AWS od Amazonu, kde se zdálo být jednoduché nasadit virtuální stroj. V AWS jsem si nainstalovala Ubuntu server. Na Ubuntu server jsem musela povolit přístup na všechny porty ze sítě internet a pomocí SSH jsem na server nainstalovala Docker a do něj GoPhish. Stránce, která bude použita v proklikávacím odkazu v emailu jsem musela pořídit HTTPS, jinak by se stránka ukazovala jako nezabezpečená nebo nebezpečná. Protokol HTTPS kategorizuje webovou stránku jako bezpečnou a ověřenou pomocí TLS certifikátu. Přišla tedy další výzva a to v podobě získání TLS certifikátu. Věřím, že pro někoho, kdo to dělá běžně to nebude tak obtížné, já se s tím ale docela prala a to možná i proto, že jsem certifikát musela nainstalovat do správného containeru v Dockeru, aby ho Gophish server mohl použít k prokázání své identity u stránky. Upřímně mi je aktuálně na Dockeru sympatické jen logo velryby. Po hodinách beznaděje a komunikace s podporou Gophish toolu (HellBites USA) jsem zjistila, že má Gophish špatnou implementaci Certbot utility a prý budou vydávat aktualizovanou verzi, kde to bude opraveno.

Přece to ale nevzdám, když už jsem absolvovala tohle peklo. Snažila jsem se doladit zbytek nastavení- správné odesílání mailů z GoPhish pomocí SMTP serveru poskytnutého Gransy.com. Přestože jsem všechno nastavila asi správně, nechtěli se mi odesílat testovací emaily. Po dalších dvou hodinách, kdy jsem se ve virtuálním stroji (Dockeru) snažila dostat do konzole běžícího GoPhishe jsem objevila errorovou hlášku, že spojení bylo odmítnuto ze strany serveru. Dočetla jsem se, že servery AWS mají od RIPE (Réseaux IP Européen-organizace, která v podstatě řídí Internet v Evropě) přiřazený specifický rozsah IP adres, které mohou na svých serverech poskytovat. Server mi zakazoval přijmout IP adresu od AWS, protože od AWS často chodí botnetové i jiné útoky. Přišlo zklamání a zoufalství, protože tahle varianta prostě fungovat nebude. Přestože tato varianta nevyšla, “naučila” jsem se věci, které jsem nikdy nečekala že budu dělat. Po dalších hodinách googlení jsem se rozhodla, že si na svém počítači nainstaluji VirtualBox (virtualizační platforma, která umožňuje spustit více virtuálních počítačů uvnitř jednoho fyzického). Ve VirtualBoxu jsem si nainstalovala Windows, kam jsem nainstalovala GoPhish a CertBot (nástroj používaný pro ověření identity serveru pomocí certifikační authority LetsEncrypt). Na našem domácím routeru, kde máme veřejnou IP adresu jsem nastavila 1:1 NAT na IP adresu toho virtuálního serveru, to mi umožnilo přístup k virtuálnímu stroji odkudkoliv z internetu. Na doméně czechitas.eu, jsem upravila DNS záznam tak, aby odkazoval na mou veřejnou IP adresu a potom doplnila DNS záznamy o ověřovací kroky, které po mě chtěl CertBot. Certifikát z CertBotu jsem si nastavila do GoPhishe a díky tomu jsem mohla použít doménu czechitas.eu, která je HTTPS a je pro ostatní jako důvěryhodné připojení. Uff, mám to za sebou. Určitě musím zmínit, že bych tohle nezvládla bez odborné pomoci a podpory, návodů a googlení, protože to bylo spoustu věcí, které jsem viděla poprvé v životě. Celý proces jsem se ale snažila co nejlépe pochopit.

Obr.10: Nastavení odesílacího profilu v nástroji GoPhish
Obr.11: Vytvoření emailového templatu v nástroji GoPhish

V GoPhishi jsem pak už jen nastavila sending profile, kde jsem nevědomky udělala chybu a místo odesílatele info@czechitas.eu dala info@czechitas.cz, a protože Czechitas neměli ošetřenou doménu DMARC autentifikací, pustilo mě to. Kromě Phishingového útoku jsem tak udělala i emailový Spoofing (pozměnění odesílatele emailu, takže adresát se může domnívat, že email pochází od jiné osoby). Dále jsem dotvořila email template v HTML (pomocí online convertoru z textu do HTML) a vložila mailing list obětí jako skupinu do adresátů. Pak už jsem jen vše otestovala a nastavila čas kampaně na noční dobu.

V noci jsem ještě zkontrolovala, že se kampaň opravdu spustila a ráno se už mohla těsit na první úlovky.

Obr.12: Phishingový email odeslaný zaměstnancům Czechitas

Email jsem po domluvě s Aničkou Mai odesílala pod jejím jménem (mohla bych zvolit vlastně kohokoliv ze zaměstnanců Czechitas, protože na webu mají uvedené zaměstnance a dle jejich hlavní emailové adresy se dá odvodit i emailová adresa jednotlivých zaměstnanců). V odkazu jsem uvedla proklikovou stránku, která oběť přivede na Google formulář s dotazníkem ohledně Home Officu. Na základě výsledků z Google Forms mám pak data o tom, kdo z obětí došel až do konce.

Originální výsledky phishingového útoku jsem poskytla Jirkovi Přikrylovi, který má na starosti IT v Czechitas a bude s nimi dále pracovat a vy se můžete podívat na anonymizované výsledky v mém dashboardu. Stanovená hypotéza, že Phishing je úspěšný způsob útoku umožňující přístup k dalším informacím a může být vstupní branou pro další útoky se potvrdila, protože experiment byl úspěšný a podařilo se některé jedince nachytat. Při plánování útoku, jsem se potýkala také s morální stránkou experimentu a to, jak udělat útok na Czechitas, který bude mít potřebné znaky a výsledky a zároveň nikoho neohrozit nebo nezískat skutečně citlivé informace.

Odkaz na vizualizace v Power BI

Jako nástroj pro vizualizaci jsem použila Power BI, přestože jsme v rámci Digitální Akademie měly pouze tří hodinovou lekci. Power BI jsem si poměrně oblíbila a pracovalo se mi s ním dobře, přesto se těším, až se v jeho užívání budu zlepšovat. Při finálním stádiu práce jsem projekt obohatila také o data o únicích dat. Pro transformaci jsem využila Power Query Editor v Power BI a ve stejném nástroji jsem transformovala také výsledky phishingového experimentu z nástroje GoPhish a z Google Forms.

Obr.13: Náhled na část vizualizace v Power BI

Přínos projektu bych hodnotila právě v edukaci o kybernetické bezpečnosti a v poselství toho, že tzv. penetrační testy v podobě phishingu/spear phishingu mohou absolvovat i menší organizace, kterým to může pomoci doladit si firemní zabezpečení a zároveň pomůže minimalizovat riziko chyby lidského faktoru. Pro individuálního uživatele pak projekt může být motivací k tomu, zvýšit svou obranyschopnost ve virtuální prostředí.

Pokud bych se dále věnovala rozvíjení tohoto projektu, určitě bych si prohlubovala technické znalosti v oblasti cyber security a snažila se více analyzovat i technické útoky. Věřím, že v této oblasti je mnoho zajímavých dat, která je možné zpracovat, nicméně pro kvalitní zpracování je potřeba k nim přistoupit z odborného hlediska. Určitě bych se zabývala i získáváním dat v reálném čase, a to v dostatečné kvalitě.

Jako zdroje dat pro projekt jsem použila: měsíční reporty z Hackmagedon.com (autor: Paolo Passeri), data o Data breaches z Information is Beautiful (autoři: David McCandless a Tom Evans) a vlastní data z phishingového útoku v podobě reportu z nástroje GoPhish a z Google Forms.

Závěrem bych ráda poděkovala hlavně mému mentorovi Jirkovi Severovi z Accenture a celé organizaci Czechitas, která mi umožnila být součástí tak skvělého projektu jakým je Digitání Akademie Data a dostala jsem tak možnost vstoupit do světa datové analytiky.

Děkuji také svému manželovi a rodině za nekonečnou podporu, pochopení a pomoc ❤.

--

--

No responses yet