2009-03-29

Nejnebezpečnější programátorské chyby

Určitě byste dokázali několik typických nebezpečných chyb v programech vyjmenovat jen tak z hlavy a určitě jste jich i sami pár udělali... No tak, přiznejte to, alespoň jednu určitě... co takový buffer overflow? Chybějící validace vstupů? SQL Injection? Nedej bože heslo schované přímo v programu?

Až budete přemýšlet, co všechno u vašeho nového programu ještě zkontrolovat a otestovat, zkuste se podívat na 25 nejnebezpečnějších chyb od CWE/SANS - je to vynikající kontrolní seznam.

2009-03-26

Kalkulace rizika

Mít možnost popsat něco složitého jedním jediným ukazatelem může být užitečné a také lákavé. Může to ale být také zatraceně dvousečné, protože si musíte být neustále vědomi, že zjednodušením ztrácíte určitou míru informace. Ještě horší to může být, když danému ukazateli skoro slepě věříte a přitom moc nerozumíte tomu, jak se počítá.

Článek Risk Mismanagement ve svých deseti částech rozebírá, jak zacházeli s rizikem na Wall Streetu. Oblíbeným ukazatelem byl VaR neboli Value at Risk. Je to jednuchá, krásně pochopitelná hodnota. Máte-li v daném okamžiku VaR na úrovni pěti milionů dolarů, pak s pravděpodobností 99 procent nemůžete ztratit víc než těch pět miliónů. S pravděpodobností 1% můžete ztratit i víc, ale nelze říci kolik. Výpočet, který vás k číslu VaR dovede, je velmi netriviální (je to výsledek práce mnoha matematiků a asi 7 let postupného vývoje) a je dobré alespoň tušit, co se v něm děje. Například,

  • že používá data jen za několik posledních měsíců a i "historická" verze VaR se dívá jen rok až dva zpět

Z uvedených bodů jsou slabiny ukazatele VaR více než zřejmé... bohužel až dnes. Je jasné, že pravděpodobnost, že model uplatněný ve VaR nepředpovídá spolehlivě, není ono inzerované 1%, ale mnohem vyšší. Předpovědní model se neutkal s náhodou veličinou, ale dlouhodobým trendem, který nebyl zahrnut do základních předpokladů.

Nemá ale smysl vinit jeden ukazatel. Příběh VaR je jen jedním z dílků celého obrazu finanční krize. Bohužel ale ukazuje, že chamtivost občas nutí lidi zavírat oči a neklást nepříjemné otázky. Dokonce i v případě, že nás nepohání chamtivost, stále máme tendeci věřit, že když se daří, bude se dařit i dál. Je dobré se občas zamyslet, jestli je naše víra oprávněná.