CIA: Integrita

Integrita je nejčastěji definována jako zajištění správnosti a úplnosti informací.

O nežádoucí modifikaci (alteration) se proto v informační bezpečnosti hovoří jako o narušení integrity (Integrity). V případě integrity je třeba si uvědomit, že pokud dojde k nežádoucí změně dat, a to ať už úmyslně, náhodou, nebo technickým selháním v důsledku působení vyšší moci, nemusí být tato nežádoucí změna vůbec odhalena a může uplynout dlouhá doba, než si někdo něčeho všimne. Čím později se na tento bezpečnostní incident přijde, tím závažnější bude jeho dopad.

integrity

Problém spočívá v tom, že je velice obtížné dohledat jaký byl původní záznam, protože nebudeme vědět, kdy přesně ke změně došlo. Navíc změn může být mezitím provedeno několik, v takové situaci potom bude zhola nemožné dohledat, jaká byla původní hodnota. Na tomto místě je třeba také zdůraznit, že opatření určené pro zajištění dostupnosti jako je zálohování a archivace vám příliš nepomohou, protože daná poslední změna se bude pravděpodobně nacházet i na záložních a archivních médiích a vy pokud nebude mít k dispozici logy o činnostech v systému, nebude vědět, k jakému dni máte data obnovit.

Předpokládejme, že máme databázi pacientů, která obsahuje jejich osobní údaje, informace o prodělaných nemocech, ošetření apod. Předpokládejme, že nemocnice si je vědoma toho, že tato důvěrná data je třeba chránit a proto je při ukládání šifruje a řídí k nim přístup. Jak může být narušena integrita dat, když  jsou data šifrována? Mám na mysli nějaký složitější útok než ten, že útočník data poškodí, to by bylo moc jednoduché. Na takovýto bezpečnostní incident by se hned přišlo, protože data by se nepovedlo dešifrovat. Na první pohled se zdá, že pokud útočník nezná klíč, kterým jsou data šifrována, bude jakékoliv narušení integrity dat ihned odhaleno.

Útok však může být mnohem sofistikovanější, útočník může zjistit, např. podle názvů sloupců co je nejspíš jeho obsahem. Dále je třeba si uvědomit, že většinou se nešifrují všechny informace, ale i kdyby se šifrovaly, proti útoku, který má útočník v úmyslu provést by nám to stejně nepomohlo. Je třeba si uvědomit, že pokud se bude v daném sloupci nacházet stejná hodnota, bude i výsledek šifrování dané hodnoty stejný. Útočník tak vůbec nepotřebuje dešifrování provádět, on ani nepotřebuje vědět, co přesně je v daném poli uloženo za hodnotu! Útočník např. pouze prohodí zašifrovaný text ve sloupci krevní skupina u několika pacientů stejného věku, které se lečí u stejného doktora, nebo prohodí diagnózu, předepsané léky apod. Takováto změna by mohla  vést až k úmrtí a pokud ji útočník provede jen u malého procenta pacientů nemusí být jeho útok nikdy odhalen.

Jak se ale proti takovému útoku, spočívajícímu v narušení integrity, bránit? Nejjednodušší je auditovat všechny změny, aby bylo možné zjistit, kdy a kým byla změna provedena. Toto opatření by však mělo být použito pouze jako součást sady opatření. Jako vhodné řešení se jeví použití vícevrstvé architektury, kde data budou šifrována v aplikaci a do databáze budou ukládána v zašifrovaném tvaru, takže ani administrátor DB nebude vědět, co se v DB nachází za data. Před uložením dat do databáze by se pak pro vybraná data provedl v aplikaci kontrolní součet za použití jednocestné funkce např. SHA256, ten by se zašifroval a uložil do databáze. Aplikace by pak po načtení dat z databáze spočítala kontrolní součet a porovnala by ho s dešifrovaným kontrolním součtem uloženým v DB. Pokud by byl výsledek porovnání stejný, znamenalo by to, že data nebyla v databázi modifikována. Samozřejmě, že slabé místo se nám posunulo z databázové vrstvy na aplikační, protože ten kdo zná klíč použitý k šifrování, je schopen i data změnit. Nicméně dalo by se třeba uvažovat o použití nějaké ho HW modulu, který by šifrování prováděl.

Výše uvedený útok by mohl postihnout jakoukoliv společnost, tedy ne jen nemocnici. U společností, jejichž předmětem podnikání je nákup a prodej by se mohlo např. jednat o prohození adresy, což by mělo za následek, že zboží by občas přišlo někam jinam, než původně mělo. U banky mohlo dojít třeba ke změně kurzovního lístku a tím by se zrealizovaly obchody pro banku v nevýhodném kurzu. V armádním systému by mohlo dojít ke změně souřadnic vlastních a nepřátelských jednotek nebo ke změně barev signalizující oblasti, které jsou neutrální a oblastí, kde se nachází vlastní jednotky a nepřítel.

Poznámka: Tento článek se nesnaží přinést odpověď na otázku, jak data co nejlépe zabezpečit. Výše uvedený příklad slouží pouze pro ilustraci a aby si čtenář uvědomil, proč je zajištění integrity tak důležité.


Pokud vás tento příspěvek zaujal, sdílejte ho!
Share on FacebookShare on LinkedInTweet about this on TwitterShare on Google+Email this to someonePrint this page

Štítky: , , , ,


K článku “CIA: Integrita” se zde nenachází žádný komentář - buďte první.

Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.

Přihlášeným uživatelům se tento formulář nezobrazuje - zaregistrujte se.

Jméno:(požadováno)
E-mail:(požadováno - nebude zobrazen)
Web:

Text vaší reakce: