Anwendungssicherheits-Manager. Entwickler oder Sicherheit?

    Die erfolgreichsten Angriffe einer Organisation werden durch Sicherheitslücken und Lesezeichen in der Software implementiert. Glücklicherweise wird ein Software-Schwachstellenscanner von Unternehmen nicht bereits als etwas Exotisches angesehen, sondern als notwendiges Element der Schutzinfrastruktur. Wenn Sie bei kleinen Entwicklungsvolumina den Ist-Scanner verwenden können, müssen Sie den Prozess automatisieren, wenn die Volumina groß sind. Aber wer soll das schaffen? Entscheiden Sie, wie oft Releases überprüft werden sollen. Schwachstellenüberprüfung? Entscheiden Sie, ob Sie gegen die Veröffentlichung ein Veto einlegen und Code senden möchten, um die Sicherheitsanfälligkeiten zu beheben? Und beantworte viele andere Fragen. Hier tritt Application Security Manager, der Manager für sichere Softwareentwicklung, in den Vordergrund.

    Bild

    Aber wo kann man einen so seltenen Vogel finden oder wie kann man ihn selbst züchten? Artem Bychkov, Manager für Anwendungssicherheit bei der Raiffeisenbank JSC, und Daniil Chernov, Leiter von Rostelecom Solar, Solar appScreener, beschreiben die Anforderungen an Application Security Manager, die sich aus den Entwicklungspraktiken in russischen Unternehmen ergeben.

    Wer ist Application Security Manager?


    Organisationen erkennen früher oder später, dass eine solche Person im Team eingestellt werden muss. Insbesondere, weil keiner der im Unternehmen verfügbaren Spezialisten direkt für diese Rolle geeignet ist. Entwickler? Ihre Arbeitserfahrung hängt mit der Entwicklung von Software zusammen - es ist für sie sehr schwierig, die festgestellten Schwachstellen in Informationssicherheitsrisiken und vor allem in Geschäftsrisiken umzusetzen. Die Sicherheitsleute? Das Eintauchen in die Feinheiten der Entwicklung ist für sie problematisch: Um Schwachstellen zu überprüfen, muss man in der Lage sein, Software-Codes in verschiedenen Sprachen zu verstehen, was ernsthafte Entwicklungserfahrung erfordert.

    Schauen wir uns die Aufgaben an, die während der Implementierung des sicheren Entwicklungsprozesses anfallen und die vom Application Security Manager (AFM) gelöst werden müssen.

    Der Leser kann der Meinung sein, dass sich die Arbeit des AFM ausschließlich auf die Überprüfung von Softwareentwicklungen auf die Einhaltung von Sicherheitsanforderungen bezieht. Sicherheitsprobleme treten jedoch in verschiedenen Phasen des Systemlebenszyklus auf, vom Entwurf bis zur produktiven Bereitstellung. Es gibt verschiedene Modelle zum Erstellen eines sicheren Entwicklungszyklus (Software Security Touchpoints, SDLC und andere) und verschiedene Methoden zum Einbetten dieser Praktiken in den Prozess (abhängig vom verwendeten Ansatz - Wasserfall, Agilität). Sie sind sich jedoch in wichtigen Punkten einig: Sie müssen in allen Phasen des Systemlebenszyklus über die Sicherheit nachdenken.

    Offensichtlich ist es unwahrscheinlich, dass eine Person im Rahmen eines mehr oder weniger großen Projekts Arbeiten in allen Phasen ausführen kann. Es ist selten, dass jemand allein in der Lage ist, Anforderungen an die Anwendungssicherheit zu entwickeln, die Architektur zu überprüfen und die Ergebnisse der Arbeit der Analysten zu überprüfen, ein Code-Sicherheitsaudit durchzuführen und zu überprüfen, ob die erforderlichen Tests für die Anwendungssicherheit durchgeführt wurden und das System sicher implementiert und korrekt konfiguriert wurde. Darüber hinaus werden diese Aktivitäten häufig von Vertretern verschiedener Teams und Einheiten durchgeführt. Damit der gesamte Mechanismus ordnungsgemäß funktioniert, sollte AFM die treibende Kraft des Prozesses sein. Die Aufgabe von AFM besteht darin, die Implementierung sicherer Entwicklungspraktiken entweder allein oder durch die Übertragung bestimmter Aufgaben an spezialisierte Spezialisten sicherzustellen. Basierend auf unserer Praxis,

    Was sind die Voraussetzungen für AFM?


    Erstens muss er das Projekt verstehen, das er begleitet. Dies ist besonders wichtig für die agile Entwicklung, wenn Sie im Gegensatz zum Wasserfallmodell keine zwei Monate Zeit haben, um eine Überprüfung vor der Veröffentlichung durchzuführen. Es hängt beispielsweise vom AFM ab, wie die in der Entwurfsphase gestellten Anforderungen vom Team interpretiert werden, wie sie sich auf die Architektur auswirken, ob sie allgemein umsetzbar sind und ob sie in Zukunft schwerwiegende technische Probleme verursachen werden. In den meisten Fällen ist AFM der Hauptverbraucher, Dolmetscher und Bewerter von Berichten über automatisierte Instrumente und Audits, die von Dritten durchgeführt wurden. Es ist das AFM, das irrelevante und fehlerhafte Ergebnisse herausfiltert, Risiken bewertet und an den Prozessen des Managements von Ausnahmen und der Entwicklung von Ausgleichsmaßnahmen teilnimmt.

    Bild

    Hier ist ein Beispiel aus dem Leben: Ein Audit oder ein Quellcode-Scanner haben die Verwendung einer unsicheren Hash-Funktion (MD5) in einem Projekt aufgedeckt. Die Unternehmensrichtlinie besteht förmlich darauf, dass sie nicht verwendet werden kann, und der Anbieter erklärt sich damit einverstanden, die Funktion für 3 Monate durch eine sicherere zu ersetzen und eine große Menge. Die Nuance war, dass in diesem Fall die Instabilität der Hash-Funktion gegen Kollisionen die Sicherheit des Systems nicht beeinträchtigte, da die Funktion nicht zum Schutz der Integrität verwendet wurde. Der formale Ansatz in diesem Fall und das Ersetzen einer Funktion durch eine andere führten zu einer unangemessen verzögerten Zeit, bis das Projekt produktiv und mit erheblichen Kosten verbunden war, was zu keinem Sicherheitsgewinn führte.

    Zweitens sollte das AFM zusätzlich zum ersten Wissen aus verschiedenen Bereichen haben: Sie müssen die Entwicklungsprozesse und die Prinzipien der Informationssicherheit verstehen. "Harte Fähigkeiten" sind ebenfalls wichtig, da es sehr schwierig ist, die Ergebnisse der Arbeit spezialisierter Spezialisten und automatisierter Tools kritisch zu bewerten. Wenn Sie den Code nicht lesen können, verstehen Sie nicht, wie Schwachstellen ausgenutzt werden können. Höchstwahrscheinlich sahen sich viele mit einer Situation konfrontiert, in der eine kritische Sicherheitslücke in der Codeanalyse oder im Pentest-Bericht auftauchte. Die Entwickler stimmen dem jedoch nicht zu (und möchten in der Regel auch ein sicheres System erstellen) und weisen darauf hin, dass die Prüfer nicht in der Lage waren, dies zu tun Schwachstellen. Wie kann man beurteilen, wer in einer ähnlichen Situation Recht hat? Ohne technische Kenntnisse wird es schwierig sein, einen Streit objektiv beizulegen.

    Ein weiteres Beispiel aus dem Leben: Es wird ein neues Entwicklungswerkzeug eingeführt, dessen Leistung an einem Referenzprojekt überprüft und anschließend in den kommerziellen Betrieb überführt wird. Projekte werden nach und nach damit verbunden, ein schönes grünes Dashboard wird gezeichnet ... und hier tritt ein Informationssicherheitsvorfall auf. Wie sich herausstellt, sollte das benutzte „Loch“ in der Phase der dynamischen Analyse entdeckt worden sein. Dies ist jedoch nicht geschehen, da ... niemand nachgesehen hat. Wie funktioniert dieser erstklassige Schwachstellenscanner, der normalerweise hervorragende Ergebnisse liefert, mit SPA-Anwendungen, die das neue JavaScript-Framework verwenden? Es stellte sich heraus, dass er das dynamisch generierte Authentifizierungsformular nicht „sehen“ und die erforderlichen Überprüfungen durchführen konnte. Und niemand hat darauf geachtet, weil alles geklappt hat. Die Entwickler mussten sich nicht mit den Einzelheiten der Funktionsweise der Scanner befassen.

    Wo kann man einen solchen Spezialisten finden?


    Bild

    Diejenigen, die sich mit dem Markt befasst haben, müssen mit einem akuten Mangel an Experten für Anwendungssicherheit konfrontiert gewesen sein. In der Regel sieht das Szenario so aus: Interne Kunden erstellen Anforderungen für den Kandidaten und übertragen sie an die Mitarbeiter. Wenn die Anforderungen streng sind, erhält das Unternehmen laut den Ergebnissen einer kostenlosen Suche keine Kandidaten, da vorgefertigte Spezialisten nur sehr selten einen öffentlichen Lebenslauf veröffentlichen. Wenn sie den Job wechseln, geschieht dies meist einfach und natürlich über bestehende Kontakte. Wie zu sein

    Sie können versuchen, einen Fachmann aus anderen Unternehmen zu locken, aber dieser Weg ist aus verschiedenen Gründen nicht immer akzeptabel. Immer häufiger werden Wettbewerbe für überbesetzte AFM-Mitarbeiter auf dem Markt angeboten. Dies ermöglicht es Ihnen, das Problem mit Erfolg zu lösen, indem Sie Experten von einem Dienstleister beauftragen.

    Es gibt aber noch eine andere Option. Sie können versuchen, Ihren Fachmann auszubauen. Vertreter aus zwei Bereichen können geeignete Kandidaten für diese Rolle sein:

    1. Menschen aus der Entwicklung, die Sicherheit lieben oder wollen;
    2. Techniker, die mit Softwareentwicklung und Sicherheit vertraut sind und sich eingehender mit diesem Thema befassen möchten.

    Sowohl diese als auch andere Kandidaten müssen das fehlende Wissenspaket meistern. Gleichzeitig haben die Mitarbeiter der Entwicklungsabteilung, die „neu formen“ möchten, ein besseres Verständnis für die bestehende Kultur und die Prozesse in den ihnen bekannten Teams. Es kann einige Zeit dauern, bis sie die Wissensbereiche im Zusammenhang mit der Informationssicherheit beherrschen. Die Erfahrung zeigt jedoch, dass bei Entwicklern, Testern, Analysten und Architekten Sicherheitsinteressierte anzutreffen sind, die bereits über bestimmte Kenntnisse im Bereich der Anwendungssicherheit verfügen. Sie können ideale Kandidaten für einen AFM-Job sein.

    Professionelle Sicherheitsbeamte müssen sich akklimatisieren, bestehende vertraute Ansätze zur Arbeitsorganisation ändern und die Kultur in den Entwicklungsteams übernehmen. Wenn ein Sicherheitsspezialist jedoch Code schreibt und mit den Entwicklungsprozessen vertraut ist, wird er schnell und einfach dem Team beitreten.

    Total


    Entwicklungssicherheitskontrolle ist in erster Linie ein Geschäftsprozess, für dessen erfolgreiches Funktionieren ein koordiniertes Zusammenspiel aller Teammitglieder erforderlich ist. Das "Herz" dieses Prozesses ist ein qualifiziertes AFM - es ist sowohl der Inspirator als auch der direktionale Motor und der Ausführende vieler Aufgaben und des Controlling-Managers und vieler anderer. Im Allgemeinen sind sowohl der Leser als auch der Schnitter und der Typ auf der Pfeife. Einen solchen Spezialisten zu finden oder zu erziehen ist nicht einfach, aber wenn Sie Erfolg haben, werden alle glücklich sein.

    Jetzt auch beliebt: