bezpecnost
Dan Lukes
dan at obluda.cz
Wed Mar 1 10:47:34 CET 2006
Divacky Roman wrote:
> myslim ze pokouset se o tuhle bezpecnost v OS napsanem v Ccku je jako zkouset
> se prosexovat k panictvi... to proste NEJDE
No, to je zrejme vec schopnosti pouzivat dany nastroj. Nemyslim si, ze
existuje jazyk, ve kterem to jde at programator dela cokoliv a naopak,
ze existuje jazyk, ve kterem to proste za zadnych okolnosti nejde.
Programovaci jazyk je predevsim nastroj. A ten se bud' pouziva spravne
nebo spatne - a vysledky jsou podle toho.
Mimochodem, jestlize to "nejde" v C, pak to patrne "nejde" ani v
assembleru - a z toho by se zpetne patrne dalo dokazat, ze to "nejde" v
zadnem programovacim jazyku.
Ja bych misto "nejde" opatrneji pouzival "neumim", ale budiz.
> fbsd ma licenci na coverity a uz se odhalila spousta chyb, navic i fbsd ma
> nejaky ten audit team, sice o nem neni slyset ale existuje :) a uprimne receno,
> myslim ze nejvic chyb (jak bezpecnostnich tak vykonostnich tak chyb kter
Ten nastroj neznam, ale vidim, jake chyby se v kodu objevuji. Bud' se
ten nastroj nepouziva, nebo existuje prilis mnoho typu chyb, ktere
nedokaze odhalit.
Nicmene, nemyslim si, ze odpovednost programatora za kod se da
redukovat na to "ze to prohnal nejakym automatizovanym nastrojem".
> zpusobuji pad) se objevi prostym pouzivanim systemu a tady plati ze cim vic
> uzivatelu tim lip...
Na, ano, souhlasim, ze zpusob "spustte to a kdyz to nebude fungovat,
tak je v tom asi chyba" je zpusob, jak zjistit, ze v kodu je chyba, ale
neodvazil bych se ho propagovat jako ten hlavni a nejlepsi mozny. S
touto myslenkou v hlave programuje, s prominutim, prase. A ja si,
mimochodem, nemyslim, ze vetsina programatoru, kteri prispivaji do kodu
by souhlasilo s tim, ze se lze na slusne programovani vykaslat, protoze
na chyby se prijde, az to lidi spusti.
Asi mas pravdu, ze se to tak v soucasne dobe dela - a nasledkem je
snizujici se stabilita kodu. Jakmile procesor zabrousi do nejake
neobvykle casti kodu, kterou zrejme prilis mnoho lidi nepouzilo, tak je
v soucasne dobe opravdu nemala pravdepodobnost, ze se tam ukazi nejake
potize.
Testovani "ostrym provozem" je preci az ta posledni varianta, jak
hledat chyby a behem ni by se mely najit teprve ty, ktere pronikly vsemi
predchozimi. A melo by jich byt co nejmene.
Narazim napriklad na nekolik tisic warningu, ktere se objevi pri
prekladu systemu. Mezi nimi jsou i takove, ktere upozornuji na skutecne
chybne napsana mista kodu - kodu, ktery se potreba pouziva jen ve
vyjimecnych situacich a proto se na chybu spise neprijde "beznym
pouzivanim". Je napriklad vseobecne znamo, ze stabilita systemu prudce
poklesne v okamziku, kdy dojde pamet - to jsou vsechny ty neotestovane
alokace pameti.
Aby se ale takova mista dala dohledat, musela by byt vule pocet
warningu zmensovat - tedy odstranovat i ty, u kterych se ukazalo, ze jde
o "falesny poplach". Tim by byla sance posleze odstranit i ty chyby, kde
warning falesny neni - a zejmena - v budoucnosti, az by se zase nejaky
objevi, by se dalo takove misto lehce najit a posoudit, jestli tam je
chyba nebo ne.
Takova vule v soucasne dobe neexistuje.
Samozrejme, ze netvrdim, ze tohle by vyresilo vsechny problemy - ale je
to jeden ze zakladnich a dokonce relativne nepracnych zpusobu, jak ne
uplne malou cast problemu omezit.
Podotykam, ze si nestezuji - vsichni ti lide to delaji zadarmo a delaji
to tak, jak uznaji za vhodne.
Jen konstatuji, jaky mam pocit, ze je soucasny stav.
A v zadnem pripade ti nehodlam brat presvedceni, ze to je tak "v
naprostem poradku a lepe by to neslo".
Dan
More information about the Users-l
mailing list