Der Übergang zum digitalen Segment von Banken, Einzelhandel, Medizin und anderen wichtigen Produktions- und Dienstleistungsbereichen hat zahlreiche Sicherheitsbedrohungen ausgelöst. Heute nimmt die Aktivität von Angreifern auf der ganzen Welt weiter zu, und die Probleme des Schutzes von Benutzer- und Unternehmensdaten vor Diebstahl und vorsätzlichen Schäden werden zunehmend von Fachleuten diskutiert.Wie ist es für Unternehmen und IT richtig, Sicherheit in den Entwicklungsprozess zu integrieren, welche Tools werden dafür am besten verwendet, wie hängt dies alles von der tatsächlichen Implementierungspraxis ab. Wir teilen die Ansätze von Rostelecom, M. Video-Eldorado, DD Planet, AGIMA.Yaroslav Aleksandrov, Entwicklungsleiter, Solar AppScreener bei Rostelecom, über die Integration von SAST in die Entwicklung
Mit dem Wachstum des Unternehmens und der zunehmenden Anzahl von Entwicklern wird es immer schwieriger, das Produkt „manuell“ auf Schwachstellen zu überprüfen. Sie müssen SAST - Static Application Security Testing (Static Application Security Testing) verwenden. In Solar AppScreener basiert die Informationssicherheit auf einem internen Produkt. Das Produkt analysiert den Quellcode. Heute werden 26 Programmiersprachen unterstützt, deren Ursache die Sicherheitsanfälligkeit analysiert werden kann, und alle gängigen Formate und Projektmanagementsysteme unterstützt.
Wie wähle ich SAST?
Selbst eine einfache Sicherheitslücke kann mit primitiven Algorithmen nicht gefunden werden. Heute gibt es auf dem Markt viele kostenpflichtige und kostenlose SAST-Lösungen. Die beliebtesten davon sind AppScan von IBM Security, Synopsys, Veracode, Application Inspector, Micro Focus, Appercut und Checkmarks.
Die Effektivität des Entwicklungsprozesses hängt von der Wahl des Werkzeugs ab. Die Hauptvorteile von kostenpflichtigen Lösungen:
- Fokus auf Sicherheit: spezifische Algorithmen und große Regelbasen.
- Unterstützung für viele Programmiersprachen.
- Benutzerfreundliche Oberfläche.
- Verfügbarkeit von Plugins und API.
- Verfügbarkeit des technischen Supports für das Tool.
Kostenlose Tools und Webschnittstellen sind kostenpflichtigen häufig unterlegen, da sie einfachere Algorithmen enthalten und die Regelbasis weniger vollständig ist. Ihre Hauptaufgabe ist es, Fehler im Code zu finden. Die Spezialisierung und Funktionalität solcher Lösungen ist normalerweise sehr eng.
Sobald die SAST-Lösung ausgewählt ist, müssen Sie sie in den Entwicklungsprozess integrieren. Die Integrationsoptionen können Folgendes umfassen: Einbetten des Tools in das Repository, Entwicklungsumgebungen, CI / CD-Server, Task-Tracking-Systeme. Ein gutes Tool kann erfolgreich in alle aufgeführten Systemklassen integriert werden.
Hinweis : Die offene SAST-API enthält die JSON-API und die CLI und bietet zahlreiche Möglichkeiten für zusätzliche Integration und Automatisierung.
Um das Tool auszuwählen, das die Ziele des Entwicklers am besten erfüllt, müssen Sie dessen Funktionsvergleich und Qualitätsvergleich durchführen.
Ein Funktionsvergleich wird anhand mehrerer Parameter durchgeführt: Sie analysieren den Komfort der Schnittstelle und den Komfort der Integration mit ihren eigenen Tools. Gleichzeitig ist es wichtig, die Überprüfung anhand Ihrer eigenen Codes durchzuführen.
Der nächste Schritt ist ein Qualitätsvergleich: Sie analysieren Schwachstellen und Fehlalarme in Bezug auf ihren eigenen Code.
Die Nuancen und Feinheiten der Code-Analyse
Je früher eine Sicherheitslücke gefunden wird, desto günstiger ist sie für Entwickler und Kunden. Dies bedeutet, dass das Produkt während des Entwicklungsprozesses regelmäßig auf Schwachstellen überprüft werden muss und zusätzlich vor der Veröffentlichung Kontrollprüfungen durchgeführt werden müssen.
Geschwindigkeit und Ressourcen : Es wird normalerweise erwartet, dass das Tool schnell funktioniert. bei jeder Änderung laufen; Zeigen Sie im laufenden Betrieb, wer und wann die Sicherheitsanfälligkeit eingeführt wurde. Tatsächlich analysiert SAST den Code mindestens 8 Stunden lang. Es ist schwierig, ihn bei jeder Änderung auszuführen. Es ist schwierig, den Urheber der Sicherheitsanfälligkeit zu identifizieren. False Positives passieren. Es stellt sich also die Frage, wie DevSecOps konfiguriert wird.
Hier ist es sehr wichtig:
- Berechnen Sie die Zeit und die Ressourcen für die Analyse Ihres Codes.
- Identifizieren Sie anhand der Ergebnisse Auslöser, um einen Scan auszulösen.
- Beachten Sie, dass die Leistung regelmäßig neu berechnet werden muss.
- Es ist besser, eine inkrementelle Analyse zu verwenden, dies sollte jedoch mit Vorsicht erfolgen, da Schwachstellen verloren gehen können.

Sie können beispielsweise Tests mit SAST ausführen, wenn ein Entwickler eine Aufgabe zur Überprüfung einreicht. Sie können den Scanvorgang auch am Ende des Arbeitstages starten.
Ein weiteres Problem sind Fehlalarme und das Abrufen von Informationen zu mehreren Sicherheitsanfälligkeiten im Bericht. In diesem Fall wird dem Entwickler empfohlen, statische Analysatoren nach Sicherheitslücken und Dateien zu filtern. Sie können Bibliotheken ausschließen, die Kritikalität analysieren und Ausnahmen für bestimmte Parameter hinzufügen. Es reicht aus, solche Arbeiten nur einmal durchzuführen, damit in Zukunft keine Informationen über falsch positive Ergebnisse in die Berichte eingehen. Es ist auch wichtig sicherzustellen, dass keine neuen Schwachstellen auftreten, und die vorhandene Schwachstellendatenbank im Hintergrund schrittweise zu zerlegen.
Bei der Integration von SAST in den Entwicklungsprozess ist es wichtig, Prozesse schrittweise zu implementieren, ohne die Freigabe zu blockieren. Der Prozessablauf kann wie folgt sein:
- Werkzeugauswahl.
- Beschreibung des Prozesses (Erstellung von Vorschriften).
- Beschreibung der technischen Lösungen.
- Implementierungsarbeit.
- Probebetrieb.
Es ist besser, mit den kritischsten Systemen zu beginnen: Es ist wichtig, neue Schwachstellen zu beseitigen, das Design durchzuführen, Vorschriften und technische Lösungen umzusetzen.
In den Vorschriften muss unbedingt Folgendes angegeben sein:
- Schritte zum Überprüfen des Codes auf Schwachstellen.
- Verantwortlich für den Start des Scans.
- Rollen und Ergebnisse.
- Wie wird der Kommunikationsprozess aufgebaut?
- Service Level Agreement.
- Verantwortlich für die Prozesskontrolle.
- Die Reihenfolge des Hinzufügens neuer Systeme zum Prozess.
Dieser Ansatz ermöglicht die Implementierung von SAST im Entwicklungsprozess in einem Kalenderjahr. Es ist wichtig, alle Änderungen und Risiken zu berücksichtigen.
Abschließende Empfehlungen:
- Verwenden Sie SAST in jeder Entwicklungsphase.
- Passen Sie die Integration an Ihren Code und Ihren Prozess an.
- Beheben Sie zunächst neue Schwachstellen.
- Beseitigen Sie nach und nach alte Schwachstellen.
- Erstellen Sie einen Prozess basierend auf SAST.
- Bereitstellung schrittweise, beginnend ohne Auswirkungen auf Releases.
Vladimir Sadovsky, Leiter des Teams zur Überwachung und Reaktion von Vorfällen im Bereich Informationssicherheit von M.Video-Eldorado, über den Aufbau eines sicheren Programmierprozesses
Die Grundidee hinter dem Konzept der sicheren Programmierung besteht darin, dem Unternehmen zu helfen. Prozesse beschleunigen; Minimieren Sie das Risiko von Problemen im Zusammenhang mit Schwachstellen im Produkt.
Der klassische Sicherheitsansatz kann wie folgt visualisiert werden:

Das Hauptproblem hängt mit den hohen Kosten für Verbesserungen zusammen, die zur Gewährleistung der Sicherheit erforderlich sind. Darüber hinaus ist es wichtig, Datenverschlüsselungsprotokolle, die Verschlüsselung des Übertragungsprotokolls der Integrationsbusse usw. bereitzustellen.
E-Commerce-Websites werden häufiger angegriffen als viele andere. Ziel solcher Angriffe ist der Versuch, einen bestimmten finanziellen Vorteil zu erzielen (das Programm zu täuschen und teure Waren kostenlos zu kaufen) oder die personenbezogenen Daten der Kunden zu beschlagnahmen. Leider können einige Probleme mit den klassischen Schwachstellenscannern nicht geschlossen werden. Wenn die Anwendung beispielsweise über einen Fingerabdruck-Autorisierungsscanner verfügt, zeigt keine einzige statische Analyse die Unrichtigkeit solcher Funktionen in der Anwendung. Dies erhöht das Risiko von Vorfällen im Zusammenhang mit dem Eindringen von Eindringlingen in die Benutzerkonten der Anwendung. Gleichzeitig ist die Behebung von Schwachstellen und Fehlern umso teurer, je näher die Anwendung des Einzelhändlers an der Veröffentlichung liegt.
Das Schema für die Verwendung der Tools zum Testen der Codesicherheit für die E-Commerce-Plattform kann wie folgt aussehen:

Es zeigt deutlich, welches Team an der Implementierung einer bestimmten Anwendungsfunktionalität beteiligt war. Wenn ein Fehler oder eine Sicherheitsanfälligkeit festgestellt wird, zielt die Funktionalität darauf ab, dieses bestimmte Team zu finalisieren. Dadurch wird der Zeitaufwand für die Behebung von Fehlern und Problemen reduziert, da die direkten Entwickler ihren Code besser kennen.
Als nächstes wird der endgültige Test gestartet, bei dem der gesamte Code des Endprodukts analysiert und verbleibende Fehler „beseitigt“ werden.
Sicherheitsbedrohungen für den Einzelhandel
Der Haupttreiber für den Einzelhandel ist der Verkauf - ob Offline-Geschäfte, Internet, Marketing oder Kundendatenbanken. Alles ist darauf ausgerichtet, dem Benutzer so nahe wie möglich zu kommen. Darüber hinaus versucht der moderne Einzelhandel, seine Produkte über Omnichannel zu verkaufen. Startet verschiedene Marketingkampagnen und -programme. All dies ist nicht nur für Verbraucher, sondern auch für Eindringlinge interessant. Hier erscheint eine zusätzliche Sicherheitsbewertung - mögliche Schäden. Die Analyse soll Fehler auf der Website, logische Fehler und klassische Sicherheitsprobleme identifizieren, unter denen echte Verbraucher später leiden.
Es ist auch wichtig zu verstehen, dass potenzielle Schäden mit der Testphase beginnen. Es kommt vor, dass die Umgebung, in der es hergestellt wird, tief in die Produktivität integriert ist, sodass Änderungen, die während der Testphase vorgenommen werden, Vorfälle und Probleme verursachen können. Um dies zu vermeiden, ist es wichtig, vor Beginn der Entwicklung eine Prozesslandkarte zu entwickeln und geeignete Maßnahmen zu ergreifen.
Wenn ein externer Auftragnehmer an der Entwicklung beteiligt ist, ist es wichtig zu beurteilen, ob er die erforderlichen Sicherheitsanforderungen erfüllen kann. Hierzu ist eine regelmäßige Bewertung der Kompetenz der Entwickler und des Niveaus des ausführenden Unternehmens im Hinblick auf die Internetsicherheit erforderlich. Der Vertrag sollte Punkte für die Zertifizierung von Entwicklern enthalten. Notieren Sie, wer für Fehler verantwortlich ist, die zu Schäden geführt haben. Es ist wichtig, regelmäßig Entwicklungsteams zu schulen und einen umfassenden Schutz des geistigen Eigentums zu gewährleisten.
Es ist auch sehr wichtig, Zugriffskontrolle bereitzustellen, eine vertrauenswürdige Umgebung zu organisieren und Tools zur Überwachung und Verhinderung von Datenlecks zu konfigurieren. Wir müssen auch detaillierte Anforderungen und Richtlinien für eine sichere Programmierung formulieren und alle Versionen von Open Source und externen Bibliotheken korrigieren.
In der Entwurfsphase ist es sinnvoll, in mehreren Phasen einen Szenarioansatz zu verwenden, ein Bedrohungsmodell zu erstellen und eine Risikoanalyse durchzuführen. Wenn Entwickler eine neue Aufgabe erhalten, ist es wichtig zu verstehen, welche Geschäftsprozesse davon betroffen sind, und Initiativen im Hinblick auf mögliche Betrugsszenarien auf der Ebene der Geschäftsanforderungen zu bewerten. Jedes Risiko wird im Rahmen von drei Wahrscheinlichkeiten betrachtet: optimistische Bewertung, durchschnittlich und pessimistisch. Bots werden an die Site oder Anwendung gesendet. Jedes Zehntel von ihnen ist bösartig. Basierend auf drei Szenarien wird der potenzielle Schaden für das Unternehmen berechnet.
Es gibt verschiedene statische und dynamische Analysegeräte, mit denen Sie Probleme identifizieren und rechtzeitig beheben können. Die Aufgabe der IT-Abteilung besteht darin, zu überprüfen, ob die Codekette unter dem Gesichtspunkt der technischen Anforderungen ordnungsgemäß funktioniert. Die Sicherheitsabteilung hat die Aufgabe, den Code auf Sicherheitslücken zu überprüfen.
Die Suche nach Sicherheitslücken in der Geschäftslogik beschränkt sich auf folgende Aspekte:
- Implementierung von Sicherheits-Selbsttests beim Testen von Anwendungen.
- Erstellen von Kostümregeln für einen statischen Analysator unter Bezugnahme auf kritische Geschäftsprozesse und Integrationen.
- Manuelle Analyse von Teilen des geänderten Codes im Kontext einer Funktion mit hoher Risikokritizität.
- Der Prozess des Findens von Lesezeichen im Code, regelmäßige Überprüfung externer Bibliotheken.
Nicht alle Sicherheitsprobleme können auf Code- und Entwicklungsebene behoben werden. Die Sicherheitsabteilung hat die Aufgabe, einen effektiven Prozess für das Management von Schwachstellen und Vorfällen aufzubauen und einzurichten. Dazu müssen Sie das Benutzerverhalten ständig analysieren, profilieren und das Verhalten überwachen. Wenn es von den üblichen Geschäftsmustern abweicht, müssen Sie dies als Vorfall betrachten und sofort reagieren.
Die Analyse des Benutzerverhaltens hilft:
- Arbeiten mit Big Data und Erstellen von Modellen für abnormales Verhalten und Anomalien.
- Der Prozess der Überwachung und Prüfung von JS-Skripten. Moderne Websites funktionieren nicht ohne JS-Skripte. Oft werden sie aus externen Ressourcen geladen. Daher ist es wichtig zu verstehen, welche Funktionen sie haben und welche Art von Bedrohung JS-Skripte für die Site darstellen.
- Suchen Sie nach Schwachstellen basierend auf Analysediensten und Metriken von Google und Yandex.
- Regelmäßige Sicherheitstests des gesamten Projekts.
- Verwenden von Bug Bounty zum Identifizieren neuer Schwachstellen.
- WAF-Integration zum Schutz von Anwendungen und zur effektiven Reaktion auf Probleme.
Es ist wichtig, ständig Daten zu sammeln und zu analysieren, um neue abnormale Fälle zu identifizieren.
Dmitry Nikulchev, DD Planet - zum Schutz der Daten von Nutzern von Web- und Mobilfunkdiensten
Die sichere Programmierung in DD Planet basiert auf mehreren Prinzipien. Die erste davon ist die Zuverlässigkeit. Die Produktleistung sollte vorhersehbar, korrekt und problemlos sein. Auch wenn die Anfangsdaten falsch eingegeben wurden (versehentlich oder absichtlich im Rahmen eines Angriffs auf ein Produkt).
Der zweite ist die Sicherheit. Die Fähigkeit, sich vor externen Bedrohungen, Angriffen und der Aufrechterhaltung der Funktionsfähigkeit nach deren Reflexion und Beseitigung zu schützen.
Der dritte ist die Privatsphäre. Gewährleistung einer sicheren und korrekten Arbeit mit personenbezogenen Daten. Dies ist bei der Entwicklung von Unternehmens- und benutzerdefinierten Anwendungen von entscheidender Bedeutung.
Beispielsweise ist der von DD Planet entwickelte und unterstützte Zhivu.RF-Dienst ein privates soziales Netzwerk für Nachbarn und enthält viele personenbezogene Daten. Das Benutzerprofil wird mit Hilfe öffentlicher Dienste bestätigt und gehört zu einer bestimmten Adresse (Nachbarschaft) - extrahieren Sie USRN aus Rosreestra. Dies stellt den Entwickler vor ernsthafte Verpflichtungen im Zusammenhang mit dem Schutz personenbezogener Daten.
Speicherung und Verarbeitung von Benutzerdaten
Wir speichern alle personenbezogenen Daten in ISPDn (Personal Data Information System). Sie sind in einem isolierten virtuellen Netzwerk mit einer sicheren IT-Infrastruktur enthalten. Intrusion Detection Tools, ein Sicherheitsanalyse- und Schwachstellensuchserver sowie ein Sicherungsserver sind in das virtuelle Netzwerk integriert.
Um Schwachstellen zu identifizieren, verwenden wir den „manuellen Ansatz“ und verlassen uns auf Expertenanalysen. Dieses Prinzip impliziert nicht die Verwendung automatisierter Tools: Die Forschung wird von einem erfahrenen Spezialisten durchgeführt, und bei der Identifizierung von Schwachstellen konzentriert er sich auf sein eigenes Wissen. Es ist klar, dass diese Technik viel Zeit in Anspruch nimmt und die Anwesenheit hochqualifizierter Spezialisten im Unternehmen erfordert. Es wird jedoch als das effektivste in Bezug auf Genauigkeit und Vollständigkeit der Datenabdeckung während der Überprüfung angesehen.
Schwere im Kampf um das perfekte Produkt
Bei der Client-Entwicklung ist es wichtig, Veröffentlichungen rechtzeitig zu erstellen, während die Anwendung fehlerfrei sein und die Sicherheit der Benutzer gewährleisten sollte. Nach diesem Prinzip verwenden wir beim Testen von Produkten das Prinzip, Aufgaben nach Priorität zu bewerten - Schweregrad. Das heißt, wir ordnen alle Aufgaben zur Beseitigung von Fehlern in Abhängigkeit vom Grad der negativen Auswirkung auf das Produkt des Defekts.
Die Behebung von Fehlern in DD Planet hat folgende Priorität:
- Zunächst identifizieren und beseitigen wir Blocker oder Fehler, bei denen der Benutzer nicht die Möglichkeit hat, die Zielaktion auszuführen. Ein Besucher kann sich beispielsweise nicht auf der Website oder in der Anwendung registrieren. Melden Sie sich bei Ihrem Konto an. Greifen Sie auf die Zieldaten oder Abschnitte der Anwendung zu.
- Als Nächstes verfolgen und beseitigen wir kritische Fehler - Sicherheitsprobleme, Systemstillstände, fehlerhafte Geschäftsprozesse und regelmäßige Anwendungsabstürze.
- Dann analysieren wir die Probleme der mittleren Ebene - wir finden Fehler, die nur in bestimmten Situationen auftreten.
- Der letzte Schritt sind kleinere Änderungen - wir beseitigen kleinere Fehler, erarbeiten Kommentare zur Benutzeroberfläche und so weiter.
Diese Sequenz hilft uns, Fehler schnell zu beseitigen und uns auf wichtige Aspekte für den Benutzer zu konzentrieren.
Die Freisetzung des Produkts erfolgt in mehreren Schritten. Zunächst wird es in einer Testumgebung veröffentlicht, um Fehler zu identifizieren. Dann gibt es eine Fehlerbehebung bei Prioritäten mit Schweregrad 1 und 2. Danach machen wir eine Freigabe für die Produktion. Für einige Zeit nach der Veröffentlichung ist ein Teil des Teams damit beschäftigt, Fehler mit einer Priorität von 3 und 4 zu beheben. Einige Tage später gibt es ein weiteres Update in prod, nachdem die verbleibenden Probleme behoben wurden.
Um maximale Produktsicherheit zu gewährleisten:
- Verwenden Sie parametrisierte Abfragen an die Datenbank.
- Entfernen Sie die Abfragekonstruktion in der Anwendung, um SQL-Injektionen zu vermeiden.
- Stellen Sie nur unter einem speziellen Kabelkonto mit den erforderlichen Mindestrechten eine Verbindung zur Datenbank her.
- Führen Sie regelmäßig Sicherheitsprotokolle.
Vertrauen Sie keinen Benutzereingaben: Alle Daten vom Client (Benutzer) sollten auf dem Server überprüft werden. Dies verhindert die Weitergabe von Skripten oder böswilligen Hex-Codes. Benutzerdaten werden häufig als Parameter übergeben, um einen anderen Code auf dem Server aufzurufen, und können, wenn sie nicht überprüft werden, die Systemsicherheit ernsthaft beeinträchtigen. Deshalb ist es so wichtig, alle Eingabedaten streng auf Richtigkeit zu überprüfen.
Andrey Ryzhkin und Alexey Klinov von AGIMA - darüber, wie und warum die Anwendungssicherheit in der benutzerdefinierten Entwicklung gesteuert werden kann
Die Sicherheit der digitalen Architektur eines Produkts ist sowohl für Unternehmen als auch für Benutzer ein entscheidendes Merkmal. Dies ist ein zusätzlicher Indikator für Qualität und Zuverlässigkeit, der in allen Phasen der Produktion und des Betriebs der Anwendung beibehalten werden muss.Jede Organisation verfügt über wertvolle Informationen, darunter:- Personenbezogene Daten von Mitarbeitern und Kunden.
- Zugriff auf Daten zur Kundenbank.
- Unternehmenskundendaten.
- Produktionszeichnungen.
- Projektdokumentation.
- Usw.
Diese Daten sind in verschiedenen Systemen lokalisiert und ihre Sicherheit ist schwer zu kontrollieren. Der Diebstahl oder die falsche Darstellung solcher Informationen führt zu großen finanziellen Verlusten, einer Verschlechterung des Ansehens des Unternehmens, dem Verlust wichtiger Kunden und Partner sowie der Störung von Transaktionen und Projekten.Dennoch gibt es viele Informationsschutzinstrumente auf dem Markt:
Und es ist durchaus möglich, einen guten umfassenden Schutz zu organisieren - es würde einen Wunsch und Mittel geben.Was ist mit Anwendungssicherheit?
Ein Unternehmen benötigt eine funktionierende, stabile Anwendung mit effektiven Funktionen, die finanzielle Renditen bringen können. Unabhängig davon, wie ideal die Anwendung in Bezug auf die Funktionalität ist, kann sie Artefakte im Zusammenhang mit Sicherheitslücken aufweisen. Normalerweise denken sie nicht darüber nach, da sich diese Artefakte erst zu einem bestimmten Zeitpunkt manifestieren - bis Konkurrenten oder ein neugieriger Hacker sie brauchen. Sicherheitslücken können ausgenutzt werden, um zu versuchen, die Infrastruktur eines Unternehmens über eine Website oder Anwendung zu infiltrieren oder um Zugriff auf wertvolle Daten zu erhalten, die diese Anwendung verarbeitet oder speichert. Infolgedessen könnte das Geschäft ernsthaft beeinträchtigt werden.Leider ist eine Sicherheitsanalyse für die benutzerdefinierte Entwicklung immer noch selten. Der Grund ist die Einzigartigkeit der Projekte. Sie sind alle zu unterschiedlich und jeder hat seine eigenen Bedürfnisse. Dies wirkt sich auf die Analysekosten aus. Angesichts der geringen Marge des Geschäfts ist es nicht immer möglich, den Prozess in der kundenspezifischen Entwicklung in Betrieb zu nehmen. Trotzdem ist es besser, den Prozess nicht zu vernachlässigen.Wie kann ein Datendiebstahl aus der Anwendung verhindert werden?
Von Beginn der Entwicklung einer Mobil- oder Webanwendung an ist es sinnvoll, eine Analyse des Produktcodes für die Sicherheit einzuführen.Sie können sich beim Schutz nicht ausschließlich auf WAF (Firewall) verlassen: Die Regel funktioniert möglicherweise nicht, falsche Konfiguration oder veraltete Signaturen werden möglicherweise verwendet. Nur eine Reihe von Maßnahmen: Die Verwendung der statischen Analyse des Quellcodes während des Entwicklungsprozesses, die instrumentelle Analyse in einer Kampfumgebung, Pen-Test, WAF und der Schutz vor DDoS tragen dazu bei, ein hohes Maß an Anwendungssicherheit zu gewährleisten.Instrumentenscanner und Pen-Test erkennen Schwachstellen, die durch Analyse des Codes während der Entwicklung nicht identifiziert werden konnten.Wie organisiere ich den Testprozess auf Schwachstellen?
AGIMA implementiert verschiedene Ansätze zur Analyse von Sicherheitscodes:- Vollständige Integration während der Entwicklung von CI / CD.
- Sicherheitsüberprüfung an Kontrollpunkten.
- Situatives oder einmaliges Sicherheitsaudit.
Die ideale Option besteht darin, die Sicherheitsanalyse in den Entwicklungsprozess zu integrieren. Dieser Ansatz ist besonders relevant für Projekte, die derselbe Entwickler seit langer Zeit entwickelt.Die zweite Option ist eine Sicherheitsüberprüfung an Kontrollpunkten. Diese Methode eignet sich, wenn das Produkt seltene Freisetzungen aufweist, und kann auch eine hervorragende Ergänzung zur integrierten Analyse sein.Es ist sinnvoll, ein situatives oder einmaliges Audit durchzuführen, wenn das Projekt recht einfach ist oder von einem anderen Entwickler übertragen wurde. Im zweiten Fall ist es wichtig, die technische Verschuldung des Produkts zu bestimmen - die Anzahl der vorhandenen Fehler und Schwachstellen. Danach müssen Sie eine Roadmap erstellen, um sie zu beseitigen. Manchmal kann alles in der ersten Stufe repariert werden. Wenn es viele Probleme gibt, müssen Sie sich im Verlauf der Weiterentwicklung damit befassen. Beseitigen Sie zuerst kritische und dann weniger gefährliche.Der Ansatz, kombiniert mit den drei oben aufgeführten Versionen, ermöglicht es Ihnen: die Anzahl potenzieller Schwachstellen in der Version zu verringern, die technische Verschuldung des Produkts zu minimieren und die Zeit zu verkürzen, die erforderlich ist, um die Anwendung an das Produkt zu verkaufenDas Ergebnis einer Sicherheitsanalyse, die in den frühen Entwicklungsstadien implementiert wurde, ist:Anstelle einer Schlussfolgerung
Die Suche nach Schwachstellen in Softwareprodukten, Mobil- und Webanwendungen wird heute zu einem wichtigen Tätigkeitsbereich für alle führenden Entwickler. Einige betrachten die Schwachstellenanalyse von Experten als zuverlässig und vertrauen internen Spezialisten. Andere verwenden Stifttests, Schwachstellenscanner und Codeanalysatoren. Wieder andere integrieren SAST-Tools in den Entwicklungsprozess. Darüber hinaus wird empfohlen, vor Arbeitsbeginn Bedrohungsmodelle zu erstellen und potenzielle Risiken im Zusammenhang mit Diebstahl und Verfälschung kritischer Daten zu analysieren.Verlassen Sie sich nicht nur auf Firewall und kostenlose Sicherheitsfunktionen. Am zuverlässigsten ist es, einen integrierten Ansatz zu verwenden und den Code regelmäßig und gründlich auf Fehler und Schwachstellen zu überprüfen.