OWASP Proactive Controls: Liste der Voraussetzungen für Softwareentwickler

Bild

Wir machen Sie auf die 10 wichtigsten proaktiven Steuerelemente für Softwareentwickler aufmerksam - 10 Sicherheitsaspekte, auf die sich Softwareentwickler konzentrieren sollten. Dieser Artikel enthält eine Liste der Sicherheitstechniken, die bei der Entwicklung jedes neuen Projekts implementiert werden müssen.

Unzureichend geschützte Software untergräbt die Sicherheit kritischer Infrastruktureinrichtungen wie Gesundheitswesen, Verteidigung, Energie oder Finanzen. Unsere globale digitale Infrastruktur wird immer komplexer, die Anzahl der Beziehungen zwischen ihren Komponenten nimmt zu, sodass die Bedeutung der Anwendungssicherheit exponentiell zunimmt. Relativ einfache Sicherheitsbedrohungen können nicht länger ignoriert werden.

OWASP


Das Open Web Application Security Project (OWASP) ist ein Open Source-Sicherheitsprojekt für Webanwendungen. Zur OWASP-Community gehören Unternehmen, Bildungseinrichtungen und Einzelpersonen aus aller Welt. OWASP arbeitet an öffentlich zugänglichen Artikeln, Tutorials, Dokumentationen, Tools und Technologien.

Auf das OWASP-Projekt wird von vielen Standards, Tools und Organisationen verwiesen, darunter MITRE, PCI DSS, DISA, FTC und viele andere.

Das Projekt Proaktive Verteidigung: Top-10-OWASP-Anforderungen ähnelt dem OWASP-Top-10- Projekt, konzentriert sich jedoch auf Methoden und Empfehlungen zum Schutz vor Bedrohungen und nicht auf die Bedrohungen selbst. Jede Methode und Empfehlung in diesem Dokument ist einer oder mehreren Bedrohungen aus der OWASP Top-10-Liste zugeordnet.

Ziele und Vorgaben


Das Ziel des Projekts Proactive Defense: OWASP Top 10 Requirements besteht darin, die Aufmerksamkeit auf die Anwendungssicherheit zu lenken, indem die wichtigsten Aspekte der Informationssicherheit angesprochen werden, die Softwareentwickler berücksichtigen sollten. Wir ermutigen Organisationen, die proaktiven Verteidigungsempfehlungen von OWASP zu nutzen und Entwicklern beizubringen, wie sie auf die Anwendungssicherheit achten können, wobei Fehler, die in anderen Organisationen aufgetreten sind, berücksichtigt werden. Wir hoffen, dass die OWASP-Empfehlungen für Sie beim Erstellen sicherer Anwendungen hilfreich sind.

Zielgruppe


Das Dokument richtet sich in erster Linie an Entwickler. Es ist jedoch nützlich für Entwicklungsmanager, Produktmanager, Qualitätssicherungsspezialisten, Projektmanager sowie andere Teilnehmer am Softwareerstellungsprozess.

Top 10 proaktive Verteidigungsanforderungen


C1: Definition der Sicherheitsanforderungen


Sicherheitsanforderungen beschreiben die Funktionen, die implementiert werden müssen, um bestimmte Software-Sicherheitseinstellungen bereitzustellen. Sie basieren auf Industriestandards, geltenden Gesetzen und Schwachstellendaten. Die Anforderungen definieren Funktionen, die entwickelt oder weiterentwickelt werden müssen, um bestimmte Sicherheitsprobleme zu lösen oder potenzielle Bedrohungen auszuschließen.

Der OWASP Application Security Certification Standard (ASVS) ist ein Katalog verfügbarer Sicherheitsanforderungen und Überprüfungsoptionen. OWASP ASVS kann erweiterte Sicherheitsanforderungen für Entwicklungsteams bereitstellen.

Sicherheitsanforderungen werden basierend auf allgemeinen übergeordneten Sicherheitsfunktionen kategorisiert. Beispielsweise enthält ASVS die folgenden Kategorien: Authentifizierung, Zugriffskontrolle, Fehlerbehandlung und -protokollierung sowie Webdienste. Für jede Kategorie gibt es eine Liste von Parametern, deren Überprüfung empfohlen wird.

Der Prozess der erfolgreichen Anwendung von Sicherheitsanforderungen umfasst vier Phasen: Suche und Auswahl, Dokumentation, Implementierung, Bestätigung der korrekten Implementierung neuer Sicherheitsfunktionen und Anwendungsfunktionen.

C2: Verwenden sicherer Frameworks und Bibliotheken


Sichere Bibliotheken und Frameworks mit integrierten Sicherheitsfunktionen helfen Entwicklern, Schwachstellen während der Entwicklungs- und Implementierungsphase zu vermeiden. Entwickler, die eine Anwendung von Grund auf neu erstellen, verfügen möglicherweise nicht über ausreichende Kenntnisse, Zeit oder Geld, um die Sicherheit der Anwendung zu implementieren oder aufrechtzuerhalten. Die Verwendung sicherer Frameworks kann die Anwendungssicherheit erhöhen.

Wenn Sie Bibliotheken oder Frameworks von Drittanbietern in Ihre Software aufnehmen, sollten die folgenden Empfehlungen berücksichtigt werden:

  • Verwenden Sie Bibliotheken und Frameworks aus vertrauenswürdigen Quellen, die aktiv entwickelt und in Anwendungen weit verbreitet sind.
  • den Katalog aller Bibliotheken von Drittanbietern zusammenstellen und auf dem neuesten Stand halten;
  • Halten Sie Bibliotheken und Komponenten auf dem neuesten Stand. Verwenden Sie Tools wie OWASP und Retire.JS- Abhängigkeitsprüfungen , um Abhängigkeiten in Projekten zu ermitteln und um nach bekannten und veröffentlichten Schwachstellen im Code von Drittanbietern zu suchen.
  • Verwenden Sie die Bibliothekskapselung und nur die für Ihre Software erforderlichen Funktionen, um die Wahrscheinlichkeit von Angriffen zu verringern.

C3: Bereitstellung eines sicheren Zugriffs auf Datenbanken


Dieser Abschnitt widmet sich dem sicheren Zugriff auf alle Data Warehouses, einschließlich relationaler Datenbanken und NoSQL-Datenbanken.

Eine der schwerwiegendsten Bedrohungen für die Anwendungssicherheit ist die SQL-Injection. Diese Art von Angriff ist einfach zu implementieren: SQL-Code kann eingefügt werden, wenn nicht vertrauenswürdige Eingaben dynamisch zu SQL-Abfragen hinzugefügt werden. Dies geschieht normalerweise, indem sie an die Hauptzeile angehängt werden. Die Ausnutzung dieser Sicherheitsanfälligkeit kann zum Diebstahl, Löschen oder Ändern von Datenbanken führen. Die Anwendung kann auch verwendet werden, um böswillige Befehle auf einem System auszuführen, das Ihre Datenbank enthält, wodurch ein Angreifer im Netzwerk Fuß fassen kann.

Um SQL-Injektionen zu verhindern, müssen Sie vermeiden, nicht überprüfte Eingaben als Teil von SQL-Befehlen zu interpretieren. Die beste Lösung wäre die Verwendung der Methode "Abfrageparametrisierung". Diese Methode muss auf SQL- und OQL-Konstrukte sowie gespeicherte Prozeduren angewendet werden.

Beispiele für die Parametrisierung von Abfragen für ASP, ColdFusion, C #, Delphi, .NET, Go, Java, Perl, PHP, PL / SQL, PostgreSQL, Python, R, Ruby und Scheme finden Sie unter http://bobby-tables.com und im OWASP-Memo zur Abfrageparametrierung .

C4: Datencodierung und Abschirmung


Codierung und Escape sind Methoden zum Schutz vor Code-Injection. Die Codierung, auch "Ausgabecodierung" genannt, ist die Umwandlung von Sonderzeichen in äquivalente Kombinationen, die für den Interpreter nicht gefährlich sind. Beispielsweise wird das Zeichen <in eine Kombination <konvertiert, wenn es einer HTML-Seite hinzugefügt wird. Beim Escaping werden Sonderzeichen vor Zeichen oder Zeilen eingefügt, um zu verhindern, dass sie falsch interpretiert werden. Wenn Sie beispielsweise das Zeichen \ vor "(doppelte Anführungszeichen) hinzufügen, können Sie sie als Teil des Textes und nicht als Zeilenabschluss interpretieren.

Die Codierung wird am besten unmittelbar vor der Übergabe der Daten an den Interpreter angewendet. Wenn Sie diese Methode zu früh in der Verarbeitung der Anforderung anwenden, kann die Codierung oder Abschirmung die Verwendung von Inhalten in anderen Teilen des Programms beeinträchtigen. Wenn beispielsweise HTML-Inhalte vor dem Speichern in der Datenbank maskiert werden und die Benutzeroberfläche diese Daten automatisch wieder maskiert, wird der Inhalt aufgrund doppelter Escape-Zeichen nicht korrekt angezeigt.

Codierung oder Escapezeichen können verwendet werden, um andere Formen der Einbettung in Inhalte zu verhindern. Beispielsweise können Sie einige spezielle Metazeichen neutralisieren, wenn Sie Daten für Systembefehle eingeben. Dies wird als "Escape-OS-Befehle", "Escape-Shell" usw. bezeichnet. Ein solcher Schutz kann verwendet werden, um eine "Befehlsinjektion" zu verhindern.

Es gibt andere Formen des Escapings, die zum Verhindern von Injektionen verwendet werden können, z. B. das Escapen von XML-Attributen, die vor verschiedenen Formen der Einbettung von XML- und XML-Pfaden schützen, und das Escapezeichen eindeutiger LDAP-Namen, um verschiedene LDAP-Injektionen zu verhindern.

C5: Obligatorische Überprüfung aller Eingaben


Die Validierung von Eingabedaten ist Teil einer Programmiertechnik, die sicherstellt, dass nur korrekt formatierte Daten in Programmkomponenten gelangen.

Syntaktische und semantische Norm


Die Anwendung muss die Daten vor der Verwendung (einschließlich der Anzeige für den Benutzer) auf Übereinstimmung mit der syntaktischen und semantischen Norm (in dieser Reihenfolge) überprüfen.

Die syntaktische Norm bedeutet, dass die Daten mit der erwarteten Darstellung übereinstimmen. Beispielsweise kann ein Benutzer in einer Anwendung eine vierstellige "Kennung" angeben, um bestimmte Operationen auszuführen. Ein Angreifer kann Daten eingeben, mit denen er SQL-Code einfügen kann. Daher muss die Anwendung überprüfen, ob die eingegebenen Daten genau Zahlen und genau vier Zeichen enthalten (zusätzlich zur Verwendung der entsprechenden Abfrageparametrierung).

Die semantische Norm bedeutet, dass nur Eingabedaten verwendet werden, die nicht über eine bestimmte Funktionalität und einen bestimmten Kontext hinausgehen. Wenn Sie beispielsweise einen Zeitrahmen angeben, muss das Startdatum vor dem Enddatum liegen.

Weiße und schwarze Listen


Es gibt zwei Hauptansätze zum Überprüfen der Eingabesyntax: Blacklist- und Whitelist-Überprüfung.

Die erste Methode dient zur Suche nach „potenziell schädlichen“ Inhalten in den Daten. Beispielsweise kann eine Webanwendung Eingaben blockieren, die das Wort SCRIPT enthalten, um Cross-Site-Scripting zu verhindern. Diese Schutzmaßnahme kann jedoch umgangen werden, indem Kleinbuchstaben oder eine Kombination aus Klein- und Großbuchstaben für das Skript-Tag verwendet werden.

Die zweite Methode soll die Übereinstimmung der Daten mit den Anforderungen eines Satzes "getesteter" Regeln bestätigen. Beispielsweise würde eine Whitelist eines US-Bundesstaates nach einem aus zwei Buchstaben bestehenden Code in einer Liste vorhandener US-Bundesstaaten suchen.

Bei der Erstellung sicherer Software wird mindestens eine Whitelist empfohlen. Blacklists können Fehler enthalten, sie können auf verschiedene Weise umgangen werden und an sich können sie gefährlich sein. Obwohl es möglich ist, die Einschränkungen von Blacklists zu umgehen, können sie bei der Erkennung offensichtlicher Angriffe hilfreich sein. So helfen Whitelists dabei, die Möglichkeit eines Angriffs zu begrenzen, indem sie überprüfen, ob die Daten mit syntaktischen und semantischen Normen übereinstimmen, während Blacklists dabei helfen, offensichtliche Angriffe zu erkennen und zu verhindern.

Client- und serverseitige Überprüfungen


Um die Sicherheit zu gewährleisten, muss die Eingabeüberprüfung immer auf der Serverseite durchgeführt werden. Clientseitige Überprüfungen können in Bezug auf Funktionalität und Sicherheit nützlich sein, werden jedoch häufig leicht umgangen. Aus Sicherheitsgründen ist daher eine serverseitige Validierung vorzuziehen. Wenn Sie beispielsweise JavaScript überprüfen, kann der Benutzer gewarnt werden, dass das Feld nur Zahlen enthalten soll. Die Anwendung auf der Serverseite sollte jedoch bestätigen, dass es sich bei den Eingabedaten um Zahlen in einem akzeptablen Wertebereich handelt.

C6: Digitale Identifikation implementieren


Die digitale Identifikation ist eine eindeutige Darstellung des Benutzers (oder eines anderen Objekts) bei Online-Transaktionen. Bei der Authentifizierung wird bestätigt, dass eine Person oder Entität der ist, der sie ist. Die Sitzungsverwaltung ist der Prozess, bei dem der Server den Authentifizierungsstatus des Benutzers überwacht, damit er das System ohne erneute Authentifizierung weiterhin verwenden kann. Special Edition NIST 800-63B : Leitfaden zur digitalen Identifizierung (Authentifizierung und Lebenszyklusverwaltung) enthält detaillierte Empfehlungen zur Implementierung der Anforderungen für die digitale Identifizierung, Authentifizierung und Sitzungsverwaltung.

C7: Obligatorische Zugangskontrolle


Die Zugriffskontrolle (oder Autorisierung) besteht darin, bestimmte Anforderungen von Benutzern, Programmen oder Prozessen zuzulassen oder zu verbieten, und beinhaltet auch die Erteilung und den Widerruf solcher Berechtigungen.

Es ist zu beachten, dass die Autorisierung (Bestätigung des Zugriffsrechts auf spezielle Funktionen oder Ressourcen) nicht gleichbedeutend mit der Authentifizierung (Überprüfung der Identität) ist.

Die Zugriffskontrolle wirkt sich normalerweise auf viele Aspekte der Software aus, abhängig von der Komplexität des Zugriffskontrollsystems. Beispielsweise sind die Verwaltung oder das Caching von Zugriffssteuerungsmetadaten aus Gründen der Skalierbarkeit normalerweise zusätzliche Komponenten eines Zugriffssteuerungssystems, die erstellt oder verwaltet werden müssen. Es gibt verschiedene Ansätze für die Zugangskontrolle:

  • Selective Access Control (DAC) - beinhaltet die Einschränkung des Zugriffs auf Objekte (z. B. Dateien oder Datenelemente) basierend auf der Kennung sowie dem Prinzip des "erforderlichen Wissens" über die Subjekte (z. B. Benutzer oder Prozesse) und / oder Gruppen, zu denen die Objekte gehören.
  • Obligatorische Zugriffskontrolle (MAC) - beinhaltet die Einschränkung des Zugriffs auf Systemressourcen basierend auf der Kritikalität der in diesen Ressourcen enthaltenen Daten (definiert durch Bezeichnungen) und der formalen Autorität (d. H. Zugriff) der Benutzer, auf Informationen von bestimmter Bedeutung zuzugreifen.
  • Rollenbasiertes Zugriffssteuerungsmodell (RBAC) - Umfasst den Zugriff auf Ressourcen basierend auf Rollen, die zulässige Aktionen mit Ressourcen definieren, und nicht basierend auf Subjektkennungen.
  • Attributbasierte Zugriffskontrolle (ABAC) - umfasst das Zulassen oder Verweigern von Benutzeranforderungen basierend auf Benutzerattributen und Objektattributen sowie Umgebungselementen, die global definiert werden können und für geltende Richtlinien relevanter sind.

C8: Allgegenwärtiger Datenschutz


Vertrauliche Daten wie Passwörter, Kreditkartennummern, Krankenakten, personenbezogene Daten und Geschäftsgeheimnisse erfordern zusätzlichen Schutz, insbesondere wenn sie dem Datenschutzrecht wie der Allgemeinen Datenschutzverordnung (DSGVO) der EU oder dem Schutzgesetz unterliegen Finanzdaten wie der PCI DSS (Payment Card Data Security Standard).

Angreifer können Daten aus Webanwendungen und Webdiensten auf viele verschiedene Arten stehlen. Ein Angreifer kann beispielsweise eine Verbindung zu einem gemeinsam genutzten drahtlosen Netzwerk herstellen und vertrauliche Daten von anderen Benutzern anzeigen oder stehlen, wenn diese über eine unsichere Internetverbindung übertragen werden. Ein Angreifer kann mithilfe der SQL-Injection auch Kennwörter und andere Anmeldeinformationen aus Anwendungen stehlen und diese dann öffentlich zugänglich machen.

Datenklassifizierung


Sie müssen die Daten in Ihrem System klassifizieren und den Kritikalitätsgrad jedes Datenblocks bestimmen. Jede Datenkategorie kann dann Schutzregeln zugeordnet werden, die für jede Kritikalitätsstufe definiert sind. Beispielsweise können Informationen zum öffentlichen Marketing, die nicht vertraulich sind, öffentlich verfügbaren Daten zugeordnet werden, die auf einer öffentlich zugänglichen Website veröffentlicht werden können. Kreditkartennummern können den persönlichen Daten von Benutzern zugeordnet werden, die beim Speichern oder Übertragen eine Verschlüsselung benötigen.

Übertragungsverschlüsselung


Bei der Übertragung vertraulicher Daten über ein Netzwerk muss ein End-to-End-Verbindungsschutz (oder eine Verschlüsselung) angewendet werden. TLS ist bei weitem das am weitesten verbreitete und unterstützte kryptografische Protokoll, das sichere Verbindungen bietet. Es wird in vielen Bereichen (Webanwendungen, Webdienste, mobile Anwendungen) zur sicheren Datenübertragung über ein Netzwerk verwendet. Um die Sicherheit von TLS-Verbindungen zu gewährleisten, müssen Sie diese korrekt konfigurieren.

Der Hauptvorteil des TLS-Protokolls ist der Schutz der Webanwendungsdaten vor unbefugtem Zugriff und Änderungen während der Übertragung zwischen Clients (Webbrowsern) und dem Webanwendungsserver sowie zwischen dem Webanwendungsserver und dem internen Server oder einem anderen Nicht-Browser , Komponenten der Organisation.

Datenverschlüsselung


Die erste Regel für die Verwaltung vertraulicher Daten besteht darin, die Speicherung vertraulicher Daten nach Möglichkeit zu vermeiden. Wenn Sie vertrauliche Daten speichern müssen, stellen Sie sicher, dass diese kryptografisch vor unbefugtem Zugriff und Änderungen geschützt sind.

Die Kryptographie ist einer der fortschrittlichsten Bereiche der Informationssicherheit. Ihr Verständnis erfordert umfassende Kenntnisse und Erfahrungen. Es ist schwierig, eine einzige Lösung auszuwählen, da es viele verschiedene Verschlüsselungsansätze gibt, von denen jeder seine Vor- und Nachteile hat, die Webarchitekten und Webentwickler klar verstehen müssen. Darüber hinaus basiert ernsthafte kryptografische Forschung normalerweise auf höherer Mathematik und Zahlentheorie, wodurch eine hohe Eingabeschwelle entsteht.

C9: Implementieren Sie die Protokollierung und Überwachung von Sicherheitsereignissen


Die meisten Entwickler verwenden die Protokollierung bereits zum Debuggen und zur Diagnose. Es ist auch wichtig, Sicherheitsereignisse (sicherheitsrelevante Daten) aufzuzeichnen, während die Anwendung ausgeführt wird. Die Überwachung ist eine Live-Analyse der Anwendungs- und Sicherheitsprotokolle mit verschiedenen Automatisierungstools. Dieselben Tools und Vorlagen können auf den laufenden Betrieb, das Debuggen und die Sicherheit angewendet werden.

Vorteile der Protokollierung von Sicherheitsereignissen


Sicherheitsereignisprotokolle können verwendet werden, um:

  • Versorgen eines Angriffserkennungssystems mit Daten;
  • Analyse und Untersuchung von Vorfällen;
  • Einhaltung der gesetzlichen Anforderungen.

Implementieren der Sicherheitsereignisprotokollierung


Im Folgenden finden Sie Empfehlungen zum Implementieren der Sicherheitsereignisprotokollierung.

  • Verwenden Sie Standardformulare und -methoden zum Aufzeichnen von Ereignissen im System und zwischen den Systemen Ihrer Organisation. Ein Beispiel für eine Standardplattform für die Ereignisprotokollierung sind Apache Logging Services, die Protokollierungskompatibilität zwischen Java-, PHP-, .NET- und C ++ - Anwendungen bieten.
  • Registrieren Sie nicht zu viele oder zu wenig Daten. Stellen Sie beispielsweise sicher, dass Sie Zeitstempel und Anmeldeinformationen wie die Quell-IP-Adresse und die Benutzer-ID registrieren, jedoch niemals persönliche oder vertrauliche Daten aufzeichnen.
  • Achten Sie besonders auf die Zeitsynchronisation zwischen Knoten, um die Konsistenz der Zeitstempel sicherzustellen.

Protokollierung zur Erkennung und Bekämpfung von Angriffen


Verwenden Sie die Protokollierung, um Aktivitäten zu ermitteln, die auf böswilliges Benutzerverhalten hinweisen. Potenziell gefährliche Aktivität, die aufgezeichnet werden muss:

  • Die Eingabedaten liegen außerhalb des erwarteten numerischen Bereichs.
  • Die Eingabedaten ändern die Komponenten, die unverändert bleiben müssen (Auswahlliste, Kontrollkästchen, andere Komponenten mit begrenzter Eingabe).
  • Anforderungen, die gegen serverseitige Zugriffssteuerungsregeln verstoßen;
  • Eine detailliertere Liste der Angriffsmarkierungen finden Sie hier .

Wenn eine Anwendung eine solche Aktivität erkennt, sollte sie dieses Ereignis mindestens registrieren und als gefährlich markieren. Im Idealfall sollte die Anwendung dem Angriff entgegenwirken, indem sie beispielsweise die Sitzung des Benutzers abbricht und sein Konto blockiert. Der Gegenmaßnahmenmechanismus ermöglicht es dem Programm, in Echtzeit auf erkennbare Angriffe zu reagieren.

C10: Obligatorische Behandlung aller Fehler und Ausnahmen


Mit der Ausnahmebehandlung kann eine Anwendung auf verschiedene Fehler (z. B. einen Netzwerkfehler oder eine Verbindung zu einer Datenbank) auf verschiedene Weise reagieren. Der korrekte Umgang mit Ausnahmen und Fehlern ist lediglich erforderlich, um die Zuverlässigkeit und Sicherheit Ihres Codes zu gewährleisten.

Fehler und Ausnahmen werden auf allen Ebenen der Anwendung behandelt, einschließlich kritischer Geschäftslogik, Sicherheitsfunktionen und Frameworks.

Die Fehlerbehandlung ist auch wichtig, um Angriffe zu erkennen. Einige Angriffe auf Anwendungen können Fehler verursachen, die einen Angriff im Prozess erkennen können.

Falsche Fehlerbehandlung


Forscher der University of Toronto haben herausgefunden, dass selbst ein kleines Versehen bei der Verarbeitung oder beim Ignorieren von Fehlern zu kritischen Fehlfunktionen in verteilten Systemen führen kann .

Eine falsche Fehlerbehandlung kann verschiedene Sicherheitslücken verursachen.

  • . . , , , . (, ) . , , , .
  • TLS. Apple «goto fail» , TLS- Apple.
  • . . . .


  • , try/catch . .
  • Stellen Sie sicher, dass die angezeigten Fehlermeldungen keine kritischen Daten enthalten, aber genügend Informationen enthalten, um angemessen zu reagieren.
  • Stellen Sie sicher, dass Ausnahmen protokolliert werden, damit die Mitarbeiter des technischen Supports, der Qualitätskontrolle, der Untersuchung von Vorfällen oder des Reaktionsteams über genügend Daten verfügen, um das Problem zu lösen.
  • Testen und überprüfen Sie den Fehlerbehandlungscode sorgfältig.

Fazit


Dieses Dokument sollte als Ausgangspunkt und nicht als erschöpfender Satz von Methoden und Praktiken betrachtet werden. Wir möchten Sie erneut darauf hinweisen, dass die vorgestellten Materialien Sie mit den Grundlagen der Entwicklung sicherer Software vertraut machen sollen.

Beim Erstellen eines Anwendungssicherheitsprogramms empfehlen wir, die folgenden Schritte auszuführen:



Die Vollversion der Übersetzung und das Original . An der Übersetzung und Adaption nahmen teil: JZDLin , Alexey Skachkov , Ivan Kochurkin und Taras Ivashchenko .


Dieses Dokument wurde unter der Creative Commons Attribution ShareAlike 3.0-Lizenz veröffentlicht und unter Beteiligung der russischen Niederlassung des OWASP-Konsortiums übersetzt und angepasst .

Source: https://habr.com/ru/post/de440202/


All Articles