On Tue, 28 May 2002, Daniel Cordey wrote:

> J'ai vu dans le bouquin "Halte Linux Hackers" qu'il existait un ou deux 
> compilateurs C destin�s � mettre des marqueurs sp�ciaux pour emp�cher 
> l'exploitation des stacks. Je n'ai pas le bouquin sous la main mais je 
> pourrai vous donner les r�f�rences d�s jeudi matin (� moins que Marc ne le 
> fasse avant).

On appelle cela des canaris. A plusieurs reprises il a �t� montr� qu'il
est possible de passer outre ces s�curit�s. Elles permettent cependant
souvent de rendre la t�che tr�s difficile � l'attaquant, voire impossible
dans les cas pratiques usuels.

Reprenons:

   - pile non ex�cutable
        -> emp�che les attaques de code, mais pas celles sur des
           variables.
           De plus, elle n'emp�che en aucun cas l'attaque de code
           si toutes les variables attaquables ne sont pas sur la stack.

   - canaris
        -> en g�n�ral limit� � la pile, donc cf plus haut

   - canaris dans chaque structure de donn�es, v�rification � l'ex�cution
        -> p�nalit� tr�s forte, mais protection assez bonne ... sauf si
           le buffer overflow est con�u pour maintenir le canari et
           �craser une variable plus loin, p.ex.

*La* solution est d'utiliser un langage avec `boundary checking' �
l'ex�cution (Perl, Ada, ...).  Ou d'auditer le code C.

> Aussi, il existe une librairie qui v�rifie la conformit� du "format" d'un 
> *printf et de ses arguments. L� aussi, je ne pourrai pas vous en donner le 

gcc le fait d'une mani�re assez simpliste � la compilation.


--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à