Bezpečnostní rating tohoto typu a přijímaná protiopatření jsou pěkná blbost! Už jenom proto, že hodnoty neznáme, ale pouze odhadujeme a navíc se v ČASE VŠECHNY HODNOTY MĚNÍ!
Například provozuji server s rodinnými alby pár kolegů. Pravděpodobnost útoku je někde mezi 0–5%. Za měsíc později, mi ale můj známý Bill Gates chce vyjádřit podporu tím, že se zaregistruje a nahraje své soukromé fotografie – pravděpodobnost útoku je nyní asi tak 10 000% :-DD
Stejně tak se mění i cílová skupina útočníků – s každým členem, s každým novým uloženým bitem do webové aplikace. Nemůžeme totiž předpokládat KDO a CO tam zrovna uloží, tímpádem nemůžeme pracovat s dost důležitou proměnou, na které závisí celý zbytek všech ostatních předpokladů.
Navíc ani nezáleží na tom, co je tam skutečně uložené, ale co si okolní svět myslí, že je tam uložené – hodnoty ratingu a potencionální rizika se tedy mění hlavně VNĚ webové aplikace.
Rating tedy pracuje s omylem a jeho výsledek nemůže být nikdy jiný než mylný :-)
–
Samozřejmě chápu tu potřebu lidí všechno vyjádřit čísly a nejlépe v bodech nebo ještě lépe v procentech. Ale to se speciálně u bezpečnosti NEDA. Nelze říct nebezpečí útoku je 5%; 65%; 80%… Vždy existují věci, které se nedají numericky zhodnotit.
Ale kdo ví, třeba se jednou dozvím, že podle „musical classic ratingu“ byl Bach skladatel dobrý přesně na 91,685% :-DDD
Ty tomu zase nějak rozumíš. Samozřejmě že se jedná jen o odhady. Záleží na firmě, jak si nastaví hodnocení rizik. Podobné ratingy máš v každém seriózním auditu. Když děláš třeba pro banku bezpečnostní audit, tak klient chce vědět, jak jsou závažné jednotlivé nálezy.
Jedná-li se o určení závažnosti rizik sebou vyvíjené aplikace, potom vlastně kupujete od sebe. Kolik lidí nasadíte na opravy? Kolik budete muset zaplatit za kvalitu vámi vyvíjené aplikace?
Tím chci říci – že nemusíte kupovat řešení třetí strany a nemyslím si, že podobné způsoby určení závažnosti rizik zas tak často neslouží za účelem prodeje řešení.
Já tomu právě rozumím hodně a proto se tomu směju :-) Tohle prostě nejde dělat „bodově“ nebo procentuálně. Problém je potřeba detailně popsat a neexistují na to tabulky, protože každý systém je v něčem originální a nelze ho zaškatulkovat.
Lékaři si také předávají lékařské zprávy a nálezy a nedělají ratingy, že „srdce paní Novákové funguje na 83%“ :-D
Ratingy jsou vždycky „pro blbce“, protože i hňup pozná větší číslo a tak se dokáže orientovat. Naopak pokud by se měl řídit vlastním mozkem, tak je vyřízenej.
Pak ještě existuje druhý důvod ratingu a to je ten, že mají něco skrývat nebo protlačit něco někakm, co by běžným schvalováním neprošlo. Například bezpečnostní audit v bance, jak jste zmínil. Když si někdo přečte, že dopadnul na 96%, tak je v klidu a tím se banka vyhne zveřejňování podrobností. Takže například jedna banka, kde jsem kdysi pracoval, měla chybu v zabezpečení bankomatů, kdy bylo možné provést výběr z karty ještě cca 15 sekund po jejím VYTAZENI klientem – tedy PENIZE MOHLA VYBRAT NEOPRAVENA OSOBA BEZ SEBEMENSI NAMAHY. No toto si někdo přečíst, tak už asi utíká od banky pryč… Ale protože existují ratingy v bezpečnostních auditech, tak bezpečnost místo 96% jenom 95% přece není tak hrozná, ne? :-))
To je trochu zjednodušený pohled. Jednak nevím, kde bych se jako klient banky dověděl o ratingu jejich bankomatů, a za další mě to jako klienta banky ani nenapadlo. Takže si myslím, že takový rating je pro majitele bankomatu a tomu je zase naprosto jedno _jak_ se ty peníze ztrácejí. Důležité je pro mne jaké je riziko, resp. s jakou ztrátou mohu počítat, abych mohl vypočítat poplatky, které tu ztrátu pokryjí. A tato informace pochopitelně je platná v nějakém omezeném čase a obsahuje nepřímo i zkutečnost, nakolik se o takové chybě ví atd. atd.
a) nepřijde na to nikdo — nula b) přijde na to zlodejíček, co si to nechá pro sebe a bude si sám krást — nakrade pár desítek až stovek tisíc c) přijde na to někdo, kdo to dá na internet — zničená reputace u internetové komunity (ale lidí, co čtou internet je ještě malé procento v populaci, takže to ustojíš) d) přijde na to někdo a dá to novinářovi do televizních novin — můžeš tu síť bankomatů rovnou zavřít, množství pitomců co si to půjdou po shlédnutí zpráv vyzkoušet bude ohromné
A ať tu chybu audituješ jak chceš, nemůžeš předpokládat, jaký z těchto scénářů nastane.
Šíření té bezpečnostní chyby je nestabilní proces. Třeba jako když dáš kuličku na vrchol kopečku a zeptáš se kam se skutálí — když ten pokus mnohokrát opakuješ, zjistíš, že průměrná poloha kuličky je uvnitř toho kopečku, pod místem, kde jsi ji pustil. Ale ve skutečnosti tam nebude ani v jenom případě.
Takže vy byste se nedokázal rozhodnout mezi variantami bankomatů s různými chybami? A přesto taková rozhodnutí postupují manažeři často. Musí, protože IT odborníci dělají chyby a ideální produkt neexistuje. Považujete snad takové rozhodnutí za loterii? Že je vlastně jedno, co za produkt/řešení se zvolí? Kdyby to byla pravda, tak asi pojišťovnictví neexistuje.
Pro manažery je ale ještě jedna důležitá věc, k čemu se ten rating dá použít. Až se tam opravdu najde chyba a je z toho průser, manažer ukáže „já jsem postupoval podle auditu renomované agentury X“ a zbaví se odpovědnosti. Kdyby manažer udělal rozhodnutí sám a našla se tam ta stejná chyba, tak by za to letěl.
Vem si třeba proč se někde zavádí ISO900×. Ne kvůli zvýšení kvality. Ale aby střední management mohl zvednout ruce a říct „my máme certifikát na to, že pracujeme kvalitně“, kdyby náhodou chtěl vysoký management do něčeho rejpat.
Podle popisu chyb? To lze dost těžko porovnávat. Je lepší slaná nebo sladká chuť? Abyste to mohl porovnat, tak si (byť podvědomě) musíte zvolit nějakou číselnou metriku. Provnat lze čísla – např. chutná mi většinou (tj. >50%) slaná jídla apod.
Rating jen znamená, že mi tu metriku někdo připravil. Když vím, co znamená a umím s tím pracovat, tak v tom není problém. Detaily nemusí být podstatné (především pokud se týká statisticky významné množiny).
Nicméně kdybych byl v nějaké instituci, musel bych používat AES, protože AES je standard. Komise vybrala AES mimo jiné i na základě toho, že je „rychlý“, ale jaksi se zapomnělo na to, že ta rychlá softwarová implementace je nebezpečná na víceuživatelských počítačích.
Není technický problém použít Google a Wikipedii a najít šifrovací algoritmus, vůči kterému nejsou žádné slabiny (není na to potřeba formální metrika, prostě si stačí útoky na jednotlivé algoritmy vyhledat). Ale kdyby to takhle bezpečnostní expert dělal, tak rychle skončí na dlažbě. Musí se řídit normami, i když jsou ty normy špatné (AES).
Ze stejného důvodu např. spousta bank používala DES, i v době, kdy bylo známo, že je prolomitelný (asi se nestalo, že by je kvůli tomu někdo vykradl, ale jednou se stalo, že banka prohrála soud, protože u soudu bylo dokázáno, že DES prolomit lze, a tedy určité důkazy nebyly uznány).
Chápu, že je to diskutabilní, ale podle mne(!) si to mozek implicitně stejně převede na čísla. Tzn. pokud jde o „bezpečnost šifer“, tak to, že u jedné jsou známé útoky a u druhé nejsou veřejně známé znamená, že pravděpodobnost prolomení té první je vyšší než u druhé. Tj. zase porovnáváte čísla. Automaticky, ani si to nemusíte uvědomit.
Která ze dvou šifer je bezpečnější, když na obě budou veřejně známé útoky? Jak je porovnáte? Fakt, že na AES je veřejně znám útok z něho nedělá automaticky nebezpečnou šifru. Bezpečnost není černobílá.
Zrovna tahle chyba byla v televizi zveřejněna. Jako prevence. Ona totiž fungovala trochu jinak. Pokud jste byl v nabídce výběru, měl jste možnost výběr stornovat, karta vám vyjela. Jenže po nějakou dobu po tom stačilo stisknout klávesu pro výběr a bankomat peníze vydal, přestože karta v něm už nebyla. Pokud jste peníze normálně vybrali, bankomat vám je vydal, rozloučil se a byli jste v bezpečí. Problém byl jen v případě že jste nevybrali, ale stornovali. A toho využilo několik chytráků. Vy jste přišli k bankomatu, vložili kartu, zadali pin a najednou se u vás objevil „technik“ a řekl vám „ježíš, já jdu ten bankomat opravovat/doplňovat/nejsou v něm peníze“ a doporučí vám rychle vše stornovat, jinak že vám bankomat kartu „sežere“. Vy zmáčknete storno, karta vyjede, vy si ji vezmete, no a „technik“ si rychle stoupne mezi vás a bankomat, abyste neviděli na obrazovku a nenápadně stiskne tlačítko pro výběr, zatímco se vám omlouvá a vysvětluje „já už volal na ústředí ať ho deaktivují apod.“ Vy tedy nevidíte, že bankomat nějaké peníze vydal, storno jste zmáčkli sami a kartu jste měli celou dobu na očích a v ruce. Vše vypadá normálně a říkáte si, že i kdyby to byl podvodník, tak se beztak vaší karty ani nedotkl. No, obrali tenkrát docela dost lidí, ale naštěstí ne o moc (to „nejvyšší“ tlačítko bylo tehdy tusím 2000 Kč?)
Jinak s vámi souhlasím. Pokud k nějakému jevu dochází dostatečně často, pak ho mohu statisticky změřit a vykázat nějaké reálné číslo (kulička nejčastěji končí na východ od kopečku). Dokonce i průměrnou polohu dokážu vypočítat. Použil bych polární souřadnice a vyšla by mi nějaká rozumná hodnota (byť to skutečně nemusí být žádná z naměřených). Takže statistika by fungovala. Pokud ale chci ohodnotit něco, k čemu moc nedochází, pak jsem odsouzen jen k počtu pravděpodobnosti a to je ohromně ošemetná věc. Vede právě na vámi popsaný výsledek, že nejpravděpodobnější je „teleportace“ kuličky skrz kopec nebo to, že se kulička ani nehne. Fakt, že jde o nesmyslné situace kupodivu pravděpodobnost nijak neznehodnocuje. To je ta krásná vlastnost neopakovatelných jevů :-)
Takže jediné, co jsem ochoten v oblasti IT bezpečnosti akceptovat, je buďto odhad rizika (například v článku popsaná metoda vedoucí na bezrozměrné číslo), nebo statistika z naměřených dat (kolikrát na mně kdo a jak útočil a kolik a jakých útoků uspělo). Bohužel málokterý server je natolik populární, aby skutečně měl nějaká statistická data (na google.com asi útočí stovky lidí denně, na omackaasyn.cz zřejmě nikdo za celý rok). Takže pan Omáčka skončí u ratingu rizika, což je bezrozměrné číslo. Pokud podnikne nějaká opatření a při dalším auditu dosáhne lepšího čísla, pak riziko kleslo. Ovšem pokud někdo začne počítat rozdíl nebo podíl těch dvou výsledků, tak rychle pryč! Pokud někdo dokonce začne ty výsledky vykládat (96 procent), tak to už je na žalobu nebo na Chocholouška…
Neexistuje žádný pan X, který by byl majitelem bankomatu. Bankomaty vždy vlastní firmy a tam je zaměstnáno více lidí na více úrovních. Šéf technického oddělení samozřejmě ví o problému s bakomatem a jeho lidé na něm usilovně pracují. Ale tenhle šéf nemá vůbec žádný zájem o to, aby mu stál jeho šéf za zadkem a neustále se ptal „a už je to opraveno?“ „no co s tím uděláte?“ „dva týdny a vy to pořád nemáte vyřešeno?“ A právě pro tohle se používají metriky :-) Vykážete šéfovi, že pracujete na 96 procent a on je spokojen a nezajímá se o detaily, vy máte klid na práci a můžete se věnovat tomu, co je opravdu důležité.
Tohle funguje všude :-) I u nás – výrobní ředitel má velký zájem na tom, aby měl maximum informací a dat, protože podle nich řídí výrobu. Ale zároveň má zájem na tom, aby jeho nadřízení měli jen minimum informací a dat. Tak se stanovila malá sada metrik a ty on reportuje. Cíl pro tento měsíc je 32, skutečný výsledek je 33, manažeři jsou spokojení a výrobní ředitel má klid na řešení problému, že jedna z linek několikrát za den umře a musí ji resuscitovat lidé z IT.
Osobně si mysím, že takhle je to správně. Šéf nadnárodní korporace by skutečně neměl řešit, že na jedné z poboček dostali od dodavatele šarži šroubků se závitem mimo toleranci. On má dostávat pouze agregovaná data, informace globálního významu. Prostě pár čísel, pomocí kterých si ověřuje, že na to jeho podřízení nezačli kašlat nebo že nedošlo k nějakému zásadnímu problému. Bohužel v oblasti „internetové bezpečnosti“ ještě žádné číslo spočítat neumíme, protože jsme v oblasti pravděpodobnosti, nikoliv statistiky. Ve chvíli, kdy na mé servery bude někdo útočit několikrát denně a budu mít statistiku z mého ID/IC, budu mít reálné číslo k vykazování. Dokud ale toto nesleduji (nebo není co sledovat), je to jako počítat spolehlivost dodávek od dodavatele, od kterého jsem zatím nikdy nic nekoupil.
(Poznámka na úvod: osoba nemusí být jen fyzická, ale i právnická. Nehledě k tomu, že nevidím právní důvod, proč by síť bankomatů nemohla provozovat OSVČ.)
a můžete se věnovat tomu, co je opravdu důležité.
A v tomhle jsou podle mne technici obecně(!) dost špatní. Často řeší blbosti místo z obchodního hlediska důležitých věcí. Proto ty uštěpačné poznámky mezi techniky a obchodníky/vedoucími/manažery, které jsou mimochodem obousměrné. Neříkám, že šéf IT oddělení je technik. Naopak je spíš manažer ostatně pokud organizace nemá IT ředitele, je jeho provoz podřízen většinou finančnímu řediteli.
A top management bude spokojený, protože jim roste metrika, nižší šéfové, kteří tuto záškodnickou činnost podporují, budou povyšováni, zatímco výsledek jde do kopru. Až se na to přijde, může být už pozdě s tím cokoli dělat, protože celá organizace bude zasviněna bezcharakterními lidmi uvažujícími způsobem „jak si mám zvýšit metriku“.
Znám skutečně případy, kdy k tomuto došlo.
Stejně jako jakákoliv metodika, návod, … i toto je doporučení, z kterého si zájemce může vytáhnout, co potřebuje. Lze použít třeba i obrázky (třeba prasátko, mráček atd. :-)) pro označení závažnosti toho či onoho rizika. Můžete střílet od pasu, to je na zkušenosti, ale v případě, že provádíte např. penetrační test pro někoho jiného (banku, mobilního operátora, …), může být detailnější popis toho, jak jste se dopracoval k ohodnocení toho či onoho rizika, vhodným komunikačním prostředkem mezi vámi a klientem. Před zahájením penetračního testování (anebo auditu) je někdy (opravdu někdy) vhodné, aby si klient i zhotovitel určili, podle jakých kritérií budou míru rizika stanovovat. Obvykle klienta opravdu nejdříve zajímá, jaký dopad bezpečnostní díra může mít (často se konkrétní riziko spojuje s podnikatelskými riziky).
Máte-li po provedeném penetračním testování seznam řekněme několika stovek rizik, můžete je seřadit podle závažnosti. Je-li na někom, aby tyto nálezy opravil, lze pak snadno říci, které nálezy se ošetří dříve, které později a které vůbec.
Osobně bych u velkých aplikací a u aplikací s možným značným dopadem volil detailnější popis toho, jak určit závažnost rizik. V případě jednoduchých webových aplikací bych volil jednoduchý systém – třeba i obrázkový, ale jednoznačný.
Neříkám,že s Vámi v některých bodech nesouhlasím a ani nechci tvrdit, že tomu nerozumíte – jen zřejmě máte jinou zkušenost. Ale dobře. Představte si, že jste provedl penetrační test. Máte 5 nálezů. Seřaďte je podle závažnosti. Jak to uděláte? Provedete jiný penetrační test – máte 3.000 nálezů. Zkuste i tyto nálezy seřadit podle závažnosti. Jak to uděláte?
Řekněme, že máte týmu vývojářů sdělit, které nálezy mají opravit dříve, které později a které vůbec. Jak budete postupovat? Jak jim svůj postup obhájíte? Jak moc nákladné budou opravy?
ó to koukám, pán má velké sebevědomí, rozumím tomu hodně říkáte??
beztak jste jen vývojář, který umí myslet jen podle návodů.
Zkuste trochy myslet sám za sebe.
Ten článek rozhodně je velmi profesionální. Pro někoho, kdo do penetračního testování nedělá může být nesrozumitelný, či neuchopitelný – stejně jako pro Vás.
Tak by se ale neměl vyjadřovat.
Článek je velmi kvalitní.
At chcete nebo nechcete nejakej rating potrebujete, abyste se byl schopen se rychle orientovat na jaka rizika se zamerit drive.
Prece neni vubec zajimave jestli je to pro jednu aplikaci 5.61 a pro druhou 7.31. Dulezity je vztah. Kdyz budete mit rating pro 20 aplikaci/zranitelnosti kolem 5 a pro jednu kolem 8 , na kterou se pri zabezpecovani vrhnete nejdrive?
Osobne mam tedy radeji kdyz se dozvim nejen sumarni cislo, ale take co k nemu vedlo, ale to uz je na tvurci analyzy.
Napriklad u Oracle CPU – vidim base score 10.0 a vim ze je pruser :) a v tabulce je strucna reference jak se k cisu doslo. Je mi jedno jaky jsou tam desetinky. Jde o to ze tu metodiku maji stejnou uz par let, tak se da ocekavat jak bude zranitelnost zavazna.
http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujan2010.html
Michal Ambroz
Osobně mi na této metodě vadí, že ačkoliv pracuje s pravděpodobností, výsledek vydává za statistický údaj. Výsledný údaj je jen pravděpodobnost a proto:
Odhad pravděpodobnosti hrozby aneb jak technicky zdatní jsou potenciální útočníci.
Zamysleli jste se nad těmi čísly v závorkách? Jestliže k realizaci hrozby nejsou potřeba žádné znalosti a může jí realizovat v podstatě každý, měla by být tomuto faktoru přidělena vyšší váha, než když jsou požadovány znalosti kvalifikovaného penetračního testera. Proč? Protože pravděpodobnost této hroby je mnohem vyšší. Body by měly být v tomto případě seřazeny sestupně. To znamená, že žádné technické dovednosti měly obdržet (9) a kvalifikovaný penetrační tester (1).
Internet Info Root.cz (www.root.cz)
Informace nejen ze světa Linuxu. ISSN 1212-8309
Copyright © 1998 – 2021 Internet Info, s.r.o. Všechna práva vyhrazena.