Re: Sikkerhedsting??

Jacob Sparre Andersen <[email protected]>
Newsgroups gmane.linux.debian.user.danish
Message-ID <[email protected]>
Søren Boll Overgaard skrev:
> Jacob Sparre Andersen skrev:

>> Er det et passende faktum at langt de fleste indbrud på 
>> unix-systemer skyldes defekt PHP-kode?
>
> Jeg har ikke set nogen konkret statistik. Men det kan da 
> bestemt ikke udelukkes.

Jeg vil heller ikke påstå at den smule helt konkret 
statistik jeg har er komplet dækkende.

>> Er det et passende faktum at PHP mangler den stærke 
>> typekontrol der er et vigtigt element i at skrive 
>> sikkerhedskritiske programmer?
>
> Ja og nej.
>
> Php er ganske rigtig typesvagt. Jeg som udgangspunkt er 
> jeg ikke enig i at typecheckere i nævneværdig grad fanger 
> sikkerhedsrelaterede fejl. For mig at se er det væsentligt 
> vigtigere at sproget er udrustet med et runtime system der 
> fanger de klassiske angrebsvektorer, såsom: off-by-one, 
> buffer-overrun, etc.

Det er rigtigt at der er en væsentligt sikkerhed i at være 
beskyttet mod bufferoverløb og deslige. - En sikkerhed to 
andre populære sprog; C og C++ ikke har.

> Hvis ellers vi antager at sprogets implementation 
> (oversætter/fortolker) er af tilfredsstillende kvalitet, 
> kan jeg ikke se at typestyrke gør forskellen.

Stærke typesystemer er en generel sikring mod fejl.  Hvis 
programmerne kører i en perfekt sandkasse er fejl i 
programmerne principielt ikke et sikkerhedsproblem.  Men når 
Apache ikke kører PHP-programmer i en sandkasse, men giver 
dem adgang til at skrive, læse og udføre kode på systemet er 
der potentiale for problemer.

> Hvis du kan fremvise overbevisende eksempler på det 
> modsatte, vil jeg meget gerne se dem - og revidere min 
> opfattelse.

Så må jeg på jagt, for jeg har ikke.  De eksempler jeg har 
kigget på var mere noget jeg ville kalde dynamisk kode end 
dynamiske typer.

>> Er det et passende faktum at der ikke findes værktøjer 
>> der kan lave en statisk sikkerhedsanalyse af 
>> PHP-programmer?
>
> Der findes en del af sådan nogen dimser til C og C++.

Ja.

> Er de gode sprog til sikkerhedskritiske programmer, 
> herunder webbaserede tjenester?

Nej.  Men de ovennævnte dimser gør dem bedre til det, end de 
ellers ville være.  Hvis du for eksempel kan bevise at din 
kode er fri for »exceptions«, så er du en stor fejlklasse 
sikrere.  (Det er du også, når du ikke kan have 
bufferoverløb.)

Jeg tænkte mere i baner som Ada, Eiffel, SPARK, eller 
passende moderne Pascal-varianter.

Jacob
-- 
Det virker på en eller anden måde absurd at det anses for god tone at sige
at "vi har sundheds/skole/social..-systemet for at give erhverslivet gode
konkurrencevilkår", mens det anses for samfundsomstyrtende at foreslå at
"erhverslivet hovedopgave er at financiere velfærdssystemer".
-- Sune Rastad Bahn
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.