Já bych pro zjednodušení viděl tak, že v podstatě nikdo není schopen zajistit 100% bez bezpečnost žádného webu, počítače připojeného k internetu, smartphonu připojeného k internetu. Takže když už má být něco opravdu zabezpečeno, musí to být off-line, potvrzováno na internetu nezávislým kanálem, apod.
Zbytek je už jen o tom, jestli se podaří najít nějakou využitelnou chybu dnes nebo za týden.
Napsat program či web tak, aby byl bezpečný jde. Ale stojí to peníze. Je třeba najmout dražší lidi a/nebo jim dát více času a/nebo zaplatit někomu za audit kódu a testování.
To se nechce tvůrci webu platit, neboť bezpečnost není vidět a mizerný program (z pohledu bezpečnosti) zákazník nepozná (neumí ocenit vyšší cenou). Naopak mizerné programy bývají zpravidla hezčí, neboť u nich bylo více času a peněz na animované čudlíky, responsitivní design a podobné legrácky.
U projektů, kde o něco jde, by měl kontrakt vypadat tak, že v rámci akceptačních testů provede nezávislý tester audit kódu a dodavatel nalezené chyby na vlastní náklady opraví (plus případná motivační sankce - protože látat něco na konci je často práce na..vno a ne vždy se na všechno přijde).
Dokud tu bude prakticky nulová zodpovědnost a nepostižitelnost autorů software za chyby v něm, situace se hned tak nezmění.
Příklad - chyba typu SQL injection je záležitost z minulého století. To že se neustále nachází i v nových programech znamená, že je v softwarovém průmyslu nějaká systémová chyba.
No hlavně se to nezaplatí, tudíž je to zbytečné, pravděpodobnost zneužití je malá, škody rovněž, až se to změní, například narostou-li škody, vyplatí se bezpečné weby dělat. Ale k čemu bezpečný web, když prodáváte Pizzu. V bance, ovšem. Ale i tak je dobré dodržovat zásady a postupy, které vycházejí z ohledů na bezpečnost.
I když prodávám Pizzu tak najdu uživatele který si na pizza webu vytvoří účet - protože to tak některé weby mají, a použije tam stejný login a heslo jako na mail a všude na netu.
Je to sice chyba uživatele, ale není to důvod proč by musel mít provozovatel pizza webu děravý web.
Navíc může získat všechny moje údaje, které sice může zjistit i jinak ale pro účely reklamy se hodí (Jméno, Adresu, Telefon, Mail)...
Ale chápu že útoky nepůjdou prioritně po pizza webech i když kdo ví...
No zase není důvod mu vytvářet účet s heslem, stačí objednávka s místem dodání, heslo a zdání zabezpečení s sebou vždy nese riziko. Jinak pokud to nic nestojí, tak proč ne, ale ono to většinou stojí, a řešení ochrany je většinou dražší, než škody plynoucí z toho, čemu se mělo zabránit.
Není to tak dávno, co byly s implementacemi HTTP Digest ještě problémy, ne každá kombinace prohlížeč×server fungovala. Také to není tak dávno, co bylo GUI pro HTTP autentizace v nejrozšířenějších prohlížečích otřesné – bylo to různé, někde se zobrazil modální dialog nad nezobrazenou záložkou, čímž přestala být možná interakce s kteroukoli jinou záložkou a bylo nutné najít tu záložku s dialogem a tam se přihlásit. Nebo se přihlašovací dialog objevil nad aplikací, ale zase nebylo jasné, ke které záložce patří. Takže varianta, že se dialog objevil nad konkrétní záložkou (a jiné záložky nezablokoval), akorát se to při zobrazení jiné záložky nedalo poznat, protože ta s dialogem vypadala, jako že se pořád načítá, byl vlastně vrchol komfortu.
Dobře, to by se ještě pořád dalo označit jako nedostatky. Jenže v žádném z rozšířených prohlížečů se nelze po přihlášení zase odhlásit. Což je dost vážná bezpečnostní díra a prohlížeče s takovouhle dírou neřadím do kategorie „umí HTTP Digest“.
Jenze tomu prodejci je vase heslo ukradene (doslova a dopismene). Zaplatite mu o 30% vice, kdyz si web zabezpeci? A nebo objednate o klik vedle, kde maji o 5 korun levneji?
A skutecne, znam ve svem okoli pomerne mnoho osob, ktere pouzivaji prakticky vsude stejna hesla. Jejich problem. Svepravnosti zatim pokud vim zbaveni nebyli. Nemalo z nich ma pak pin napsany na platebni karte.
To, že mají PIN na platební kartě ale svědčí převážně o tom, že rychle soudíte lidi. Mít uveden PIN na platební kartě patří mezi jednu z nejúčinnějších metod, jak zabránit výběru z karty po jejím odcizení - prostě zloděj uvidí, že tam je PIN. Zkusí ho a nic. Zkusí ho po druhé a nic. Zbývá mu poslední pokus a myslíte, že se trefí?
Samozřejmě to předpokládá, že ten PIN tam je napsán špatný. Osobně to tak taky mám a většina lidí okolo, co ho tam mají taky ze stejného důvodu.
pozeral som namatkovo par bank a vsade je to popisane cca rovnako:
Pri výbere z bankomatu je potrebné zadať PIN kód. Ak zadáte zlý PIN kód 3-krát, na ďalší pokus vám bankomat kartu zadrží (na Slovensku si môžete zadržanú kartu po vyzvaní zo strany banky vyzdvihnúť na vašej pobočke, v zahraničí bude karta znehodnotená).
Banka je pojistena a to pojisteni vyjde levnejsi, nez audit webu. Mimochodem, rozhlednete se po svete, spousta bank vam nabizi appku do telefonu, do toho sameho, kam vam (pokud vubec) posle overovaci SMS, cimz sama banka totalne boura oddeleny bezpecnostni kanal.
Dtto pochopitelne bezkontaktni karty a dalsi. To vse je zcela nezabezpecitelne (z principu). Jenze bance se to vyplati, protoze ona potrebuje, aby klient penize utracel, ne aby si je u ni ukladal.
> Napsat program či web tak, aby byl bezpečný jde.
Nedávno jsme o tom flamovali na Rootu. Podle mě je to v současném ekosystému téměř nemožné.
http://www.root.cz/clanky/kyberneticka-bezpecnost-o-cem-je-novy-zakon/nazory/vlakno/1/#rat529362
(samozřejmě že triviální chyby jako SQLi nemají v aplikaci z principu co dělat, to nepopírám)
Já si právě myslím, že to principiálně napsat nejde. A to, jak se tady radí nahrnout do toho víc peněz, mít kvalifikovanější programátory, atd. - to samozřejmě jde, ale i když se do toho nahrne 100x víc prostředků, tak stačí nějaká nová odhalená rafinovaná zranitelnost nebo špičkový hacker a všechno je ztracené.
Proto je potřeba počítat s tím, že to je zóna s určitým rizikem a odpovídajícím způsobem se chovat, tj. s rizikem ztráty dat, napadení, apod. počítat. A pokud je pro mě něco opravdu klíčové, tak to přes internet nezpřístupňovat, ale dát si to třeba do trezoru. (A podlit se, aby ho nevykradli.) Prostě iluze absolutní bezpečnosti je opravdu jen iluze.
Tak se podivejte po internetu, i do historie. Da se (s minimalni nepresnosti) prohlasit, ze 100% "hacku" vyuzilo zcela trivialni postupy a zcela zasadni chyby na strane obeti. Zadne sofistikovane hacky jednoduse neexistuji.
Je totiz (radove) levnejsi, proste koupit data od nekoho, kdo k nim ma pristup, alternativne mu udelat nabidku, kterou nebude moci odmitnout.
V pripade webu, pokud eliminujete 10 nejproflaknutejsich postupu, mate 99% jistotu, ze ten z venku web nikdo nehackne. Ve 100% pripadu jsou totiz radove nebepecnejsi vasi vlastni lide.