Presentation is loading. Please wait.

Presentation is loading. Please wait.

Je bezpečnosť informačných systémov bezpečná?

Similar presentations


Presentation on theme: "Je bezpečnosť informačných systémov bezpečná?"— Presentation transcript:

1 Je bezpečnosť informačných systémov bezpečná?
Doc. Ing. Ladislav Hudec, CSc., CISA Fakulta informatiky a informačných technológií STU Certifikovaný auditor informačných systémov Súdny znalec pre bezpečnosť a ochranu informačných systémov Pripravené pre stretnutie Alumni klubu STU dňa 5. júna 2012, veľká zasadačke rektora STU

2 Úvod Bezpečný (absolútne) reálny informačný systém neexistuje. Teoreticky áno, ale nie je použiteľný. Informačná bezpečnosť je bezpečnosť informácií. Počítačová bezpečnosť je bezpečnosť prostriedkov počítačového systému (širší pojem). Osnova prednášky: Čo je informačná/počítačová bezpečnosť Identifikácia a autentizácia Programové infiltrácie Kryptografia a bezpečnosť PKI (Infraštruktúra verejného kľúča) Digitálny/Elektronický podpis

3 Čo je počítačová bezpečnosť – aktíva počítačového systému
Aktívum je niečo, čo má hodnotu alebo je pre spoločnosť užitočné, pre jej obchodné operácie alebo kontinuitu činnosti. To znamená, že aktíva potrebujú ochranu, aby sa zaistili korektné obchodné operácie a kontinuita činnosti. Vhodná správa aktív a účtovateľnosť aktív je rozhodujúca na zaistenie ich primeranej ochrany. Tieto dva aspekty by mali byť dôležitou povinnosťou na všetkých manažérskych úrovniach. Príklady aktív zahrňujú: Informačné aktíva: databázy a údajové súbory, systémová dokumentácia, používateľské manuály, školiace materiály, prevádzkové a podporné procedúry, havarijné plány Papierová dokumentácia: kontrakty, návody, dokumentácia spoločnosti, dokumenty obsahujúce dôležité obchodné údaje Softvérové aktíva: aplikačný softvér, systémový softvér, vývojové nástroje a utility Fyzické aktíva: počítače a komunikačné zariadenia, magnetické médiá (pásky a disky), ďalšie technické zariadenia (zdroje energií, klimatizácia), nábytok, Ľudia: obslužný personál, zákazníci, predplatitelia Reputácia a obraz spoločnosti Služby: výpočtové a komunikačné služby, ďalšie technické služby (kúrenie, osvetlenie, energie, klimatizácia).

4 Čo je počítačová bezpečnosť – hrozby, zraniteľnosti a požiadavky
Aktíva sú predmetom mnoho typov hrozieb: Hrozba má potenciál spôsobiť neželaný incident, ktorý môže spôsobiť škodu systému, alebo spoločnosti a jej aktívam. Škoda sa môže objaviť po priamom alebo nepriamom útoku na informácie spoločnosti, napríklad neautorizované zničenie, zverejnenie, modifikácia, poškodenie a nedostupnosť alebo strata. Hrozby môžu vzniknúť z náhodných alebo úmyselných zdrojov alebo udalostí. Hrozba musí zneužiť zraniteľnosť systému, aplikácie alebo služby používanej spoločnosťou, aby úspešne spôsobila škodu aktívu. Zraniteľnosti sú slabiny spojené s aktívami spoločnosti. Tieto slabiny môžu byť využité (zneužité) hrozbou spôsobujúcou neželaný incident, ktorý môže skončiť stratou, škodou alebo poškodením aktíva. Zraniteľnosť sama o sebe nespôsobuje škodu, je iba podmienkou alebo množinou podmienok, ktoré umožňujú hrozbe pôsobiť na aktívum. Požiavky na ochranu informácií (údajov) Existujú právne požiadavky Zákon č. 428/2002 Z. Z. O ochrane osobných údajov Zákon č. 215/2004 Z. Z. O ochrane utajovaných skutočností Bankový zákon, Daňový zákon, Zákon o zdravotnom poistení, ... Sú dané technické a manažérske štandardy ISO/IEC Informačné technológie. Manažérsky systém informačnej bezpečnosti. STN ISO/IEC Informačné technológie. Bezpečnostné techniky. Kritériá na hodnotenie bezpečnosti IT.

5 Čo je počítačová bezpečnosť – správa bezpečnosti
Hodnoty Požiadavky na ochranu Hrozby Zraniteľnosti Ochranné opatrenia Riziká Aktíva využívajú sú vystavené majú zvyšujú znižujú indikujú sú splnené chránia pred

6 Čo je počítačová bezpečnosť - ekonomika ochrany
Vyvážené náklady a straty Minimálna ochrana Maximálna ochrana Zvyškové riziko

7 Čo je počítačová bezpečnosť
Bezpečnosť počítačového systému spočíva v udržaní troch základných vlastností počítačový systému Dôvernosť (Confidentiality) K aktívam pristupujú iba oprávnené entity Typy prístupy môžu byť: čítanie, tlačenie alebo iba informácia o existencii objektu Niekedy sa dôvernosť nahradzuje a označuje pojmami utajenosť (secrecy) alebo privátnosť (privacy) Integrita (Integrity) Aktíva môžu byť modifikované iba predpísaným spôsobom Napríklad zapísanie, zmenenie, zmenenie stavu, zrušenie alebo vytvorenie Dostupnosť (Availability) Aktíva sú dostupné oprávneným entitám Oprávnenej entite nesmie byť bránené v prístupe k aktívam, ku ktorým má oprávnenie pristúpiť Ďalšími vlastnosťami je autentickosť (authenticity) a nepopierateľnosť (non-repudiation)

8 Identifikácia a autentizácia
Pri prístupe k personálnemu počítaču je potrebné zadať username a password. Username (meno používateľa) – identifikácia pristupovanej entity (používateľa) Password (heslo používateľa) – autentifikácia, potvrdenie vyhlasovanej identity. Modul identifikácie a autentifikácie (I&A) porovná zadané údaje od entity s údajmi uloženými v personálnom počítači (password file). Identifikácia a autentifikácia entity môže byť neúspešná. Obmedzený počet neúspešných prihlásení Zablokovanie účtu Upozornenie na nelegálnosť neoprávneného prístupu a právne postihy Heslo je kľúčom k účtu používateľa. Problémy s heslami: Zabudnuté heslá (ukladanie do zapečatených obálok do trezoru) Hádanie hesiel (voľba silných hesiel) Odchytenie, odpozorovanie hesla (technické, technologické opatrenia) Úmyselne alebo neúmyselné vyzradenie hesla (administratívne opatrenia?) Kompromitácia súboru password file (ochrany operačného systému alebo aplikácie)

9 Identifikácia a autentizácia
Heslá sú zdieľaným tajomstvom medzi používateľom a modulom I&A operačného systému alebo aplikácie. Kvalita hesla je podstatná pre bezpečnosť autentifikácie a ochranou pred uhádnutím hesla útočníkom (minimalizuje šance útočníka). Stratégie útočníka pri hádaní hesla: Úplné prehľadávanie. Použitie hrubej sily (brute force attack - BFA) – skúša všetky možné kombinácie platných symbolov až do určitej dĺžky Inteligentné prehľadávanie. Prehľadávanie iba istej obmedzenej množiny všetkých možných kombinácií platných symbolov, na základe znalosti mena používateľa, mená príbuzných a priateľov, telefónneho čísla, čísla alebo značky auta, populárne heslá (nbusr123), slovníkové útoky – útočník skúša heslá podľa dopredu pripraveného slovníka hesiel (Internetovský červ, november 1988) Pravidlá voľby kvalitného hesiel: Okamžitá zmena prednastavených hesiel (username: system, password: manager) po dodávke a inštalácii systému Primeraná dĺžka hesla. Na ochranu pred BFA silou treba voliť dlhšie heslá: administrátor systému 12 znakov, používateľ podľa dôležitosti aplikácie 6 až 8 znakov Vhodný formát hesla. Heslo musí obsahovať znaky aspoň z troch skupín znakov: malé písmená (a,b,..), veľké písmená (A,B,..), číslice (1,2,..), špeciálne znaky (?,!,%,..). Vyvarovať sa známym heslám. Tieto heslá obsahujú slovníky hesiel. Rady na zapamätanie hesla: Pri zavedení nového hesla zapamätaniu napomáha viacnásobné zapísanie hesla (opakovanie hesla podporuje jeho zapamätanie). Nemeňte heslá pred víkendami a sviatkami

10 Identifikácia a autentizácia
Alternatívne mechanizmy autentifikácie sú založené na tom, že používateľ Niečo vie - heslo, PIN, dôverná informácia pri zrušení certifikátu - kto NIEČO VIE ste VY Niečo vlastní - kľúč od dverí, fyzický token, čipová karta - kto váš TOKEN vlastní ste VY Niekto je - biometrické prvky – odtlačok prsta, dlaň, hlas, sietnica oka, dúhovka oka, krvné riečište, DNA, potrebné sú referenčné vzorky – v etape zavedenia do systému, používané na identifikáciu a aj autentifikáciu, parametre FAR – False Acceptance Rate, FRR – False Rejection Rate Niečo robí - vlastnoručný podpis s prípadným sledovaním dynamiky pera, dynamika písania na klávesnicu, sledovanie pohybu myši Niekde je - prihlásenie do systému iba z určitého terminálu, sledovanie polohy pomocou GPS Kombinácia mechanizmov umožňuje významné zvýšenie bezpečnosti autentifikácie Viacero nezávislých autentizačných mechanizmov Každý autentizačný mechanizmus má váhu odpovedajúcu jeho spoľahlivosti Každý autentizačný mechanizmus s istou pravdepodobnosťou vyhodnotí výsledok Pre autentizáciu treba dosiahnuť istý prah

11 Identifikácia a autentizácia
Jednorázové heslá Jednorázové heslá riešia problém odchytenia hesla behom jeho prenosu po sieti a následným použitím odchyteného hesla. Jednorázové heslá sa nepoužívajú iba pri aplikáciách prevádzkovaných v počítačových sieťach, ale i pri tak odlišných aplikáciách ako je CallCentrum, kedy je nevyhnutné autentizovať používateľa, ktorý požaduje služby bežným telefónom. Ako je to vlastne možné, že používateľ môže vždy zadať iné heslo? Algoritmov na tvorbu jednorázových hesiel je celý rad. Zoznam jednorázových hesiel Nejjednoduchšou metódou jednorázových hesiel je zoznam jednorázových hesiel. V tomto prípade, je vygenerovaný zoznam hesiel, ktorý môže byť vytlačený na papier a odovzdaný používateľovi (resp. zaslaný používateľovi bezpečnou elektronickou poštou). Rovnaký zoznam existuje i na strane systému, kde môžu byť i jednotlivé jednorázové heslá znehodnotené jednocestnou funkciou. Používateľ potom na svoju autentizáciu zadáva jedno heslo po druhom. Po zadaní hesla si zadané heslo zo zoznamu vyškrtne.  Jednorázové heslá môžu byť v zozname i očíslované. Systém potom môže vo výzve na zadanie hesla napovedať používateľovi aké heslo má zadať. Zoznamy jednorázových hesiel sa často kombinujú s klasickým heslom. Používateľ potom zadáva heslo skladajúce sa z dvoch častí: z klasického (viacnásobného) hesla a z jednorázového hesla. Tým sa komplikuje využitie zoznamu jednorázových hesiel zabudnutého v i-kaviarni a na druhej strane sa i komplikuje použitie odchyteného hesla.

12 Identifikácia a autentizácia – rekurentný algoritmus
Rekurentný algoritmus používa niektorý z algoritmov na výpočet kontrolného súčtu. Zvoľme si jeden z týchto jednocestných algoritmov (hašovacia funkcia) a označme ho F. Ďalej si používateľ musí sám zvolit nejaký reťazec násada. Tento reťazec používateľ nikomu neoznamuje – je to iba používateľovo tajomstvo (rozdiel od zdieľaného tajomstva!). Kontrolný súčet z reťazca násada vyjadríme ako: F(násada). Ak použijeme algoritmus F dvakrát opakovane na tú istú správu, tj. F(F(násada)), potom budeme písať: F(F(násada))= F2(násada), ak aplikujeme algoritmus F opakovane n-krát, potom výsledný kontrolný súčet označíme Fn(násada). Podľa definície zrejme platí: F(Fn-1(násada))=Fn(násada) Použitie tejto metódy spočíva tiež v inicializačnom kroku. Používateľ si vytvorí text násada (prípadne si ho zašifruje pomocou PINu). V inicializačnom kroku sa používateľ a správca aplikácie dohodnú na čísle, napr Používateľ vyrobí: F1000(násada) a odovzdá ho správcovi aplikácie. Správca aplikácie si do databázy k nášmu používateľovi poznamená názov algoritmu na výpočet kontrolného súčtu (tj. F), číslo 1000 a F1000(násada). Správce teda nepozná text násada (je to používateľovo tajomstvo). Pri autentizácii pošle používateľ na server meno, server vo svojej databáze zistí, akú používateľ používa autentizačnú metódu. Obratom server používateľovi pošle dopyt obsahujúci číslo (n-1), tj. teraz 999. Používateľ vygeneruje odpoveď F999(násada) a odošle to ako jednorázové heslo serveru. Server preverí totožnosť používateľa, takže vykoná porovnanie F(F999(násada)) = F1000(násada) Algoritmus F je mu známy a F1000(násada) má uložené v konfiguračnom súbore a F999(násada) obdržal v odpovedi používateľa.

13 Identifikácia a autentizácia – zdieľané tajomstvo a výzva

14 Programové infiltrácie
Neočakávanému správaniu programu sa hovorí programová chyba (program flaw). Programy sa nesprávajú tak, ako zamýšľali ich tvorcovia alebo očakávali ich používatelia. Ochrana programov je rozhodujúca ochrana počítača Programová chyba zahrňuje všetko od nesprávneho pochopenia požiadaviek ne program, cez chybu v jednom znaku pri kódovaní, chyby pri komunikácii dvoch modulov cez spoločný interfejs Aj keby principiálne mohlo mať význam deliť programové chyby na úmyselné a neúmyselné, je to zbytočné, pretože obe spôsobujú potenciálnu možnosť spôsobiť škodu. Útoky na systém často využívajú neúmyselné programové chyby na spôsobenie úmyselnej škody. Najväčšie škody spôsobujú neúmyselné ľudské chyby. Neexistuje spôsob ako zastaviť programové chyby. Dva hlavné dôvody: Programy stále píšu individuálni programátori. Je temer nemožné zabezpečiť, aby program vykonával presne to, čo jeho návrhár alebo používateľ zamýšľal. Programovanie a techniky SW inžinierstva sa menia vyvíjajú rýchlejšie ako techniky počítačovej bezpečnosti. Programy narábajú s údajmi a samy o sebe nie sú často cieľom útokov, ale prostredníctvom programov sa chcú útočníci dostať k údajom. Škodlivý kód (malware) je všeobecný názov na neočakávaný alebo nežiadúci efekt v programe, ktorý je mienený na úmyselné spôsobenie škody.

15 Programové infiltrácie – škodlivý kód
Škodlivý kód možno rozdeliť na tieto typy: Vírus – je program, ktorý prenáša škodlivý kód na ďalšie programy a modifikuje (infikuje) ich. Vírus infikuje program tým, že sa k nemu pripojí a/alebo ho zničí alebo s nim koexistuje. Infikovaný program rozširuje vírus a môže spôsobiť, že sa vírus presunie do celého výpočtového systému (LAN). Trójsky kôň – je škodlivý kód, ktorý vyzerá tak, že v počítači vykonáva určitú činnosť (možno aj užitočnú), ale v skutočnosti vykonáva inú skrytú škodlivú činnosť. Príkladom takejto škodlivej činnosti môže byť inštalácia kódu zadných vrátok. Trójsky kôň sa nešíri sám vytváraním svojich kópií, ale sa spolieha na to, že je používateľmi často používaný. Jeho meno je odvodené od klasického príbehu Trójskeho koňa. Rootkit - je škodlivý kód (alebo kombinácia viacerých programov) navrhnutý tak, aby získal prístup k počítaču s administrátorskými právami, bez autorizácie vlastníka počítača alebo oprávneného manažéra. Zvyčajne sa nepožaduje fyzický prístup k počítaču a vykonanie reštartu počítača. Rootkit je navrhnutý tak, že získa kontrolu nad operačným systémov počítača ako každý administrátor. Typicky rootkit skrýva svoju prítomnosť v systéme zničením alebo vyhnutím sa štandardným bezpečnostným mechanizmom operačného systému. Kód rootkitu môže byť odvodený od štandardného programu riadiaceho operačný systém pri zrútení systému alebo pri jeho zmrazení. Rootkit často modifikuje časti operačného systému a inštaluje sa ako ovládač alebo časť operačného systému. Zadné vrátka (backdoor) je metóda obídenia normálnej autentizačnej procedúry (potvrdenie identity používateľa) operačného systému alebo aplikácie. V prípade, že systém bol kompromitovaný nejakým škodlivým kódom (napríklad Trójskym koňom), tento škodlivý kód môže nainštalovať do systému jedny alebo viacero zadných vrátok, aby umožnil útočníkovi prístup do systému v budúcnosti. Zadné vrátka môžu mať formu inštalovaného programu (napríklad Back Orifice) alebo môžu by modifikáciou existujúceho programu.

16 Programové infiltrácie – škodlivý kód
Škodlivý kód možno rozdeliť na tieto typy: Spyware je škodlivý kód, ktorý je tajne nainštalovaný na počítač, aby zachytával alebo čiastočne riadil komunikáciu používateľa s počítačom bez vedomia používateľa. Kód spyware môže zbierať rôzne typy osobných informácií o používateľovi ako sú navštívené webové sídla, ale môže aj iným spôsobom zasahovať do počítača používateľa inštalovaním ďalšieho programu, presmerovávaním webového prehliadača a pristupovaním k webovým stránkam obsahujúcich vírusy alebo reklamy. Kód spyware dokonca môže zmeniť nastavenia počítača, ktoré môže spôsobiť malú rýchlosť pripojenia k internetu, prípadne nastaví iné domáce stránky v internetovom prehliadači. Zachytávanie stlačených kláves (keylogger) je metóda zachytenia a zaznamenania používateľom stlačených kláves na klávesnici počítača. Okrem toho, že zachytávanie stlačených kláves môže byť užitočné na určenie zdrojov chýb v počítači, na štúdium ako používatelia komunikujú a pristupujú k systému a niekedy na meranie produktivity administratívnych pracovníkov spoločnosti, môže táto metóda napríklad poskytnúť spôsob získania hesla používateľa alebo šifrovacieho kľúča obídením bezpečnostných opatrení. Adware (advertising-supported software). Nie je typický škodlivý kód, väčšinou nie je priamo nebezpečný ako škodlivý kód typu spyware. Adware je spojený s nejakým programom, který je voľne šíriteľný (freeware). Je to označenie pre programové produkty, ktoré nechcenou reklamou znepríjemňujú prácu s nejakou aplikáciou. Môžu mať rôzny stupeň agresivity až po neustále vyskakujuce pop-up okná alebo ikony v oznamovacej oblasti. Ďalšou nepríjemnou aktivitou adware je napríklad zmena domovskej stránky v internetovom prehliadači bez toho, že by mal používateľ o to záujem. Červík – je program, ktorý rozširuje svoje kópie cez sieť – prenáša sám seba (na rozdiel od vírusov, ktoré sa prenášajú kopírovaním infikovaných programov alebo dát). Králik – je vírus alebo červík, ktorý sa replikuje bez obmedzenia s cieľom vyčerpať zdroje počítača (napríklad zahltiť disk, spôsobuje útok Denial of Services). Tieto jednotlivé typy škodlivých kódov môžu byť kombinované, napríklad vírus a časová bomba.

17 Programové infiltrácie – škodlivý kód
Príklady škodlivého kódu: Bancos je škodlivý kód typu Trójsky kôň: Pre platformy Windows zaznamenávajúci stlačené klávesy používateľom po prihlásení sa na webovú stránku, ktorá obsahuje vo webovej adrese textový reťazec (zoznam textových reťazcov, najmä bánk, je súčasťou kódu). To znamená, že Bancos môže získať dôverné údaje používateľa, ktoré zadáva pri komunikácii s bankou, ako sú používateľské meno, heslo, PIN kód, číslo kreditnej karty, atď. Bancos tieto informácie posiela na určený webový server v internete. Mydoom je škodlivý kód typu červ: Pre platformy Windows ukončuje procesy patriace určitým bezpečnostným nástrojom, ako sú niektoré antivírusové programy a bezpečnostné brány. Takto ponecháva napadnutý počítač zraniteľný útokom iného škodlivého kódu. Mydoom tiež modifikuje súbor HOSTS, aby zabránil prístupu na webové sídla niektorých antivírusových firiem. Bugbear je škodlivý kód typu vírus: Pre platformy Windows. Počítač sa môže veľmi ľahko infikovať týmto vírusom, pretože je automaticky aktivovaný pri prehliadaní správy prostredníctvom aplikácie Outlook. Využíva slabinu internetového prehliadača umožňujúcu automaticky vykonávať prílohy správ elektronickej pošty. Ale Bugbear nevyužíva vždy len túto slabinu pri napadnutí počítača. Na napadnutom počítači Bugbear vykoná ďalšie aktivity. Odosiela na určitý zoznam adries elektronickej pošty súbor obsahujúci kópie hesiel uložených v počítači pre komutované pripojenie počítača do internetu. Ďalej infikuje veľké množstvo súborov na počítači, zablokuje bezpečnostné programy a otvorí port 1080, čo umožní útočníkovi vzdialený prístup na napadnutý počítač. Nakoniec Bugbear zaznamenáva používateľom stlačené klávesy na klávesnici do súboru. Útočník z tohto súboru môže získať dôverné údaje, ako sú heslá na pristúpenie k určitým internetovým službám, bankovým účtom, apod. Zaznamenané údaje sú z počítača odoslané v prípade, že súbor dosiahne určitú veľkosť alebo každé 2 hodiny. Bugbear je obťažné rozpoznať, pretože nezobrazuje žiadne správy ani varovania, ktoré by indikovali, že sa dostal na počítač.

18 Programové infiltrácie – škodlivý kód
Ako sa vírusy pripájajú k programu: Vírusy sa aktivujú spustením infikovaného programu. Spustením sa vírus dostáva k moci a môže napadnúť dobré programy na disku. Vírus pripojený k programu - je najjednoduchší spôsob pripojenia vírusu k programu. Vírus uloží svoj kód na začiatok programu. Keď sa program spustí najprv sa vykoná program vírusu a až potom samotný program. Ak infikovaný program robí to čo má, používateľ si ani nemusí všimnúť, že k aplikácii je pripojený vírus. Vírus obklopujúci program - je ďalší spôsob. Časť kódu vírusu sa môže vykonať pred spustením aplikácie a druhá časť kódu vírusu sa môže vykonať po ukončení aplikácie (problém veľkosti infikovaného kódu, ako to oklamať). Vírus integrovaný do aplikácie a náhrada. Vírusy sa môžu integrovať do aplikácie a nahradiť ju. Je zrejmé, že pisateľ vírusu musí presne vedieť štruktúru aplikácie, aby vedel kam umiestniť kód. Vírus môže nahradiť celú aplikáciu, ktorá potom buď funguje alebo nie. Pôvodný kód Kód vírusu + = alebo Infikovaný kód

19 Programové infiltrácie – škodlivý kód
bol do sieti Internet pustený červík, ktorý spôsobil vážne škody na počítačoch pripojených do siete. Autor Robert T. Morris Čo urobil? Naprogramoval aplikáciu, aby splnil ciele – určiť, kade sa môže šíriť, zabezpečiť šírenie, zostal neodhalený a neodhaliteľný Efekt červíka – primárnym cieľom bolo vyčerpanie zdrojov (útok DoS). Podľa zdrojového kódu červíka najprv zisťoval, či už bol hosť infikovaný alebo nie. Ak bol infikovaný, potom rozhodol, či sa existujúca infekcia ukončí alebo sa ukončí nový infektor. Z dôvodu chyby v programe sa mnoho nových kópií červíka neukončilo, a teda infikovaný stroj skoro začal obsahovať veľa kópií červíkov, ktorí sa snažia rozšíriť infekciu. Ako červík fungoval – využil niekoľko chýb a konfiguračných slabín OS Unix, Berkeley version 4 na realizáciu cieľov. Kadiaľ sa šíriť – červík mal tri techniky na určenie potenciálneho obetného stroja, ktorý by mohol napadnúť. Paralelne sa snažil využiť chybu v službe finger a potom využiť zadné vrátka v ovládači u send-mail. (Tieto chyby boli známe v Unix komunite.) Červík sa dostal na stroj, našiel súbor používateľov so zašifrovanými heslami a mal pripravený slovník so 432 najpoužívanejšími heslami. Keď sa dostal na konto, potom zisťoval, kam môže hacknutý používateľ pristúpiť. Červík sa snažil prihlásiť ako používateľ a využil systémovú chybu, že používateľ vidí zoznam zašifrovaných hesiel. Druhá zneužitá chyba spočívala v chybnej činnosti programu fingerd. Tento program je stále aktívny a odpovedá žiadostiam ostatných počítačov o informácie o používateľoch. Chyba bola spôsobená pretečením vstupnej vyrovnávacej pamäti. Keď program fingerd skončil, rutina červíka sa pripojila k remote shell.

20 Programové infiltrácie – škodlivý kód
Tretia zneužitá chyba bola existencia zadných vrátok v programe send-mail. Tento program obyčajne beží na pozadí a čaká na signály od používateľov , ktorí chcú jeho služby využiť. Keď dostane taký signál, program dostane cieľovú adresu , ktorú verifikuje a potom začína dialóg na získanie správy. Ak však send-mail funguje v režime DEBUG, namiesto cieľovej adresy očakáva povel. Ako šíril infekciu? Ak červík našiel vhodný cieľový stroj, snažil sa jedným z troch uvedených spôsobov poslať cieľovému stroju zavádzač. Zavádzač pozostával z 99 riadkového kódu jazyka C, ktorý bol kompilovaný a vykonávaný na cieľovom stroji. Ako zostal neodhalený a neodhaliteľný? Keď kód červíka bol prenesený na nový cieľový stroj, bol zavedený do pamäti, zašifrovaný a na disku vymazaný. Červík periodicky menil svoje meno a identifikátor procesu.

21 Kryptografia a bezpečnosť
Symetrický šifrovací systém Šifrovací a dešifrovací kľúč je ten istý (kľúč1 = kľúč2) Šifrovaciemu kľúču sa hovorí tajný kľúč Asymetrický šifrovací systém Šifrovací kľúč a dešifrovací kľúč sú rôzne (kľúč1 /= kľúč2) Kľúč1 je verejným kľúčom príjemcu a kľúč2 je privátnym kľúčom príjemcu Vlastníctvo tajného alebo privátneho kľúča je autentizačný mechanizmus

22 Kryptografia a bezpečnosť
Blokový šifrátor Naraz zašifruje blok viacerých znakov otvoreného textu, napríklad 8 znakov (šifrátor DES, Data Encryption Standard), 16 znakov (šifrátor AES – Advanced Data Encryption Standard) Prúdový šifrátor Naraz zašifruje jeden znak otvoreného textu, prípadne jeden bit Napríklad prúdový šifrátor RC4 Blokový šifrátor môže fungovať vo viacerých režimoch (ECB – Electronic Code Book, CBC – CipherBlock Chaining, OFB – Output FeedBack, CFB – Cipher FeedBack)

23 Kryptografia a bezpečnosť – moderné šifrovacie systémy
Klasické šifrovacie systémy boli navrhnuté a používané pred príchodom počítačov S použitím počítača sa môžu významne komplikovať šifrovacie algoritmy Bezpečné moderné šifrovacie algoritmy sú založené na riešení problémov veľkej matematickej zložitosti Rozbitie takéhoto šifrovacieho algoritmu útokom hrubou silou (brutal force attack) je v reálnom čase nezvládnuteľné Príklad problému veľkej matematickej zložitosti Zistenie splniteľnosti formuly - problém je určiť, či daná logická formula je splniteľná alebo nie. Logický výraz je zložený z logických premenných v1,v2,v3,.. vn , a |v1,|v2,|v3,.. |vn, členy formuly sú súčty, formula je tvorená súčinom členov. Ak je možné zvoliť hodnoty v1,v2,v3,.. vn ako 0 alebo 1 tak, aby logická formula nadobúdala hodnotu 1, potom sa hovorí, že formula je splniteľná. Príklad: f = v1.(v2 + v3). (|v2 + |v3), je splniteľná formula Na preskúmanie splniteľnosti treba preskúmať 23=8 možností Na preskúmanie splniteľnosti treba vo všeobecnosti preskúmať 2n možností, kde n je počet logických premenných (exponenciálna zložitosť).

24 Kryptografia a bezpečnosť
Malé a veľké čísla 2-12 pravdepodobnosť smrti v aute 214, 104 doba v rokoch od poslednej doby ľadovej 230, 109 doba v rokoch od vzniku planét slnka 2170, 1051 počet atómov v zemeguli Zložitosť (časová) Zložitosť operácií pre n = doba riešenia pri 106 op/s O(1) mikrosekunda O(n) sekunda O(n2) ,6 dní O(n3) rokov O(2n) ???? rokov Problémy aplikácií výsledkov teórie zložitosti v kryptografii Kryptoanalytik veľakrát rieši veľký súbor štatisticky podobných problémov (mnoho šifier generovaných tým istým kľúčom) Obťažnosť nesmie platiť v „priemere“ alebo „v najhoršom prípade“, ale „vždy“ Nie je možné použiť akýkoľvek ťažký problém, pri riešení musí byť možnosť uplatniť „zadné vrátka“

25 Kryptografia a bezpečnosť
Bezpečnosť je daná silou algoritmu Ako skrýva redundaciu Dĺžkou kľúča Útok hrubou silou, skúšanie všetkých hodnôt kľúčov (celý kľúčový priestor) Dĺžka kľúča počet pokusov pri 1MIPS doba riešenia pri 106 MIPS mikrosekúnd rokov hodín rokov rokov ~10295 rokov ~10597 rokov Aplikovateľnosť podľa dĺžky kľúča Symetrické šifrovacie systémy 128 bitov Asymetrické šifrovacie systémy 1024 bitov

26 Kryptografia a bezpečnosť - šifrovací systém DES
Blokový symetrický šifrátor, 64 bitový šifrátor s 56 bitovým šifrovacím kľúčom Bol vyvinutý vládou USA (modifikácia šifrovacieho systému LUCIFER od IBM) pre všeobecné verejné použitie (Data Encryption Standard – DES) Je to šifrátor Feistalovského typu, využíva 16 cyklov (iterácií) Bol akceptovaný ako štandard v USA v roku 1976 (v roku 2005 skončil ako štandard, stále sa však ešte používa). Je ustanovený jeho nástupca Advanced Encryption Standard (AES), 128 bitový šifrátor s 128 alebo 192 alebo 256 bitovým kľúčom V súčasnosti sa na zvýšenie kryptografickej sily používa verzia TripleDES (64 bitový šifrátor so 112 bitovým kľúčom, pri šifrovaní: prvým kľúčom sa šifruje, druhým sa dešifruje a prvým sa opäť šifruje, pri dešifrovaní: prvým kľúčom sa dešifruje, druhým sa šifruje a prvým sa opäť dešifruje) Využíva základné šifrovacie techniky ako sú substitúcia (S-boxy) a permutácia (P-boxy) Na začiatku šifrovania sa vykoná iniciálna permutácia a na konci šifrovania sa vykoná inverzná iniciálna permutácia

27 Kryptografia a bezpečnosť - šifrovací systém RSA
Rivest, Shamir, Adleman, 1978 Teoretické základy šifrovacieho systému sú založená na malej Fermatovej vete a Eulerovej vete (staré asi 250 rokov) Bezpečnosť je založené na obťažnosti faktorizácie veľkých čísel Je to asymetrický šifrovací systém, jeden kľúč (e, n) je použitý na šifrovanie – súkromný kľúč, druhý kľúč (d, n) na dešifrovanie – verejný kľúč Správa P je zašifrovaná operáciou Pe mod n Zašifrovaná správa c je dešifrovaná operáciou cd mod n Zrejme platí Pe.d mod n = Pd.e mod n = P P = cd mod n = (Pe mod n)d mod n = Pe.d mod n = P Podrobnejší opis algoritmu Číslo n je súčinom prvočísel p a q (každé aspoň 200 dekadických miest) Číslo e (súkromný kľúč) je vybraté tak, že nemá spoločných deliteľov s číslami p-1 a q-1 (vyberá sa prvočíslo väčšie ako p-1 a q-1) Číslo d (verejný kľúč) sa vyberie tak, že platí e.d = 1 mod (p-1).(q-1)

28 Kryptografia a bezpečnosť – hašovacie funkcie
Jednosmerná funkcia Pre dané x je možné ľahko vypočítať F(x) a pre dané F(x) je veľmi ťažké vypočítať x Pre dané x nie je ľahko nájsť x’ /= x také, že F(x) = F(x’) Je obťažné nájsť dve náhodné x, x’ také, že F(x) = F(x’) (odolnosť proti kolízii, rozbitie skleneného pohára) Jednosmerná funkcia so zadnými vrátkami Jednocestná funkcia + pre dané F(x) je ľahko vypočítať x, pokiaľ sa pozná tajomstvo (rozložené hodinky na súčiastky, inštrukcie na zostavenie) Jednosmerná hašovacia funkcia Jednosmerná funkcia, vstup premenlivej dĺžky a (kratší) výstup pevnej dĺžky (128 alebo 160 bitov) prípadne 256 (SHA-256) Odtlačok prsta, fingerprint, charakteristika Hašovacie funkcie a hašovacie hodnoty chránia údaje pri prenose alebo pri uložení pred modifikáciou Funkcia parity a paritný bit Delenie postupnosti bitov (chápané ako koeficienty polynómu s vysokou mocninou) ireducibilným polynómom a zvyšok po delení Z hašovacej hodnoty nie je možné rekonštruovať pôvodné údaje, z ktorých bola hašovacia hodnota vypočítaná. (Bohužiaľ už to pre niektoré hašovacie funkcie nie je pravda, SHA-1, MD5) Kryptografické hašovacie funkcie HMAC (nelineárne transformácie údajov do hašovacej hodnoty)

29 PKI K čomu slúži táto pomerne komplikovaná konštrukcia?
Na nasledujúcom obrázku je znázornený prípad, kedy používateľ A chce používateľovi B zaslať správu, ktorú chce zabezpečiť šifrovaním asymetrickou šifrou. V takomto prípade je nevyhnutné, aby príjemca B najprv vygeneroval dvojicu kľúčov : verejný kľúč (VK-B) a súkromný kľúč (SK-B) (1). Súkromný kľúč si uloží ako svoje tajomstvo napríklad na disk alebo čipovú kartu (2). Verejný kľúč (VK-B) nejakým kanálom distribuje používateľovi A (3). Používateľ A potom použije verejný kľúč používateľa B (na obrázku označený VK-B) k zašifrovaniu odosielanej správy (4). Používateľ B potom takto zašifrovanú správu dešifruje svojím súkromným kľúčom (SK-B) a získa tak pôvodnú správu (5). Pri asymetrickej kryptografii nespočíva nebezpečie vo vyzradení verejného kľúča. Avšak aj pri asymetrickej kryptografii je nebezpečím podvrhnutie kľúča.

30 PKI

31 PKI Na nasledujúcom obrázku nám vstupuje do hry útočník X:
ktorý si vygeneruje svoju dvojicu kľúčov: verejný kľúč (VK-X) a súkromný kľúč (SK-X) útočník svoj verejný kľúč VK-X podvrhne za kľúč používateľa B. Tj. používateľ A si myslí, že VK-X je verejným kľúčom používateľa B a vykoná týmto kľúčom šifrovanie odosielanej správy. Správu odchytí útočník X a dešifruje si ju svojím súkromným kľúčom SK-X. Útočník tak získa správu. Aby si používateľ B nesťažoval, že nedostane správu, tak mu ju útočník zašifruje a odošle šifrovanú jeho kľúčom (VK-B). Proti podvrhnutiu verejného kľúča sa bránime certifikáciou verejného kľúča – tj. pomocou certifikátu. Používateľ B vygeneruje dvojicu verejný a súkromý kľúč, pričom súkromý kľúč si ako tajomstvo starostlivo uloží. Avšak verejný kľúč neodosiala používateľovi B samotný, ale ako súčasť certifikátu.

32 PKI – Podvrhnutie verejného kľúča

33 PKI – certifikácia verejného kľúča
Certifikácia verejného kľúča používateľa sa vykoná takto (viď nasledujúci obrázok): Používateľ B vygeneruje dvojicu verejný a súkromný kľúč (1), pričom súkromný kľúč si ako tajomstvo starostlivo uloží. Po vygenerovaní dvojice kľúčov používateľ B zostaví štruktúru „žiadosť o certifikát“. Táto štruktúra obsahuje identifikačné údaje používateľa B, verejný kľúč používateľa B a prípadne ďalšie data, ktorá sú opísané ďalej. Túto štruktúru digitálne podpíše svojím práve vygenerovaným súkromným kľúčom a pošle certifikačnej autorite (2). Certifikačná autorita overí totožnosť používateľa a verifikuje elektronický podpis na žiadosti o certifikát. Pokiaľ je žiadosť v poriadku, potom certifikačná autorita vystaví certifikát. Certifikát okrem iného obsahuje informácie o tom: kto ho vydal sériové číslo certifikátu identifikačné údaje používateľa platnosť certifikátu verejný kľúč používateľa Certifikát je digitálne podpísaný súkromným kľúčom certifikačnej autority (CA). Certifikačná autorita má svoju dvojici kľúčov: verejný kľúč CA (VK-CA) a súkromný kľúč (SK-CA). Na bezpečnost uloženia súkromného kľúča CA sú kladené extrémne nároky (FIPS 140-2). Verejný kľúč CA sa distribuje ako súčasť certifikátu CA.

34 PKI – certifikácia verejného kľúča
Certifikát CA môže byť podpísaný súkromným kľúčom samotnej CA (self signed) alebo súkromným kľúčom inej CA (nadradená autorita alebo krížová certifikácia). Používateľovi B je certifikačnou autoritou vrátený vystavený certifikát (3). S vystaveným certifikátom by mal používateľ obdržať tiež jeden alebo viacero certifikátov certifikačných autorít. Pomocou certifikátov CA môže byť overený vystavený certifikát. Teraz môže používateľ B svoj certifikát odoslať (4) používateľovi A, ktorý ho overí a v prípade, že je vystavený pre používateľa A dôveryhodnou CA a elektronický podpis na certifikáte je v poriadku, potom môže z tohto certifikátu použiť verejný kľúč na zašifrovanie správy, ktorú chce odoslať používateľovi B. Zašifrovanú správu odošle používateľovi B (5). Používateľ B potom pomocou svojho súkromného kľúča dešifruje správu (6) a získa tak pôvodnú správu.

35 PKI – certifikácia verejného kľúča

36 PKI – certifikácia verejného kľúča
Certifikát se často prirovnáva k občianskemu preukazu. Zatiaľ čo občiansky preukaz se vydáva v tlačenej podobe, tak certifikát se opisuje jako štruktúra v jazyku ASN.1 a medzi počítačmi se prenáša v kódovaní DER (podmnožina BER). Zásadný rozdiel medzi občianskym preukazom a certifikátom je, že občiansky preukaz neobsahuje šifrovací kľúč. V Internete je certifikát opísaný normou RFC-3280 (predtým norma RFC-2527). Táto norma je odvodená od odporúčaní ITU (predtým CCITT) X.509. Pôvodná verzia číslo 1 certifikátu podľa normy X.509 z roku 1988 bola postupne rozšírená až do dnes nejbežnejšej verzii 3. Okrem certifikátov podľa RFC-3280 (resp. odporúčaní X.509) sa v praxi môžeme stretnúť i s certifikátmi iných formátov - napríklad EDI. Forma takýchto certifikátov je síce iná, ale princíp zostáva rovnaký.

37 PKI – porovnanie položiek občianskeho prukazu a certifikátu

38 Digitálny podpis Jedným zo spôsobov ako preniesť vlastnoručný podpis do elektronického sveta a zaviesť digitálny podpis, je využitie asymetrického šifrovacieho systému. Asymetrický šifrovací systém je možné využiť na vytvorenie digitálneho podpisu používateľa ako napodobenie mechanizmu vlastnoručného podpisu používateľa z reálneho sveta. Digitálny podpis sa vždy vzťahuje k niečomu, najčastejšie k digitálnemu podpisu súboru (správy). To znamená, že nie je možné digitálne podpísať prázdny súbor (v reálnom svete je podpis prázdneho papiera principiálne možný). Podpisovateľ pri digitálnom podpise súboru musí najskôr vytvoriť kontrolný súčet súboru (napríklad SHA-2). Po vytvorení kontrolného súčtu súboru podpisovateľ tento kontrolný súčet zašifruje svojím privátnym kľúčom. Zašifrovaný kontrolný súčet predstavuje digitálny podpis súboru. Digitálny podpis sa logicky pripojí k súboru (napríklad zazipovaním do jedného zip súboru). Pri overovaní digitálneho podpisu overovateľ najprv oddelí podpis od súboru a ďalej vykoná tieto činnosti: Digitálny podpis súboru overovateľ dešifruje verejným kľúčom podpisovateľa. Verejný kľúč vyberie z certifikátu verejného kľúča podpisovateľa. Tento certifikát sa štandardne tiež logicky pripája k podpisovanému súboru. Overovateľ podpisu opäť vypočíta kontrolný súčet súboru a porovná ho s dešifrovaným digitálnym podpisom (čo je kontrolný súčet súboru vypočítaný podpisovateľom). Ak sa oba kontrolné súčty rovnajú, potom digitálny podpis bol úspešne overený. Pokiaľ sú oba kontrolné súčty rôzne, potom digitálny podpis overený nebol a podpis je neplatný.

39 Digitálny podpis

40 Digitálny podpis Celý postup digitálneho podpisovania súboru a overenie digitálneho podpisu je zaznamenaný na predchádzajúcom obrázku. Len pre zaujímavosť si treba všimnúť, že digitálny podpis v elektronickom svete je ešte silnejší ako vlastnoručný podpis v reálnom svete, pretože: Digitálny podpis zabezpečuje aj integritu súboru. Ak sa po podpísaní zmení obsah súboru, pri overovaní podpisu sa vypočíta iná kontrolná suma než bola tá kontrolná suma, čo vypočítal podpisovateľ pri podpisovaní súboru, a podpis sa neoverí. Túto vlastnosť vlastnoručný podpis nemá, pretože občan sa podpisuje vždy rovnako a jeho podpis nezáleží od toho, či podpisuje zmluvu na kúpu auta alebo zmluvu na pripojenie sa do internetu. Ako už bolo spomenuté, nie je možné digitálne podpísať prázdny súbor. V reálnom svete je podpísanie prázdneho listu možné.

41 Elektronický podpis Podľa direktívy [EC 1993/93] je elektronický podpis definovaný ako údaje v elektronickej podobe, ktoré sú pripojené alebo logicky spojené s inými elektronickými údajmi a ktoré slúžia ako metóda autentifikácie Elektronický podpis má funkciu zriadiť spojenie medzi podpísanými údajmi a osobou. Toto spojenie môže slúžiť iba na stanovenie prítomnosti vzťahu k údajom, znalosti údajov, akceptovateľnosti údajov, deklarácie údajov a a/alebo vzniku/vytvorenia údajov. Elektronický podpis je takto digitálna procedúra zriadená na potvrdenie možnej právnej dôležitosti údajov pre určitú osobu alebo skupín osôb. Je nevyhnutné poznamenať, že takto definovaný elektronický podpis nevyžaduje výlučne použitie asymetrickej kryptografie, na jeho realizáciu môže byť použitá tiež symetrická kryptografia. Navyše, definícia dokonca nevyžaduje použiť kryptografiu, ak sú splnené požiadavky definované v elektronickom podpise. Zaručený elektronický podpis je elektronický podpis splňujúci tieto ďalšie požiadavky Je jednoznačne spojený s podpisovateľom Je schopný identifikovať podpisovateľa Je vytvorený použitím prostriedkov, ktoré má podpisovateľ výlučne pod kontrolou Je pripojený k údajom a má k nim taký vzťah, že každá následná zmena údajov je detekovateľná

42 TEŠÍM SA NA ĎALŠIE STRETNUTIA
ĎAKUJEM ZA POZORNOSŤ TEŠÍM SA NA ĎALŠIE STRETNUTIA


Download ppt "Je bezpečnosť informačných systémov bezpečná?"

Similar presentations


Ads by Google