Blog

Kill Chains, das Internet der Dinge und quantenkombinatorische Optimierung: Ein Buzzword-Salat

6
September
,
2023
Ariel Smoler und Gal Winer

Je nachdem, wen Sie fragen, wird die Größe des Cybersicherheitsmarktes derzeit (Stand August 2023) auf einige hundert Milliarden USD/Jahr geschätzt. Die Größe des Internet-of-Things-Marktes ist schwieriger zu schätzen, da die Definitionen vager sind als die der Cybersicherheit. Ist ein mit dem Internet verbundener Toaster ein Internet-of-Things (IOT)-Gerät? Sicher, vielleicht, aber was ist mit einem Radiofrequenz-(RF)-Identifizierungs-Tag mit eingebettetem Mikrochip, das auf einem Eierkarton klebt? Ja, das ist wahrscheinlich auch IoT-bezogen. Zufälligerweise können beide Beispiele Ziele von Cyberangriffen sein. Es ist jedoch unklar, welcher böse, cyberfähige Rotschwanzfuchs es auf diese bescheidene, aber köstliche, mit dem Internet verbundene Leckerei abgesehen haben könnte.

Unabhängig von der genauen Marktgröße sind beide Märkte unbestreitbar riesig und lukrativ. Der Markt für Quanteninformatik ist, auch wenn er sehr weit fortgeschritten ist, noch viel kleiner. Schätzen wir seine Größe einvernehmlich auf etwa 1 % (oder weniger) des Cybermarktes bei etwa 1 Mrd. USD/Jahr. Dennoch sind die Wachstumsprognosen atemberaubend.

Ein Teil des prognostizierten Wachstums ergibt sich daraus, dass die Fähigkeiten der Quanteninformatik andere Märkte erst ermöglichen. Im heutigen Beitrag werden wir insbesondere erörtern, wie die Verwendung von Quantenalgorithmen für die kombinatorische Optimierung, die ihre klassischen Gegenstücke potenziell übertreffen können, in den Branchen unserer Ausstellung nützlich ist: IOT und Cybersecurity.

Ein Pflaster pro Tag hält Angreifer auf Abstand.

Was ist also Cybersicherheit? Es ist die Kunst und das Handwerk, böswillige Akteure daran zu hindern, sich Zugang zu Dingen zu verschaffen, auf die Sie lieber keinen Zugriff hätten - Ihre Daten, Ihre Computer und Ihren Toaster. Das Tückische daran ist, dass wir heutzutage nicht mehr so oft über unzusammenhängende Computersysteme verfügen. Alles ist über ein Netzwerk miteinander verbunden, im Grunde eine große Ansammlung miteinander verbundener Anlagen.

Jeder Vermögenswert in einem Netzwerk ist entweder eine Software oder mit einer Software verbunden. Eine sensible Datenbank enthält Informationen, die Sie für sich behalten wollen, und läuft auf einem bestimmten Datenbankanbieter und einer bestimmten Version. Ein Versehen im Design der Netzwerkschicht eines Betriebssystems hat eine klaffende Lücke hinterlassen, die jemand ausnutzen kann, um Ihren Computer in einen Verteilerknoten für nicht autorisierte Harry-Potter-Fanfiction zu verwandeln; die Liste geht weiter.

Wie bei den meisten komplexen Systemen wird es auch bei Computersystemen immer wieder vorkommen, dass sie versehentlich für Zwecke eingesetzt werden, die von ihrem ursprünglichen Entwickler nicht vorgesehen waren. Glücklicherweise können wir für Computer Patches bereitstellen, die alle bekannten Lücken schließen. Die korrekte Installation von Patches für ein Netzwerk ist einer der wichtigsten Faktoren für ein gesundes, sicheres Netzwerk. Es stellt sich heraus, dass dies keine triviale Aufgabe ist.

Es gibt viele Schwierigkeiten, alle bekannten Probleme mit Hilfe von Patches hermetisch abzuschließen. In erster Linie ist die schiere Anzahl, die verfolgt und angewendet werden muss, überwältigend. Nachstehend finden Sie die Anzahl der veröffentlichten und bekannten Probleme, die in CVE, dem Online-Register für Sicherheitsrisiken, erfasst sind. Der Trend der zunehmenden Bedrohung ist eindeutig, und die Zahl geht in die Zehntausende. Die Tatsache, dass beim Patchen auch Kompatibilitätsprobleme berücksichtigt werden müssen, die Systemleistung beeinträchtigt werden kann und das Patchen über ein heterogenes Netzwerk hinweg koordiniert werden muss, macht deutlich, dass dies eine große Herausforderung ist, die es zu bewältigen gilt.


Genau das richtige Pflaster an den richtigen Stellen.

Der Physiker Eugen Wigner sagte einmal, die Mathematik sei in den Naturwissenschaften "unvernünftig effektiv". Laienhaft ausgedrückt: Es ist eine ziemlich gute Idee, ein mathematisches Modell zu erstellen, wenn man ein Problem lösen will. Auch hier sollten wir das wahrscheinlich tun. Das hier vorgestellte Modell folgt der in[https://arxiv.org/abs/2211.13740] veröffentlichten Originalarbeit und ist ein graphentheoretisches Modell. Wir beginnen mit einigen Definitionen.

- Wir arbeiten mit einem Graphen, der Vermögenswerte und Schwachstellen miteinander verbindet.
- Ein Vermögenswert ist ein Element, das für einen Angreifer einen Wert hat, z. B. im System gespeicherte Daten. Die Verfügbarkeit, Konsistenz und Integrität von Vermögenswerten muss gewahrt bleiben.
- Eine Schwachstelle ist ein Fehler, durch den ein Angreifer einen Vermögenswert ausnutzen kann, z. B. eine nicht korrekt gepatchte Software, ein schwaches Passwort, eine schlechte Netzwerkkonfiguration usw.

Eine Verbindung zwischen einem Vermögenswert und einer Schwachstelle bedeutet, dass der Vermögenswert für die Schwachstelle anfällig ist. Dieser Computer hat ein dummes Passwort, auf diesem Computer läuft ein Windows XP von vor 20 Jahren usw. Solche Verbindungen bedeuten, dass es bekannte Wege gibt, um Zugang zu diesem Computer zu erhalten. Zum Beispiel durch das Erraten des Passworts "Password" (was unerklärlicherweise immer noch sehr wahrscheinlich ist https://en.wikipedia.org/wiki/List_of_the_most_common_passwords).

Die Gefahr bei betroffenen Anlagen besteht darin, dass solche "Kettenglieder" miteinander verbunden werden können. Wenn also mehrere, scheinbar nicht miteinander verbundene unsichere Verbindungen kombiniert werden, kann sich ein Angreifer seitlich durch das Netz bewegen. Der Angreifer kann dann ein komplettes Angriffsszenario aufbauen, um das gewünschte kritische Objekt anzugreifen. Ein solches Szenario ist in der folgenden Abbildung dargestellt. Obwohl es wie der Name eines besonders schlechten (besonders guten?) Steven Segal-Films von 1998 klingt, wird die Aneinanderreihung von Schwachstellen als Kill Chain bezeichnet.

Teure Dinge und wo sie hingehören

Wir wollen immer noch ein Netzwerk flicken. Das wollen wir wirklich. Aber wir müssen einen kleinen Umweg machen, bei dem wir ein wesentliches mathematisches Konzept erklären und andeuten, wie es zur Sicherung einer Internet-of-Things-Anwendung verwendet werden kann.

Ein Beispiel für ein IOT-Szenario ist der Einsatz einer großen Sammlung von kommunizierenden Sensoren. Drahtlose Sensornetzwerke (WSN), wie sie genannt werden, können eingesetzt werden, um einen Wald vor Waldbränden zu schützen (wenn Sensoren eingesetzt werden, die auf verschiedene Umweltfaktoren wie Luftfeuchtigkeit, Temperatur und Luftdruck reagieren), um industrielle Anwendungen zu überwachen, bei denen viele Maschinen gemeinsam arbeiten, um Transportnetzwerke zu koordinieren und in vielen weiteren Bereichen. Das folgende Diagramm aus [1] zeigt ein WSN mit 11 Knoten. Knoten Nummer 1 ist anders gekennzeichnet als die anderen, da er das Netzwerk steuert und zentral Informationen daraus sammelt.

[1] Yigit Y, Dagdeviren O und Challenger M 2022 Self-Stabilizing Capacitated Vertex Cover Algorithms for Internet-of-Things-Enabled Wireless Sensor Networks Sensors 22 3774 Online: http://dx.doi.org/10.3390/s22103774

Ein WSN kann, wie jedes andere Computernetz auch, ein Angriffsziel sein. Vielleicht besitze ich eine Eisfabrik, und meine Konkurrenz will unbedingt wissen, bei welcher Temperatur ich meine Minz-Schokoladen-Chips herstelle. Wie könnte man also sein Netzwerk schützen?

Einige Netzknoten können intelligenter sein als andere. Sie können über Überwachungsfunktionen verfügen, die es ihnen z. B. ermöglichen, den Inhalt von Informationen, die über das Netz weitergeleitet werden (Netzpakete), zu untersuchen und Warnmeldungen zu erstellen, wenn Pakete bösartig erscheinen. Diese Art von Anwendung wird als Link-Monitoring-Szenario bezeichnet.

Es ist nicht machbar, alle Knoten des WSN zu Überwachungsknoten zu machen. Das wäre eine teure Lösung in Bezug auf die tatsächlichen Kosten pro Knoten und den Energieverbrauch. Stellen Sie sich zum Beispiel vor, dass Ihre Knoten über einen großen Wald verteilt sind und mit Batterien betrieben werden. In einem solchen Fall müssen Sie möglicherweise gelegentlich die Batterien wechseln. Der Einsatz von energiesparenden Knoten würde Ihnen das Leben sehr erleichtern. Es ist nicht der richtige Weg, jeden Knoten intelligent, energiehungrig und teuer zu machen.

Wir wollen nun fragen, welche Knoten in unserem Netz die meisten anderen Knoten "sehen". Das folgende Diagramm, das ebenfalls aus [1] stammt, zeigt eine Auswahl von Überwachungsknoten, die durch eine rote Farbe gekennzeichnet sind.

In der Graphentheorie wird die Auswahl von Knoten, die einen möglichst großen Teil des gesamten Graphen "sehen" können (d. h. mit ihm verbunden sind), als Maximum Vertex Cover (MVC) des Graphen bezeichnet[https://en.wikipedia.org/wiki/Vertex_cover].

Die Suche nach dem MVC ist keine leichte Rechenaufgabe. Es handelt sich um ein Problem, das technisch als NP-schwer eingestuft wird. Solche Probleme haben Lösungen, die leicht zu überprüfen sind (leicht bedeutet, dass man relativ schnell, in "Polynomialzeit", überprüfen kann, ob eine Lösung gilt), aber schwer zu finden sind (was bedeutet, dass es keine schnellen - "Polynomialzeit" - Lösungen gibt).

Hier kommt die Quantenberechnung ins Spiel. Wir können eine ungefähre Lösung für das MVC-Problem mithilfe eines Quantenalgorithmus finden!

Anbringen des Quantenpatches

Kehren wir zu dem ursprünglichen Problem zurück, das uns beschäftigt hat: die Patch-Verwaltung. Unser Ziel war es, herauszufinden, welche Patches wir auf unser Computernetzwerk aufspielen sollten, um die meisten Kill Chains zu zerstören.

Mathematische Graphen sind Datenstrukturen, die von Quantenalgorithmen bevorzugt werden. Es gibt Algorithmen zum Zerlegen von Graphen, zum Durchsuchen von Graphen und so weiter.

Der Graph, den wir zur Darstellung unserer Lage verwenden, ist technisch gesehen ein zweiseitiger Graph. Das heißt, es handelt sich um eine Sammlung von Knoten zweier verschiedener Typen (Anlagen und Schwachstellen), die durch Kanten miteinander verbunden sind. Eine Kante stellt die Fähigkeit eines Angreifers dar, von einem Vermögenswert zu einem anderen zu gelangen, indem er die in diesem Vermögenswert vorhandenen Schwachstellen ausnutzt.

Stellen wir die oben gezeigte Kill Chain als zweistufiges Diagramm dar. Die Zahlen 1,4,8 stehen für bestimmte Schwachstellen, sie bedeuten nichts Bestimmtes. Stellen Sie sich einfach vor, es handelt sich um eine bestimmte Schwachstelle aus einer Liste bekannter Schwachstellen.

Wir würden gerne alle Kanten zwischen Schwachstellen und Anlagen aus diesem Diagramm eliminieren, was bedeutet, dass wir alle Patches auf alle Anlagen anwenden und alles zu 100 % sicher machen wollen. Aber das können wir nicht. Also müssen wir eine Strategie finden, um die Schwachstellen so zu priorisieren, dass die Kill Chain unterbrochen wird. In diesem einfachen Beispiel wird durch die Beseitigung der Schwachstelle 4 die Kill Chain unterbrochen.

Wir können eine Methode einführen, um dies zu sehen. Es mag seltsam erscheinen, den Graphen für dieses einfache Beispiel weiter zu modifizieren, aber es wird sich später in komplexeren Szenarien als nützlich erweisen. Definieren wir den dualen Graphen.

Der Dual Graph untersucht Schwachstellen und verbindet sie direkt wenn sie über einen Vermögenswert im "ursprünglichen" Diagramm verbunden sind. Hier ist der duale Graph für unser Beispiel:

Unsere frühere Intuition, dass das Entfernen der Schwachstelle vier die Kette unterbricht, ist nun deutlicher spürbar, und es wird nicht möglich sein, von 1 auf 8 zu kommen.

Was ist, wenn wir ein komplexeres Diagramm haben?

Betrachten wir nun ein komplexeres Beispiel mit mehr Vermögenswerten und mehr Schwachstellen. Im Vergleich zu einem echten Netzwerk mit Hunderttausenden von Knoten ist es zwar immer noch nur ein Spielzeugmodell, aber es wird bereits visuell kompliziert.

Bei der Umwandlung in den dualen Graphen ergibt sich das folgende Bild:


Zur Vereinfachung haben wir einen ungerichteten Graphen erstellt. Dies lässt sich rechtfertigen, da wir die Kette unabhängig von der Richtung unterbrechen und den am besten verbundenen Schwachstellen Vorrang einräumen wollen. Außerdem macht es uns das Leben leichter, und es ist oft besser, einfach anzufangen und nach und nach Komplexität einzuführen. Die Dinge sind so schon schwer genug.

Aus diesem Diagramm ist nicht ersichtlich, welche Knoten entfernt werden müssen, um die meisten Kill Chains zu unterbrechen. Was sollen wir also tun? Den MVC finden, natürlich!

Die MVC des dualen Graphen sagt uns, welche Patches wir anwenden müssen, um die meisten ungepatchten Knoten voneinander zu trennen und so eine Schwachstellensequenz zu verhindern. Mit anderen Worten, wir unterbrechen Kill Chains.

In diesem Fall zeigen die blau markierten Knoten die MVC-Lösung. Man sollte diese Patches anwenden, um den besten Schutz zu minimalen Kosten zu erhalten.

Diese Lösung kann in die Form eines zweistufigen Graphen zurückverwandelt werden, was eine viel einfachere Form als die bisherige darstellt. Entscheidend ist, dass der Übergang von einer Schwachstelle zu einer anderen über Vermögenswerte unmöglich ist. Die Ketten sind gebrochen!

MVC und Quantum: Der Classiq-Weg

Wir haben jetzt eine mathematisch formulierte Möglichkeit, Cybersicherheitsprobleme anzugehen. Im Beispiel der Link-Überwachung und bei Kill Chains liegt der Schlüssel darin, den MVC zu finden. Einfach.

Wie bereits erwähnt, besteht das Problem darin, dass die Suche nach dem MVC NP-schwer ist. Da ein echtes Unternehmensnetzwerk 100.000 Hosts oder mehr haben kann, ist dies in der Regel ein unlösbares Problem.

Die Suche nach einer annähernden maximalen Scheitelpunktüberdeckung kann auf einem Quantencomputer in subexponentieller Zeit mit einem Quantenalgorithmus durchgeführt werden, einem Arbeitspferd einer Klasse von kombinatorischen Optimierungsproblemen, die mit Quantencomputern gelöst werden: QAOA.

MVC ist ein typisches Beispiel für ein kombinatorisches Optimierungsproblem. Die Schwierigkeit ergibt sich aus der schieren Anzahl der Kombinationen von Elementen; in der Regel gibt es einige Einschränkungen, die bei der Auswahl einer bestimmten Kombination erfüllt werden müssen, und das Problem ist nicht ausreichend strukturiert, um eine intelligente Auswahl zu treffen. Am Ende muss man jede Möglichkeit prüfen und diejenige finden, die funktioniert. Mit anderen Worten: Die Suche nach einer Lösung kostet exponentiell zur Größe des Problems viel Zeit.

QAOA ermöglicht es Ihnen, schneller als das zu sein, oder subexponentiell, zumindest wenn Sie bereit sind, eine Annäherung statt einer exakten Lösung zu finden. Wir werden QAOA nicht im Detail erklären, aber wenn die Menge es wünscht (sprechen Sie uns auf dem Classiq-Slack-Server an), werden wir es vielleicht in Zukunft tun. Sie können viele Rezensionen online lesen, z.B. hier[https://arxiv.org/abs/2306.09198].

Die Bewältigung kombinatorischer Optimierungsprobleme mit QAOA ist eine der Stärken der Classiq-Plattform. Hier sind drei einfache Schritte erforderlich:

1. Definieren Sie das Quantenmodell mithilfe der kombinatorischen Optimierungsfunktionen von Classiq.
2. Verwenden Sie die Classiq-Engine, um eine parametrisierte Quantenschaltung zu erzeugen.
3. Führen Sie die Schaltung innerhalb der Classiq-Plattform aus, um die optimalen Parameter zu erhalten, die die Lösung darstellen.

Die Technik der Erstellung von Classiq-Modellen mit QAOA und Graphen ist ganz natürlich, da sie mit Standard- und Open-Source-Tools kompatibel ist. Bei Verwendung des Classiq Python SDK wird zunächst ein Netzwerkgraph mit der networkx-Bibliothek erstellt. Der nächste Schritt besteht darin, das Optimierungsproblem zu definieren. Es gibt verschiedene Optimierungssprachen. Eine allgemeine und ausdrucksstarke Möglichkeit, dies im Python-Ökosystem zu tun, ist die Verwendung der PyOmo-Sprache in Python[http://www.pyomo.org/]. PyOmo ist leistungsstark und reichhaltig und ermöglicht es den Benutzern, eine große Anzahl von Optimierungsmodellen auszudrücken. Einzigartig ist, dass PyOmo eng mit dem Classiq-Modell integriert ist[https://docs.classiq.io/latest/tutorials/advanced/optimization/].

Das folgende Bild zeigt eine von der Classiq-Plattform synthetisierte Schaltung, die eine ungefähre MVC für ein einfaches duales Netzwerk findet. Diese Schaltung kann auf Knopfdruck auf echter Quantenhardware oder auf Simulatoren der Classiq-Plattform ausgeführt werden.

Sie können dies selbst überprüfen. Die Registrierung für die Plattform auf platform.classiq.io ist derzeit völlig kostenlos. Wir haben eine Sammlung von Cyber-Beispielmodellen, die Sie synthetisieren und auf jedem der von Classiq zugelassenen Angebote ausführen können. Sie können sowohl auf Quantensimulatoren als auch auf verschiedene Hardware-Plattformen zugreifen. Sie müssen die Schaltung nicht für bestimmte Hardware-Ziele neu schreiben, da dies automatisch erledigt wird.

Schlussfolgerung

Bei der Cybersicherheit gibt es zahllose nicht triviale Probleme, die das Potenzial haben, in Computernetzwerken Schaden anzurichten und kostspielige oder gefährliche Unterbrechungen zu verursachen. Einige dieser Herausforderungen lassen sich mathematisch formulieren und mit Berechnungswerkzeugen angehen.

Die Größe moderner Computernetzwerke, auf die wir in unserem täglichen Leben angewiesen sind, kann immens sein, was die Lösung einiger Rechenprobleme im Bereich der Cybersicherheit mit normalen Rechenressourcen unmöglich macht.

Glücklicherweise gibt es in der Quanteninformatik Werkzeuge, die es ermöglichen, Lösungen zu finden, aber es könnte praktischer sein, Quantensoftware zu entwickeln, um nach diesen Lösungen zu suchen.

Die Classiq-Plattform bietet die beste und einfachste Möglichkeit, modernste Quantenalgorithmen auf reale Probleme anzuwenden und dabei die Standardwerkzeuge zu verwenden, die bei Optimierungsproblemen zum Einsatz kommen, wie z. B. die Sprache PyOmo.

Je nachdem, wen Sie fragen, wird die Größe des Cybersicherheitsmarktes derzeit (Stand August 2023) auf einige hundert Milliarden USD/Jahr geschätzt. Die Größe des Internet-of-Things-Marktes ist schwieriger zu schätzen, da die Definitionen vager sind als die der Cybersicherheit. Ist ein mit dem Internet verbundener Toaster ein Internet-of-Things (IOT)-Gerät? Sicher, vielleicht, aber was ist mit einem Radiofrequenz-(RF)-Identifizierungs-Tag mit eingebettetem Mikrochip, das auf einem Eierkarton klebt? Ja, das ist wahrscheinlich auch IoT-bezogen. Zufälligerweise können beide Beispiele Ziele von Cyberangriffen sein. Es ist jedoch unklar, welcher böse, cyberfähige Rotschwanzfuchs es auf diese bescheidene, aber köstliche, mit dem Internet verbundene Leckerei abgesehen haben könnte.

Unabhängig von der genauen Marktgröße sind beide Märkte unbestreitbar riesig und lukrativ. Der Markt für Quanteninformatik ist, auch wenn er sehr weit fortgeschritten ist, noch viel kleiner. Schätzen wir seine Größe einvernehmlich auf etwa 1 % (oder weniger) des Cybermarktes bei etwa 1 Mrd. USD/Jahr. Dennoch sind die Wachstumsprognosen atemberaubend.

Ein Teil des prognostizierten Wachstums ergibt sich daraus, dass die Fähigkeiten der Quanteninformatik andere Märkte erst ermöglichen. Im heutigen Beitrag werden wir insbesondere erörtern, wie die Verwendung von Quantenalgorithmen für die kombinatorische Optimierung, die ihre klassischen Gegenstücke potenziell übertreffen können, in den Branchen unserer Ausstellung nützlich ist: IOT und Cybersecurity.

Ein Pflaster pro Tag hält Angreifer auf Abstand.

Was ist also Cybersicherheit? Es ist die Kunst und das Handwerk, böswillige Akteure daran zu hindern, sich Zugang zu Dingen zu verschaffen, auf die Sie lieber keinen Zugriff hätten - Ihre Daten, Ihre Computer und Ihren Toaster. Das Tückische daran ist, dass wir heutzutage nicht mehr so oft über unzusammenhängende Computersysteme verfügen. Alles ist über ein Netzwerk miteinander verbunden, im Grunde eine große Ansammlung miteinander verbundener Anlagen.

Jeder Vermögenswert in einem Netzwerk ist entweder eine Software oder mit einer Software verbunden. Eine sensible Datenbank enthält Informationen, die Sie für sich behalten wollen, und läuft auf einem bestimmten Datenbankanbieter und einer bestimmten Version. Ein Versehen im Design der Netzwerkschicht eines Betriebssystems hat eine klaffende Lücke hinterlassen, die jemand ausnutzen kann, um Ihren Computer in einen Verteilerknoten für nicht autorisierte Harry-Potter-Fanfiction zu verwandeln; die Liste geht weiter.

Wie bei den meisten komplexen Systemen wird es auch bei Computersystemen immer wieder vorkommen, dass sie versehentlich für Zwecke eingesetzt werden, die von ihrem ursprünglichen Entwickler nicht vorgesehen waren. Glücklicherweise können wir für Computer Patches bereitstellen, die alle bekannten Lücken schließen. Die korrekte Installation von Patches für ein Netzwerk ist einer der wichtigsten Faktoren für ein gesundes, sicheres Netzwerk. Es stellt sich heraus, dass dies keine triviale Aufgabe ist.

Es gibt viele Schwierigkeiten, alle bekannten Probleme mit Hilfe von Patches hermetisch abzuschließen. In erster Linie ist die schiere Anzahl, die verfolgt und angewendet werden muss, überwältigend. Nachstehend finden Sie die Anzahl der veröffentlichten und bekannten Probleme, die in CVE, dem Online-Register für Sicherheitsrisiken, erfasst sind. Der Trend der zunehmenden Bedrohung ist eindeutig, und die Zahl geht in die Zehntausende. Die Tatsache, dass beim Patchen auch Kompatibilitätsprobleme berücksichtigt werden müssen, die Systemleistung beeinträchtigt werden kann und das Patchen über ein heterogenes Netzwerk hinweg koordiniert werden muss, macht deutlich, dass dies eine große Herausforderung ist, die es zu bewältigen gilt.


Genau das richtige Pflaster an den richtigen Stellen.

Der Physiker Eugen Wigner sagte einmal, die Mathematik sei in den Naturwissenschaften "unvernünftig effektiv". Laienhaft ausgedrückt: Es ist eine ziemlich gute Idee, ein mathematisches Modell zu erstellen, wenn man ein Problem lösen will. Auch hier sollten wir das wahrscheinlich tun. Das hier vorgestellte Modell folgt der in[https://arxiv.org/abs/2211.13740] veröffentlichten Originalarbeit und ist ein graphentheoretisches Modell. Wir beginnen mit einigen Definitionen.

- Wir arbeiten mit einem Graphen, der Vermögenswerte und Schwachstellen miteinander verbindet.
- Ein Vermögenswert ist ein Element, das für einen Angreifer einen Wert hat, z. B. im System gespeicherte Daten. Die Verfügbarkeit, Konsistenz und Integrität von Vermögenswerten muss gewahrt bleiben.
- Eine Schwachstelle ist ein Fehler, durch den ein Angreifer einen Vermögenswert ausnutzen kann, z. B. eine nicht korrekt gepatchte Software, ein schwaches Passwort, eine schlechte Netzwerkkonfiguration usw.

Eine Verbindung zwischen einem Vermögenswert und einer Schwachstelle bedeutet, dass der Vermögenswert für die Schwachstelle anfällig ist. Dieser Computer hat ein dummes Passwort, auf diesem Computer läuft ein Windows XP von vor 20 Jahren usw. Solche Verbindungen bedeuten, dass es bekannte Wege gibt, um Zugang zu diesem Computer zu erhalten. Zum Beispiel durch das Erraten des Passworts "Password" (was unerklärlicherweise immer noch sehr wahrscheinlich ist https://en.wikipedia.org/wiki/List_of_the_most_common_passwords).

Die Gefahr bei betroffenen Anlagen besteht darin, dass solche "Kettenglieder" miteinander verbunden werden können. Wenn also mehrere, scheinbar nicht miteinander verbundene unsichere Verbindungen kombiniert werden, kann sich ein Angreifer seitlich durch das Netz bewegen. Der Angreifer kann dann ein komplettes Angriffsszenario aufbauen, um das gewünschte kritische Objekt anzugreifen. Ein solches Szenario ist in der folgenden Abbildung dargestellt. Obwohl es wie der Name eines besonders schlechten (besonders guten?) Steven Segal-Films von 1998 klingt, wird die Aneinanderreihung von Schwachstellen als Kill Chain bezeichnet.

Teure Dinge und wo sie hingehören

Wir wollen immer noch ein Netzwerk flicken. Das wollen wir wirklich. Aber wir müssen einen kleinen Umweg machen, bei dem wir ein wesentliches mathematisches Konzept erklären und andeuten, wie es zur Sicherung einer Internet-of-Things-Anwendung verwendet werden kann.

Ein Beispiel für ein IOT-Szenario ist der Einsatz einer großen Sammlung von kommunizierenden Sensoren. Drahtlose Sensornetzwerke (WSN), wie sie genannt werden, können eingesetzt werden, um einen Wald vor Waldbränden zu schützen (wenn Sensoren eingesetzt werden, die auf verschiedene Umweltfaktoren wie Luftfeuchtigkeit, Temperatur und Luftdruck reagieren), um industrielle Anwendungen zu überwachen, bei denen viele Maschinen gemeinsam arbeiten, um Transportnetzwerke zu koordinieren und in vielen weiteren Bereichen. Das folgende Diagramm aus [1] zeigt ein WSN mit 11 Knoten. Knoten Nummer 1 ist anders gekennzeichnet als die anderen, da er das Netzwerk steuert und zentral Informationen daraus sammelt.

[1] Yigit Y, Dagdeviren O und Challenger M 2022 Self-Stabilizing Capacitated Vertex Cover Algorithms for Internet-of-Things-Enabled Wireless Sensor Networks Sensors 22 3774 Online: http://dx.doi.org/10.3390/s22103774

Ein WSN kann, wie jedes andere Computernetz auch, ein Angriffsziel sein. Vielleicht besitze ich eine Eisfabrik, und meine Konkurrenz will unbedingt wissen, bei welcher Temperatur ich meine Minz-Schokoladen-Chips herstelle. Wie könnte man also sein Netzwerk schützen?

Einige Netzknoten können intelligenter sein als andere. Sie können über Überwachungsfunktionen verfügen, die es ihnen z. B. ermöglichen, den Inhalt von Informationen, die über das Netz weitergeleitet werden (Netzpakete), zu untersuchen und Warnmeldungen zu erstellen, wenn Pakete bösartig erscheinen. Diese Art von Anwendung wird als Link-Monitoring-Szenario bezeichnet.

Es ist nicht machbar, alle Knoten des WSN zu Überwachungsknoten zu machen. Das wäre eine teure Lösung in Bezug auf die tatsächlichen Kosten pro Knoten und den Energieverbrauch. Stellen Sie sich zum Beispiel vor, dass Ihre Knoten über einen großen Wald verteilt sind und mit Batterien betrieben werden. In einem solchen Fall müssen Sie möglicherweise gelegentlich die Batterien wechseln. Der Einsatz von energiesparenden Knoten würde Ihnen das Leben sehr erleichtern. Es ist nicht der richtige Weg, jeden Knoten intelligent, energiehungrig und teuer zu machen.

Wir wollen nun fragen, welche Knoten in unserem Netz die meisten anderen Knoten "sehen". Das folgende Diagramm, das ebenfalls aus [1] stammt, zeigt eine Auswahl von Überwachungsknoten, die durch eine rote Farbe gekennzeichnet sind.

In der Graphentheorie wird die Auswahl von Knoten, die einen möglichst großen Teil des gesamten Graphen "sehen" können (d. h. mit ihm verbunden sind), als Maximum Vertex Cover (MVC) des Graphen bezeichnet[https://en.wikipedia.org/wiki/Vertex_cover].

Die Suche nach dem MVC ist keine leichte Rechenaufgabe. Es handelt sich um ein Problem, das technisch als NP-schwer eingestuft wird. Solche Probleme haben Lösungen, die leicht zu überprüfen sind (leicht bedeutet, dass man relativ schnell, in "Polynomialzeit", überprüfen kann, ob eine Lösung gilt), aber schwer zu finden sind (was bedeutet, dass es keine schnellen - "Polynomialzeit" - Lösungen gibt).

Hier kommt die Quantenberechnung ins Spiel. Wir können eine ungefähre Lösung für das MVC-Problem mithilfe eines Quantenalgorithmus finden!

Anbringen des Quantenpatches

Kehren wir zu dem ursprünglichen Problem zurück, das uns beschäftigt hat: die Patch-Verwaltung. Unser Ziel war es, herauszufinden, welche Patches wir auf unser Computernetzwerk aufspielen sollten, um die meisten Kill Chains zu zerstören.

Mathematische Graphen sind Datenstrukturen, die von Quantenalgorithmen bevorzugt werden. Es gibt Algorithmen zum Zerlegen von Graphen, zum Durchsuchen von Graphen und so weiter.

Der Graph, den wir zur Darstellung unserer Lage verwenden, ist technisch gesehen ein zweiseitiger Graph. Das heißt, es handelt sich um eine Sammlung von Knoten zweier verschiedener Typen (Anlagen und Schwachstellen), die durch Kanten miteinander verbunden sind. Eine Kante stellt die Fähigkeit eines Angreifers dar, von einem Vermögenswert zu einem anderen zu gelangen, indem er die in diesem Vermögenswert vorhandenen Schwachstellen ausnutzt.

Stellen wir die oben gezeigte Kill Chain als zweistufiges Diagramm dar. Die Zahlen 1,4,8 stehen für bestimmte Schwachstellen, sie bedeuten nichts Bestimmtes. Stellen Sie sich einfach vor, es handelt sich um eine bestimmte Schwachstelle aus einer Liste bekannter Schwachstellen.

Wir würden gerne alle Kanten zwischen Schwachstellen und Anlagen aus diesem Diagramm eliminieren, was bedeutet, dass wir alle Patches auf alle Anlagen anwenden und alles zu 100 % sicher machen wollen. Aber das können wir nicht. Also müssen wir eine Strategie finden, um die Schwachstellen so zu priorisieren, dass die Kill Chain unterbrochen wird. In diesem einfachen Beispiel wird durch die Beseitigung der Schwachstelle 4 die Kill Chain unterbrochen.

Wir können eine Methode einführen, um dies zu sehen. Es mag seltsam erscheinen, den Graphen für dieses einfache Beispiel weiter zu modifizieren, aber es wird sich später in komplexeren Szenarien als nützlich erweisen. Definieren wir den dualen Graphen.

Der Dual Graph untersucht Schwachstellen und verbindet sie direkt wenn sie über einen Vermögenswert im "ursprünglichen" Diagramm verbunden sind. Hier ist der duale Graph für unser Beispiel:

Unsere frühere Intuition, dass das Entfernen der Schwachstelle vier die Kette unterbricht, ist nun deutlicher spürbar, und es wird nicht möglich sein, von 1 auf 8 zu kommen.

Was ist, wenn wir ein komplexeres Diagramm haben?

Betrachten wir nun ein komplexeres Beispiel mit mehr Vermögenswerten und mehr Schwachstellen. Im Vergleich zu einem echten Netzwerk mit Hunderttausenden von Knoten ist es zwar immer noch nur ein Spielzeugmodell, aber es wird bereits visuell kompliziert.

Bei der Umwandlung in den dualen Graphen ergibt sich das folgende Bild:


Zur Vereinfachung haben wir einen ungerichteten Graphen erstellt. Dies lässt sich rechtfertigen, da wir die Kette unabhängig von der Richtung unterbrechen und den am besten verbundenen Schwachstellen Vorrang einräumen wollen. Außerdem macht es uns das Leben leichter, und es ist oft besser, einfach anzufangen und nach und nach Komplexität einzuführen. Die Dinge sind so schon schwer genug.

Aus diesem Diagramm ist nicht ersichtlich, welche Knoten entfernt werden müssen, um die meisten Kill Chains zu unterbrechen. Was sollen wir also tun? Den MVC finden, natürlich!

Die MVC des dualen Graphen sagt uns, welche Patches wir anwenden müssen, um die meisten ungepatchten Knoten voneinander zu trennen und so eine Schwachstellensequenz zu verhindern. Mit anderen Worten, wir unterbrechen Kill Chains.

In diesem Fall zeigen die blau markierten Knoten die MVC-Lösung. Man sollte diese Patches anwenden, um den besten Schutz zu minimalen Kosten zu erhalten.

Diese Lösung kann in die Form eines zweistufigen Graphen zurückverwandelt werden, was eine viel einfachere Form als die bisherige darstellt. Entscheidend ist, dass der Übergang von einer Schwachstelle zu einer anderen über Vermögenswerte unmöglich ist. Die Ketten sind gebrochen!

MVC und Quantum: Der Classiq-Weg

Wir haben jetzt eine mathematisch formulierte Möglichkeit, Cybersicherheitsprobleme anzugehen. Im Beispiel der Link-Überwachung und bei Kill Chains liegt der Schlüssel darin, den MVC zu finden. Einfach.

Wie bereits erwähnt, besteht das Problem darin, dass die Suche nach dem MVC NP-schwer ist. Da ein echtes Unternehmensnetzwerk 100.000 Hosts oder mehr haben kann, ist dies in der Regel ein unlösbares Problem.

Die Suche nach einer annähernden maximalen Scheitelpunktüberdeckung kann auf einem Quantencomputer in subexponentieller Zeit mit einem Quantenalgorithmus durchgeführt werden, einem Arbeitspferd einer Klasse von kombinatorischen Optimierungsproblemen, die mit Quantencomputern gelöst werden: QAOA.

MVC ist ein typisches Beispiel für ein kombinatorisches Optimierungsproblem. Die Schwierigkeit ergibt sich aus der schieren Anzahl der Kombinationen von Elementen; in der Regel gibt es einige Einschränkungen, die bei der Auswahl einer bestimmten Kombination erfüllt werden müssen, und das Problem ist nicht ausreichend strukturiert, um eine intelligente Auswahl zu treffen. Am Ende muss man jede Möglichkeit prüfen und diejenige finden, die funktioniert. Mit anderen Worten: Die Suche nach einer Lösung kostet exponentiell zur Größe des Problems viel Zeit.

QAOA ermöglicht es Ihnen, schneller als das zu sein, oder subexponentiell, zumindest wenn Sie bereit sind, eine Annäherung statt einer exakten Lösung zu finden. Wir werden QAOA nicht im Detail erklären, aber wenn die Menge es wünscht (sprechen Sie uns auf dem Classiq-Slack-Server an), werden wir es vielleicht in Zukunft tun. Sie können viele Rezensionen online lesen, z.B. hier[https://arxiv.org/abs/2306.09198].

Die Bewältigung kombinatorischer Optimierungsprobleme mit QAOA ist eine der Stärken der Classiq-Plattform. Hier sind drei einfache Schritte erforderlich:

1. Definieren Sie das Quantenmodell mithilfe der kombinatorischen Optimierungsfunktionen von Classiq.
2. Verwenden Sie die Classiq-Engine, um eine parametrisierte Quantenschaltung zu erzeugen.
3. Führen Sie die Schaltung innerhalb der Classiq-Plattform aus, um die optimalen Parameter zu erhalten, die die Lösung darstellen.

Die Technik der Erstellung von Classiq-Modellen mit QAOA und Graphen ist ganz natürlich, da sie mit Standard- und Open-Source-Tools kompatibel ist. Bei Verwendung des Classiq Python SDK wird zunächst ein Netzwerkgraph mit der networkx-Bibliothek erstellt. Der nächste Schritt besteht darin, das Optimierungsproblem zu definieren. Es gibt verschiedene Optimierungssprachen. Eine allgemeine und ausdrucksstarke Möglichkeit, dies im Python-Ökosystem zu tun, ist die Verwendung der PyOmo-Sprache in Python[http://www.pyomo.org/]. PyOmo ist leistungsstark und reichhaltig und ermöglicht es den Benutzern, eine große Anzahl von Optimierungsmodellen auszudrücken. Einzigartig ist, dass PyOmo eng mit dem Classiq-Modell integriert ist[https://docs.classiq.io/latest/tutorials/advanced/optimization/].

Das folgende Bild zeigt eine von der Classiq-Plattform synthetisierte Schaltung, die eine ungefähre MVC für ein einfaches duales Netzwerk findet. Diese Schaltung kann auf Knopfdruck auf echter Quantenhardware oder auf Simulatoren der Classiq-Plattform ausgeführt werden.

Sie können dies selbst überprüfen. Die Registrierung für die Plattform auf platform.classiq.io ist derzeit völlig kostenlos. Wir haben eine Sammlung von Cyber-Beispielmodellen, die Sie synthetisieren und auf jedem der von Classiq zugelassenen Angebote ausführen können. Sie können sowohl auf Quantensimulatoren als auch auf verschiedene Hardware-Plattformen zugreifen. Sie müssen die Schaltung nicht für bestimmte Hardware-Ziele neu schreiben, da dies automatisch erledigt wird.

Schlussfolgerung

Bei der Cybersicherheit gibt es zahllose nicht triviale Probleme, die das Potenzial haben, in Computernetzwerken Schaden anzurichten und kostspielige oder gefährliche Unterbrechungen zu verursachen. Einige dieser Herausforderungen lassen sich mathematisch formulieren und mit Berechnungswerkzeugen angehen.

Die Größe moderner Computernetzwerke, auf die wir in unserem täglichen Leben angewiesen sind, kann immens sein, was die Lösung einiger Rechenprobleme im Bereich der Cybersicherheit mit normalen Rechenressourcen unmöglich macht.

Glücklicherweise gibt es in der Quanteninformatik Werkzeuge, die es ermöglichen, Lösungen zu finden, aber es könnte praktischer sein, Quantensoftware zu entwickeln, um nach diesen Lösungen zu suchen.

Die Classiq-Plattform bietet die beste und einfachste Möglichkeit, modernste Quantenalgorithmen auf reale Probleme anzuwenden und dabei die Standardwerkzeuge zu verwenden, die bei Optimierungsproblemen zum Einsatz kommen, wie z. B. die Sprache PyOmo.

Über "Der Podcast des Qubit-Typen"

Der Podcast wird von The Qubit Guy (Yuval Boger, unser Chief Marketing Officer) moderiert. In ihm diskutieren Vordenker der Quanteninformatik über geschäftliche und technische Fragen, die das Ökosystem der Quanteninformatik betreffen. Unsere Gäste geben interessante Einblicke in Quantencomputer-Software und -Algorithmen, Quantencomputer-Hardware, Schlüsselanwendungen für Quantencomputer, Marktstudien der Quantenindustrie und vieles mehr.

Wenn Sie einen Gast für den Podcast vorschlagen möchten, kontaktieren Sie uns bitte .

Siehe auch

Keine Artikel gefunden.

Erstellen Sie Quantensoftware ohne Grenzen 

Kontakt