
Python a kybernetická bezpečnosť / 1. časť
S príchodom nového roka nasmerujeme náš seriál k téme kybernetickej bezpečnosti (KB), ktorá je podmnožinou informačnej bezpečnosti (IB). Postupne predstavíme základné možnosti a spôsoby využitia Pythonu v oblasti KB a takisto niekoľko jeho najzaujímavejších knižníc, ktoré dokážeme využiť na splnenie úloh spojených s KB. Táto časť bude úvodná, teoretická, zameraná na vysvetlenie základných pojmov. V ďalších pokračovaniach sa však preklopíme od teórie do praxe a ukážeme si viacero trikov, ako využiť Python a jeho knižnice najskôr na pasívnu či aktívnu analýzu počítačových sietí a neskôr na ich ovplyvnenie. Tematika, ktorú budeme rozoberať, je určená začiatočníkom, ale postupne sa budeme venovať aj sofistikovanejším postupom, z ktorých sa viaceré budú týkať nielen klientskych pracovných staníc, ale aj serverov.
Zabezpečenie informácií
Jeden z hlavných cieľov kybernetickej bezpečnosti je zabezpečenie informácií, resp. informačných alebo presnejšie počítačových systémov, pomocou ktorých sa informácie spracúvajú, ukladajú a prenášajú, a to pred neautorizovaným prístupom, vyzradením, zmenou, zneužitím alebo zničením. Akokoľvek si ceníme naše informačné, resp. komunikačné prostredie, to najcennejšie, čo potrebujeme chrániť, sú samotné informácie, ktoré v danom prostredí existujú, resp. sú v ňom prenášané. Dôležitosť ich ochrany stúpa najmä vtedy, ak je naše prostredie súčasťou väčšieho celku, resp. priamo súčasťou celosvetovej počítačovej siete (internetu). V tomto seriáli sme vám už niektoré aspekty KB prakticky predstavili, a to v častiach venovaných jednorazovým heslám OTP a paketovému analyzátoru Scapy.
Obr. 1 Rovnováha medzi tromi základnými hľadiskami aplikácie pravidiel IB
Informačná bezpečnosť (Information Security)
IB je definovaná ako taký stav zabezpečenia informácií v akejkoľvek ich forme, pri ktorom je riziko ich kompromitácie na nami akceptovateľnej úrovni. V metodickej rovine patrí medzi jej základné elementy dôveryhodnosť (confidentiality), celistvosť (integrity), dostupnosť (availability), autentickosť (authenticity) a nepopierateľnosť (non-repudiation) chránených informácií.
Pri aplikácii stanovených pravidiel IB musíme vziať do úvahy tri hľadiská, medzi ktorými sa snažíme udržať rovnováhu:
1. zabezpečenie informácií,
2. funkčnosť prostredia,
3. použiteľnosť prostredia.
Obr. 2 Možnosti úniku informácií
Zraniteľnosť (Vulnerability)
Pojem zraniteľnosť definujeme ako prítomnosť slabého miesta, slabo zabezpečenej implementácie, chyby alebo ľubovoľného prvku, prostredníctvom ktorého môže dôjsť ku kompromitácii informácií. Zraniteľnosť celku je pritom závislá od zabezpečenia všetkých jeho slabých miest. Jednoznačne najslabším miestom všetkých počítačových systémov je pritom ich používateľ.
Pri úniku informácií (data loss) sa tie dostávajú mimo zabezpečeného systému, kde nad nimi strácame akúkoľvek kontrolu. Únikom, resp. stratou však môžeme rozumieť aj zničenie informácií v rámci počítača alebo na mieste, kde boli tieto informácie uložené (zálohované).
Útoky (Attacks)
Na vykonanie prípadného útoku na informácie musí existovať motivácia. Bez motivácie nemá prípadný útočník dôvod kompromitovať náš systém. Motiváciou však nemusí byť iba finančné obohatenie, ale častým dôvodom je získanie vedomostí, reputácie, niekedy aj žart, sociálne, politické, vojenské či iné nefinančné ciele.
Vykonanie útokov môžeme zovšeobecniť frázou: „Útok môže vykonať ktokoľvek, kedykoľvek a akokoľvek.“ Za desaťročia využívania informačných technológií sa typy kybernetických útokov vyprofilovali do niekoľkých skupín, a to na útoky zamerané na krádeže informácií (stealing), útoky na služby poskytované servermi (servers / clouds), infekčné a deštrukčné (malware) útoky, útoky požadujúce výkupné (ransomware) a útoky na mobilné a IoT zariadenia (mobile).
Spôsoby, akými dochádza k vykonaniu kybernetických útokov, môžeme takisto zaradiť do niekoľkých skupín, a to útoky s využitím robotov (botnet), interné útoky (insider), tzv. rybárčenie (phishing), kompromitácia webových stránok a útoky IoT.
Obr. 3 Defense-in-Depth
Hrozby (Threats)
Hrozba je súčasťou portfólia aktivít, ktoré vykonávajú útočníci počas útokov na zraniteľnosti. Existuje nespočetné množstvo hrozieb, pričom metodicky rozoznávame tri hlavné triedy:
1. sieťové hrozby – zbieranie informácií, odpočúvanie, zastieranie, krádež, MitM, DNS, ARP, DoS, firewall, IDS,
2. počítačové hrozby – malvér, sledovanie, profilovanie, heslá, DoS, škodlivý kód, eskalácia privilégií, zadné dvierka, fyzická bezpečnosť,
3. aplikačné hrozby – nezabezpečené formuláre, autentifikácia, autorizácia, nesprávna konfigurácia, zverejnenie informácií, poškodené session, pretečenie zásobníka, kryptoútoky, databázové útoky, rybárčenie, nesprávna reakcia na chyby a výnimky.
Informačná vojna (Information Warfare)
Pod pojmom IW rozumieme aplikáciu takých defenzívnych alebo ofenzívnych postupov, pomocou ktorých získame výhodu voči útočníkom. Medzi najzákladnejšie postupy IW patrí prevencia, havarijné plánovanie, odstrašenie, detekcia, logovanie, protiopatrenia… Dôveryhodnosť informačného prostredia (Information Assurance) má byť už od počiatku budovaná tak, aby zabezpečila všetky elementy IB. Významnú úlohu v tomto procese zohráva kvalitné plánovanie, dizajn, tvorba politík, identifikácia zraniteľností a hrozieb, manažment rizík, certifikácia a neustále zvyšovanie bezpečnostného povedomia používateľov.
Takzvaná vrstvená ochrana (Defense-in-Depth) je stratégia, pri ktorej bezpečnostní profesionáli delia spôsoby zabezpečenia informačných systémov na viaceré úrovne. Striktnosť aplikácie jednotlivých politík sa pritom riadi nastavenými pravidlami od otvoreného (promiscuous) systému až po kompletne uzavretý (paranoid) systém s minimálnymi možnosťami kompromitácie.
Počítačové pirátstvo (Hacking)
Hackingom nazývame zneužívanie zraniteľností na kompromitáciu počítačových systémov s cieľom získať prístup k informáciám. Profesionálni hackeri sú ľudia s rozsiahlymi počítačovými skúsenosťami. Ich motivácia je rôznorodá, pričom nie vždy je spojená s vidinou finančného zisku. Okrem tzv. čiernych (black) hackerov poznáme aj iné mierumilovnejšie skupiny hackerov, ktorých ciele nie sú deštrukčné, ale práve naopak, pomáhajú pri zabezpečovaní systémov. Hacker profesionál na začiatku veľmi dôsledne sleduje (reconnaissance) svoju obeť, následne skenuje systém (sniffing), získava a udržuje prístup k systému (credential stealing) a nakoniec čistí zanechané stopy (covering).
Zobrazit Galériu