Nouvelles

Indicateurs de sécurité de RAD Studio 11.1 et Windows PE

peflags11101

Delphi et C++Builder dans 11.1 activent par défaut un certain nombre d’indicateurs de sécurité PE pour les applications Windows, dont certains étaient déjà disponibles, mais un peu cachés.


Delphi prend depuis longtemps en charge ASLR et certains des autres indicateurs de sécurité Windows recommandés. Dans la récente version 11.1, Embarcadero a facilité l’utilisation de ces indicateurs à la fois dans Delphi et C++Builder, en affichant des options de liens spécifiques, en les activant par défaut, et en créant également des packages et des applications qui font partie de RAD Studio avec ces indicateurs activés. .

En savoir plus sur ces drapeaux Windows PE

Prévention de l’exécution des données (DEP)

Permet au système de marquer une ou plusieurs pages de mémoire comme non exécutables, empêchant le code de s’exécuter à partir de ces régions de mémoire, ce qui rend plus difficile l’exploitation des dépassements de mémoire tampon. Vous pouvez en savoir plus à ce sujet dans la  documentation Microsoft ici .

Randomisation de la disposition de l’espace d’adressage (ASLR)

Organise de manière aléatoire les positions d’espace d’adressage des zones de données clés d’un processus, y compris la base de l’exécutable et les positions de la pile, du tas et des bibliothèques. Empêche l’exploitation des vulnérabilités de corruption de mémoire. Vous pouvez en savoir  plus sur l’ASLR  sur Wikipedia.

ASLR 64 bits à haute entropie (uniquement dans les applications 64 bits)

Permet à ASLR d’utiliser tout l’espace d’adressage 64 bits, comme vous pouvez le  lire ici .

Services terminaux

Créez des applications prenant en charge Terminal Server (TSAWARE). Ceci n’est pas lié à la sécurité et couvert par Microsoft  ici .

Prise en charge améliorée de RAD Studio

Alors que  les drapeaux du compilateur existaient avant , l’EDI RAD Studio expose désormais ces drapeaux en tant qu’options de l’éditeur de liens. Vous pouvez voir ci-dessous les paramètres pour les compilateurs Delphi et C++ Windows (merci pour les images à Jim McKeeth )

peflags111_01-2313780

peflags111_02-3606655

Quelques mises en garde

La configuration du compilateur ASLR fonctionne comme prévu pour les applications Delphi qui utilisent le package d’exécution. Pour les programmes liés aux bibliothèques de l’exécutable, il existe un conflit avec la façon dont les programmes se réfèrent aux fonctions DLL chargées retardées, ce qui empêche le comportement attendu. Il s’agit d’un problème qu’Embarcadero a découvert après la sortie et qui fournirait un correctif dans un avenir (proche).

Comme vous pouvez le voir ci-dessous, pour une application avec des packages d’exécution, vous obtenez la configuration appropriée, comme indiqué par SysInternals Process Explorer :

peflags111_03-9363841

En général, notez que ces drapeaux renforcent la sécurité et qu’il est possible qu’une application utilisant du code de bas niveau ne fonctionne plus. Par exemple, nous avons découvert que certains anciens contrôles ActiveX ne fonctionnaient plus dans l’IDE, en raison d’un conflit avec le drapeau DEP.

Si vous constatez un problème dans vos applications, vous pouvez désactiver ces indicateurs, mais nous vous recommandons d’examiner le problème sous-jacent, car certaines entreprises commencent à exiger que tous les logiciels qu’elles utilisent soient créés avec tous les indicateurs de sécurité recommandés par Microsoft activés.


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

IN THE ARTICLES