ANALYSE DE CODE


Lors de l’étude d’un produit ou d’une application, les consultants de SECURYMIND peuvent être amené à analyser son code source. L’addition des compétences liées au développement et celles liés à l’exploitation de vulnérabilités sur ces composants leur permet de mettre à jour des problèmes sensibles mais également des solutions pertinentes et intégrables.

Objectifs :

L’analyse du code source d’un composant permet d’obtenir un niveau d’exhaustivité inatteignable via une approche purement intrusif, elle demande cependant en général plus de temps et doit être dans un souci d’optimisation des dépenses réservée aux éléments les plus sensibles.

Méthodologie :

Plusieurs approches sont envisageables :
  • L’analyse purement statique qui consiste à une revue du code à la recherche d’erreurs de développement classiques :
    • débordements de tampons (pour les langages laissant les problématiques de gestion de la mémoire aux développeurs comme le C ou le C++) ;
    • l’utilisation de fonctions système incontrôlées ;
    • les requêtes SQL non maitrisées utilisant des entrées externes ;
    • etc.
  • L’analyse dynamique qui consiste à utiliser le code afin de lister les différents états et options d’entrées du programme afin d’orienter les tests visant à injecter des entrées pouvant impacter l’exécution normale du composant ;
  • Des solutions combinant les deux approches ou ciblant des parties spécifiques du code : les fonctions d’authentification/habilitation par exemple).
L’offre SECURYMIND :

Les auditeurs du cabinet dispose d’une expérience importante dans l’analyse des applications :
  • Web :
    • PHP (classique ou objet) ;
    • Java (J2EE) ;
    • DotNET (C#, C++, J#) ;
    • FLASH/AMF.

  • Mobile :
    • Objective C (pour les applications mobiles Iphone) ;
    • JAVA.

  • Embedded :
    • C/C++ ;
    • ASM.


© Securymind - 2012 - Photos : © Fotolia