In diesem Beitrag gehen wir auf einige der häufigsten Fragen ein, die wir zur IT-Sicherheit erhalten. Vom Verständnis der Bedeutung der Einbeziehung von Sicherheitsmaßnahmen während des Anforderungsmanagements bis hin zum Auf-dem-Laufenden-Bleiben bei den neuesten Sicherheitstrends. Wir werden auch die entscheidende Rolle der Sicherheit im Entwicklungsprozess untersuchen und Einblicke in die Sicherung älterer Systeme und die Implementierung kontinuierlicher interner Kontrollen bieten.
Was können wir während des Anforderungsmanagements tun, um zu informationssicheren Anwendungen beizutragen?
Die OWASP Top 10 ist eine großartige Liste der häufigsten Schwachstellen in Webanwendungen. OWASP steht für Open Web Application Security und ist eine Organisation, die sich mit der Sicherheit von Softwareanwendungen beschäftigt.
Vor einigen Jahren wurde OWASP ASVS (Application Security Verification Standard) veröffentlicht, ein großartiges Kompendium zum Aufspüren von Sicherheitsproblemen im Anforderungsmanagement. Es kann als Anforderungserklärung für Anwendungen verwendet werden. ASVS ist wie eine Checkliste auf drei verschiedenen Ebenen. Beginnen Sie mit Ebene eins und vergleichen Sie mit dem, was Sie bereits haben, und was angewendet werden muss, und fahren Sie mit der nächsten Ebene fort. Alle Anwendungen müssen Ebene eins bestehen können. Wenn Sie Ihren Anforderungen mehr Sicherheit hinzufügen möchten, würde ich damit beginnen. Ein Tipp ist, niedrig anzufangen und die Anforderungen schrittweise zu steigern. Viele Unternehmen machen den Fehler, zu viele Dinge auf einmal anzuwenden, die die Organisation letztlich nicht bewältigen kann.
Wie bleiben Sie in Sachen IT-Sicherheit auf dem Laufenden?
Wir folgen vielen Sicherheitsleuten auf Twitter, wo wir gute Updates erhalten, wenn etwas passiert ist oder ein neues Tool veröffentlicht wurde. Wir verfolgen auch Blogs zum Thema Sicherheit, zum Beispiel Daniel Miessler, Podcasts, Darknet Diaries. Darüber hinaus suchen wir nach Tools, Codeausschnitten oder Skripten, die Leute veröffentlicht haben oder veröffentlichen, und finden heraus, was sie damit erreichen wollen.
Wenn es um Schwachstellen geht, sitzen wir nicht jeden Tag da und achten darauf, ob für ein bestimmtes Produkt eine neue Schwachstelle veröffentlicht wird. Wenn wir Aufträge haben, die eine Anwendung mit einer bestimmten Form von Anwendungsstapel beinhalten, schauen wir uns an, welche Schwachstellen derzeit vorhanden sind. Ansonsten ist Linkedin eine gute Quelle, um über neue Schwachstellen-Veröffentlichungen auf dem Laufenden zu bleiben.
Vor Covid wurden jeden Sommer in Vegas große Sicherheitsveranstaltungen organisiert, Black Hat, Def Con und BSides. Ein hervorragender Ort, um Kontakte zu knüpfen und spannenden Vorträgen zu folgen.
Was ist Sicherheit im Entwicklungsprozess?
Wenn wir es aus der Perspektive eines Penetrationstests betrachten und basierend auf unseren Aufgaben, haben wir festgestellt, dass Sicherheit extrem spät in Entwicklungsprojekte einsteigt. Häufig wird erst kurz vor der Produktionsfreigabe des Produkts erkannt, dass ein Sicherheitstests durchgeführt werden müssen. Und im schlimmsten Fall finden wir viele Schwachstellen, die behoben werden müssen. Was zu einer Verzögerung des Projekts und erhöhten Kosten führt.
Wir würden es begrüßen, wenn Unternehmen bereits in den frühen Entwicklungsphasen, Sicherheit berücksichtigen. Häufig wird in diesem Zusammenhang von Shift Left Testing gesprochen, was bedeutet, dass Sicherheit nicht als nachträgliche Ergänzung behandelt wird, sondern von Beginn an integriert sein sollte. Sicherheitsaspekte sollten daher bereits in die Anforderungsdefinition einfließen.
Wie verwalten Sie Sicherheit sowohl in der Infrastruktur als auch auf Anwendungsebene, wenn die Systeme in der Version etwas älter sind?
Indem Sie Sicherheit rund um das System aufbauen, z. B. durch kompensierende Kontrollen rundherum mit Layer-7-Firewalls, Deep Packet Inspection und durch Betrachtung der Anwendungsebene. Überlegen Sie auch, ob Sie ein Intrusion Detection System (IDS) und/oder Intrusion Prevention System (IPS) haben sollten. Dies sind einige Optionen zum Sichern Ihrer etwas älteren Systeme.
Gibt es eine Best Practice zum Aufbau eines soliden Prozesses rund um kontinuierliche interne Kontrollen?
Arbeiten Sie mit den 20 CIS-Kontrollen. Welche Kontrollen sind heute im Unternehmen vorhanden?
Wenn wir von Kontrollen sprechen, meinen wir alles von:
- Haben Sie ein Antivirensystem?
- Behalten Sie Ihre Vermögenswerte im Unternehmen im Auge?
- Haben Sie einen Überblick über Ihre Anwendungen im Unternehmen?
- Führen Sie regelmäßig Penetrationstests durch?
- Kennen Sie Administratorrechte?
- Verwenden Sie eine sichere E-Mail-Lösung?
Es ist ziemlich umfassend, aber eine sehr gute Sache, der Sie folgen sollten, wenn Sie anfangen möchten, Kontrolle, Struktur und einige Folgemaßnahmen zu erhalten. Wie bei allem anderen auch, sollten Sie nicht alles auf einmal in Angriff nehmen, sondern klein anfangen und sich Zeit lassen. Sicherheit ist nichts, was man in einem Monat erledigt, es ist ein langer Prozess. Große Unternehmen arbeiten und kämpfen ständig mit den CIS-Kontrollen, es ist eine große Sache, sie umzusetzen, wenn Sie alle 20 einhalten wollen.
Wie entwickeln Sie sichere Anwendungen in der Cloud?
Wenn Sie die Infrastruktur und die Anwendung trennen und mit dem Anwendungsteil beginnen, sehen wir keinen großen Unterschied im Ansatz und dem, was er bewältigen können sollte. Die Infrastruktur hingegen, wie Schlüsselverwaltung und Geheimnisse, ist anders als bei der Bereitstellung vor Ort in einem Rechenzentrum. In der Cloud haben Sie direkt viel Sicherheit, Dinge, die Sie in Ihrem eigenen Rechenzentrum möglicherweise nicht haben, wie z. B. die Rückverfolgbarkeit von Zugriffen. Damit es jedoch wie vorgesehen funktioniert, muss es richtig konfiguriert werden. Die Cloud ist von Haus aus nicht sicher, es liegt in der Verantwortung des Benutzers, diese Funktionen zu konfigurieren und zu aktivieren, bevor sie online geschaltet wird.
Gibt es eine gute Checkliste, die Sie empfehlen können, um Sicherheitsprobleme im Anforderungsmanagement hervorzuheben?
Ja, OWASP ASVS
Gibt es eine Möglichkeit, zu überprüfen, ob Sie ein sicheres Produkt haben?
Ja, die Shift-Left-Methode. Beginnen Sie mit der Sicherheit ganz am Anfang der Entwicklung und testen Sie das Produkt frühzeitig. Andere Möglichkeiten, um zu überprüfen, ob Sie ein sicheres Produkt haben, sind Penetrationstests, SAST-Scans (statische Analyse) und dynamische Analysen in Form von Webanwendungsscans. Diese ermöglichen es Ihnen, Ihre Anwendung langfristig im Auge zu behalten.
Sie können auch Bedrohungsmodellierung nutzen. Nehmen Sie Ihre Anwendung, Ihre Entwickler, stellen Sie sich vor ein Whiteboard und zeichnen Sie die Anwendung. Sie können sie in kleinere Komponenten aufteilen oder einfacher zeichnen. Sehen Sie sich die Datenflüsse an, wie und wo sie ein- und ausgehen, welche Funktionen verfügbar sind, und beginnen Sie, verschiedene mögliche Angriffsmodi und mögliche Schwachstellen aufzulisten. Versuchen Sie anschließend, Sicherheitsmaßnahmen zu integrieren und umzusetzen.
Was ist Privacy by Design?
Privacy by Design ist ein ansprechenderer Ausdruck, der bedeutet, dass Sicherheit von Anfang an bedacht werden sollte, indem sie bereits in die Anforderungsdefinition einfließt.
Die frühzeitige Bedrohungsmodellierung, wie oben beschrieben, ist ein ausgezeichneter Ausgangspunkt. Überprüfen Sie die persönlichen Daten, die Sie sammeln, und bemühen Sie sich, die gesetzlichen Vorschriften einzuhalten. Die DSGVO gilt für persönliche Daten und PCI DSS ist ein gut entwickeltes Rechtsdokument für den Umgang mit Kreditkartendaten. Wenn es um vertrauliche Informationen geht, können Sie prüfen, welche rechtlichen Rahmenbedingungen Sie berücksichtigen müssen. Danach ist es wichtig, die Sicherheitsprozesse einzubringen, wie Sicherheitsanforderungen, Bedrohungsmodellierung, Codeüberprüfung, DAST-Tools, Penetrationstests und Infrastrukturtests in Form von Automatisierungstools.
Wäre ein automatisierter Test eine Option, da menschliche Fähigkeiten Mangelware sind? Oder sollten Sie eine Kombination verwenden? Können Sie Tests empfehlen?
Wir empfehlen, mehr zu automatisieren, wo Automatisierung möglich ist. Wir denken, dass Sie alle Prüfungen durchführen können, die beispielsweise in ASVS oder in einem CICD-Prozess automatisiert werden können. Verwenden Sie automatisierte Tools, DAST-Tools, Codeüberprüfungstools oder ähnliches.
Unsere Expertise wird benötigt, wenn es um komplexere Fragen geht und anspruchsvollere Tests durchgeführt werden müssen. Wenn wir Penetrationstests durchführen, haben Unternehmen oft weder Codeüberprüfungen durchgeführt noch DAST-Tools ausgeführt. Das bedeutet, dass wir alle Arten von Schwachstellen identifizieren müssen, und das sind eine Menge. Die allerbesten Fälle sind, wenn wir einen Bericht von einem Schwachstellen-Scan-Tool erhalten und wenn wir uns die Infrastruktur ansehen und sich herausstellt, dass Codeüberprüfungen und DAST-Tools ausgeführt wurden. Unsere Arbeit kann sich auf all die anderen Dinge konzentrieren, die Tools nicht tun können, wenn es um reine Logik geht. Wie Logikverwaltung in einer Anwendung, reine Geschäftslogik und ähnliches. Automatisierte Tools sind nicht besonders gut darin, diese zu identifizieren, da sie keine Vorstellung davon haben, wie die Anwendung selbst eigentlich funktionieren sollte. Automatisieren Sie so viel wie möglich und nutzen Sie unsere Expertise für die Dinge, die die Tools nicht bewältigen können.
Tests, die wir empfehlen:
OWASP ASVS, Level One ist so geschrieben, dass Sie praktisch vollständig automatisieren können. Ein weiterer Test ist der OWASP Testing Guide, ein sehr guter Leitfaden zu Problemtypen und wie man die Schwachstelle identifiziert.
Was Tools angeht, hängt es vom Unternehmen ab. Kein Tool passt für alle.
Jon Jezierski, Patrik Jezierski, Mattias Döj