Votre entreprise vient de mettre  en production une application de e-commerce dans laquelle les utilisateurs peuvent enregistrer leurs informations bancaires afin de faciliter de futurs achats. Très rapidement vous constatez que certains utilisateurs exploitent une vulnérabilité de l’application pour accéder à des numéros de CB d’autres clients. Dans ce contexte, quel type de test logiciel aurait du être effectué avant la mise en production pour éviter ce genre de problème ?

[A] Misuse case testing

[B] SQL injection testing

[C] Fuzzing

[D] Code review


reponse linkedin

CBK8 Q05 LINK


La technique de test « misuse case testing », également appelée « abuse case testing », consiste à vérifier toutes les possibilités qu’aurait un utilisateur légitime de l’application pour exploiter une vulnérabilité par un usage impropre (injection de caractère inattendu, exploitation d’une vulnérabilité logicielle ou d’une erreur de configuration, etc…).

A ce titre les tests de vulnérabilités en injection SQL, les techniques de fuzzing ou encore la revue de code sont des activités qui peuvent permettre de détecter ce type de problème mais elles ne sont pas dédiées à une recherche exhaustive des abus utilisateurs sur l’application.

Par exemple plus de 50% des participants ont choisit la réponse [B]. Ce n’est pas la bonne réponse car l’accès aux numéros de CB d’un autre client pourrait s’opérer par autre chose que l’exploitation d’une vulnérabilité de type SQL injection. D’ailleurs les numéros de cartes ne sont peut-être même pas stockées dans un SGBDR.

On voit également dans les résultats Linkedin que la bonne réponse n’a été choisie que par 6% des participants. Pourtant la quasi-totalité de ces personnes travaillent dans la cybersécurité et cela depuis plusieurs années. Cela démontre une des difficultés de l’examen CISSP où il ne suffit pas de connaître les sujets. Il faut également connaître le jargon américain du CISSP. Personnellement, en près de 30 ans de carrière dans la cybersécurité, je n’ai jamais vu ou entendu ce terme de « misuse case testing » mis à part bien sûr dans les livres officiels de l'(ISC)2.

La meilleure réponse (et donc la bonne…) est la proposition [A] Misuse case testing

CISSP OSG 2021

Misuse Case Testing : In some applications, there are clear examples of ways that software users might attempt to misuse the application. For example, users of banking software might try to manipulate input strings to gain access to another user’s account. They might also try to withdraw funds from an account that is already overdrawn. Software testers use a process known as misuse case testing or abuse case testing to evaluate the vulnerability of their software to these known risks.

tip

Pour en savoir plus sur l’intégration de la sécurité dans le développement des logiciels nous vous recommandons de suivre les modules n°20 et 21 de la formation CISSP de VERISAFE.


Questions et réponses rédigées par VERISAFE selon le programme officiel du CISSP actuellement en vigueur
© VERISAFE – Utilisation ou reproduction (même partielle) strictement interdite sans l’accord écrit de VERISAFE