Académique Documents
Professionnel Documents
Culture Documents
Vulnérabilité
Une vulnérabilité est une faille dans le logiciel donnant la possibilité à
un attaquant de porter atteinte à l’intégrité, la confidentialité, la
disponibilité, la non-répudiation ou l’authentification du logiciel.
Exploitation et exploit
L’exploitation ici consiste pour un attaquant à se servir de manière
abusive d’une faille du logiciel à son avantage. L’exploit fait référence au
moyen utilisé pour exploiter la faille.
Sécuriser un logiciel
Contrairement à ce que vous pouvez penser, on ne développe pas un
logiciel avant de le sécuriser. Des bugs peuvent s’introduire dans le logiciel
depuis la conception et présenter des vulnérabilités dans le logiciel. Il faut dont
appliquer des méthodes et des techniques de sécurité à chaque étape du
développement du logiciel. D’où l’intégration de la sécurité dans les phases du
cycle de développement logiciel.
# 1 Planification
Durant cette première phase du cycle de vie du développement du logiciel, les
développeurs et les experts en sécurité doivent réfléchir aux risques communs
qui pourraient nécessiter une attention pendant le développement et s'y
préparer.
# 2 Exigences et analyse
Dans la deuxième étape, les exigences et l'analyse, des choix sont faits
concernant la technologie, les langages et les Frameworks de développement
qui seront utilisés. C'est à ce moment-là que les experts doivent considérer
quelles vulnérabilités pourraient menacer la sécurité des outils sélectionnés,
afin de faire les choix de sécurité appropriés tout au long de la conception et du
développement.
# 3 Architecture et conception
Durant cette phase, les équipes doivent suivre les directives d'architecture et
de conception pour faire face aux risques qui ont déjà été pris en compte et
analysés au cours des étapes précédentes. Lorsque les vulnérabilités sont
corrigées au début de la phase de conception, vous pouvez être assurés
qu'elles n'impacteront pas votre logiciel durant le développement. Des
processus comme la modélisation des menaces et l'analyse des risques
d'architecture rendent le processus de développement beaucoup plus simple
et plus sûr.
# 4 Développement
Pendant la phase de développement, les équipes doivent s'assurer qu'elles
utilisent des normes de codage sécurisées. Tout en effectuant les revues de
code habituelles pour s'assurer que le projet implémente bien les
caractéristiques et fonctions spécifiées, les développeurs doivent également
prêter attention à toutes les vulnérabilités de sécurité dans le code.
# 5 Test
La phase de test doit inclure des tests de sécurité, en utilisant des outils
DevSecOps automatisés pour améliorer la sécurité des applications.
Il est important de se rappeler que l'approche DevOps nécessite des tests
continus tout au long du cycle de vie de développement du logiciel. Tester plus
tôt et tester souvent est le meilleur moyen de s'assurer qu’à la fois vos produits
et votre cycle de vie de développement du logiciel sont sécurisés dès le départ.
Cela signifie que les équipes doivent commencer les tests dès les premiers
stades de développement, et que les tests de sécurité ne s'arrêtent pas une fois
l’équipement déployé et mis en œuvre.
# 6 Maintenance
Bien que les tests puissent être approfondis, la vraie vie montre que la réalité
n'est jamais la même que l'environnement de test. Il faut donc se préparer à
traiter les erreurs ou les risques non détectés auparavant et s’assurer que la
configuration définie pour le produit ai été faite correctement.
Conclusion
La notion de logiciel étant vaste, il existe des méthodes et des techniques de
sécurités particulières à chaque type de logiciel. Dans la suite nous nous
intéresserons à la sécurité des sites web. De plus, La sécurité logicielle est un
domaine très important pour l’avenir des logiciels dans le monde. Néanmoins
une sécurité à 100% d’un système ne saurait exister.