Bezpečnostní chyby do systémů zanášejí ještírky ovládaní programátoři, aby znemožnili přestoupení ostatních používajících jejich software na vyšší rovinu bytí. Střezte se programátorů, jsou nebezpeční!
"Co když to, čemu říkáme bezpečnostní chyba, je ve skutečnosti základní vlastnost každého softwaru, jíž se nelze vyhnout už z principu a každý pokus o opravu či zalepení vede jen k vzniku jiné chyby jinde?"
To bych nerekl. Kdyby to byla "vlastnost", tak by to neslo napravit. Vetsinou se ale chyby opravuji a pokud opravdu programator je pozorny, tak tam dalsi chyby neudela (ikdyz Murphy samozrejme tvrdi opak).
To, ze se v OpenBSD vyskytla teprve druha chyba za 10 let, (2 chyby v tak velkem a pouzivanem projektu behem 10 let), je jen dukaz toho, ze se da bezpecne programovat a zalezi opravdu jen na programatorovi, jak je pozornej (tim se vylouci chyby z nepozornosti) a jak je dobrej (tim se vylouci chyby, ktere vzniknou jen za urcitych podminek, ktere programator nepredpokladal). Samozrejme to take zalezi na velikosti projektu (cim vetsi, tim vetsi pravdepodobnost chyby) a poctu lidi (kazdy pise jinak; nekdo muze jinak pochopit funkci cizi procedury ...). Dalsim prikladem muzou byt programy od DJB (djbdns nebo qmail) nebo system TeX od Knutha (s tim TeXem si ted nejsem jistej).
Takze bezpecne programovat jde, ale M$ na to proste s... Proc by mel venovat finanace na bezpecne programovani, kdyz dokaze lidi presvedcit monopolem a reklamou?
Donald Knuth za první nalezenou chybu sliboval tuším 1 cent a za každou další dvojnásobek předchozí částky. Před sedmi lety byla aktuální částka rovna 256 centům (tzn. 9. chyba).
Taky asi zalezi na tom, kolik ma ten ktery OS uzivatelu. Navic, modni je stezovat si porad na Windows, to uz tak nejak patri ke spravnemu linuxmanovi. A kdyz se objevi chyba jinde, je ticho po pesine :-)
MS je lepší, než si myslíte. Začal vyrábět (a prodávat) svůj bezpečnostní SW, který bude chránit OS před vnějšími ůtoky, které by nebyly, kdyby v tom OS nebyly chyby. Super.
Ostatně Windows update je v podstatě nutnost a navíc nutí uživatele si zakopit jejeich OS. Taky dobrý efekt jejich SW chyb.
Dekuju za bezvadnou pondelni glosu, autor se po slabsi zime vraci do sve puvodni formy. I kdyz zaver clanku by patril spis k eseji o terorismu.
Zbyva jenom upozornit, ze gnuplot neni soucast gnu a openbsd neni soucast open sores. Oboje bylo pojmenovano trosicku driv nez slavnejsi jmenovci.
Citaty z Parkinsonovych zakonu a tvrzeni, ze openbsd neni zamereno na bezpecnost kodu si muzu nechat pro sebe, ze?
Autor to nenapsal spravne. AFAIK je to druha "vzdalena bezpecnostni chyba v default instalaci". Open BSD dlouhou dobu (nekolik let) nemelo takovou chybu zadnou.
Ale ne-bezpecnostnich chyb bylo vic, dokonce i bezpecnostnich, ale jen lokalnich (pro jejich exploitovani bylo nutno mit na pocitaci ucet). Nebo nebyly v programech, ktere se spousteji v default instalaci (a tech je o Open BSD docela malo, proto tak dlouha doba) :-) Takze tech "malo chyb" je castecne dano "vhodnym zpusobem" jejich pocitani ;-)
BTW, prvni z tech chyb byla, tusim, v SSH, ktere se jako jedno z mala v default instalaci pousti.
Živé organismy, což je asi nejrozšířenější forma "automatických zařízení", přinejmenším na této planetě, implementují bezpečnostní mechanismy, které také nejsou neprůstřelné. A teď nemám na mysli střelbu z palných zbraní. Zkusme otočit analogii "virus -> počítačový virus" zase zpátky.
Vyšší živé organismy mají vnější bezpečnostní zónu realizovanou kůží. Je to relativně tlustá vrstva nejrůznějšího odpadu (mrtvých buněk), jejímž cílem je zabránit průniku do vnitřního prostředí systému. Aby však byly schopné interakce s vnějším prostředí (výměna informací, přísun energie a jiných zdrojů), musejí být z principu otevřené. I zde najdeme analogii s výpočetními systémy - nejbezpečnější je takový, který není připojen k žádným komunikačním linkám, vnějšímu napájení (a je vypnutý ;-).
Existují tedy cesty, jak se útočníci mohou dostat dovnitř - různé tělesné otvory, od těch největších (ústa) po ty nejmenší (všelijaké póry). Zde na ně čekají další bariéry (blány, buněčné stěny, apod.), nepříznivá prostředí (žaludeční kyseliny) a především prostředky aktivní obrany. Centrální i periferní složky nervového systému trvale monitorují stavové hodnoty a akdyž se něco změní, upravují prostředí tak, aby bylo pro útočníka nevhodné (zvýšení teploty, úprava kyselosti vnitřních tekutin apod.) nebo aktivují autonomní mechanismy (lymfatický systém a především bílé krvinky), které mají útočníka zničit.
Útočníci často proniknou, přesto se jim někdy podaří systém destabilizovat natolik, že se zhroutí (tj. zemře). Přesto se vyšší (vícebuněčné) organismy prosadily a úspěšně se šíří již stovky miliónů let.
Domnívám se (a vlastně pozoruju), že s výpočetními systémy je to stejné. Zatím především hlídají vstupy (firewally) nebo vnitřní rozhraní (antiviry zaháčkované na API). Vyhodnocování vnitřního prostředí není moc rozšířené a především není plošné a autonomní mechanismy, které by samy vyhledávaly škůdce jsou zatím velmi primitivní (plánované AV kontroly). Ale to přijde.
Ono nějaká chyba se nakonec objeví skoro v každém rozsáhlejším programu. Daleko důležitější je, jak rychleji ji opraví a také jak rychle uživatelé opravu aplikují.
Jeste jste nepochopil, ze takhle je to v principu spravne? Misto, abyste dostal obrovskeho mastodonta, ktery se prizpusobuje programovanim v jazyce jeho konfiguracniho souboru, dostanete malou stiku, ktera se prizpusobuje opravou dvou nebo tri radku v C.
Ja znam ty teorie, ze "ne kazdy je programator" - jenze tyhle teorie vychazeji z chybneho predpokladu, ze "v C je to programovani, ale v regeditu nebo sendmail.cf to programovani neni".
Poslednich nekolik let travim s dinosaurim systemem, kde vsechno je uzasne obecne a uzasne konfigurabilni - a nefunguje to, nebot neexistuje clovek, ktery by se to cele dokazal naucit. Vim, o cem mluvim.
"Poslednich nekolik let travim s dinosaurim systemem, kde vsechno je uzasne obecne a uzasne konfigurabilni - a nefunguje to, nebot neexistuje clovek, ktery by se to cele dokazal naucit."
Svata slova, taky delam s jistym IS, ktery umi "uplne vsechno" a je to vdy jen "otazka konfigurace", ale v praxi to umi vsehno tak nejak napul, a nic poradne, vse je sice uplne obecny a univerzalni, ale zatracene pomaly ....
No jasne, ale vetsina tech programu neni sitovych a z toho zbytku se vetsina nepousti, pokud uzivatel nerekne. Takze kdyz byl bug v Apache, tak pocitali "cas bez chyby" v klidu dal, protoze se v default instalaci nepoustel.
Nj, jenze o tom to je, ze jsou trebas widle defaultne otevrene do sveta, to je problem M$.
Opravdu neznam rozumny OS, ktery by v defaultni instalaci spoustel nejake sitove sluzby. V pripade M$ totiz system vlastne ani nelze nainstalovat. Kdyz totiz budu jako klasicky BFU instalovat, tak vemu placku, kterou sem nekdy pred X lety dostal, vrazim do mechaniky a zacnu. Ve finale to po me bude chti aktualizaci => pripojim komp k netu (pokud uz neni) a voiala, jsem v .... .
> Je totiz dokazano, ze takovy algoritmus, ktery overi bezchybnost programu, vytvorit nelze.
Neexistuje pouze algoritmus který ověří bezchybnost KAŽDÉHO programu. To neznamená že nelze automatizovaně ověřit všechny prakticky použitelné programy. Pilní pitomci jsou nejhorší. Trpaslíci co vlezou všude hned po nich.
.. a jak se rika: "neexistuje zdravy pacient, je to jen nedostatecne vysetreny pacient.."
Logicky zaver: chyb tam je jiste jak maku, jen se spatne hledaji :P