I to by bylo dost ošemetné – dovedu si představit, že pokud by to chtěl někdo použít na cílený útok, nějaký skript to vůbec nezachytí. Vložil by ten odkaz třeba do nějakého inzerátu v nějaké obskurní kategorii někde za rohem – a ten skript aby nestahoval všechny stránky všech služeb Seznamu, aby zjistil, zda to někde není zneužité.
Chápu, že na hlášení „vypisují se vám cookies do stránky“ by Seznam nemusel reagovat tak rychle, jako na „jde unést relaci“.
Až teď mne napadlo (a nechci tím nic podsouvat autorovi, píšu to, protože je to možná důležité obecně), že současné pojetí bug bounty programů vlastně nahrává tomu nechávat si méně závažné chyby pro sebe. Z hlediska výdělku je lepší počkat, až jich neshromáždím víc a dokážu je propojit do jedné závažnější chyby, za kterou pak dostanu (větší) odměnu.
to je vlastně dobře, aspoň funguje nějaká samoregulace. Řada lidí si založila živnost na tom, že hlásí banalitní pochybení z automatizovaných nástrojů a čekají (teda spíše vyžadují) za to odměnu.
O bezpečnost se mají starat zaměstnanci a smluvní partneři a ne extrerní nezávislé subjekty, to je podle mě jen dočasná anomálie.
To, že se dnes jako „bezpečnostní problém“ hlásí kdejaká hloupost, to je pravda. A nepřipadá mi, že by v tom nějaká samoregulace fungovala – ti lidé to hlásí i jen jen kvůli tomu, aby se mohli chlubit, že to nahlásili (ne nadarmo se CVE někdy vykládá jako „Curriculum vitæ enhancement“). Každopádně mně nešlo o to odměňovat i banality, ale o to, že by dávalo smysl odměňovat vážné nálezy i tehdy, když je někdo nahlásí postupně po částech.
Co se týče druhého odstavce, to je myslím nepochopení situace. Bezpečnost je samozřejmě věcí vlastníka/provozovatele. Ale nikdo není bezchybný, snad ve všech oborech lidské činnosti platí, že na chybu může přijít i někdo z venku – a je dobré, že v IT alespoň částečně funguje kultura, že za poctivé nahlášení chyby se děkuje a ne že se ta chyba snaží ututlat a nálezce potrestat.
vážné nálezy jsou ale dnes spíše kombinací více chyb, stejně tak se k těm vážným dostaneš až opět přes jiné chyba, viz i tahle zprávička. Kdyby to nahlásil rovnou a oni to opravili, tak těch závažných si nemusí teď všimnout.
Trávit měsíce zkoumáním cizího systému vypadá spíše jako obchodní model než bohulibá činnost, tady je vždy lepší mít nějaký smluvní rámec. To není tak, že potkáš jako kolemdoucí chybu a ze slušnosti jí nahlásíš.
Etický hacker, je pořád hacker (rozdíl je jen v závěru) a pokud nachytáš někoho jak měsíce připravuje průnik do tvého systému, jak odlišíš v téhle fázi, jestli jeho úmysly byly čisté nebo ne? Dneska nám to možná zní směšně, ale čím více se bezpečnost bude brát vážně, tím více může taková bohulibá snaha být nežádoucí až problematická.
Právě proto, že jsou vážné nálezy kombinací více chyb, dávalo by smysl motivovat i k hlášení samostatných menších chyb, které se v budoucnu ukážou jako součást větší chyby. Z popisu v odkazovaném příspěvku jasně plyne, že kvůli současnému systému existoval v systémech Seznamu vážný problém o několik měsíců déle, přestože někdo věděl o části toho problému – a oprava této části by celou zranitelnost zalepila.
Někteří lidé tráví měsíce psaním kódu do opensource projektů, jiní ho mohou trávit hledáním bezpečnostních chyb v cizích systémech. Ani v jednom případě to nemusí být obchodní model.
Kdyby to bylo tak, jak popisuju – tedy že by hacker první nalezenou chybu nahlásil hned, jak ji zjistí, bylo by to odlišení dobrých a zlých úmyslů snadné. Tvrdím, že současné bug bounty programy nejsou nastavené ideálně, protože motivují k tomu tajit méně závažné chyby a schovávat si je na dobu, kdy je dokážu pospojovat do závažnější chyby. Přičemž bug bounty programy mají právě opačný cíl – aby se provozovatel o chybě dozvěděl co nejdřív a mohl ji co nejdřív opravit.
Nemyslím si, že by bug bounty programy naopak neměly žádný smysl. Drtivá většina bezpečnostních chyb se najde interně. Ale z bug bounty programů jsou vypláceny odměny, což znamená, že jsou opravovány chyby, které by jinak zůstaly neopravené delší doba a byla by větší pravděpodobnost, že je někdo zneužije.