Mindmap-Galerie CISSP-Studiennotizen-20 (Softwareentwicklungssicherheit)
Dies ist eine Mindmap zu CISSP-Studiennotizen-20 (Softwareentwicklungssicherheit). Der Hauptinhalt umfasst: Überprüfungsfragen, Prüfungsschlüsselpunkte und Wissenspunkte.
Bearbeitet um 2024-03-16 16:29:59Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
CISSP-Studiennotizen-20 (Softwareentwicklungssicherheit)
Wissenspunkte
Übersicht über die Softwareentwicklungskontrolle
Software-Entwicklung
Programmiersprache
Kompilierte Sprachen: C, Java, VB
Nicht leicht von Dritten manipulierbar
Böswillige Akteure können Hintertüren hinzufügen und Sicherheitslücken umgehen, um die Erkennung zu umgehen
Interpretierte Sprachen: Python, R, JS und VBS
Bibliothek
Entwicklungstoolset
Objekt orientierte Programmierung
sicherstellen
Systemausfälle vermeiden und unterdrücken
Eingabevalidierung
Authentifizierung und Sitzungsverwaltung
Fehlerbehandlung
Aufzeichnen
Punch-In fehlgeschlagen und Schließen fehlgeschlagen
System-Entwicklungs-Lebenszyklus
Lebenszyklusmodell
Wasserfall-Modell
Kann nur eine Stufe zurückgehen und Fehler später im Entwicklungszyklus nicht beheben
Spiralmodell
Jede Spirale ist ein Wasserfall
Agile Software Entwicklung
Gedränge
Capability Maturity Model CMM oder SW-CMM oder SCMM
Bühne
Anfangslevel
wiederholbare Ebene
Definitionsebene
Führungsebene
Optimierungsgrad
Software Assurance Reifegradmodell SAMM
IDEALES Modell
Bühne
Start-up
Diagnose
Gründen
Aktion
Studie
Gantt-Diagramm und PERT
Änderungs- und Konfigurationsmanagement
ändern
Anforderungskontrolle, Änderungskontrolle und Freigabekontrolle
Aufbau
DevOps-Ansatz
DevSecOps
Sicherheitskontrollen werden proaktiv durch Code verwaltet
Programmierschnittstelle
Locken
Softwaretest
White-Box-Tests
Tester haben Zugriff auf den Quellcode
Black-Box-Tests
Benutzerperspektive, kein Zugriff auf Code
Gray-Box-Test
Kombinieren Sie interne Prinzipien, aber analysieren Sie sie nicht
Code-Repository
Service-Level-Agreement
Beschaffung von Software durch Dritte
Erstellen Sie Datenbanken und Data Warehouses
Architektur des Datenbankverwaltungssystems
Hierarchische Datenbank und verteilte Datenbank
Hierarchisch: eins-zu-viele
Verteilt: viele-zu-viele
relationale Datenbank
Zeilen-Spalten-Struktur
Datenbanktransaktion
Attribute
Atomizität
Konsistenz
Isolierung
Beharrlichkeit
Mehrstufige Datenbanksicherheit
Verwenden Sie Ansichten
Öffnen Sie die Datenbankkonnektivität ODBC
NoSQL
Schlüssel-/Wertspeicherung
Die Diagrammdatenbank speichert Daten im Grafikformat
Dokumentenspeicher
Ähnlich wie bei der Schlüssel-/Wertspeicherung
Gängige Dokumenttypen: XML und JSON
Gedächtnisbedrohungen
Wissensbasierte Systeme verstehen
Expertensystem
Wissensbasis
Eine Reihe von Wenn/Dann-Anweisungen, die Expertenwissen kodieren
Inferenzmaschine
Entscheidungsfindung
Maschinelles Lernen ML
überwachtes Lernen
Trainieren Sie mit gekennzeichneten Daten
unbeaufsichtigtes Lernen
Verwenden Sie unbeschriftete Daten für das Training
Neuronale Netze
Prüfungspunkte
Erklären Sie die grundlegende Architektur eines relationalen Datenbankverwaltungssystems (RDBMS). Verstehen Sie die Struktur relationaler Datenbanken. Fähigkeit, die Funktionalität von Tabellen (Beziehungen, Zeilen (Datensätze/Tupel) und Spalten (Felder/Eigenschaften) zu erklären. Wissen, wie Beziehungen zwischen Tabellen und verschiedenen Arten von Schlüsseln definiert werden. Beschreiben Sie Datenbanksicherheitsbedrohungen, die durch Aggregation und Inferenz entstehen.
Erklären Sie, wie Expertensysteme, maschinelles Lernen und neuronale Netze funktionieren. Das Expertensystem besteht aus zwei Hauptkomponenten: einer Wissensdatenbank, die eine Reihe von Irthen-Regeln enthält, und einer Inferenzmaschine, die die Informationen der Wissensdatenbank verwendet, um andere Daten zu erhalten. Die Technologie des maschinellen Lernens versucht, mithilfe von Algorithmen Wissen aus Daten zu gewinnen. Neuronale Netze simulieren die Funktionsweise des menschlichen Gehirns und lösen Probleme, indem sie eine Reihe hierarchischer Berechnungen in einem begrenzten Umfang anordnen. Neuronale Netze erfordern eine umfassende Schulung zu einem bestimmten Problem, bevor sie eine Lösung bieten können.
Modelle für die Systementwicklung verstehen. Das Wasserfallmodell beschreibt einen kontinuierlichen Entwicklungsprozess, der zur Entwicklung eines Endprodukts führt. Wenn ein Fehler gefunden wird, kann der Entwickler nur zur vorherigen Stufe zurückkehren. Das Spiralmodell durchläuft mehrere Wasserfallmodelle, was zu mehreren detaillierten und vollständig getesteten Prototypen führt. Agile Entwicklungsmodelle konzentrieren sich auf die Kundenbedürfnisse und entwickeln schnell neue Funktionen, um diese Bedürfnisse auf iterative Weise zu erfüllen.
Erklären Sie die Scrum-Methodik in der agilen Softwareentwicklung. Scrum ist ein organisierter Ansatz zur Umsetzung der agilen Philosophie. Zur Organisation und Überprüfung der Arbeit sind tägliche Scrum-Meetings erforderlich. Die Entwicklung ist ein kurzer Sprint von Aktivitäten, die sich auf die Lieferung eines fertigen Produkts konzentrieren. Das Integrated Product Team IPT ist ein frühes Beispiel für diesen Ansatz des US-Verteidigungsministeriums.
Beschreiben Sie das Reifegradmodell der Softwareentwicklung. Beachten Sie, dass das Reifegradmodell darauf ausgelegt ist, Organisationen dabei zu helfen, den Reifegrad und die Qualität des Softwareentwicklungsprozesses zu verbessern, indem chaotische Ad-hoc-Softwareprozesse in ausgereifte, standardisierte Softwareentwicklungsprozesse umgewandelt werden. Fähigkeit, SW-CMM-, IDEAL- und SAMM-Modelle zu beschreiben.
Verstehen Sie die Bedeutung des Änderungs- und Konfigurationsmanagements. Kennen Sie die drei Grundkomponenten des Änderungsmanagementprozesses – Anforderungskontrolle, Änderungskontrolle und Freigabekontrolle – und wie sie zur Sicherheit beitragen. Erklären Sie, wie das Konfigurationsmanagement die in einer Organisation verwendeten Softwareversionen steuert. Verstehen Sie, wie die Überwachung und Protokollierung von Änderungen das organisatorische Risiko mindern kann.
Verstehen Sie die Bedeutung des Testens. Softwaretests sollten als Teil des Softwareentwicklungsprozesses konzipiert werden. Softwaretests sollten als Managementinstrument zur Verbesserung der Design-, Entwicklungs- und Produktionsprozesse eingesetzt werden.
Erklären Sie die Rolle von DevOps und DevSecOps im modernen Unternehmen. Der DevOps-Ansatz zielt darauf ab, Softwareentwicklung und IT-Betrieb zu integrieren, indem er die Automatisierung und Zusammenarbeit zwischen Teams unterstützt. Der DevSecOps-Ansatz erweitert das DevOps-Modell durch die Einführung von Sicherheitsbetriebsaktivitäten in ein integriertes Modell. Die CICD-Technologie (Continuous Integration and Delivery) automatisiert DevOps- und DevSecOps-Pipelines.
Verstehen Sie die Rolle verschiedener Codierungstools im Softwareentwicklungs-Ökosystem. Entwickler schreiben Code in verschiedenen Programmiersprachen und kompilieren den Code dann in Maschinensprache oder führen ihn über einen Interpreter aus. Entwickler können Softwareentwicklungs-Toolsets und integrierte Entwicklungsumgebungen nutzen, um den Codierungsprozess zu erleichtern. Softwarebibliotheken erstellen gemeinsam genutzten und wiederverwendbaren Code, während Code-Repositories eine Verwaltungsplattform für den Softwareentwicklungsprozess bereitstellen.
Erklären Sie die Auswirkungen von Beschaffungssoftware auf die Organisation. Unternehmen können kommerzielle Standardsoftware (COTS) erwerben, um ihre Anforderungen zu erfüllen, oder kostenlose Open-Source-Software (OSS) verwenden. Diese Software erweitert die potenzielle Angriffsfläche und erfordert Sicherheitsüberprüfungen und -tests.
Rezensionsfragen
1. Christine unterstützt ihre Organisation bei der Bereitstellung von Code durch einen Devops-Ansatz. Zu welcher der folgenden Optionen gehört nicht Eine der drei Komponenten des DevOps-Modells? A. Informationssicherheit B. Softwareentwicklung C. Qualitätssicherung D. IT-Betrieb
A
2.Bob entwickelt eine Anwendungssoftware, die über ein Eingabefeld verfügt, in das der Benutzer ein Datum eingeben kann. Er möchte sicherstellen, dass der vom Benutzer angegebene Wert ein genaues Datum ist, falls Sicherheitsprobleme auftreten. Welche der folgenden Techniken sollte Bob anwenden? A. Mehrfache Instanziierung B. Eingabevalidierung C.Verschmutzung D. Screening
B
3. Vincent ist ein Softwareentwickler, der an einem Rückstand an Änderungsaufgaben arbeitet. Er war sich nicht sicher, welche Aufgaben die höchste Priorität haben sollten. Welcher Teil des Änderungsmanagementprozesses hilft ihm, Aufgaben zu priorisieren? A. Freigabekontrolle B. Verteilungskontrolle C. Anforderungskontrolle D. Änderungsaudit
C Die Anforderungssteuerung bietet die Möglichkeit, diese Anforderungen zu priorisieren Request Control bietet Benutzern einen organisierten Rahmen zum Anfordern von Änderungen Mit der Änderungsprüfung wird sichergestellt, dass die Produktionsumgebung mit dem Änderungsdatensatz übereinstimmt
4 Frank führt eine Risikoanalyse seiner Software-Entwicklungsumgebung durch und möchte einen Fehlermanagement-Ansatz einführen, der das System im Fehlerfall auf ein hohes Sicherheitsniveau bringt. Welche Methode sollte er anwenden? A. Nicht geöffnet B. Fehlerunterdrückung C. Fehler geschlossen D. Fehlerbehebung
C Fail-Closed: Das System bleibt auf einem hohen Sicherheitsniveau, bis ein Administrator eingreift Fail-open: Niedrige Sicherheitsstufe, Steuerung bis zur Behebung deaktiviert Fehlerunterdrückung: Reduzieren Sie die Auswirkungen von Fehlern
5. Welches Softwareentwicklungsmodell verwendet einen 7-Phasen-Ansatz mit einer Rückkopplungsschleife und ermöglicht die Rückkehr zur vorherigen Phase? A. Boyce-Codd B. Wasserfallmodell C. Spiralmodell D.Agile Entwicklung
B
6. Jane verwendet Bedrohungsmodellierungstechniken, um Bedrohungsbewertungen durchzuführen, wenn sie Sicherheitsanforderungen für ein Softwarepaket formuliert, das ihr Team entwickelt. An welcher Geschäftsfunktion ist sie gemäß dem Software Assurance Maturity Model (SAMM) beteiligt? A. Governance B. Design C. Umsetzung D. Überprüfen
B Teil der Designfunktion
7.Welcher der folgenden Schlüssel wird verwendet, um referenzielle Integritätsbeschränkungen zwischen Datenbanktabellen durchzusetzen? A. Kandidatenschlüssel B. Primärschlüssel C.Fremdschlüssel D. Alternativer Schlüssel
C Kandidatenschlüssel: Kann als Primärschlüssel verwendet werden Alternativer Schlüssel: Nicht als Primärschlüssel ausgewählt Fremdschlüssel: Erzwingen Sie referenzielle Integritätsbeschränkungen zwischen Datenbanktabellen
8. Richard glaubt, dass ein Datenbankbenutzer seine Rechte missbraucht, um Daten aus einer großen Anzahl von Datensätzen abzufragen und zu kombinieren Informieren Sie sich über die allgemeinen Geschäftstrends des Unternehmens. Welchen Prozess verwenden Benutzer dieser Datenbank? A. Argumentation B. Verschmutzung C.Mehrfache Instanziierung D. Aggregation
D
9. Welche Art von Datenbanktechnologie kann verhindern, dass unbefugte Benutzer Geheimnisse ableiten, weil sie keinen Zugriff auf normalerweise zugängliche Informationen haben? Information? A. Argumentation B. Manipulation C.Mehrfache Instanziierung D. Aggregation
C Mehrfachinstanzierung: Ermöglicht das Einfügen mehrerer Datensätze, die scheinbar denselben Primärschlüsselwert haben, mit unterschiedlichen Klassifizierungsstufen in die Datenbank
10. Welcher der folgenden Punkte ist kein Prinzip der agilen Entwicklung? A. Kontinuierlich früh liefern, um die Kunden zufriedenzustellen B. Geschäftspersonal und Entwickler arbeiten zusammen C. Unablässiges Streben nach technischer Exzellenz D. Priorisieren Sie die Sicherheit vor anderen Bedürfnissen
D
11 Welche Informationen bilden die Grundlage für den Entscheidungsprozess eines Expertensystems? A. Eine Reihe gewichteter hierarchischer Berechnungen B. Kombinieren Sie den Input eines großen Pools menschlicher Experten, gewichtet auf der Grundlage der bisherigen Leistung C. Eine Reihe von Wenn/Dann-Regeln, zusammengestellt in einer Wissensdatenbank D. Ein biologischer Entscheidungsprozess, der die Denkprozesse des menschlichen Geistes nachahmt
C
12. In welchem Stadium erreicht eine Organisation im Software Capability Maturity Model SW-CMM den Punkt, an dem sie mithilfe quantitativer Methoden ein detailliertes Verständnis des Entwicklungsprozesses erlangen kann? A. Anfangsniveau B. Wiederholbare Ebene C. Definitionsebene D. Managementebene
D
13. Welche der folgenden Optionen fungiert als Proxy zwischen einer Anwendung und einer Datenbank, um die Interaktion zu unterstützen und die Arbeit des Programmierers zu vereinfachen? A.SDLC B.ODBC C.PCIDSS D. abstrakt
B
14. Bei welchem Softwaretest hat der Tester Zugriff auf den zugrunde liegenden Quellcode? A. Statische Tests B. Dynamisches Testen C. Cross-Site-Scripting-Tests D. Black-Box-Tests
A Statische Tests: White-Box-Tests Dynamisches Testen: ein Beispiel für Black-Box-Tests
15. Welche Art von Diagramm bietet eine grafische Darstellung der Terminplanung, um Projektaufgaben besser planen, koordinieren und verfolgen zu können? A. Gantt-Diagramm B. Venn-Diagramm C. Balkendiagramm D.PERT
A
16. Welche der folgenden Arten von Sicherheitsrisiken bestehen in einer Datenbank, wenn Daten einer höheren Klassifizierungsebene mit Daten einer niedrigeren Klassifizierungsebene gemischt werden? A. Aggregation B. Argumentation C.Verschmutzung D.Mehrfache Instanziierung
C Originalwörter im Buch
17. Tonya führt eine Risikobewertung der in ihrer Organisation verwendeten Softwarepakete von Drittanbietern durch. Sie plant, ein Produkt von einem Lieferanten zu kaufen, der in ihrer Branche sehr beliebt ist. Welcher Begriff beschreibt diese Software am besten? A. Open Source B. Kundenspezifische Entwicklung C. Unternehmensressourcenplanung (ERP) D. Kommerziell von der Stange
D
18. Welcher der folgenden Punkte ist nicht Teil des Change-Management-Prozesses? A. Anforderungskontrolle B. Freigabekontrolle C. Konfigurationsaudit D.Änderungskontrolle
C
19. Welche Transaktionsmanagementprinzipien stellen sicher, dass sich zwei Transaktionen nicht gegenseitig stören, wenn sie mit denselben Daten arbeiten? A. Atomarität B. Konsistenz C. Isolation D.Persistenz
C Atomarität: Wenn ein Teil der Transaktion fehlschlägt, muss die gesamte Transaktion zurückgesetzt werden Konsistenz: Die Datenbank muss immer in einem Zustand sein, in dem sie die Datenbankmodellregeln laden kann Haltbarkeit: In die Datenbank übertragene Transaktionen müssen erhalten bleiben
20. Tom hat eine Datenbanktabelle erstellt, die Namen, Telefonnummern und geschäftsbezogene Kunden-IDs enthält. Diese Tabelle enthält auch Informationen zu 30 Kunden. Welchen „Grad“ hat diese Tabelle? A. 2 B.3 C. 30 D.Undefiniert
B Kardinalitätszeile, Gradspalte