Galerie de cartes mentales Notes d'étude CISSP-20 (sécurité du développement logiciel)
Il s'agit d'une carte mentale sur les notes d'étude CISSP-20 (Sécurité du développement logiciel). Le contenu principal comprend : des questions de révision, des points clés de l'examen et des points de connaissances.
Modifié à 2024-03-16 16:29:59This is a mind map about bacteria, and its main contents include: overview, morphology, types, structure, reproduction, distribution, application, and expansion. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about plant asexual reproduction, and its main contents include: concept, spore reproduction, vegetative reproduction, tissue culture, and buds. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about the reproductive development of animals, and its main contents include: insects, frogs, birds, sexual reproduction, and asexual reproduction. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about bacteria, and its main contents include: overview, morphology, types, structure, reproduction, distribution, application, and expansion. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about plant asexual reproduction, and its main contents include: concept, spore reproduction, vegetative reproduction, tissue culture, and buds. The summary is comprehensive and meticulous, suitable as review materials.
This is a mind map about the reproductive development of animals, and its main contents include: insects, frogs, birds, sexual reproduction, and asexual reproduction. The summary is comprehensive and meticulous, suitable as review materials.
Notes d'étude CISSP-20 (sécurité du développement logiciel)
Points de connaissance
Présentation du contrôle du développement logiciel
développement de logiciels
langage de programmation
Langages compilés : C, Java, VB
Pas facilement manipulable par des tiers
Les acteurs malveillants peuvent ajouter des portes dérobées et contourner la détection des failles de sécurité.
Langages interprétés : Python, R, JS et VBS
Bibliothèque
Ensemble d'outils de développement
Programmation orientée objet
assurer
Évitez et supprimez les pannes du système
Validation des entrées
Authentification et gestion de session
La gestion des erreurs
Enregistrer
Échec du pointage et échec de la fermeture
cycle de vie de développement du système
modèle de cycle de vie
modèle de cascade
Ne peut revenir en arrière que d'une étape et ne peut pas gérer les erreurs plus tard dans le cycle de développement
modèle en spirale
Chaque spirale est une cascade
Développement de logiciels agiles
Mêlée
Capacité Maturité Modèle CMM ou SW-CMM ou SCMM
scène
niveau initial
niveau reproductible
niveau de définition
niveau de gestion
Niveau d'optimisation
Modèle de maturité de l'assurance logicielle SAMM
Modèle IDÉAL
scène
démarrer
diagnostic
Établir
action
étude
Diagramme de Gantt et PERT
Gestion des changements et des configurations
changement
Contrôle des demandes, contrôle des modifications et contrôle des versions
Configuration
Approche DevOps
DevSecOps
Les contrôles de sécurité sont gérés de manière proactive par code
Interface de programmation d'applications
boucle
test de logiciel
test en boîte blanche
Les testeurs ont accès au code source
test en boîte noire
Point de vue de l'utilisateur, pas d'accès au code
Tests en boîte grise
Combinez, mais n'analysez pas les principes internes
dépôt de code
accord de niveau de service
Achat de logiciels tiers
Créer des bases de données et des entrepôts de données
Architecture du système de gestion de base de données
Base de données hiérarchique et base de données distribuée
Hiérarchique : un à plusieurs
Distribué : plusieurs à plusieurs
base de données relationnelle
Structure de lignes et de colonnes
transaction de base de données
Les attributs
atomicité
cohérence
Isolement
persistance
Sécurité des bases de données à plusieurs niveaux
Utiliser des vues
Connectivité de base de données ouverte ODBC
NoSQL
stockage clé/valeur
La base de données graphique stocke les données au format graphique
Stockage de documents
Similaire au stockage clé/valeur
Types de documents courants : XML et JSON
menaces de mémoire
Comprendre les systèmes basés sur la connaissance
système expert
base de connaissances
Une série d'instructions if/then codant pour des connaissances expertes
moteur d'inférence
prise de décision
Apprentissage automatique ML
enseignement supervisé
Entraîner à l'aide de données étiquetées
apprentissage non supervisé
Utiliser des données non étiquetées pour l'entraînement
Les réseaux de neurones
Points d'examen
Expliquer l'architecture de base d'un système de gestion de base de données relationnelle (SGBDR). Comprendre la structure des bases de données relationnelles. Capacité à expliquer la fonctionnalité des tables (relations, lignes (enregistrements/tuples) et colonnes (champs/propriétés). Savoir comment définir les relations entre les tables et différents types de clés. Décrire les menaces de sécurité des bases de données posées par l'agrégation et l'inférence.
Expliquez le fonctionnement des systèmes experts, de l'apprentissage automatique et des réseaux de neurones. Le système expert se compose de deux composants principaux : une base de connaissances contenant une série de règles d'irthen et un moteur d'inférence qui utilise les informations de la base de connaissances pour obtenir d'autres données ; La technologie d'apprentissage automatique tente de découvrir des connaissances à partir des données grâce à des algorithmes. Les réseaux de neurones simulent le fonctionnement du cerveau humain et résolvent des problèmes en organisant une série de calculs hiérarchiques dans un cadre limité. Les réseaux de neurones nécessitent une formation approfondie sur un problème spécifique avant de pouvoir apporter une solution.
Comprendre les modèles de développement de systèmes. Le modèle en cascade décrit un processus de développement continu qui aboutit au développement d'un produit final. Si une erreur est détectée, le développeur ne peut revenir qu'à l'étape précédente. Le modèle en spirale itère sur plusieurs modèles en cascade, ce qui donne lieu à plusieurs prototypes détaillés et entièrement testés. Les modèles de développement agiles se concentrent sur les besoins des clients et développent rapidement de nouvelles fonctionnalités pour répondre à ces besoins de manière itérative.
Expliquer la méthodologie Scrum dans le développement de logiciels agiles. Scrum est une approche organisée pour mettre en œuvre la philosophie Agile. Il s'appuie sur des réunions Scrum quotidiennes pour organiser et réviser le travail. Le développement est un court sprint d’activités axées sur la livraison d’un produit fini. L'équipe de produits intégrés IPT est l'un des premiers exemples de cette approche adoptée par le ministère américain de la Défense.
Décrire le modèle de maturité du développement logiciel. Sachez que le modèle de maturité est conçu pour aider les organisations à améliorer la maturité et la qualité du processus de développement logiciel en développant des processus logiciels ad hoc et chaotiques en processus de développement logiciel matures et standardisés. Capacité à décrire les modèles SW-CMM, IDEAL et SAMM.
Comprendre l'importance de la gestion du changement et de la configuration. Connaître les trois composants de base du processus de gestion des modifications - contrôle des demandes, contrôle des modifications et contrôle des versions - et comment ils contribuent à la sécurité. Expliquez comment la gestion de la configuration contrôle les versions des logiciels utilisés dans une organisation. Comprenez comment l'audit et la journalisation des modifications peuvent atténuer les risques organisationnels.
Comprendre l’importance des tests. Les tests logiciels doivent être conçus dans le cadre du processus de développement logiciel. Les tests logiciels doivent être utilisés comme outil de gestion pour améliorer les processus de conception, de développement et de production.
Expliquer le rôle de DevOps et DevSecOps dans l'entreprise moderne. L'approche DevOps cherche à intégrer le développement logiciel et les opérations informatiques en prenant en charge l'automatisation et la collaboration entre les équipes. L'approche DevSecOps étend le modèle DevOps en introduisant les activités d'opérations de sécurité dans un modèle intégré. La technologie d'intégration et de livraison continues (CICD) automatise les pipelines DevOps et DevSecOps.
Comprendre le rôle des différents outils de codage dans l'écosystème de développement logiciel. Les développeurs écrivent du code dans différents langages de programmation, puis compilent le code en langage machine ou l'exécutent via un interpréteur. Les développeurs peuvent utiliser des ensembles d'outils de développement logiciel et des environnements de développement intégrés pour faciliter le processus de codage. Les bibliothèques de logiciels créent du code partagé et réutilisable, tandis que les référentiels de code fournissent une plateforme de gestion pour le processus de développement logiciel.
Expliquer l’impact du logiciel d’approvisionnement sur l’organisation. Les organisations peuvent acheter des logiciels commerciaux prêts à l'emploi (COTS) pour répondre à leurs besoins, ou utiliser des logiciels open source (OSS) gratuits. Ces logiciels élargissent la surface d’attaque potentielle et nécessitent un examen et des tests de sécurité.
Questions de révision
1. Christine aide son organisation à déployer du code grâce à une approche Devops. Laquelle des options suivantes n'appartient pas à L’une des trois composantes du modèle DevOps ? A. Sécurité des informations B. Développement de logiciels C.Assurance qualité D. Opérations informatiques
UN
2.Bob développe un logiciel d'application doté d'une zone de saisie dans laquelle l'utilisateur peut saisir une date. Il veut s'assurer que la valeur fournie par l'utilisateur est une date exacte au cas où des problèmes de sécurité surviendraient. Laquelle des techniques suivantes Bob devrait-il adopter ? A. Instanciation multiple B. Validation des entrées C. Pollution D. Dépistage
B
3. Vincent est un développeur de logiciels travaillant sur un arriéré de tâches de changement. Il ne savait pas vraiment quelles tâches devraient avoir la plus haute priorité. Quelle partie du processus de gestion du changement l’aide à prioriser les tâches ? A. Contrôle des versions B. Contrôle de la distribution C. Demander le contrôle D. Audit des changements
C Le contrôle des demandes offre la possibilité de prioriser ces demandes Request Control fournit un cadre organisé permettant aux utilisateurs de demander des modifications L'audit des modifications est utilisé pour garantir que l'environnement de production est cohérent avec l'enregistrement des modifications.
4 Frank mène une analyse des risques de son environnement de développement logiciel et souhaite introduire une approche de gestion des pannes qui place le système à un niveau de sécurité élevé en cas de panne. Quelle méthode doit-il utiliser ? A. Échec d'ouverture B. Suppression des défauts C. Échec fermé D. Effacement des défauts
C Fermeture en cas de panne : le système reste à un niveau de sécurité élevé jusqu'à l'intervention d'un administrateur Fail-open : niveau de sécurité faible, contrôle désactivé jusqu'à résolution Suppression des pannes : réduire l'impact des pannes
5. Quel modèle de développement logiciel utilise une approche en 7 phases avec une boucle de rétroaction et permet de revenir à la phase précédente ? A. Boyce-Codd B. Modèle cascade C. Modèle en spirale D.Développement Agile
B
6. Jane utilise des techniques de modélisation des menaces pour effectuer des évaluations des menaces lors de la formulation des exigences de sécurité pour un progiciel que son équipe développe. Dans le cadre du Software Assurance Maturity Model (SAMM), dans quelle fonction commerciale est-elle impliquée ? A. Gouvernance B.Conception C. Mise en œuvre D. Vérifier
B une partie de la fonction de conception
7.Laquelle des clés suivantes est utilisée pour appliquer des contraintes d'intégrité référentielle entre les tables de base de données ? A. Clé du candidat B. Clé primaire C. Clé étrangère D. Clé alternative
C Clé candidate : peut être utilisée comme clé primaire Clé alternative : non sélectionnée comme clé primaire Clés étrangères : appliquer des contraintes d'intégrité référentielle entre les tables de base de données
8. Richard pense qu'un utilisateur de base de données abuse de ses privilèges pour interroger et combiner les données d'un grand nombre d'enregistrements afin d'obtenir Obtenez des informations sur les tendances commerciales globales de l’entreprise. Quel est le processus utilisé par les utilisateurs de cette base de données ? A. Raisonnement B.pollution C. Instanciation multiple D. Agrégation
D
9. Quel type de technologie de base de données peut empêcher les utilisateurs non autorisés d’obtenir des secrets parce qu’ils n’ont pas accès à des informations normalement accessibles ? information? A. Raisonnement B. Manipulations C. Instanciation multiple D. Agrégation
C Multi-instanciation : permet d'insérer plusieurs enregistrements qui semblent avoir la même valeur de clé primaire dans la base de données avec différents niveaux de classification.
10. Lequel des énoncés suivants n’est pas un principe du développement agile ? A. Livrer continuellement et tôt pour satisfaire les clients B. Les hommes d'affaires et les développeurs collaborent les uns avec les autres C. Poursuite incessante de l’excellence technique D. Donner la priorité à la sécurité par rapport aux autres besoins
D
11 Quelles informations sont utilisées pour constituer la base du processus de prise de décision d'un système expert ? A. Une série de calculs hiérarchiques pondérés B. Combiner les contributions d'un large éventail d'experts humains, pondérées en fonction des performances passées C. Une série de règles si/alors compilées dans une base de connaissances D. Un processus de prise de décision biologique qui imite les processus de raisonnement utilisés par l'esprit humain
C
12. Dans le modèle de maturité des capacités logicielles SW-CMM, à quel stade une organisation atteint-elle le point où elle peut utiliser des méthodes quantitatives pour acquérir une compréhension détaillée du processus de développement ? A. Niveau initial B. Niveau reproductible C.Niveau de définition D. Niveau de gestion
D
13. Laquelle des options suivantes agit comme un proxy entre une application et une base de données pour prendre en charge l'interaction et simplifier le travail du programmeur ? A.SDLC B.ODBC C.PCIDSS D. résumé
B
14. Dans quel test logiciel le testeur a-t-il accès au code source sous-jacent ? A. Tests statiques B. Tests dynamiques C. Tests de scripts intersites D. Tests en boîte noire
UN Tests statiques : tests en boîte blanche Tests dynamiques : un exemple de test en boîte noire
15. Quel type de graphique fournit une illustration graphique de la planification pour aider à planifier, coordonner et suivre les tâches du projet ? A. Diagramme de Gantt B. Diagramme de Venn C. Graphique à barres D.PERT
UN
16. Parmi les types suivants de risques de sécurité, lesquels existent dans une base de données lorsque des données d'un niveau de classification supérieur sont mélangées avec des données d'un niveau de classification inférieur ? A. Agrégation B. Raisonnement C. Pollution D. Instanciation multiple
C Mots originaux dans le livre
17. Tonya mène une évaluation des risques liés aux progiciels tiers utilisés au sein de son organisation. Elle envisage d’acheter un produit auprès d’un fournisseur très populaire dans son secteur. Quel terme décrit le mieux ce logiciel ? A. Source ouverte B. Développement personnalisé C. Planification des ressources de l'entreprise (ERP) D. Commercial disponible dans le commerce
D
18. Lequel des éléments suivants ne fait pas partie du processus de gestion du changement ? A. Demander le contrôle B. Contrôle de libération C. Audit de configuration D. Changer de contrôle
C
19. Quels principes de gestion des transactions garantissent que deux transactions n'interfèrent pas l'une avec l'autre lorsqu'elles fonctionnent sur les mêmes données ? A. Atomicité B. Cohérence C. Isolement D. Persistance
C Atomicité : si une partie de la transaction échoue, la totalité de la transaction doit être annulée Cohérence : la base de données doit toujours être dans un état permettant de charger les règles du modèle de base de données Durabilité : les transactions validées dans la base de données doivent être préservées
20. Tom a créé une table de base de données contenant des noms, des numéros de téléphone et des identifiants clients professionnels. Ce tableau contient également des informations sur 30 clients. Quel est le « degré » de ce tableau ? A.2 B.3 C.30 D.Non défini
B Colonne de degré de ligne de cardinalité