Grundsätze der sicheren Entwicklungspraxis
Heutzutage wächst die zerstörerische Kraft von Sicherheitsbedrohungen mit der Vertiefung der Informatisierung in der Regel zu einer größeren Angriffsfläche. Zur Bewältigung aktueller und künftiger Sicherheitsbedrohungen reicht es nicht aus, sich ausschließlich auf herkömmliche Investitionen in Sicherheitsprodukte zu verlassen. Wichtiger ist neben dem Kauf von Sicherheitsprodukten auch die Stärkung des Sicherheitsbewusstseins und der Aufbau von Sicherheitsprozessen.
In verschiedenen Sicherheitsbauplänen ist „Sicherheitsfähigkeiten im Vordergrund“ ein offensichtlicher Trend. Genau wie ein Haus mit einem instabilen Fundament, schwachen Wänden und eingestürzten Böden, als es gebaut wurde, kann es nach dem Bau nicht auf der Unterstützung einiger Säulen stehen. Ohne die Anwendung eines sicheren Entwicklungsprozesses wird es unweigerlich voll sein Lücken im späteren Betrieb.
Wir glauben, dass sichere Entwicklungspraktiken die folgenden 5 wichtigen Prinzipien haben:
1. Sicherheitstraining
Sicherheitskompetenztraining ist sehr wichtig, um dies zu überbrücken Lücken in den technischen Möglichkeiten und die Verwaltung der Sicherheit in jedem Schritt des Produktlebenszyklus ist von entscheidender Bedeutung. Unternehmen müssen explizit in die Schulung des Sicherheitsbewusstseins und der Sicherheitskompetenzen investieren, um das Bewusstsein und die Fähigkeit der Entwickler zum sicheren Programmieren zu verbessern und die Empfehlungen und Maßnahmen der Sicherheitsabteilung zu verstehen, was für eine effiziente Zusammenarbeit zwischen Geschäftsteams und Sicherheitsteams von entscheidender Bedeutung ist wichtig.
Laut dem Security Status Report des SANS Institute hatten bereits 2016 mehr als die Hälfte der befragten Unternehmensstichproben in den USA Sicherheitsschulungen zu einer der Hauptaufgaben des Unternehmens gemacht. Bis heute gibt es nur eine Handvoll chinesischer Unternehmen, die die Bedeutung von Sicherheitsschulungen verstehen, und noch weniger Unternehmen, die Schulungsabsichten in Schulungsverhalten umwandeln können.
2. Sichere Anwendungsentwicklung
Derzeit hat die Sicherheit von Anwendungen bei Unternehmen große Aufmerksamkeit erregt. Um die Sicherheit der Entwicklung zu gewährleisten, gibt es zwei wichtige praktische Methoden:
(1) Verwenden Sie ein sicherheitszentriertes Prozess-Framework.
(2) Beziehen Sie das Feedback des Sicherheitsteams in den Entwickler-Workflow und die Demo-Überprüfungen für jede Iteration ein.
Für Prozess-Frameworks glauben wir, dass es am besten ist, bewährte und geeignete sicherheitsorientierte Frameworks zu übernehmen, die auf Best Practices, Softwarebibliotheken, Standards und den branchenspezifischen Vorschriften Ihres Unternehmens basieren. Die folgenden beiden bekannten Frameworks sind Sammlungen von Regeln, Techniken und Prozessen, die Entwicklungsorganisationen leiten und anwendbare Ressourcen bereitstellen. Obwohl es unterschiedliche Anliegen gibt, sind sie alle grundsätzlich sicherheitsorientiert.
Microsoft Security Development Lifecycle (SDL) : Dieser Prozess passt gut in bestehende DevOps-Umgebungen und bietet eine allgemeinere Struktur, die die Sicherheit während des gesamten Prozesses gut integriert. Unserer Erfahrung nach ist es nicht auf einen bestimmten Codetyp oder eine bestimmte Betriebsumgebung beschränkt.
Open Source Web Application Security Project (OWASP): Diese Community-Website bietet Daten zu Schwachstellen, damit verbundenen Auswirkungen und Risiken sowie Best-Practice-Anleitungen für die Entwicklung und Erkennung sicherer Webanwendungen .
Unternehmen müssen Sicherheitsteams proaktiv in den Entwicklungsprozess einbeziehen, um frühzeitig Feedback einzuholen und sie in den gesamten Entwicklungsworkflow und die iterativen Prototyp-Demos einzubeziehen. Dies hat den Vorteil, dass Teams Sicherheitsrisiken gleichzeitig während der Entwicklungsphase angehen können, um die Einführung kostspieliger Risiken in den Entwicklungsprozess zu vermeiden.
Verglichen mit der Entwicklungsphase werden die Kosten für die Beseitigung von Risiken in der Produktbetriebs- und Wartungsphase mindestens ein Dutzend Mal höher sein. Viele Entwicklungsteams fühlen sich jedoch nicht wohl dabei, mit Sicherheitsteams zusammenzuarbeiten. Den ersten Schritt zu tun und durchzuhalten, ist letztendlich ein großer Vorteil in der gesamten Sicherheitsstrategie.
3. Sicherheit+DevOps=DevSecOps
DevSecOps ist ein aufkommender Trend, der Sicherheit vollständig in den DevOps-Workflow integriert und so einen einheitlichen Prozess schafft. So wie DevOps vorgeschlagen wurde, um Entwicklungs-, Betriebs- und Wartungsprobleme gleichzeitig zu lösen, ist es nun auch notwendig, gleichzeitig Sicherheitsprobleme zu lösen.
Security + DevOp
oder DevSecOps
Dabei geht es nicht nur um die Erweiterung der Arbeitsinhalte jeder Stufe um Sicherheitselemente, sondern auch um stufen- und abteilungsübergreifende Schulungen zur Reduzierung von Risiken bei der Codeentwicklung.
4. Anwendungssicherheitstests (AST)
Kontinuierliche Tests sind sehr wichtig und das Tool für Anwendungssicherheitstests (AST) sollte zu einem Muss für jeden Entwickler werden Werkzeugkette. Heutzutage sind viele hervorragende Tools verfügbar, darunter auch Open-Source-Tools. Wenn Sie Tools zum Testen der Anwendungssicherheit in Betracht ziehen, empfiehlt es sich, im Voraus festzulegen, welche Tools Sie verwenden möchten, um die Schritte und Prozesse für die Codeinstrumentierung zu optimieren. Andernfalls kann das Tool den Code möglicherweise nicht vollständig und effizient instrumentieren.
AST-Tools sind in mehrere grundlegende Kategorien unterteilt:
(1) Static Application Security Testing (SAST)
(2) Dynamic Application Security Testing (DAST)
(3) Interactive Application Security Testing (IAST)
Im Bericht von Gartner aus dem Jahr 2017 heißt es: „Die meisten Unternehmen, die Anwendungen entwickeln, haben irgendeine Form von AST übernommen, aber unterschiedliche Technologien haben unterschiedliche Reifegrade DAST
und SAST
sind derzeit die am weitesten verbreiteten Produkttypen, aber die Marktnachfrage nach IAST zeigt ein schnelles Wachstum ”
5 , kontinuierliche Überwachung und Analyse
Kontinuierliche Überwachung und Analyse tragen zum Schutz von Anwendungen während der Betriebs- und Wartungsphase bei. Erhalten Sie kontinuierlich Feedback aus dem Monitoring und speisen Sie es in den Entwicklungsprozess ein. Die Anwendung der Überwachung und Analyse der Betriebs- und Wartungsphase ist eine grundlegende Operation mit gesundem Menschenverstand. Sie kann Unternehmen wertvolle Informationen und Daten liefern, ihnen helfen, potenzielle Lücken zu schließen und potenzielle Risiken zu reduzieren.
So wie Sicherheit in der Betriebs- und Wartungsphase nicht ohne Entwicklungssicherheit erreicht werden kann, kann Entwicklungssicherheit nicht unabhängig von Betriebs- und Wartungssicherheit erreicht werden. Ein Prozess ohne Feedback-Mechanismus ist definitiv kein guter Prozess.
Empfohlene verwandte Artikel: Web-Sicherheits-Tutorial
Das obige ist der detaillierte Inhalt vonGrundsätze der sicheren Entwicklungspraxis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Als E-Mail-Manager-Anwendung ermöglicht uns Microsoft Outlook die Planung von Ereignissen und Terminen. Es ermöglicht uns, organisiert zu bleiben, indem es Tools zum Erstellen, Verwalten und Verfolgen dieser Aktivitäten (auch Ereignisse genannt) in der Outlook-Anwendung bereitstellt. Allerdings werden manchmal unerwünschte Ereignisse zum Kalender in Outlook hinzugefügt, was zu Verwirrung bei den Benutzern führt und den Kalender mit Spam überschwemmt. In diesem Artikel werden wir verschiedene Szenarien und Schritte untersuchen, die uns dabei helfen können, zu verhindern, dass Outlook automatisch Ereignisse zu meinem Kalender hinzufügt. Outlook-Ereignisse – ein kurzer Überblick Outlook-Ereignisse dienen mehreren Zwecken und verfügen über viele nützliche Funktionen wie folgt: Kalenderintegration: In Outlook

Dream Weaver CMS Station Group Practice Sharing In den letzten Jahren hat die Erstellung von Websites mit der rasanten Entwicklung des Internets immer mehr an Bedeutung gewonnen. Bei der Erstellung mehrerer Websites hat sich die Site-Group-Technologie zu einer sehr effektiven Methode entwickelt. Unter den vielen Tools zum Erstellen von Websites ist DreamWeaver CMS aufgrund seiner Flexibilität und Benutzerfreundlichkeit für viele Website-Enthusiasten zur ersten Wahl geworden. In diesem Artikel werden einige praktische Erfahrungen mit der Dreamweaver CMS-Stationsgruppe sowie einige spezifische Codebeispiele vorgestellt, in der Hoffnung, Lesern, die sich mit der Stationsgruppentechnologie befassen, etwas Hilfe zu bieten. 1. Was ist die Dreamweaver CMS-Stationsgruppe? Dream Weaver CMS

Prinzipielle Analyse und praktische Erkundung des Struts-Frameworks. Als häufig verwendetes MVC-Framework in der JavaWeb-Entwicklung verfügt das Struts-Framework über gute Entwurfsmuster und Skalierbarkeit und wird häufig in der Anwendungsentwicklung auf Unternehmensebene verwendet. In diesem Artikel werden die Prinzipien des Struts-Frameworks analysiert und anhand tatsächlicher Codebeispiele untersucht, um den Lesern zu helfen, das Framework besser zu verstehen und anzuwenden. 1. Analyse der Prinzipien des Struts-Frameworks 1. MVC-Architektur Das Struts-Framework basiert auf MVC (Model-View-Con

PHP-Codierungspraktiken: Weigerung, Alternativen zu Goto-Anweisungen zu verwenden In den letzten Jahren haben Programmierer mit der kontinuierlichen Aktualisierung und Iteration von Programmiersprachen begonnen, den Codierungsspezifikationen und Best Practices mehr Aufmerksamkeit zu schenken. In der PHP-Programmierung gibt es die goto-Anweisung als Kontrollflussanweisung schon seit langem, in praktischen Anwendungen führt sie jedoch häufig zu einer Verschlechterung der Lesbarkeit und Wartbarkeit des Codes. In diesem Artikel werden einige Alternativen vorgestellt, die Entwicklern helfen sollen, die Verwendung von goto-Anweisungen zu verweigern und die Codequalität zu verbessern. 1. Warum die Verwendung der goto-Anweisung verweigern? Lassen Sie uns zunächst darüber nachdenken, warum

Golang ist eine leistungsstarke und effiziente Programmiersprache, die häufig zum Erstellen von Webdiensten und -anwendungen verwendet wird. Bei Netzwerkdiensten ist das Verkehrsmanagement ein entscheidender Bestandteil. Es kann uns dabei helfen, die Datenübertragung im Netzwerk zu kontrollieren und zu optimieren und die Stabilität und Leistung von Diensten sicherzustellen. In diesem Artikel werden die Best Practices für das Verkehrsmanagement mit Golang vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Verwenden Sie das Net-Paket von Golang für die grundlegende Verkehrsverwaltung. Das Net-Paket von Golang bietet eine Möglichkeit, Netzwerkdaten zu verwalten.

Praxis des C++-Reflexionsmechanismus: Implementierung flexibler Laufzeittypinformationen Einführung: C++ ist eine stark typisierte Sprache und bietet nicht wie andere Sprachen direkt einen Reflexionsmechanismus zum Abrufen von Klassentypinformationen. Mit einigen Tricks und technischen Mitteln können wir jedoch auch in C++ ähnliche Reflexionsfunktionen erreichen. In diesem Artikel wird beschrieben, wie Sie Vorlagenmetaprogrammierung und Makrodefinitionen nutzen können, um flexible Laufzeittypinformationen zu erhalten. 1. Was ist der Reflexionsmechanismus? Der Reflexionsmechanismus bezieht sich auf das Abrufen der Typinformationen einer Klasse zur Laufzeit, z. B. des Klassennamens, der Mitgliedsfunktionen, der Mitgliedsvariablen und anderer Attribute.

Praktisches Tutorial: Einführung in die neue technische Praxis von Vue3 + Django4: Mit der kontinuierlichen Weiterentwicklung der Front-End-Technologie hat sich Vue.js zu einem der beliebtesten Front-End-Frameworks entwickelt. Als leistungsstarkes und flexibles Python-Webframework wird Django auch von Entwicklern bevorzugt. In diesem Artikel erfahren Sie, wie Sie Vue3 und Django4 kombinieren können, um eine neue technische Praxis zu erreichen. 1. Umgebungseinrichtung: Zuerst müssen wir eine Entwicklungsumgebung einrichten. Stellen Sie sicher, dass auf Ihrem Computer die neueste Version von N installiert ist

Die Verwendung von PyCharm für die Remote-Entwicklung ist eine effiziente Möglichkeit, die es Entwicklern ermöglicht, Code auf dem Remote-Server in der lokalen Umgebung einfach zu bearbeiten, zu debuggen und auszuführen. In diesem Artikel wird die Verwendung von PyCharm für die Remote-Entwicklungspraxis vorgestellt und mit spezifischen Codebeispielen kombiniert, um den Lesern zu helfen, diese Technologie besser zu verstehen und anzuwenden. Was ist PyCharmPyCharm ist eine von JetBrains entwickelte integrierte Python-Entwicklungsumgebung (IDE), die eine Fülle hilfreicher Funktionen und Tools bietet
