1. Motivácia
Je známou skutočnosťou, že programové vybavenie počítačov obsahuje chyby, mnohé z nich s potenciálnymi bezpečnostnými dôsledkami. Je pravdepodobné (svoju úlohu môže zohrať aj „viditeľnosť“ systému), že časom niekto takýto bezpečnostný nedostatok objaví a v tom lepšom prípade získaný poznatok nechce zneužiť, ale naopak chce dosiahnuť uzatvorenie objavenej „bezpečnostnej diery“. Nie vždy však reakcia dodávateľa softvéru či prevádzkovateľa príslušného systému na oznámenie o bezpečnostnom nedostatku zodpovedá očakávaniam (odmieta priznať existenciu bezpečnostnej diery, ak aj chybu pripustí a odstráni, odmieta priznať zásluhy toho, kto na chybu upozornil, a podobne). V takých prípadoch sa stáva, že objaviteľ bezpečnostného nedostatku sa pokúsi donútiť druhú stranu k želanej reakcii použitím nátlakových postupov, ako napríklad zverejnením svojich zistení s názornými ukážkami využitia chyby, a podobne. Vážnym dôsledkom takéhoto konania môže byť ohrozenie záujmov a práv inak nezainteresovaných osôb – napríklad sprístupnenie (osobných) údajov klientov prevádzkovateľa širokému okruhu osôb (vrátane takých, ktoré inak nedisponujú znalosťami potrebnými pre získanie prístupu v takom rozsahu) v rámci praktickej ukážky existencie bezpečnostnej diery a postupu jej využitia. Aj keby v takom prípade nešlo o protiprávne konanie, spôsobenie ujmy nezainteresovaným osobám svedčí o nezodpovednom, neetickom prístupe oznamovateľa a môže mať negatívne dôsledky ako pre samotnú osobu oznamovateľa, tak aj na celkové vnímanie tých, ktorí skúmajú úroveň bezpečnosti informačných systémov s cieľom jej zlepšovania.
Pokúsili sme sa sformulovať niekoľko zásad zodpovedného prístupu k upozorňovaniu na bezpečnostné nedostatky a navrhnúť postup, ktorý podľa nášho názoru umožňuje oznamovateľovi v prípade potreby zverejniť, resp. medializovať nekorektnú reakciu prevádzkovateľa či dodávateľa predmetného systému na oznámenie chyby, ako aj existenciu bezpečnostného nedostatku tak, aby sa minimalizovalo ohrozenie záujmov a práv nezainteresovaných osôb.
2. Zásady zodpovedného prístupu k upozorňovaniu na bezpečnostné nedostatky
A) Zodpovedný prevádzkovateľ systému, dodávateľ softvéru
-- zverejní kontakt, na ktorom možno oznámiť zistený bezpečnostný nedostatok
-- zabezpečí kvalifikované vyhodnocovanie prijatých oznámení
-- zavedie a dodržiava interné pravidlá pre korektnú komunikáciu s oznamovateľmi bezpečnostných nedostatkov (napr. odpoveď do stanoveného maximálneho času, priznanie zásluhy oznamovateľovi, prípadne rešpektovanie jeho žiadosti o anonymitu)
-- nebude po odstránení chyby medializovať lživé, či nepravdivé informácie o objavenej a nahlásenej zraniteľnosti, alebo jej objaviteľovi
B) Zodpovedný oznamovateľ bezpečnostného nedostatku
-- zistený bezpečnostný nedostatok v prvom rade oznámi prevádzkovateľovi predmetného systému, resp. dodávateľovi predmetného softvéru a v prípade pozitívnej reakcie na oznámenie spolupracuje pri jeho odstránení
-- rešpektuje nevyhnutné časové, finančné a podobné limity prevádzkovateľa systému/dodávateľa softvéru pri odstraňovaní zisteného bezpečnostného nedostatku
-- k zverejneniu, resp. medializácii existencie bezpečnostného nedostatku pristúpi až v prípade preukázateľného nezáujmu prevádzkovateľa systému/dodávateľa softvéru o riešenie zisteného bezpečnostného nedostatku a to najskôr po plných dvoch pracovných dňoch od nahlásenia bezpečnostnej zraniteľnosti prevádzkovateľovi systému
-- v prípade zverejnenia, resp. medializácie existencie bezpečnostného nedostatku postupuje tak, aby nedošlo k zbytočnej ujme na právach a záujmoch nezainteresovaných osôb (klientov prevádzkovateľa, a pod.)
-- v prípade, že je prevádzkovateľom systému niekto iný, ako jeho tvorca a systém sa používa na ďalších projektoch/weboch, oznamovateľ sa pokúsi kontaktovať aj tvorcu systému, poprípade poskytne viac času na komunikáciu prevádzkovateľa s tvorcom systému.
3. Odporúčaný postup pri oznamovaní bezpečnostného nedostatku
Alternatíva 1
Oznamovateľ nadviaže kontakt s prevádzkovateľom predmetného systému, resp. dodávateľom predmetného softvéru, popíše zistený bezpečnostný nedostatok, načrtne možné riziká jeho zneužitia, prípadne navrhne aj spôsob nápravy. V prípade prejaveného záujmu zo strany prevádzkovateľa/dodávateľa poskytne ďalšie informácie potrebné na odstránenie nedostatku (pokiaľ sú k dispozícii) a dohodne sa na čase a forme prípadného verejného upozornenia na predmetný bezpečnostný nedostatok a spôsob jeho odstránenia.
Ak si oznamovateľ nie je istý či jeho upozornenie bude prijaté v súlade so zásadami zodpovedného prístupu prevádzkovateľa/dodávateľa, v prvotnom kontakte okrem vyššie spomenutých údajov uvedie termín, po uplynutí ktorého zverejní zistený bezpečnostný nedostatok. Čas, ktorý je takto poskytnutý prevádzkovateľovi/dodávateľovi na spracovanie podnetu, by nemal byť kratší ako dva plné pracovné dni (48 hodín). Ak oznamovateľ má obavy, že oslovený prevádzkovateľ/dodávateľ síce zabezpečí nápravu oznámeného bezpečnostného nedostatku, ale neprizná zásluhy (autorstvo objavenia nedostatku) oznamovateľa, pred zaslaním svojho oznámenia využije dôveryhodnú tretiu stranu podobne, ako v Aternatíve 2. Oznamovateľ si môže vyhotoviť obrazové a zvukové dôkazy o existencii zraniteľnosti ešte pred jej nahlásením, ak tým neporuší zákon (vstup do databázy, kopírovanie dát zo servera, atď.). Tieto materiály môže poskytnúť prevádzkovateľovi ako určitú formu potvrdenia nahlásených zraniteľností a po uplynutí stanoveného času ich publikovať. Je však vhodné, aby takto vyhotovené materiály nezachytávali presný postup pre zneužívaní popisovanej zraniteľnosti, čo by mohlo viesť k vytvoreniu univerzálneho návodu aplikovateľného na rovnaké zraniteľnosti u iných prevádzkovateľov.
Alternatíva 2
V prípade nezáujmu prevádzkovateľa/dodávateľa o náležité riešenie zisteného bezpečnostného nedostatku, alebo v prípade nekorektného jednania z jeho strany (odstránenie nedostatku bez priznania zásluhy oznamovateľovi) oznamovateľ zváži, či má záujem na vyvinutie silnejšieho tlaku na prevádzkovateľa/dodávateľa formou zverejnenia (medializácie) upozornenia na existenciu predmetného bezpečnostného nedostatku, resp. upozornenia na nekorektné konanie prevádzkovateľa/dodávateľa.
V prípade rozhodnutia o zverejnení bezpečnostného nedostatku oznamovateľ v zverejnenom oznámení uvedie hrubý popis charakteru zisteného nedostatku a načrtne možné riziká jeho zneužitia, prípadne načrtne aj spôsob nápravy. Ak bezpečnostný nedostatok nebol ešte odstránený, nezverejňuje detailné informácie a skripty, ktoré automatizujú využitie predmetného nedostatku. Oznamovateľ nezverejňuje (osobné) údaje klientov prevádzkovateľa, ktoré sa dajú získať využitím predmetného bezpečnostného nedostatku, a to ani keď chce poukázať na reálnosť takejto hrozby.
Na preukázanie existencie bezpečnostného nedostatku, reálnosti popisovanej hrozby a prípadne aj svojho autorstva zistenia využije oznamovateľ dôveryhodnú tretiu stranu, ktorej pred zverejnením bezpečnostného nedostatku sprístupní potrebné detaily a ktorá svojou autoritou v prípade potreby potvrdí jeho tvrdenia. Treťou stranou je jedna alebo niekoľko osôb (prípadne inštitúcií), ktoré sú dostatočne kvalifikované na to, aby vedeli posúdiť reálnosť tvrdení oznamovateľa a zároveň súhlasia s tým, že v prípade potreby potvrdia existenciu bezpečnostného nedostatku, reálnosť hrozby jeho využitia na narušenie bezpečnosti, či zásluhu oznamovateľa na objavení nedostatku.
Tretiu stranu (strany) si vyberie oznamovateľ sám, je preto v jeho záujme aby mala potrebnú odbornú autoritu, bola akceptovaná ako dôveryhodná, a aby jej poskytol informácie potrebné na to, aby ju presvedčil o pravdivosti svojich tvrdení. Jednotlivec (alebo inštitúcia), ktorý za svoju úlohu ako tretia strana požaduje finančnú odmenu, alebo sa pokúsi zneužiť informácie poskytnuté oznamovateľom, nie je viac považovaný za dôveryhodnú tretiu stranu. Odporúča sa, aby oznamovateľ využil niekoľko, podľa možnosti navzájom nezvislých, dôveryhodných tretích strán.
Oznamovateľ si môže vyhotoviť obrazové a zvukové dôkazy o existencii zraniteľnosti ešte pred jej nahlásením, ak tým neporuší zákon (vstup do databázy, kopírovanie dát zo servera, atď.). Tieto materiály môže poskytnúť prevádzkovateľovi ako určitú formu potvrdenia nahlásených zraniteľností a po uplynutí stanoveného času ich publikovať. Je však vhodné, aby takto vyhotovené materiály nezachytávali presný postup pre zneužívaní popisovanej zraniteľnosti, čo by mohlo viesť k vytvoreniu univerzálneho návodu aplikovateľného na rovnaké zraniteľnosti u iných prevádzkovateľov.
Rastislav Turek, Jozef Vyskoč
Zodpovedný prístup k upozorňovaniu na bezpečnostné nedostatky
V predchádzajúcom článku som v súvislosti s nedávnym prípadom sprístupnenia zoznamu e-mailových adries používateľov Azet-u spomenul, že na Slovensku chýba všeobecne akceptovaná „norma“ etického a zodpovedného správania nasledujúceho po objavení bezpečnostného nedostatku. Krátko nato som sa stretol s autorom článku na blog.synopsi.com, ktorý celý prípad začal. Na stretnutí sme sa o.i. dohodli, že vytvoríme a na diskusiu predložíme návrh textu, ktorý by sa pokúsil charakterizovať zodpovedný prístup k upozorňovaniu na bezpečnostné nedostatky. Inak povedané, ako upozorniť na objavený bezpečnostný nedostatok tak, aby upozornenie bolo účinné a zároveň nedošlo k zbytočnému poškodeniu práv a záujmov tých, ktorí svoje (osobné) údaje zverili organizácii u ktorej bolo objavená bezpečnostná chyba. (Návrh je zverejnený aj na blog.synopsi.com)