Mindmap-Galerie CISSP-8-Anwendungssicherheitsentwicklung
Die Mindmap zur Anwendungssicherheitsentwicklung der CISSP-Information System Security Professional-Zertifizierung umfasst hauptsächlich Lernziele für die Anwendungsentwicklung, Systementwicklungssicherheit, Softwareentwicklungsmodelle, Programmiersprachen und -konzepte, typische Anwendungssysteme und die Bewertung der Wirksamkeit der Softwaresicherheit.
Bearbeitet um 2021-11-10 12:06:10Einhundert 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.
Entwicklung der Anwendungssicherheit
Lernziele für die Anwendungsentwicklung
Lebenszyklussicherheit bei der Softwareentwicklung
Lebenszyklusansatz für die Softwareentwicklung
Reifemodell
Betrieb und Instandhaltung
Änderungsmanagement
Integriertes Produktteam
Sicherheitskontrollen in Entwicklungsumgebungen
Sicherheit der Softwareumgebung (Programmiersprache, Bibliotheken, Toolboxen, umfassende Entwicklungsumgebung, Laufzeit);
Sicherheitslücken und Schwachstellen auf Quellcodeebene
Konfigurationsmanagement als wichtiger Bestandteil sicherer Codierung
Sicherheit der Anwendungsschnittstelle
Auswirkungen auf die Softwaresicherheit
Änderungen überwachen und protokollieren
Risikoanalyse und -minderung (Korrekturmaßnahmen, Tests und Validierung, Regressionstests)
User Acceptance Testing
Bedenken hinsichtlich der Anwendungsentwicklung
Architekturmuster
Dreistufige Architektur
Benutzer
Frontend
Komplexe Middleware
Datenbank
Bug-Tracking- und Sicherheitsfunktionen
Kundenserver
Client: Benutzeroberfläche, lokale Datenbankoperationen, Kommunikationsmechanismus
Server: Datenanfragen ausführen und verarbeiten und Ergebnisse zurückgeben
Browser/Server
Umweltkontrolle V Anwendungskontrolle
Ausgewogenheit mehrerer Kontrollmethoden
Verstehen Sie die Grenzen zwischen Umgebungskontrollen und Anwendungskontrollen
Safety V-Funktionalität
Ausgewogenheit von Softwarefunktionalität und Sicherheitsmaßnahmen
Ausgewogenheit von funktionalen Anforderungen, Sicherheitsanforderungen und Sicherheitsmechanismen
Sicherheit V-Benutzererfahrung
normalerweise umgekehrt proportional zu
Sicherheitsfunktion V Konfigurationssicherheit
Die Standardinstallation garantiert keine Sicherheit
Die Konfigurationssicherheit ist nicht aktiviert (der Zugriff sollte standardmäßig verweigert werden).
Nichtbeachtung des Minimalinstallationsprinzips
Installation nach dem Patch
Sicherheit bei der Systementwicklung
SDLC
Projektbeginn
Klären Sie Anforderungen und legen Sie die grundlegenden Sicherheitsziele des Produkts fest
Bewertung der Risikoanalyse, Bewertung von Bedrohungen und Schwachstellen, Schätzen Sie das Kosten-Nutzen-Verhältnis verschiedener Sicherheitsmaßnahmen
Risikomanagement
Risikoanalyse
Bedarfsanalyse
Sicherheitsanforderungen
Funktionsanforderungen an das System oder die Anwendung
Standards und Richtlinien
Exportbeschränkungen
Datenvertraulichkeitsstufe
Verwandte Sicherheitsrichtlinien
Ergebnisse der Kosten-Nutzen-Analyse
Schutzniveau, das zur Erreichung der Ziele erforderlich ist
Projektentwicklungs- und Anforderungsmanagementteams führen komplexe Analysen aktueller und wahrscheinlicher zukünftiger Funktionsanforderungen durch, um sicherzustellen, dass das neue System den Endbenutzeranforderungen entspricht
Die Mitglieder des Projektteams überprüfen außerdem die in der Anfangsphase des Projekts ausgegebenen Dokumente und überarbeiten und aktualisieren sie bei Bedarf.
Bei relativ kleinen Projekten werden die oben genannten Prozesse häufig in der Anfangsphase des Projekts einbezogen.
Auch Sicherheitsanforderungen sollten entsprechend gestaltet werden. (Sicherheitsanforderungen werden während der Anforderungsanalysephase ermittelt, Sicherheitspersonal muss in die Anforderungsphase einbezogen werden)
System-Design
Softwareentwicklung als Teil des Systemdesigns
Hardware unterscheidet sich von Software
Im Allgemeinen werden die von der Software implementierten Funktionen während des Systementwurfs festgelegt.
Bei der Verifizierung von Software muss der gesamte Kontext berücksichtigt werden, in dem das System entwickelt wird
Beachten Sie die technischen Daten
Der Unterschied zwischen Software und Hardware
Software kann Zweige haben und die Software kann unterschiedliche Befehle basierend auf unterschiedlichen Eingaben ausführen, sodass die Software komplex ist.
Software ist nicht physisch und nutzt sich daher nicht ab.
Software kann einfach und schnell geändert werden;
Der Softwareentwicklungsprozess sollte vollständig geplant, kontrolliert und aufgezeichnet werden, um unerwartete Ergebnisse, die durch Softwareänderungen verursacht werden, zu erkennen und zu korrigieren.
.Softwarekomponenten sind nicht so oft standardisiert und austauschbar wie Hardware.
Tools zur Beschreibung von Benutzeranforderungen und systeminternem Verhalten
Beinhaltet alle Aktivitäten im Zusammenhang mit System- und Softwaredesign.
Entwerfen Sie Systemarchitektur, Systemausgänge und Systemschnittstellen
Legen Sie Anforderungen für Dateneingabe, Datenfluss und Datenausgabe fest und entwerfen Sie allgemein Software-Sicherheitsfunktionen basierend auf der Sicherheitsarchitektur des Unternehmens.
Design
Datendesign
Extrahieren Sie Datendesign- und Informationsmodelldaten und konvertieren Sie sie in Datenstrukturen
Architektur-Design
Definiert die Hauptstrukturen und Beziehungen zwischen Anwendungskomponenten
Prozessgestaltung
Strukturierte Bestandteile in anschauliche Prozesse umwandeln
Sicherheitsdesign-Ansatz
Bedrohungsmodellierung (STRIDE)
Analyse der Angriffsflächenminimierung
Saubere Ein- und Ausgabe
Zu berücksichtigende Fragen
Projektstrukturplan (PSP) für nachfolgende Phasen
Details zum Produkt und der Umgebung, in der es implementiert wird
Probleme bei der Modularisierung und Wiederverwendung von Produkten
Softwareentwicklung und -implementierung
Das Hauptwerk
Quellcode wurde generiert und Testszenarien und Testfälle entsprechend entwickelt
Beginnen Sie mit der Implementierung von Unit- und Integrationstests
Außerdem werden Verfahren und Systeme zunächst für die Wartung dokumentiert und dann für Abnahmetests und Produktionsübergänge verwendet
Testtyp
Gerätetest
Überprüfen Sie Datenstruktur, Logik und Randbedingungen
Integrationstests
Stellen Sie sicher, dass die Komponenten gemäß den Designspezifikationen zusammenarbeiten
Systemtest
Funktion/Leistung
Abnahmeprüfung
Stellen Sie sicher, dass der Code den Kundenanforderungen entspricht
Regressionstests
Nachdem Systemänderungen vorgenommen wurden, werden diese erneut getestet Stellen Sie Funktionalität, Leistung und Schutzniveau sicher
Funktionstest
Leistungstest
lade Test
Drucktest
Fuzzing-Test
Senden Sie komplexe/zufällige Daten an die Software, um Softwarefehler zu verursachen. Sie werden hauptsächlich zur Identifizierung von Pufferüberläufen, DOS, Injektionen, Überprüfungsfehlern und anderen Fehlern verwendet, die dazu führen können, dass die Software einfriert, abstürzt oder auftritt.
Scannen von Schwachstellen
Verwenden Sie automatisierte Tools, um die Hauptfehler des Programms zu überprüfen, z. B. stark typisierte Sprachfehler, Entwicklungs- und Konfigurationsfehler, Transaktionssequenzfehler (Mapping-Triggerbedingungen) usw., normalerweise weitere manuelle Nach dem Scannen sind Arbeiten erforderlich.
Manuelles Testen
Durch die Analyse eines Programms anhand menschlicher Erfahrung und Intuition, häufig unter Einsatz von Computertechnologie, können Tester Entwurfsfehler, beispielsweise Logikfehler, lokalisieren. Beinhaltet Penetrationstests.
Dynamische Analyse
Die dynamische Analyse ist eine zeitnahe Analyse eines laufenden Programms. Sie wird normalerweise nach der statischen Analyse und nach der Lösung der grundlegenden Probleme des Programms ausgeführt.
Trennung von Umgebungen und Trennung von Verantwortlichkeiten
verifizieren (Überprüfung)
Stellen Sie sicher, dass die Produktspezifikationen eingehalten werden
bestätigen (Validierung)
Stellen Sie sicher, dass die Hauptziele des Projekts erreicht werden
Konzentrieren Sie sich auf die Verwendung und den Betrieb des entwickelten Systems oder der entwickelten Anwendung
Zertifizierung (Zertifizierung)
technische und nichttechnische Sicherheitsmerkmale eines IT-Systems und seiner Sicherheitsbewertung von Schutzmaßnahmen, Messung der Übereinstimmung spezifischer Designs und Implementierungen Ein definierter Satz von Sicherheitsanforderungen zur Unterstützung des Akkreditierungsprozesses.
Ein Prozess zur Untersuchung und Bewertung von Sicherheitskontrollen
Durchgeführt durch eine externe unabhängige Prüfstelle
Bestätigen Sie die Einhaltung von Sicherheitsrichtlinien und -standards
Bewertung oder Genehmigung (Akkreditierung)
Eine maßgebliche Stelle erklärt offiziell, dass ein IT-System genehmigt wurde und kann in der Lage ist, in einem bestimmten Sicherheitsmodus zu arbeiten, der eine definierte Reihe von Sicherheitsmaßnahmen verwendet, die einem akzeptablen Risikoniveau entsprechen
Zustimmung des Managements zum System
klare Risikoakzeptanz
Migrationen und Korrekturen
In dieser Phase geht das System von der Abnahmephase in die reale Produktionsumgebung über.
Zu den Aktivitäten in dieser Phase gehört die Einholung von Sicherheitsgenehmigungen (Sicherheitsakkreditierung);
Benutzer nach Plan schulen;
Implementierung des Systems, einschließlich Installation und Datenkonvertierung;
Führen Sie bei Bedarf parallele Operationen durch.
Betrieb und Instandhaltung
Konfigurieren Sie die Sicherheitsumgebung richtig
Führen Sie kontinuierlich Schwachstellentests durch, überwachen Sie die Systemaktivität und prüfen Sie Ereignisse (Während der Wartungsphase wird eine Schwachstelle entdeckt und die entsprechende Maßnahme besteht darin, sie zu melden.)
Bei größeren Veränderungen eine Risikobeurteilung durchführen, und Durchführung von Zertifizierungs- und Akkreditierungsprozessen (Re-Zertifizierung, Re-Akkreditierung)
Entsorgen (Entsorgung)
Vernichten Sie Daten basierend auf der Datensensibilität.
Zerstörungsmethode
körperlicher Schaden
Entmagnetisierung
überschreiben
Lebenszyklus der SELC-Systemtechnik (Lebenszyklus der Systemtechnik)
Anforderungsanalyse, Design, Implementierung, Verifizierung, Betrieb Anforderungsanalyse, Design, Implementierung, Verifizierung, Betrieb
Änderungs- und Konfigurationsmanagement
Reifegradmodell (KMG)
Ursprünglich (Ad-hoc)
Wiederholbar
Definiert
Verwaltet (verwaltet, Metrik)
Optimieren (kontinuierliche Verbesserung)
Integration des Fähigkeitsreifemodells (CMMI)
1, 3, 5 sind gleich, 2. verwaltet, 4. quantifiziert und verwaltet
Integriertes Produktteam
Integrierte Produkt- und Prozessentwicklung (IPPD) integrierte Produkt- und Prozessentwicklung
Managementtechniken, die Design-, Herstellungs- und Supportprozesse optimieren, indem alle erforderlichen Beschaffungsaktivitäten gleichzeitig mithilfe multidisziplinärer Teams integriert werden
IPPD erleichtert die Einhaltung von Kosten- und Leistungszielen vom Produktkonzept bis zur Produktion, einschließlich Vor-Ort-Support
Ein Schlüsselprinzip von IPPD ist das multidisziplinäre Kollaborationsmodell von Integrated Product Teams (IPTs).
IPT
Vertreter aller Funktionsdisziplinen arbeiten mit dem Teamleiter zusammen, um erfolgreiche und ausgewogene Programme zu entwickeln, Probleme zu identifizieren und zu lösen und fundierte und zeitnahe Entscheidungen zu treffen
Teammitglieder leisten möglicherweise nicht unbedingt 100 % ihrer Zeit für das Projekt und ein Mitglied kann mehreren IPT-Teams angehören.
Der Zweck von IPTs besteht darin, Teamentscheidungen auf der Grundlage von Echtzeit-Inputs aller Teams (z. B. Projektmanagement, Technik, Fertigung, Tests, Logik, Finanzmanagement, Beschaffung und Vertragsmanagement) einschließlich Kunden und Lieferanten zu treffen
Die Teammitglieder für ITPs bestehen aus Mitgliedern auf Projektmanagerebene, einschließlich Mitgliedern des Unternehmens und System-/Subsystem-Auftragnehmern
Ein typisches IPT findet auf Programmebene statt und kann beispielsweise aus den folgenden Funktionsdisziplinen bestehen: Konstruktionstechnik, Fertigung, Systemtechnik, Test und Evaluierung, Unterauftragsvergabe, Qualitätssicherung, Schulung, Finanzen, Zuverlässigkeit, Wartbarkeit, Support, Beschaffung. Vertragsmanagement, Lieferanten und Kunden.
DevOps
Konzept
grundsätzlich
Entwickeln und testen Sie ähnliche Produktionssysteme
Bereitstellung mit einem wiederholbaren, zuverlässigen Prozess
Überwachen und überprüfen Sie die Betriebsqualität
Erweitern Sie die Feedbackschleife
Software-Entwicklungsmodell
Wasserfall-Modell
Planung, Anforderungsanalyse, Softwaredesign, Programmerstellung, Softwaretests, Betrieb und Wartung
Spiralmodell
Strukturierte Programmierentwicklung
iterative Entwicklung
Prototypenmodell
aufgeben
Verbessern
Rapid-Prototyping
Entdecken Sie das Modell
Gemeinsame Analyseentwicklung
Schnelle Anwendungsentwicklung (RAD)
Modelle wiederverwenden
sauberes Zimmer
Komponentenentwicklung
Agile Entwicklung
Extreme Programming XP
Gedränge
Mager
Agiles Manifest 4 Sätze
Einzelpersonen und Interaktionen über Prozesse und Tools Funktionierende Software mit ausführlicher Dokumentation Kundenkooperation geht vor Vertragsverhandlung Reagieren Sie besser auf Veränderungen als dem Plan folgen
Programmiersprachen und Konzepte
Strukturierte Programmierung
Top-Down-Analyse und Design; Bottom-up, schrittweise Umsetzung
Benutzerorientierte Sichtweise, strikte Unterscheidung der Arbeitsschritte
Nachteile: langer Entwicklungszyklus, umständlicher und komplexer Entwicklungsprozess Die Prüfung ist schwieriger und die Benutzerkommunikation ist nicht intuitiv.
Objekt orientierte Programmierung
Es besteht aus zwei Teilen: Klasse und Objekt.
Art (Klasse)
Klasse definiert die abstrakten Eigenschaften einer Sache
Eine Klasse definiert die Eigenschaften einer Sache und was sie tun kann (sein Verhalten).
Die Methoden und Eigenschaften einer Klasse werden „Mitglieder“ genannt.
Objekt (Objekt)
Objekt ist eine Instanz einer Klasse.
Das System weist Objekten Speicherplatz zu, nicht jedoch Klassen. Klassen sind abstrakt. Es ist für das System unmöglich, abstrakten Dingen Raum zuzuweisen.
Objekt=Eigenschaftsmethode
Attribute:
Beschreibt die Struktur und Statusmerkmale des Objekts
Methode:
Die Funktion oder der Prozess, den ein Objekt ausführen kann
Kommunikationsmethoden zwischen Objekten: Nachrichtenübermittlung
Polymorphismus (Polymorphismus)
Das einfachste Verständnis von Kapselung ist das Verpacken, das sich auf das Verbergen der Eigenschaften und Implementierungsdetails eines Objekts bezieht. Nur die Schnittstelle ist der Außenwelt ausgesetzt, dh der interne Zustand des Objekts ist für die Außenwelt transparent.
Verkapselung (Verkapselung)
bedeutet, Objektinformationen auszublenden
öffentliche Mitglieder
Privatmitglied
erben (Nachlass)
Ist ein Mechanismus zum Erstellen eines oder mehrerer Untertypen aus einer vorhandenen Klasse.
Softwarearchitektur
Datenstruktur
Darstellung logischer Beziehungen zwischen Datenelementen
Skalar
verlinkte Liste
hierarchischer Baum
Zusammenhalt und Kopplung (hohe Kohäsion, geringe Kopplung)
Zusammenhalt
Gibt an, wie viele verschiedene Arten von Aufgaben ein Modul ausführen kann
Je höher die Kohäsion, desto einfacher ist es, sie zu aktualisieren und zu ändern. ohne Auswirkungen auf andere Module, die miteinander interagieren
Kupplung
Wie viel Interaktion ein Modul benötigt, um seine Aufgaben zu erfüllen
Eine geringe Kopplung erleichtert die Wiederverwendung und Änderungen wirken sich nicht auf andere Module aus.
Verteiltes Rechnen
Gemeinsame Object Request Broker-Architektur (CORBA)
Microsoft COM/DCOM-Modell
EJB
API
API ist ein Connector für IoT (Internet of Things), der es Geräten ermöglicht, sich miteinander zu verbinden
Representational State Transfer (REST) API
Ratschläge zur Verwendung durch REST-Sicherheitsexperten
Drei sichere Pfade für REST-APIs
Typisches Anwendungssystem
Websicherheit
Nachricht sammeln (Informationsbeschaffung)
Verwaltungsschnittstelle (Administrative Schnittstellen)
Authentifizierung und Zugriffskontrolle (Authentifizierung und Zugriffskontrolle)
Eingabevalidierung (Eingabevalidierung)
Antwort
Pufferüberlaufangriff
XSS-Cross-Site-Scripting-Angriff
SQL-Injection-Angriff
Parametervalidierung (Parametervalidierung)
Sitzungsverwaltung (Sitzungsverwaltung)
Datenbankmanagement
Datenbankverwaltungssystem (DBMS)
Assemblys, die den Datenzugriff verwalten und steuern
Daten in einem bestimmten Format organisieren und speichern, Zeichnen Sie Dateien auf, die Benutzern den Zugriff, die Verwaltung und die Aktualisierung ermöglichen
Schwerpunkt: Datenerfassung, -speicherung, -wiederherstellung
Am meisten geht es um Integrität, gefolgt von Verfügbarkeit und schließlich Vertraulichkeit
Metadaten
Essenz: Daten über Daten
Schlüsseldaten im Zusammenhang mit Datenquellendefinition, Zieldefinition, Konvertierungsregeln usw.
Merkmale:
Datenkonsistenz
Der Betrieb muss den Integritätsrichtlinien jeder Datenbank entsprechen. Vollständige Transaktionsdaten konsistent
Datenübertragung
Mehrere Benutzer können gleichzeitig auf die Datenbank zugreifen. Mit Parallelitätskontrolle
Datenwiederherstellung
Im Falle eines Fehlers oder Systemabsturzes kann das System wiederhergestellt werden. Überprüfen Sie die Transaktionen, die zum Zeitpunkt des Absturzes oder Rollbacks verarbeitet wurden. Oder eine Transaktion wurde bereits abgeschlossen, um die Datenkonsistenz aufrechtzuerhalten.
Checkpointing ist eine gängige Wiederherstellungstechnik
sicher kontrollieren
Bietet verschiedene Sicherheitskontrollen, um den Benutzerzugriff einzuschränken
Datenbanksprache
Datendefinitionssprache (DDL), Zum Beispiel: CREATE, DROP, ALTER und andere Anweisungen.
Datenmanipulationssprache (DML), Zum Beispiel: SELECT (Abfrage), INSERT (Einfügung), UPDATE (Ändern), DELETE (Löschen)-Anweisungen.
Datenkontrollsprache (DCL), Zum Beispiel: GRANT, REVOKE und andere Anweisungen.
Transaktionskontrollerklärung (TCL), Zum Beispiel: COMMIT, ROLLBACK und andere Anweisungen.
Sorgen Sie für einen effektiven Ansatz oder Prozess
Komprimierung: Die Möglichkeit, Daten zu komprimieren und Speicherplatz und E/A zu sparen
Neu organisieren: Ungenutzten Speicherplatz zurückgewinnen
Refactoring: Hinzufügen und Ändern von Datensätzen, Daten, Zugriffskontrollen, Festplattenkonfigurations- und Verarbeitungsfunktionen
Datenbankmodell
hierarchisches Datenbankmodell
Eine logische Baumstruktur, die aus Datensätzen und Feldern besteht, die in der logischen Baumstruktur miteinander in Beziehung stehen
Eine Baumstruktur enthält viele Zweige, jeder Zweig hat viele Blätter oder Datenfelder
Der Zugang erfordert einen klaren Weg, Nicht für häufige Änderungen geeignet, für häufige Abfragen geeignet
Beispiel: Lightweight Directory Access Protocol LDAP, Registrierungsstruktur
Netzwerkdatenbankmodell
Verwenden Sie gerichtete Diagramme, um Entitätstypen und Beziehungen zwischen Entitäten darzustellen. Eine netzwerkartige redundante Struktur, keine strenge Baumstruktur
Jedes Datenelement verfügt über mehrere übergeordnete und untergeordnete Knoten
Schnelleres Abrufen im Vergleich zu hierarchischen Modellen
relationales Datenbankmodell
Features: Attribute/Felder (Spalten) und Tupel/Datensätze (Zeilen)
Kombination kartesischer Produkte
Primär- und Fremdschlüssel
Der Primärschlüssel identifiziert einen Datensatz eindeutig
Fremdschlüssel: Wenn ein Attributwert in einer Tabelle mit einem Primärschlüssel in einer anderen Tabelle übereinstimmt, und eine bestimmte Beziehung hergestellt wird, wird dieses Attribut als Fremdschlüssel betrachtet
Grundlegende Bestandteile:
Datendefinitionssprache (DDL)
Definieren Sie die Datenbankstruktur (Struktur) und die Datenstruktur (Schema).
Struktur: Beschreibt die Größe der Tabelle, die Position von Schlüsseln, Ansichten und Datenelementbeziehungen
Schema: beschreibt die Datentypen und ihre Eigenschaften, die die Datenbank speichert und verarbeitet
Definieren Sie die Organisation, Zugriffsvorgänge und Integritätsverfahren der Datenbank
Datenmanipulationssprache (DML)
Benutzerbetriebsbefehl
Datenkontrollsprache (DCL)
Erstellen Sie Benutzerzugriffs- und Autorisierungsobjekte
Abfragesprache (QL)
Stellen Sie eine Abfrageanforderung an die Datenbank
Berichtsgenerator
Datenprozessausgabe in benutzerdefinierter Weise
(RDBMS) relationale Integrität
Integrität der Entität (Entitätsintegrität)
Jeder Datensatz wird durch den Primärschlüsselwert eindeutig identifiziert
semantische Vollständigkeit (Semantische Integrität)
Stellen Sie sicher, dass Strukturregeln und semantische Regeln befolgt werden. Verhindern Sie, dass semantisch falsche Daten in die Datenbank gelangen. Dies kann durch Regeln erreicht werden, die durch Regeln eingeschränkt werden
(Referenz-) referenzielle Integrität (Referentielle Integrität)
Kein Datenbankeintrag kann auf einen nicht vorhandenen Primärschlüssel verweisen. Wenn ein Datensatz gelöscht wird, der einen Primärschlüssel enthält, Alle referenzierten Datensätze müssen gelöscht werden. (Unbekannter Schlüssel)
Datenwörterbuch:
Es handelt sich um eine zentrale Bibliothek, die Datenelemente und ihre Beziehungen beschreibt. Kann wichtige Informationen wie Datennutzung, Datenbeziehungen, Datenquellen und Datenformate speichern
Das Datenwörterbuch ist ein zentraler Verwaltungsteil, der Datenbankdaten steuert. Beschreibt Querverweise zwischen Datenelementen und Datenbanken
Beschreibt eine Sammlung von Datenelementdefinitionen, Schemaobjekten und Referenzschlüsseln
Zu den Schemaobjekten gehören Tabellen, Ansichten, Indizes, Prozeduren, Funktionen und Trigger
Datenverwaltungssoftware liest das Datenwörterbuch, stellt fest, ob das Modul vorhanden ist, und prüft, ob es bestimmte Daten enthält Die Zugriffsberechtigungen des Benutzerprozesses definieren auch die Ansichtsberechtigungseinstellungen für jeden Benutzer.
Aktualisieren Sie das Datenwörterbuch, wenn neue Datensätze, Tabellen, Ansichten oder Schemata hinzugefügt werden müssen
objektorientiertes Datenbankmodell
Kombination des Objektdatenmodells in der objektorientierten Programmierung mit DBMS, Kann Bild-, Sprach-, Video- und andere Daten speichern.
Objektorientierte Datenbanken verwenden Klassen, um die Eigenschaften und Prozeduren ihrer Objekte zu definieren
Objektrelationales Datenbankmodell
Datenbank-Programmierschnittstelle
Offene Datenbankkonnektivität, ODBC
Objektverbindungs- und Einbettungsdatenbank, OLEDB
ActiveX-Datenobjekte, ADO
Java Database Interconnect, JDBC
Datenbankschwachstellen und -bedrohungen
Integrität (Integrität)
Rollback
Beenden Sie die aktuelle Transaktion, verwerfen Sie Änderungen und stellen Sie den vorherigen Status wieder her
einreichen
Senden Sie die aktuelle Transaktion, beenden Sie sie und führen Sie die vom Benutzer vorgenommenen Änderungen aus. Wenn es nicht erfolgreich ausgeführt werden kann, führen Sie einen Rollback durch
Sicherungspunkt/Kontrollpunkt (Kontrollpunkt)
Wenn ein Fehler erkannt wird, kann der Benutzer zur entsprechenden Stelle zurückkehren.
Verwenden Sie Sperrmechanismen, um der Bedrohung durch gleichzeitige Vorgänge zu begegnen
Polymerisation (Anhäufung)
Einige Informationen sind einzeln nicht sensibel, aber in ihrer Gesamtheit sind sie sensibel.
Lösung
Kontrollieren Sie den Zugriff auf Aggregatfunktionen streng
Benutzern ist der direkte Zugriff auf Daten über Ansichten untersagt.
Argumentation (Inferenz)
Aggregieren Sie das gewünschte Ergebnis
Die Argumentation kann die verfügbaren Informationen nicht zur Anzeige bringen
Lösung:
Zugangskontrolle
Inhaltsbasierte Zugriffskontrolle
Kontextsensitive Zugriffskontrolle
Einheitshemmung (Zellunterdrückung)
Techniken zum Ausblenden bestimmter Einheiten
Datenbankpartitionierung (Datenbankpartition)
Teilen Sie die Datenbank in verschiedene Teile auf
Lärm und Unruhe (Lärm und Störung)
Techniken zum Einfügen gefälschter Informationen in Datenbanken
Datenbankansicht
Mehrere Instanzen (MRDBMS)
Erstellen Sie mehrere Tupel mit demselben Primärschlüssel und Beziehungen zwischen Instanzen, die durch Sicherheitsstufen definiert sind
Sackgasse (DeadLocking)
Andere Bedrohungen
Datenbank
Online-Transaktionsverarbeitung, OLTP
ACID-Prinzipien
Atomarität
Entweder werden alle Änderungen festgeschrieben oder die Datenbank wird zurückgesetzt
Konsistenz
Befolgen Sie die Datenbankintegrität, Stellen Sie die Konsistenz der Daten in verschiedenen Datenbanken sicher
Isolierung
Transaktionen beeinflussen sich gegenseitig nicht
Haltbarkeit
Nach der Übermittlung kann kein Rollback mehr durchgeführt werden
Online-Analyseverarbeitung, OLAP
OLAP ist die Hauptanwendung von Data Warehouse-Systemen
Geeignet für Entscheidungsträger und Führungskräfte
Data Warehousing und Data Mining
Um den Informationsabruf und die Datenanalyse zu ermöglichen, Kombinieren Sie mehrere Datenbanken oder Datenquellen zu einer großen Datenbank
Data-Mining
Klassifizierung: Gruppieren von Daten basierend auf gemeinsamen Ähnlichkeiten
Möglichkeit: Abhängigkeiten zwischen Daten identifizieren, und Möglichkeiten auf ihre Beziehungen anwenden
Expertensystem
Regelbasierte Programmierung
Regeln basieren auf logischen Wenn-Dann-Einheiten
Komposition
Inferenzmaschine
Die Inferenz-Engine bietet Benutzeroberfläche, externe Datei-, Plan- und Programmzugriffsfunktionen
Wissensbasis
Die Wissensdatenbank enthält Daten zu einem bestimmten Problem oder einer bestimmten Domäne
Expertensysteme werden von IDS häufig zur automatischen Überprüfung von Sicherheitsprotokollen eingesetzt
Künstliche neurale Netzwerke
Elektronisches Modell basierend auf der neuronalen Struktur des menschlichen Gehirns
Das Gehirn speichert Informationen in Form von Mustern
Wenn Sie etwas lernen und es häufig anwenden, Der Verbindungsweg zur Informationsspeichereinheit wird verstärkt
Neuronale Netze sind so programmiert, dass sie über Entscheidungs- und Lernfähigkeiten verfügen. Verbesserung der Funktionalität durch einen Prozess umfassender Trial-and-Error-Entscheidungen
drohen
Pufferüberlauf (Pufferüberlauf)
verdeckte Passage Kanal konvertieren
zeitliche Koordinierung
Lagerung
Speicherwiederverwendung/Objektwiederverwendung (Speicherwiederverwendung/Objektwiederverwendung)
soziale Entwicklung
Falltür/Hintertür (Falltür/Hintertür)
Spoofing-Angriff (Spoofing-Angriff)
Web-Sicherheit
Vandalismus
Ersetzen Sie das ausgegebene Bild und den Titel durch das geänderte Bild und den geänderten Titel
Wahrnehmung und Realität
Finanzbetrug
Täuschung von Diensten und Transaktionen in virtuellen Umgebungen
privilegierter Zugang
Beschränken Sie den Zugriff auf privilegierte Benutzer
Diebstahl von Transaktionsinformationen
Diebstahl geistigen Eigentums
Denial-of-Service-Angriff
spezifische Sicherheit
Nachricht sammeln
Verwaltungsschnittstelle
Authentifizierung und Zugriffskontrolle
Konfigurationsmanagement
Geben Sie eine Bestätigung ein
Parameterbestätigung
Sitzungsverwaltung
SAML
SAML Security Assertion Markup Language, Es handelt sich um ein XML-basiertes Protokoll. Ist ein föderierter Identitätsstandard. Wird zur Übertragung von Authentifizierungs- und Autorisierungsinformationen in verschiedenen Sicherheitsdomänen verwendet und kann zur Implementierung von Single Sign-On verwendet werden. Ähnlich wie Kerberos auf KDC angewiesen ist, ist SAML auf IDP (Identitätsanbieter) angewiesen. SAML verfügt über eine Funktion namens Richtliniendurchsetzung.
OAuth2.0
OAuth (Open Authorization) ist ein offener Standard, Ermöglichen Sie Benutzern, Anwendungen von Drittanbietern den Zugriff auf private Ressourcen (z. B. Fotos, Videos, Kontaktlisten) zu ermöglichen, die vom Benutzer auf einer Website gespeichert sind. Ohne Ihren Benutzernamen und Ihr Passwort an Drittanwendungen weiterzugeben.
Das ursprüngliche OAuth stellt ein Token mit einer sehr langen Gültigkeitsdauer aus (normalerweise ein Jahr oder ohne Gültigkeitsbeschränkung). In OAuth 2.0 stellt der Server ein Zugriffstoken mit kurzer Gültigkeit und ein Aktualisierungstoken mit langer Lebensdauer aus. Dies ermöglicht es dem Client, ein neues Zugriffstoken zu erhalten, ohne dass der Benutzer dies erneut tun muss, und begrenzt außerdem die Gültigkeitsdauer des Zugriffstokens.
Code verschieben
Java-Applet
Die Java-Sprache besteht aus Bytecode und der Java Virtual Machine Wandeln Sie es in Maschinencode um, den die Maschine erkennen kann.
Das Applet läuft in einer Sandbox (Die Sandbox trägt dazu bei, eine minimale Autorisierung zu erreichen, Ist ein wirksames Mittel zur Bekämpfung von Angriffen mit bösartigem Code Alternative zu Antivirensoftware)
ActiveX-Steuerelement
Schadcode
Virus
Eigenschaften: Fortpflanzung und Zerstörung, erfordert Wirt
Makrovirus
Bootsektorvirus
Sie können die Daten im Boot-Bereich löschen oder den Bereich neu starten
Komprimierungsvirus
Hängen Sie sich an das ausführbare Programm an und komprimieren Sie es mit den Berechtigungen des Benutzers
verdeckter Virus
Verstecken Sie die Änderungen, die er am Boot-Record der Dateibox vorgenommen hat
Metamorphes Virus
Machen Sie eine sich verändernde, aber dennoch nutzbare Kopie von sich
Durch Rauschen oder gefälschte Anweisungen, Mutationsmaschinen und Zufallszahlen Generator, um die Reihenfolge der Anweisungen zu ändern und der Entdeckung zu entgehen
Split-Virus
Infiziert gleichzeitig den Bootsektor und die ausführbaren Dateien der Festplatte
selbstverursachter Virus
Umgehen Sie die Erkennung durch Antivirensoftware, indem Sie den eigenen Code verschleiern
Skriptvirus
Tunnelvirus
Installieren Sie unter einem Antivirenprogramm eine Antivirensoftware Bei der Erkennung von Viren fängt Seven diesen Anruf ab
Wurm
Kann sich ohne Host selbst replizieren
Wird über E-Mails, Website-Downloads usw. verbreitet.
Botnetz
Ein Bot ist eine Art latenter Malware Code
Trojanisches Pferd
Ein Programm, das als ein anderes Programm getarnt ist
Rootkit
Logikbombe
Eine Logikbombe wird ausgeführt, wenn ein bestimmtes Ereignis eintritt
Antiviren Software
charakteristische Nachweismethode (Unterschrift)
Heuristische Erkennung (heuristisch) Ungewöhnliches Verhalten festgestellt
Verdachtszähler
Einige Antivirenprogramme erstellen verdächtigerweise eine Sandbox. Analysieren Sie verdächtigen Code dynamisch
Einstufung:
Das Überprüfen von Informationen über einen Codeabschnitt wird als statische Analyse bezeichnet
Die Ausführung eines Teils des Codes in einer virtuellen Maschine wird als dynamische Analyse bezeichnet.
Impfprogramm
Nehmen Sie einen Virus ins Visier und lassen Sie ihn glauben, er sei infiziert.
Verhaltensblocker
Antivirus Programm
Schützen Sie sich durch administrative, physische und technische Methoden vor Viren
Spam-Erkennung
Bayesianische Filterung
Denial-of-Service-Angriff (DOS) (Sieht aus wie eine normale Aktivität)
Merkmale
Verbrauchen Sie die Netzwerkbandbreite des Opfers
Verbrauchen Sie die Ressourcen des Opfers
Einstufung
Schlumpf-Angriff
Ausnutzung von Fehlern im ICMP-Protokoll
Fraggle-Angriff
Ausnutzung von Fehlern im UDP-Protokoll
Smurf und Farggle sind zwei Möglichkeiten, Protokollfehler auszunutzen und Beispiel für die Verwendung eines verstärkten Netzwerks zum Starten von DoS
SYN-Flood-Angriff
Nutzung des Drei-Wege-Handshakes einer TCP-Verbindung
Das Limit der Verbindungswarteschlange wurde überschritten
Tränenangriff
Nutzen Sie diesen Designfehler aus, indem Sie sehr kleine, fragmentierte Pakete versenden
Verteilter Denial-of-Service-Angriff (DDOS)
Sinkhole-Routing ist eine Möglichkeit, mit DDOS umzugehen
Bewerten Sie die Wirksamkeit der Softwaresicherheit
Zertifizierung und Akkreditierung
Wirkung
Integrieren Sie Informationssicherheitsfunktionen in föderale Informationssysteme durch die Anwendung bewährter Management-, Betriebs- und technischer Sicherheitskontrollen.
Behalten Sie das Bewusstsein für den Sicherheitsstatus von Informationssystemen bei, indem Sie die Überwachungsprozesse kontinuierlich stärken
Bereitstellung wichtiger Informationen für die Geschäftsleitung, um Entscheidungen voranzutreiben, einschließlich der Akzeptanz von Risiken für den Betrieb der Organisation und Risiken für Vermögenswerte, Einzelpersonen, andere Organisationen oder Länder, die sich aus der Nutzung und dem Betrieb von Informationssystemen ergeben;
Prüfung und Protokollierung von Änderungen
Informationsprüfungsfunktion
Prüfverfahren helfen bei der Erkennung ungewöhnlicher Aktivitäten
Die Prüfstufe und die Prüfart hängen von den Prüfanforderungen der installierten Software und der Sensibilität der vom System verarbeiteten oder gespeicherten Daten ab.
Systemressourcen sollten geschützt werden, sofern verfügbar
Die Rolle der Protokollüberwachung
Die Notwendigkeit, eine Grundlinie festzulegen
Leistung verschiedener Server und Systeme
Anwendungsfunktionen sowie Betriebs- und Wartungsprobleme
Effektive Einbrucherkennung
forensische Analyse
Halten Sie verschiedene Gesetze und Vorschriften ein
Integrität der Informationen
Die Anwendung vergleicht oder gleicht die verarbeiteten Daten mit den voraussichtlich verarbeiteten Daten ab
Summen vergleichen
Überprüfen Sie die Seriennummer
Genauigkeit der Informationen (Anwendungssteuerung)
Eingabegenauigkeit prüfen: Datenvalidierung und Validierungsprüfungen sollten in entsprechende Anwendungen integriert werden
Zeichenprüfungen: Vergleichen Sie eingegebene Zeichen mit erwarteten Zeichentypen, z. B. Zahlen oder Buchstaben
Bereichsprüfungen: Validieren Sie Eingabedaten anhand der Ober- und Untergrenzen der Reservierung
Beziehungsprüfungen: Vergleichen Sie die Eingabedaten mit den Daten in der Hauptdatensatzdatei
Plausibilitätsprüfung (Angemessenheitsprüfungen): Vergleichen Sie Eingabedaten mit erwarteten Standards und anderen Formen von Integritätsprüfungen
Transaktionslimits: Überprüfen Sie die Eingabedaten und vergleichen Sie diese mit den von der Geschäftsführung in der Transaktion festgelegten Limits.
Risikoanalyse und -minderung
Risikomanagement
Risikomanagement ist ein fortlaufender Prozess, der den gesamten Projektlebenszyklus umfasst
Der Risikomanagementprozess umfasst Risikoplanung, -identifizierung, -analyse, -überwachung und -kontrolle
Die Identifizierung von Risiken beginnt bereits vor Beginn des Projekts und die Anzahl der Risiken nimmt mit zunehmender Projektreife zu.
Der Risikodokumentationsprozess umfasst Risikominderung und Kontinuitätsplanung
Maßnahmen zur Risikominderung können die Wahrscheinlichkeit des Eintretens eines Ereignisses verringern. Eine Risikominderung verursacht Kosten und erfordert eine Kosten-Nutzen-Analyse.
Kontinuitätsplanung oder eine Reihe von Aktivitäten, die bei oder vor dem Eintreten eines Ereignisses durchgeführt werden, können präventive Aktivitäten vor dem Eintreten eines Risikos oder Aktivitäten nach dem Eintreten eines Risikos sein.
Risikoanalyse- und Minderungsstrategien
Integrieren Sie sich sowohl in den SDLC-Prozess als auch in den Änderungsmanagementprozess der Organisation
Nutzen Sie standardisierte Risikobewertungsmethoden und melden Sie Risiken den Stakeholdern
Verfolgen und verwalten Sie Schwachstellen, die während der Bewertung, des Änderungsmanagements und der laufenden Überwachung festgestellt wurden
Korrekturmaßnahmen – Patch-Management
Grundeinstellungen
Forschung
MD5-Vergleich von Fingerabdrücken und digitalen Signaturen
Überprüfung der Dateiintegrität
Beurteilung und Prüfung
Testen Sie Patches in einer Testumgebung
Schadensbegrenzung („Rollback“)
Bereitstellung („Rollout“)
Wird jetzt auf weniger kritischen Systemen eingesetzt
Validierung, Berichterstellung und Protokollierung
Patch-Update-Protokoll, Aufzeichnung und Archivierung
Testen und Verifizieren
Die Umsetzung von Risikokontrollmaßnahmen erfordert Tests
Sicherheitsgutachter oder andere unabhängige Stellen überprüfen und bestätigen die Schwachstellen, die einer Überprüfung bedürfen
in großen Organisationen
Unabhängige Verifizierungs- und Validierungsteams (IV&V) stellen fest, ob Sicherheitsprobleme und Schwachstellen behoben wurden
Entwickler und Systembesitzer können ohne die Zustimmung einer unabhängigen Stelle keine Erklärungen zulassen, dass Risiken gemindert wurden
Code-Signierung
Bei der Code-Signierung handelt es sich um eine Technik, die dazu dient, die Integrität des Codes sicherzustellen, zu ermitteln, wer diesen Code entwickelt hat, und zu bestimmen, wozu der Entwickler diesen Code verwenden wollte.
Code-Signing-Zertifikate und digitale Zertifikate helfen Benutzern, das Herunterladen von undichten Dateien oder Anwendungen zu vermeiden
Wenn Code signiert wird, kann es die Authentizität des Codes bestimmen und erkennen, ob er von jemand anderem als dem Entwickler geändert wurde.
Codesignatur wird verwendet für
Stellen Sie sicher, dass Codeausschnitte nicht geändert werden
Identifizieren Sie die Quelle des Codes (Entwickler oder Unterzeichner)
Bestimmen Sie, ob Code für ein bestimmtes Ziel Vertrauen verdient
Das Signieren von Code besteht aus drei Teilen
Siegel, digitale Zertifikate und eindeutige Identifikatoren
Was Code Signing nicht kann
Es kann nicht garantiert werden, dass Codeausschnitte frei von Sicherheitslücken sind
Es gibt keine Garantie dafür, dass die APP während der Ausführung keinen unsicheren oder geänderten Code (z. B. nicht funktionsfähige Plug-Ins) lädt.
Keine digitale Rechteverwaltung (DRM) oder Kopierschutztechnologie
Regressions- und Akzeptanztests Regressions- und Akzeptanztests
Überlegungen zum Testen
Testen Sie Fehler schnell
Beachten Sie die Nebenwirkungen des Patchens
Schreiben Sie für jede Fehlerbehebung einen Regressionstestplan
Wenn zwei oder mehr Tests ähnlich sind, ermitteln Sie, welcher weniger effizient ist, und verwerfen Sie ihn
Identifizieren Sie Testpläne und liefern und dokumentieren Sie diese kontinuierlich
Bedenken bezogen sich eher auf funktionale als auf Designprobleme
Ermitteln Sie Datenänderungen unabhängig von der Größe und finden Sie daraus resultierende Beschädigungen
Verfolgen Sie die Auswirkungen von Änderungen auf den Programmspeicher
Regressionstests
Der effektivste Ansatz ist eine Testbibliothek, die auf einem Pool von Standardtestfällen basiert und jedes Mal ausgeführt werden kann, wenn eine neue Version erstellt wird
Die Schwierigkeit beim Aufbau einer Testbibliothek besteht darin, zu bestimmen, welche Testfälle einbezogen werden sollen
Automatisierte Tests und Testfälle beinhalten auch Randbedingungen und Timing, die alle zur Testbibliothek gehören.
Damit automatisierte Tests effektiv sind, ist es kostengünstig und effizient, wenn genügend Variablen als Teil einer komplexen Testmethodik integriert werden
Abnahmeprüfung (Abnahmeprüfung)
Formale Tests werden durchgeführt, um festzustellen, ob ein System seine Akzeptanzkriterien erfüllt, und um dem Kunden die Entscheidung zu ermöglichen, ob er das System akzeptieren soll
Bei der agilen Entwicklung werden Akzeptanztests/-kriterien typischerweise vom Geschäftskunden festgelegt und in der Sprache der Geschäftsdomäne beschrieben
SwA-Stufe (Software Assurance). (Stellen Sie sicher, dass die entwickelte oder gekaufte Software den Sicherheitsanforderungen entspricht SAMM Software Assurance Reifegradmodell SAMM ist ein Framework zum Entwerfen von Software, die sicher und auf die spezifischen Risiken einer Organisation zugeschnitten ist.)
Planung
Ermitteln Sie die identifizierten Anforderungen an Softwaredienste oder -produkte, identifizieren Sie potenzielle Ersatzsoftwaremethoden und ermitteln Sie die Risiken einer Substitution.
Entwicklungsanforderungen sind in der Leistungsbeschreibung enthalten
Legen Sie Akquisitionsstrategien fest und identifizieren Sie die mit verschiedenen Software-Akquisitionsstrategien verbundenen Risiken
Entwickeln Sie Bewertungskriterien und einen Bewertungsplan
Ausschreibungsphase
Erstellen/Ausstellen einer Angebotsanfrage (RFP) mit Beschreibung der Arbeit, Beschreibung des Anbieters, Geschäftsbedingungen, Vorqualifizierung und Zertifizierung,
Bewerten Sie Vorschläge, die von Lieferanten als Reaktion auf eine Angebotsanfrage (RFP) oder eine Ausschreibung (ITT) eingereicht wurden.
Komplette Vertragsverhandlungen inklusive AGB-Änderung
Überwachungs- und Akzeptanzphase
In dieser Phase geht es hauptsächlich um die Überwachung der Arbeit des Lieferanten und die Annahme der endgültigen Dienstleistung oder Produktlieferung, wie im Vertrag vereinbart.
Legen Sie einen vertraglichen Arbeitsplan fest und vereinbaren Sie diesen
Implementieren Sie Änderungskontrollverfahren
Überprüfen und akzeptieren Sie Softwareergebnisse
Folgephase
Nachhaltigkeit (einschließlich Risikomanagement, Assurance-Use-Case-Management und Änderungsmanagement)
Entsorgung und offline
In den nachfolgenden Phasen müssen Softwarerisiken durch eine kontinuierliche Assurance-Anwendungsfallanalyse gemanagt und angepasst werden, um das Risiko zu reduzieren
Sicherheitsexperten müssen sicherstellen, dass im gesamten Unternehmen gut dokumentierte SwA-Richtlinien und -Verfahren vorhanden sind
Unerwartete Fehler führen zu fehlerhaften Abläufen
Absichtliches Einfügen von Schadcode
Stehlen Sie wichtige oder sensible Informationen
Persönliche Daten stehlen
Ändern Sie Produkte, fügen Sie Agenten ein oder zerstören Sie Informationen