Secure Software Development LifeCycle

Magazine
Marque
MISC
Numéro
109
Mois de parution
mai 2020
Domaines


Résumé

Selon IBM, en 2019 il fallait en moyenne 206 jours pour identifier une brèche de sécurité puis 108 jours pour que la correction soit effective. Quelles sont les mesures à mettre en place pour découvrir les vulnérabilités des applications avant qu’elles ne soient déployées en production ?


Pour éviter l’exploitation d’une vulnérabilité par un individu malveillant, le plus simple est de mettre en production uniquement des applications pour lesquelles la sécurité a été testée et validée. Le 100 % sécurisé n’existant pas, cet article propose un ensemble de mesures et bonnes pratiques permettant de diminuer ce risque de déployer une application vulnérable. Les exemples ci-dessous sont principalement orientés pour une application exposée sur le Web, mais une transposition pour d’autres types d’applications est possible.

1. Software Development LifeCycle (SDLC)

Au cours de la vie d’un produit logiciel, indépendamment du mode de gestion de projet choisi (agile, cycle en V, etc.), plusieurs étapes sont nécessaires, allant de la définition du besoin à la maintenance en phase de production.

1.1 Définition du besoin

Avant le démarrage de la construction, une analyse est effectuée pour déterminer les fonctionnalités, la...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite
Références

[BEEF] BeEF (Browser Exploitation Framework) : https://beefproject.com

[CORNUCOPIA] OWASP Cornucopia : https://owasp.org/www-project-cornucopia

[EBIOS] Methode EBIOS par l’ANSSI : https://www.ssi.gouv.fr/guide/ebios-2010-expression-des-besoins-et-identification-des-objectifs-de-securite

[MEHARI] Méthode MEHARI : http://meharipedia.x10host.com/wp

[ASVS] OWASP Application Security Verification Standard : https://owasp.org/www-project-application-security-verification-standard

[DT] OWASP Dependency Track : https://dependencytrack.org

[SNYK] Snyk : https://snyk.io

[GITHUB] About security alerts for vulnerable dependencies : https://help.github.com/en/github/managing-security-vulnerabilities/about-security-alerts-for-vulnerable-dependencies

[FSB] FindSecurityBugs : https://find-sec-bugs.github.io

[BANDIT] Bandit : https://bandit.readthedocs.io/en/latest

[SCS] Security Code Scan : https://security-code-scan.github.io

[PSA] phpcs-security-audit : https://github.com/FloeDesignTechnologies/phpcs-security-audit

[SONAR] SonarQube : https://www.sonarqube.org/

[CHECKMARX] Checkmarx cxSAST : https://www.checkmarx.com/products/static-application-security-testing

[CC] Cucumber : https://cucumber.io

[RF] RobotFramework : https://robotframework.org

[ARACHNI] Arachni Web Application Security Scanner Framework : https://www.arachni-scanner.com

[QUALYS] Qualys Web Application Scanning : https://www.qualys.com/lp/web-app-security

[ZAP] OWASP RAP : https://owasp.org/www-project-zap

[OPENSAMM] OWASP SAMM : https://owaspsamm.org

[BSIMM] Building Security In Maturity Model : https://www.bsimm.com

[SAFECode] Software Assurance Forum for Excellence in Code : https://safecode.org

[OPENRASP] OpenRASP de Baidu : https://github.com/baidu/openrasp

[SQREEN] Sqreen : https://www.sqreen.com



Articles qui pourraient vous intéresser...

Identification automatique de signaux grâce à la fonction d’autocorrélation

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Vous connaissiez la chasse au trésor… Initiez-vous maintenant à la chasse au signal (signal hunting en anglais). La chasse au signal consiste à rechercher les signaux qui nous entourent dans l’espace invisible du spectre électromagnétique. Mais plus besoin de rester l’oreille collée sur un haut-parleur à tourner le bouton pour régler la fréquence. La SDR (Software Defined Radio) a révolutionné tout cela : une radio numérique et un PC est vous voilà armé pour découvrir ce monde que les professionnels dénomment le SIGINT (SIGnal INTelligence).

Avec le Spanning Tree Protocol, suis-je en sécurité dans mon réseau ?

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Dans le cadre des hors-séries sur les retours aux fondamentaux, cet article aura comme sujet le protocole STP (Spanning Tree Protocol). Inventé en 1985 par Radia Perlman, il permet principalement d’assurer une liaison réseau redondante et sans boucle. Ce protocole étant primordial au sein d’un réseau de moyenne à grande envergure, s’il n’est pas correctement configuré, cela pourra alors permettre à des attaquants de compromettre le réseau.

Simulation d’un ordinateur mécanique en scriptant sous FreeCAD

Magazine
Marque
Hackable
Numéro
35
Mois de parution
octobre 2020
Domaines
Résumé

L’évolution du traitement du signal est une histoire fascinante largement déroulée par David Mindell dans ses divers ouvrages [1] et citations [2]. Partant de l’ordinateur mécanique avec ses rouages, poulies, bielles et crémaillères, le passage à l’électrique au début du 20ème siècle, puis à l’électronique intégrée avec l’avènement du transistor et des circuits intégrés (VLSI) nous ont fait oublier les stades initiaux qui ont amené à notre statut actuel d’ordinateurs infiniment puissants, précis et compacts. Alors que cette histoire semble s’accompagner du passage de l’analogique au numérique – de la manipulation de grandeurs continues en grandeurs discrètes avec son gain en stabilité et reproductibilité – il n’en est en fait rien : un boulier fournit déjà les bases du calcul discrétisé mécanique, tandis que [3] introduit les concepts du calcul mécanique avec les traitements numériques avant de passer aux traitements analogiques.

Return oriented programming 101

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Le Returned Oriented Programming (ou ROP) est une technique permettant d'exploiter des programmes disposant de la protection NX (No eXecute) ou DEP (Data Execution Prevention). L'objectif de cet article est de vous présenter les bases du ROP, ainsi que l’exploitation pas-à-pas d’un programme d’entraînement via l'utilisation de la bibliothèque python pwntools [1]. Dans un souci de simplicité, la démonstration sera réalisée sur un programme s'exécutant sur un système Linux 64 bits. Bien entendu, cette démonstration reste applicable sur d'autres architectures (ARM, MIPS, etc.).