Konkrete Kritik an CVSS4
Marc Ruef
So lässt sich AR und AI bei Pentests einsetzen
Das Erhöhen von Effizienz und Genauigkeit ist uns sehr wichtig. Schliesslich wollen wir die bestmögliche Leistung auf dem Markt anbieten können. Im Offensive Security Bereich, namentlich dem Security Testing, setzt dies unter anderem Mitarbeiter mit einem zeitgleich breiten und tiefen Wissen über eine Vielzahl an Technologien voraus. Schliesslich müssen sich unsere Pentester tagtäglich mit hochkomplexen Systemen auseinandersetzen, Schwachstellen in diesen finden und erfolgreich ausnutzen. Weiterbildung auf diesem Gebiet ist unabdingbar, um stets auf dem neuesten Stand bleiben zu können.
Im Rahmen eines internen Forschungsprojekts wollen wir die Möglichkeiten unserer Analysten erweitern. Sie sollen in gewissen Situationen eine automatisierte Unterstützung erhalten, um neuartige Probleme unmittelbar angehen und sich auf raffinierte Details konzentrieren zu können.
Durch die Entwicklung einer Augmented Reality Applikation (AR App) ist es in einem ersten Schritt möglich, im Rahmen eines Penetration Tests die eingesetzten Software-Komponenten zu erkennen. Dies ist nämlich oftmals die Grundlage dafür, sich mit den Eigenheiten und halt eben Schwachstellen eines Produkts auseinandersetzen zu können.
Durch das Zusammenspiel von Texterkennung (OCR) und Bilderkennung (Image Recognition) ist es möglich, unmittelbar eine lokale Client-Applikation oder eine Webapplikation zu identifizieren. Hierzu muss der Analyst lediglich die AR App auf seinen Bildschirm ausrichten. Durch eine Overlay-Anzeige werden verschiedene Darstellungen möglich:
Sobald die App eine Software erkannt hat, wird eine Anfrage an den Backend-Server gestellt. Dieser liefert dann die abgefragten Informationen aus, die wiederum durch die App dargestellt werden. Dies ist erforderlich, da eine lokale Datenbank nicht die gewünschte Flexibilität und Performance mitgebracht hat.
Wir experimentieren seit Jahren mit Experten-Systemen, die bei der Durchführung einer Arbeit helfen sollen. Eine entsprechende Implementierung haben wir bereits 2010 für die Phasen Information Gathering und Enumeration entwickelt. Der Analyst wird dabei durch das System bei seinen Entscheidungen begleitet. Er wählt den aktuellen Zustand aus und erhält mögliche nächste Schritte vorgeschlagen. Diese kann er wiederum befolgen, um sich weitere Möglichkeiten zu erschliessen. Das System unterstützt ihn sowohl bei der Auswahl als auch bei der Umsetzung (z.B. Vorschlag für Eingaben).
Durch die Kombination der über die Text-/Bilderkennung gesammelten Daten, der Weiterverarbeitung durch die AI und die Darstellung mittels AR wird dieser Ansatz ganzheitlich erweitert.
Der Analyst wird dabei unterstützt, wie er entsprechende Zugriffe durchführen soll. Wird zum Beispiel erkannt, dass eine SQL-Injection mittels sqlmap untersucht wird, werden automatisch Hinweise zu möglichen Parametern und empfohlenen Abläufen eingeblendet.
Die AI kann sehr konkret bei der Bewältigung eines Problems unterstützen. Zum Beispiel, wenn es um das Erweitern der Rechte bei einem lokalen Test oder einem Test auf einem Citrix-System geht. Schritt für Schritt kann die AI aufzeigen, wie das entsprechende Ziel erreicht werden kann. Experimentell setzen wir diese Funktionalität auch auf unserem internen Alexa-Skill ein.
Dadurch kann der Analyst entlastet werden, indem er sich nicht mehr mit primitiven Entscheidungen und funktionalen Details auseinandersetzen muss. Stattdessen kann er sich auf eine kreative Problemlösung und das Umsetzen konkreter Ansätze fokussieren.
Ursprünglich sollte der Proof-of-Concept auf der Basis von Google Glass, das jedoch seit mehreren Jahren durch Google nicht mehr weitergeführt wird, entwickelt werden. Die Hard- und Software-Unterstützung der AR-Brille ist mittlerweile jedoch so schlecht, dass stattdessen die Entwicklung als Android App stattgefunden hat. Dadurch soll ein Maximum an Plattform-Unterstützung und damit Portabilität erreicht werden.
Es gibt verschiedene Bibliotheken, die zur Text- und Bilderkennung eingesetzt werden können. Wie so oft kommen diese aber mit verschiedenen Vor- und Nachteilen daher. Besonders umfangreiche Systeme setzen ein gewisses Mass an Hardware-Leistung voraus. Ist diese nicht vorhanden, benötigt das Image Processing so viele Ressourcen, dass die Ansteuerung der Kamera nur alle paar Sekunden funktioniert. Sowohl AR als auch VR (Virtual Reality) leben davon, dass eine Verschmelzung in Echtzeit stattfindet. Die Nutzung einer entsprechend trägen Lösung wird somit schnell unintuitiv und unergonomisch.
Die Texterkennung alleine funktioniert in einigen Fällen sehr gut, weist aber gerne Ungenauigkeiten – und damit unliebsame False-Positives – auf. Wird zum Beispiel in einem Text auf einer Webseite der Ausdruck Java SE 12 gelistet, leitet die AR App daraus ab, dass eben diese Software zum Einsatz kommt. Durch das Blacklisting von gewissen Ausdrücken und das logische Verknüpfen von Statements konnte dieser unliebsame Effekt verringert werden. Jedoch erst die Bilderkennung sollte in der Lage sein, Texte in einen Kontext zu bringen. Zum Beispiel zu erkennen, ob ein Text in einer Fensterzeile auf dem Desktop oder einer Fusszeile einer Webseite angezeigt wird.
Die Erkennung funktioniert soweit zuverlässig, sofern denn klare Regeln definiert sind und sich spezifische Anfragen an das Backend schicken lassen. Problematisch wird es dahingehend, dass nicht immer klar ist, für welche Komponente eine Information gebraucht wird, welcher Detailgrad gerade von Nutzen ist und wie lange die Daten dargestellt werden sollen (sie verdecken unter Umständen wichtige Elemente beim interaktiven Testing). Wie bei jeder neuen Technologie braucht es also auch hier noch ein Mehr an Erfahrungswerten, um schlussendlich ein Produkt entwickeln zu können, dass sich in den Alltag nahtlos einbinden und während der Arbeit effizient einsetzen lässt.
Technologien wie Augmented Reality und Artificial Intelligence können dabei helfen, Dinge greifbar zu machen, diese besser zu verstehen und effizienter mit ihnen umgehen zu können. im Rahmen unserer Forschung versuchen wir die Bedürfnisse von Penetration Testern zu adressieren. So soll über Text-/Bilderkennung eine zu prüfende Software erkannt und mittels AI nächste Schritte zur Prüfung empfohlen werden. AR eignet sich hervorragend, um diese erweiterte Sicht bereitstellen zu können.
Zwar gibt es noch viele technische, und auch psychologische, Herausforderungen. Es zeichnet sich jedoch ab, dass dies der richtige Weg ist, um ein Mehr an Qualität und Effizienz erreichen zu können.
Unsere Spezialisten kontaktieren Sie gern!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Unsere Spezialisten kontaktieren Sie gern!