Bezpečnosť osobných údajov a posúdenie vplyvu na ochranu údajov

 

roman.fulop@nethemba.com

pavol.luptak@nethemba.com

Pavol Lupták

  • IT bezpečnostný expert zameraný na IT bezpečnosť s viac než 20 ročnou praxou (z toho 10+ rokov v mojej vlastnej IT security firme - Nethemba s.r.o.)
  • Digitálna bezpečnosť je hlavným zameraním našej spoločnosti (www.chrantesvojesukromie.sk, www.chrantesvesoukromi.cz)
  • Verím, že ľudia si zaslúžia absolútne digitálne súkromie a technológie nás dokážu oslobodiť
  • Voluntaryista  - všetky vzťahy musia byť vzájomne dobrovoľné (GDPR by malo byť vnímané ako konkurenčná výhoda a nie ako povinnosť vynucovaná štátom)

Roman Fülöp

  • IT expert s viac než 14 ročnou praxou
  • Administrácia a zabezpečovanie IT systémov
  • Softvérový inžinier, riadenie IT projektov, vývoj 
  • Penetračný tester a bezpečnostný konzultant v spoločnostiach Nethemba s.r.o. a Hacktrophy spol. s r.o.

Identifikácia osobných údajov

 

Doteraz sa za osobný údaj pokladal:

  • Titul, meno, priezvisko, adresa trvalého alebo prechodného pobytu, dátum narodenia, e-mail, telefónne číslo

GDPR pokladá za osobné údaje tiež:

  • Online identifikátory osôb (napríklad IP adresa, cookies, identifikátory mobilných zariadení) – ak sa napr. IP adresa dá použiť na zistenie, kde sa jednotlivec nachádza, ide o osobné údaje.

  • Biometrické údaje (hlas, fotografia, odtlačok prsta..)

  • Lokalizačné údaje – klasifikujú sa ako osobné, pretože sa dajú použiť na identifikáciu toho, kde jednotlivec žije, kde pracuje.

Zákaz spracovania osobných údajov, GDPR zakazuje:

  • Spracovanie osobných údajov, ktoré odhaľujú rasový alebo etnický pôvod, politické názory, náboženské alebo filozofické presvedčenie alebo členstvo v odborových organizáciách,

  • Spracovanie genetických údajov, biometrických údajov na individuálnu identifikáciu fyzickej osoby,

  • Údajov týkajúcich sa zdravia alebo

  • Údajov týkajúcich sa sexuálneho života alebo sexuálnej orientácie fyzickej osoby.

Identifikácia úložísk osobných údajov

  • Krajina úložiska (mimo EÚ to môže byť vážny problém s výnimkou pár krajín, ktoré dostatočne dbajú o ochranu osobných udajov, viac informácií na https://ec.europa.eu/info/law/law-topic/data-protection_en)

  • Verejný cloud (Amazon, Microsoft Azure, Google, ...) alebo tradičný server housing alebo lokálne úložiško v sídle firmy?

  • SQL relačná databáza alebo noSQL alebo verejný/privátny blockchain? (uchovávanie osobných šifrovaných dát v blockchaine môže byť problém, lebo podľa GDPR nie je možné vynútiť "právo na zabudnutie")

Šifrovanie osobných dát

Šifrovanie je možné realizovať na viacerých úrovniach:

  • Na úrovni súborového systému (Microsoft Bitlocker, LUKS/dmrypt, ...)

  • Na úrovni databázy (nie všetky databázové systémy podporujú šifrovanie)

  • Na úrovni samotnej aplikácie

Odporúčame kombináciu viacerých.

 

Dôležitá otázka:

Kde bezpečne uložiť šifrovacie kľúče?

Minimálny zber osobných dát

Zbierať veľké množstvo osobných dát je častokrát úplne zbytočné:
 

Slovenské železnice vs. Regiojet:

  • Slovenské železnice pri kúpe lístka vyžadovali "krstné meno, priezvisko, číslo OP/pasu, adresu bydliska"
  • Regiojet pri kúpe lístka vyžaduje len "emailovú edresu", ako lístok poslúži unikátny QR code

 

Zamyslite sa, aké nevyhnutné osobné informácie od klientov potrebujete a či nie je možné predaj/kúpu realizovať úplne anonymne.

Množstvo služieb a operácií je možné realizovať bez potreby akýchkoľvek osobných údajov, ale legislatíva (iná ako GDPR) ako AML/KYC, protiteroristická, atď., to zakazuje.

 

 

Anonymizácia

 

GDPR odporúča explicitne realizovať anonymizáciu alebo pseudonymizáciu osobných údajov - bohužiaľ toto je často v konflikte s inými zákonmi (ako "protiteroristická legislatíva" alebo AML/KYC, ktoré anonymitu zakazuje):

  • Na Slovensku je zakázané predávať anonymné SIM karty (pričom napríklad v Česku je to legálne)
  • V celej EÚ sú kvôli "hrozbe terorizmu" zakázané anonymné "prepaid karty" (pričom ešte pred pár mesiacmi fungovali v Čechách aj Rakúsku, napríklad "Blesk peňaženka")
  • Realizovanie akýchkoľvek elektronických anonymných finančných transakcií je zakázané (ak človek nepoužije napríklad skutočne anonymné kryptomeny)

 

 

 

 

 

 

Pseudonymizácia

  • Rozloženie osobných údajov na viacero častí, z ktorých je možné realizovať jednoduchým spôsobom deanonymizáciu osobných údajov a odhaliť reálnu identitu
  • Cieľom je znemožniť hackerom zrekonštruovať osobné informácie na základe čiastkových informácií, ktorých sa dokážu zmocniť ("vydumpovanie" obsahu databázy, únik zákaznických dát atď.)
  • Vyžaduje reálny zásah do architektúry aplikácie

 

 

 

 

 

Dôležitosť šifrovania v kontexte GDPR

  • Vzhľadom k tomu, že šifrovanie minimalizuje pravdepodobnosť potenciálneho zneužitia uniknutých údajov, tak správca dát nemusí podľa GDPR legislatívy kontaktovať svojich zákazníkov (čo môže viesť v tomto prípade k napríklad k poškodeniu dobrej reputácie apod.), ani Úrad pre ochranu osobných údajov.

 

 

 

 

 

Analýza bezpečnosti šifrovaných dát

  • Používate bezpečné šifrovacie a hashovacie algoritmy (napríklad AES-256, SHA-2, SHA-3)?
  • Preferujte hashovacie algoritmy PBKDF2 alebo bcrypt/scrypt?
  • Používate "soľ" (salt) pri hashovaní?
  • Kde ukladáte šifrovacie kľúče?
  • Ste odolní voči slovníkovým útokom, resp. útokom hrubou silou?
  • Ste odolní voči útokom využitím "rainbow" tabuliek?

 

 

 

 

Analýza bezpečnosti webových a mobilných aplikácií

  • Penetračné testy
  • Hĺbkové a bezpečnostné audity aplikácií
  • "Prehliadka" bezpečnosti kódu
  • "Bug Bounty" programy

Penetračné testy

  • Simulácia reálneho hackerského útoku s cieľom za daný čas odhaliť čo najväčšie množstvo, čo najviac kritických zraniteľností a spraviť "prienik"
  • Zahrňuje aktívnu bezpečnostnú analýzu systému s cieľom identifikovať akékoľvek bezpečnostné zraniteľnosti, ktoré sú potenciálne zneužiteľné
  • Rôzne metodológie:
    • OWASP Testing Guide
    • OWASP Mobile Project 
    • OSSTMM

Prístupy penetračného testovania

  • Blackbox - útok s "nulovou" znalosťou - útočník alebo penetračný tester nedisponuje žiadnou informáciou o cieľovom systéme, infraštruktúre alebo aplikácii - obvykle ide o najrealistickejší scenár externého penetračného testu
  • Whitebox - útok s výraznou znalosťou informácií o cieľovom systéme, infraštruktúre alebo aplikácii - napríklad útok v internej sieti zo strany zamestnanca firmy, ktorý disponuje všetkými potrebnými údajmi
  • Greybox - útok s čiastočnou znalosťou informácií

Fázy penetračného testovania

  1. Odhaľovanie - pasívne zisťovanie informácií o cieľovom systéme (tiež tzv. "information gathering"), využitím verejných vyhľadávačov, verejných databáz, služieb ako WHOIS, sociálnych sietí atď.
  2. Enumerácia - používanie intruzívnych metód a techník s cieľom získať informácie o cieľovom systéme (portscanning, fingerprinting, ...)
  3. Mapovanie zraniteľností - mapovanie zraniteľností získaných vo fáze enumerácie na známe a potenciálne zraniteľnosti
  4. Využitie zraniteľností (exploitácia) - pokus o samotný prienik využitím identifikovaných zraniteľností v predošlej fáze. Cieľom je získať privilegovaný alebo neprivilegovaný prístup, obsah databázy atď. (používanie a tvorba tzv. "exploitov", "exploit frameworks")

Štandardný penetračný test

Cieľom štandardného penetračného testu je odhaliť čo najväčšie množstvo čo najviac kritických zraniteľností vo webovej aplikácii alebo webovom serveri behom 3 dní ako aj odhaliť spôsob ich využitia a prípadnú možnosť získania privilegovaného prístupu.

  • Odhaľuje najvážnejšie webové zraniteľnosti (SQL/LDAP injection, XSS/CSRF, pretečenie buffrov, bezpečnostné chyby v biznis logike, obídenie autentifikácie, možnosť lokálneho vloženia súborov)
  • Vzhľadom k tomu, že je použité manuálne overenie, test je veľmi vhodný aj v situáciách, kedy vaše bezpečnostné scannery zlyhali
  • Výsledkom je technická správa s manažérskym zhrnutím, všetkými odhalenými zraniteľnosťami a ich príslušnými stupňami rizík ako aj odporúčaniami na nápravu

Detailný bezpečnostný audit

Cieľom detailného bezpečnostné auditu webovej aplikácie a webového serveru je čo najdôkladnejšie a najdetailnejšie otestovať webovú aplikáciu a webový server (všetky formuláre, všetky druhy známych zraniteľností). Test zahrňuje:

  • Praktickú „hackerskú“ demonštráciu odhalených kritických zraniteľností (tvorba vlastných „exploit“ programov, dump databázy, demonštrácia CSRF/XSS/Session fixation zraniteľností atď.)
  • Stretnutie s vývojármi testovanej aplikácie (prezentácia výslednej správy, demonštrácia zneužitia odhalených zraniteľností, prezentácia možných opráv a zabezpečenia aplikácie)
  • Kompletné a úplné otestovanie webovej aplikácie podľa testovacej príručky OWASP
  • Technickú výslednú správu s manažérskym zhrnutím, všetkými odhalenými zraniteľnostami, ich stupňami rizík a návrhmi riešení

"Prehliadka" bezpečnosti kódu

Analýza zdrojového kódu na potenciálne bezpečnostné zraniteľnosti v rôznych jazykoch:

  • Automatizovaná na typické chyby v danom jazyku
  • Manuálna na sofistikovanejšie chyby (napríklad v biznis logike) - obvykle časovo veľmi náročná, odporúčame pre kritické časti kódy z hľadiska bezpečnosti:
    • autentifikácia
    • autorizácia
    • "session management"
  • Bezpečnosť je nutné zohľadňovať v každej fáze SDLC, inak sa môže výrazne predražiť

"Bug bounty" programy

  • Testovanie zabezpečenia online aplikácií prostredníctvom „bug bounty“ programu, do ktorého sa zapájajú bezpečnostní experti z celého sveta (tzv. etickí hackeri)
  • Ich cieľom je identifikovať zraniteľnosti v aplikáciách, ktoré sú zaregistrované v "bug bounty" programe
  • Prínosom pre klienta je množstvo skúsených expertov – hackerov, ktorí sú v programe zapojení a hľadajú slabiny v zabezpečení
  • Motiváciou pre zapojených hackerov nie je len prestíž, ale aj finančná odmena, ktorá je vyplácaná za každú nájdenú bezpečnostnú zraniteľnosť vždy prvému hackerovi, ktorý ju objavil
  • Cenotvorbu určuje klient - platí len za reálne odhalené zraniteľnosti

Bezpečnosť osobných údajov a posúdenie vplyvu na ochranu údajov

By Pavol Luptak

Bezpečnosť osobných údajov a posúdenie vplyvu na ochranu údajov

  • 2,588