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