PVS-Studio comme solution SAST

PVS-Studio et SAST

Jusqu'Ă  rĂ©cemment, dans nos articles, nous positionnions PVS-Studio comme un outil de dĂ©tection des erreurs de code. Dans le mĂȘme temps, nous n'avons presque pas considĂ©rĂ© PVS-Studio dans le contexte de la sĂ©curitĂ©. Essayons de rĂ©soudre un peu cette situation et examinons l'outil en termes de test de la sĂ©curitĂ© des applications et des pratiques DevSecOps.

PVS-Studio est un outil pour les tests statiques de sécurité des applications (Static Application Security Testing, SAST). En d'autres termes, l'analyseur PVS-Studio détecte non seulement les fautes de frappe, le code mort et d'autres erreurs, mais également les vulnérabilités potentielles.

L'outil fonctionne sous Windows, Linux, macOS et analyse le code des programmes en C, C ++ et C #. Fin 2018, la prise en charge du langage Java est prévue.

Pour la commoditĂ© des spĂ©cialistes qui utiliseront PVS-Studio comme outil SAST, l'analyseur affiche ses avertissements sur l'Ă©numĂ©ration des faiblesses communes , les normes de codage SEI CERT et prend Ă©galement en charge la norme MISRA (actuellement en cours de mise en Ɠuvre).

Tableaux de conformité des diagnostics PVS-Studio à différentes normes:

  1. Conformité CWE
  2. Conformité SEI CERT
  3. Support MISRA (nous prĂ©voyons de le mettre en Ɠuvre avant fin 2018)

La classification la plus courante des alertes d'outil SAST est l'énumération commune des faiblesses (CWE). Voyons, j'utilise le langage CWE car l'analyseur PVS-Studio aide à prévenir les vulnérabilités.

Si nous nous tournons vers la base de données des vulnérabilités de sécurité de l'information bien connues ( CVE ), il s'avÚre que souvent la cause des vulnérabilités dans les programmes n'est pas quelques failles de sécurité, mais des erreurs logicielles ordinaires. Le National Institute of Standards and Technology (NIST) le confirme en déclarant que 64% des vulnérabilités logicielles sont dues à des erreurs de code.

Ce sont ces erreurs qui pourraient potentiellement conduire Ă  des vulnĂ©rabilitĂ©s dĂ©crites dans CWE. Par consĂ©quent, si l'erreur peut ĂȘtre classĂ©e comme CWE, il y a une chance qu'elle puisse ĂȘtre exploitĂ©e en tant que vulnĂ©rabilitĂ© et Ă©ventuellement remplir la liste CVE. Pour plus de clartĂ©, vous pouvez utiliser l'image de l'entonnoir:

Erreurs, CWE, CVE

Il y a beaucoup d'erreurs. Certains d'entre eux sont dangereux du point de vue de la sĂ©curitĂ© et sont donc classĂ©s selon CWE. Certaines erreurs CWE peuvent ĂȘtre exploitĂ©es et ce sont des vulnĂ©rabilitĂ©s.

Oui, dans la pratique, seule une trÚs petite fraction des erreurs CWE trouvées sont dangereuses et constituent des vulnérabilités. Cependant, si vous développez des applications critiques pour la sécurité et que vous vous souciez de la sécurité des utilisateurs, vous devez prendre ces erreurs trÚs au sérieux. En éliminant les erreurs CWE, vous protégez votre application de nombreuses vulnérabilités.

Maintenant, la relation entre les erreurs, PVS-Studio et les vulnérabilités devient apparente. L'analyseur PVS-Studio détecte les erreurs et classe bon nombre d'entre elles comme CWE. En corrigeant ces erreurs, vous rendez votre application plus fiable. La découverte d'une vulnérabilité dans un produit peut sérieusement affecter sa réputation. En corrigeant les erreurs de l'analyseur, vous réduisez considérablement ce risque dÚs le premier stade de développement - l'écriture de code.

L'analyseur PVS-Studio, comme tout autre outil, ne garantit pas qu'il n'y a aucune vulnĂ©rabilitĂ© dans le code. Cependant, si PVS-Studio empĂȘche, par exemple, 50% des vulnĂ©rabilitĂ©s potentielles, c'est dĂ©jĂ  merveilleux.

De plus, nous vous suggĂ©rons de lire l'article « Comment PVS-Studio peut-il aider Ă  trouver des vulnĂ©rabilitĂ©s? », Qui montre les erreurs qui ont conduit Ă  des vulnĂ©rabilitĂ©s, qui auraient pu ĂȘtre Ă©vitĂ©es si l'outil PVS-Studio avait Ă©tĂ© utilisĂ© dans le processus de dĂ©veloppement.

Commencez à utiliser PVS-Studio comme solution SAST: téléchargez PVS-Studio .

Source: https://habr.com/ru/post/fr418143/


All Articles