Mécanismes de sécurité de Visual Studio 2005



Résumé

Le dépassement de tableau dans la pile est une vulnérabilité largement répandue et qui a fait trembler nombre de programmeurs par le passé. Pour pallier les défauts de conception des programmes Windows, Visual Studio 2003 a introduit l’option de compilation /GS et prévient ainsi le programme d’une telle vulnérabilité. Ce mécanisme a été également introduit dans les versions récentes de Windows pour renforcer la sécurité générale. Un précédent article [0] détaille le fonctionnement de ce flag. On s’intéresse ici aux nouveautés introduites par Visual Studio 2005 sur /GS et quelques autres améliorations remarquables.


1. Rappel de /GS sous VS2k3

Sous Intel, lors d’un appel de fonction, l’adresse de retour est stockée dans la pile : elle est généralement la cible d’un débordement de tableau (on préfère parfois cibler les variables locales stockées également dans la pile). Le mécanisme /GS va :

  1. border cette adresse de retour par une variable au contenu aléatoire (appelée canari) ;
  2. appeler, avant le « ret » final, une fonction de Visual Studio qui vérifie que la valeur n’a pas été modifiée par un débordement de buffer.

La figure A montre l’état de la pile après la mise en place du canari sous Visual Studio 2003.

f1 4

Figure A

Dans le cas où le canari est modifié, le flot d’exécution du programme est détourné par une routine de sortie. Celle-ci réalise le minimum d’opérations possible et va tuer rapidement le programme fautif (TerminateProcess). Comme nous le verrons par la suite, /GS ne protège que les débordements de tableau dans...

Cet article est réservé aux abonnés. Il vous reste 93% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Détection de malware par analyse système

Magazine
Marque
MISC
Numéro
38
Mois de parution
juillet 2008
Spécialité(s)
Résumé

L’objectif de cet article est d’aider l’utilisateur ou l’administrateur à reconnaître l’exécution de programmes malveillants sur un poste compromis lorsque les résultats d’un antivirus se révèlent insuffisants. Les techniques présentées dans cet article se veulent simples et sans ambiguïté pour identifier, voire éliminer, une menace de premier niveau sur un système Windows.

Les derniers articles Premiums

Les derniers articles Premium

Bénéficiez de statistiques de fréquentations web légères et respectueuses avec Plausible Analytics

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Pour être visible sur le Web, un site est indispensable, cela va de soi. Mais il est impossible d’en évaluer le succès, ni celui de ses améliorations, sans établir de statistiques de fréquentation : combien de visiteurs ? Combien de pages consultées ? Quel temps passé ? Comment savoir si le nouveau design plaît réellement ? Autant de questions auxquelles Plausible se propose de répondre.

Quarkus : applications Java pour conteneurs

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Initié par Red Hat, il y a quelques années le projet Quarkus a pris son envol et en est désormais à sa troisième version majeure. Il propose un cadre d’exécution pour une application de Java radicalement différente, où son exécution ultra optimisée en fait un parfait candidat pour le déploiement sur des conteneurs tels que ceux de Docker ou Podman. Quarkus va même encore plus loin, en permettant de transformer l’application Java en un exécutable natif ! Voici une rapide introduction, par la pratique, à cet incroyable framework, qui nous offrira l’opportunité d’illustrer également sa facilité de prise en main.

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous