Konkrete Kritik an CVSS4
Marc Ruef
Angriffe auf Computersysteme haben in den letzten 20 Jahren eine teilweise erstaunlich anmutende Professionalisierung erfahren. Diese hat neben technischen Weiterentwicklungen ebenfalls zu einer enormen wirtschaftlichen Entfaltung geführt. Auf verschiedenen Märkten werden gestohlene Daten und kompromittierte Systeme gehandelt, wodurch der Handel mit Exploits ebenso ein Wachstum erfahren hat. Dieser Artikel bespricht die Preisstruktur, welche im Exploitmarkt beobachtet werden kann.
Ein Exploit ist ein Stück Software, das eine Schwachstelle automatisiert ausnutzt. Dabei handelt es sich um eine spezielle Klasse von Angriffstools. Exploits werden einerseits im Rahmen von legitimen Sicherheitsüberprüfungen eingesetzt, um die Beweisbarkeit einer vermuteten Schwachstelle zu erbringen. Sie sind andererseits aber auch für verschiedene Angreifer mit zwielichtigen Hintergründen von Interesse, um erweiterte Zugriffe erhalten zu können.
Es gibt eine Vielzahl an Techniken und Lösungen, die das erfolgreiche Ausnutzen von Schwachstellen massgeblich erschweren. In der Programmierung kommen zum Beispiel zum Einsatz:
Mechanismus | Beschreibung |
---|---|
Validierung | Prüfen der Eingaben auf ihre Richtigkeit |
Sanitierung | Umformen bzw. korrigieren der Eingaben |
Encodierung | Umformen der Eingaben zur Erfüllung des Encodings (z.B. bei XSS) |
Assertierung | Durchsetzen von Erwartungen |
Starke Typisierung | Strenge Prüfung im Rahmen von Vergleichen (if, like, etc.) |
DEP/NX/XD | Verhindern von Codeausführung bei Angriffen auf Speicher |
/GS | Schutz vor Pufferüberlauf-Angriffen |
ASLR | Zufälliges Anordnen von Speicherbereichen |
Canaries | Terminieren und Trennen von Speicherbereichen |
Zusätzlich werden in modernen Umgebungen immer mehr erweiterte Sicherheitsmechanismen eingebracht. Dazu gehören traditionellerweise:
Lösung | Beschreibung |
---|---|
Kryptographische Mechanismen | Authentisierung und Schutz von Daten während Speicherung und Übertragung |
Antivirus | Erkennen und Abwehren von Malware (Viren, Trojanische Pferde, etc.) |
Firewalls | Einschränken und Protokollieren von Netzwerkzugriffen |
IDS | Erkennen von Angriffsversuchen und erfolgreichen Attacken |
IPS | Verhindern von angestrebten oder laufenden Angriffen |
DLP | Verhindern des Abflusses von Daten |
Dementsprechend ist das Entwickeln von Exploits, gerade auf professionellem Niveau, mit hohem Aufwand verbunden. Dies führt dazu, dass zuverlässige und durchschlagskräftige Exploits zu hohen Preisen gehandelt werden. Kaufkräftige Akteure aus dem nachrichtendienstlichen Umfeld und dem Bereich der organisierten Kriminalität treiben seit Jahren die Preise für High-End Exploits in die Höhe.
Eingekaufte Exploits lassen Schwachstellen ausnutzen, ohne diese auf technischer Ebene (vollumfänglich) verstehen zu müssen. Mit dem Kauf von Exploits können also auch Angreifer ohne technisches Können eine Schwachstelle ausnutzen.
Der Handel von Exploits hat in den 90er Jahren hauptsächlich in kleinen Kreisen, oftmals im IRC-Umfeld, stattgefunden. Über Beziehungen sah man sich in der Lage, den einen oder anderen Exploit zu verkaufen oder kaufen, wobei damals vorzugsweise Exploits unter Gleichgesinnten getauscht wurden. Ein systematischer Markt mit kommerziellen Hintergründen hat damals noch nicht existiert, was auf das Fehlen der Wichtigkeit von Computersystemen im Allgemeinen und Exploits im Speziellen zurückzuführen ist.
Um die Jahrtausendwende haben sich die ersten Vulnerability Broker etabliert, die eine Veröffentlichung von Schwachstellen und Exploits koordinieren bzw. diese an- und weiterverkaufen. Dieser Graumarkt konkurriert mit dem Schwarzmarkt, der sich im Untergrund abspielt. Es gibt immer wieder Märkte im Darknet, auf denen Exploits gehandelt werden. Wie auf anderen Plattformen auch, kann ein Anbieter einen Exploit einstellen, der dann gekauft werden kann. Entweder basierend auf einem konkreten Kaufpreis oder im Rahmen eines Bietverfahrens.
Im weitesten Sinn sind auch Bug Bounties von Herstellern ein Teil des Exploit-Markts. Netscape war das erste Unternehmen, das im Jahr 1995 für das Melden von Schwachstellen in ihrem Browser Navigator 2.0 entlohnt hat. Es dauerte seine Zeit, bis auch andere Hersteller dieses Modell als Teil ihrer Qualitätssicherung entdeckt haben. Mittlerweile gehört es zum guten Ton, ein Bug Bounty Programm zu haben. Man reiht sich dadurch mit den grossen Unternehmen wie Google, Facebook und Microsoft ein.
Nicht jeder Hersteller bietet Bug Bounties an. Nicht jede gefundene Schwachstelle wird vergütet. Und die Auszahlungen machen einen Bruchteil der regulären Schwarzmarktpreise aus. Vor allem, da bei solchen Programmen in erster Linie Schwachstellen und nicht Exploits bearbeitet werden. Wer mit Exploits wirklich Geld verdienen will, konzentriert sich auf den Schwarzmarkt. Mit der Zunahme der Verdienstmöglichkeiten gehen aber auch Risiken für Betrügereien und dem Konflikt mit dem Gesetz einher. Die Wahl, ob man seine Ware im Untergrund feilbietet, orientiert sich in erster Linie an den ethischen Grundsätzen und der Risikobereitschaft eines Akteurs.
Unsere Forschungsabteilung beobachtet seit mehr als 15 Jahren tagtäglich den Exploit-Markt. Durch dieses Monitoring haben wir wichtige Erkenntnisse in Bezug auf die Zusammenstellung von Preisen und die Veränderung von Preisen im Verlauf der Zeit gewonnen.
Auf der Basis konkreter Beobachtungen haben wir ein Modell entwickelt, um Preise für Exploits berechnen zu können. Dadurch können wir historische Preise für vergangene Exploits bestimmen, aktuelle Preise konstruieren und zukünftige Preisentwicklungen voraussagen. Die Resultate unseres Berechechnungsmodells gleichen wir jeweils mit den beobachteten Preisen der Märkte ab, um Abweichungen erkennen und modelltechnische Optimierungen anbringen zu können. Die Genauigkeit unserer Preisvoraussagen sind sehr akkurat und werden in gewissen Kreisen als Massstab für Preisverhandlungen herangezogen.
Der durch uns entwickelte Algorithmus weist ein hohes Mass an Komplexität auf, die im Rahmen einer langjährigen Forschungsarbeit bewältigt werden musste. Aus wirtschaftlichen Gründen sollen an dieser Stelle nur grundlegende Details diskutiert werden.
Es gibt einige grundlegende Eigenschaften eines Exploits, die zur Preisstruktur dessen beitragen. Dazu gehören:
Ein Exploit gilt als 0-day (Zero-Day), wenn er noch nicht publik gemacht oder adressiert wurde. Wenn jemand eine neue Schwachstelle findet und diese exklusiv ausnutzen kann, handelt es sich um einen 0-day Exploit. Der Wert eines Exploits ist zu diesem Zeitpunkt am höchsten, da seine Exklusivität und die Möglichkeit einer erfolgreichen Ausnutzung dem Maximum entsprechen.
Der grundlegende Preis eines 0-day Exploits, unabhängig von den zuvor genannten allgemeinen Merkmalen, wird durch die angegangene Schwachstellenklasse definiert. Die nachfolgende Tabelle zeigt in absteigender Reihenfolge die identifizierbaren Klassen. Eine Remote Code Execution (RCE) auf der Basis einer Speicherschutzverletzung ist tendenziell mehr wert, als eine reflektierte Cross Site Scripting-Schwachstelle (XSS).
Pos | Klasse | Beispiele |
---|---|---|
1 | Speicherschutzverletzungen mit Code Execution | Pufferüberlauf, Format String |
2 | Datenbankzugriffe | SQL-Injection |
3 | Dateizugriffe | Direktzugriffe, Directory Traversal |
4 | Schwache Authentisierung | keine Authentisierung, schwache Passwortrichtlinie, Standardpasswort |
5 | Informationspreisgabe | Dateien, Quellen, Produkte, Speicher, etc. |
6 | Webangriffe | Cross Site Scripting (XSS) und Cross Site Request Forgery (CSRF) |
7 | Schwache Verschlüsselung | keine Verschlüsselung, schwacher Algorithmus, schwacher Schlüssel |
8 | Denial of Service (DoS) | Überlastung, Verbrauch, Rekursivität, etc. |
9 | Spoofing | Vortäuschen von Hosts, Zertifikaten, URLs, etc. |
10 | Race Conditions | Fehler mit logischen und/oder zeitlichen Abhängigkeiten |
Der durch die Schwachstellenklasse definierte Grundpreis stellt die Basis für die weiteren Einflüsse. Dabei ist an dieser Stelle anzumerken, dass sich diese Grundpreise im Laufe der Zeit verändert haben. Unseren Berechnungen zur Folge war eine gleiche Schwachstelle in den 60er Jahren weniger als 25% so viel wert, wie wenn Sie im Jahr 2016 publiziert worden wäre. In den 90er Jahren waren es immerhin schon fast 80% der heutigen Preise.
Danach muss die Struktur des Angriffs berücksichtigt werden. Hierbei kann sich weitestgehend an den folgenden Attributen orientiert werden:
Zum Beispiel verliert ein Exploit über 30% an Wert, wenn er nicht über das Netzwerk sondern nur lokal ausgeführt werden kann. Ein fast so hoher Preisabfall ist gegeben, wenn er eine komplexe Authentisierung (z.B. Mehrfachauthentisierung) voraussetzt.
Im Gegenzug steigt der Preis stark an, wenn damit Einfluss auf die Integrität (Veränderung) des angegriffenen Objekts ausgeübt werden kann. Ein weniger starker Anstieg ist gegeben, wenn dies nur in Bezug auf die Vertraulichkeit (Einsicht) möglich ist. Destruktive Angriffe mit Einfluss auf die Verfügbarkeit können da preislich nicht mithalten. Dabei muss unterschieden werden, ob die Möglichkeiten in einem begrenzten Kontext (z.B. nur den Webserver-Teil betreffend) durchgesetzt werden können oder das gesamte System betreffen.
Ähnlich wie die Popularität des angegriffenen Produkts kann auch eine Schwachstelle bzw. deren Exploit eine eigene Popularität mitbringen, die ihrerseits Einfluss auf den Preis hat. Zum Beispiel dann, wenn die Schwachstelle umfangreich in den Massenmedien diskutiert wurde. Wie dies zum Beispiel bei Heartbleed und Poodle der Fall war. Oder wenn Angriff und Exploit besonders innovativ (z.B. betrifft es einen Teddybär oder eine Bodycam) oder ausgeklügelt sind. Die Popularität einer Schwachstelle kann ihrem Preis sowohl zu- als auch abträglich sein, je nachdem zu welchem Zeitpunkt gemessen wird und welche Informationen schon in Umlauf sind.
Momentan verwenden wir rund 100 Datenpunkte, um den 0-day Preis eines Exploits bestimmen zu können. Die bisher genannten üben dabei den grössten Einfluss auf das angestrebte Preissegment aus. Die Summe der vielen anderen, die an dieser Stelle nicht genannt werden, kann dennoch zu auf den ersten Blick überraschenden Ergebnissen führen.
Die 0-day Preise sind statisch, da sie die Preisstruktur zum entsprechend spezifischen Zeitpunkt ermitteln lassen. Der Verlauf der Zeit und die damit einhergehenden Ereignisse wirken jedoch auf diese Preise ein. Unser Modell ist dementsprechend zusätzlich in der Lage, tagesaktuelle Preise zu ermitteln. Es kann sowohl zu historischen, dem aktuellen oder zukünftigen Zeitpunkten eine Aussage getroffen werden.
Die meisten Ereignisse (aber nicht alle) auf der Zeitachse führen dazu, dass der Preis eines Exploits zerfällt. Zu den wichtigsten Ereignissen gehören:
Alle genannten Ereignisse haben einen unmittelbaren Einfluss auf den Exploitpreis. Sie verändern aber auch die zukünftige Degenerierung des Preises unabhängig vom Eintreten weiterer Ereignisse. Der Preis eines Exploits verändert sich unweigerlich im Laufe der Zeit. Er sinkt zum Beispiel schneller, sobald eine Gegenmassnahme verfügbar ist (und in den meisten Unternehmen schon appliziert wurde).
Diese Veränderung durch reines Fortschreiten der Zeit ist am komplexesten zu berechnen, da sich nicht an einer rein linearen Verminderung des Preises orientiert werden kann. Schlussendlich verhält es sich wie eine Kurve, die durch die zeitlich nicht relevanten Grundeigenschaften und die bisher eingetretenen Ereignisse sowie ihrer zeitlichen Distanz zu einander angepasst werden muss.
Exploits spielen im Bereich Cybersecurity eine wichtige Rolle. Sie sind die Werkzeuge, mit denen sich Angreifer ihren Vorteil verschaffen. Die Entwicklung von Exploits gestaltet sich aufgrund komplexer Angriffsszenarien nicht einfach, weshalb sich ein Markt für Exploits entwickelt hat. Dank diesem können Akteure in den Besitz von Exploits kommen und Angriffe durchführen, ohne die technischen Hintergründe erarbeiten und verstehen zu müssen.
Die Preisstruktur auf dem Exploitmarkt ist dabei von verschiedenen Faktoren abhängig. In erster Linie wirkt die Popularität des angegriffenen Produkts sowie die Exklusivität, Qualität und Zuverlässigkeit des Exploits auf den Preis ein.
Das Berechnen von 0-day Preisen fusst auf statischen Werten. Erst bei tagesaktuellen Preisen müssen zeitliche Faktoren (Ereignisse und Fortschreiten der Zeit) berücksichtigt werden. Durch eine ausgeklügelte Analyse wird es so möglich, den Preis eines Exploits zu jedem Zeitpunkt seines Lebenszyklus bestimmen zu können.
Wir führen gerne für Sie ein Monitoring des Digitalen Untergrunds durch!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Unsere Spezialisten kontaktieren Sie gern!