Hacking "Smart" Counter an PHDays 8: Analyse des Wettbewerbs MeterH3cker

Published on June 19, 2018

Hacking "Smart" Counter an PHDays 8: Analyse des Wettbewerbs MeterH3cker

    Bild

    In diesem Jahr wurde das Positive Hack Days-Wettbewerbsprogramm durch einen Smart- Hack-Hacking- Wettbewerb von MeterH3cker ergänzt . Die Teilnehmer hatten eine Anordnung von zwei Häusern, so die Organisatoren, dass die Sonnenkollektoren die Häuser mit Strom versorgten und die überschüssige Energie zu einem Sonderpreis an das allgemeine Stromnetz verkauft werden konnte. Die Aufgabe der Angreifer bestand darin, den normalen Stromzählprozess in irgendeiner Weise zu stören und das Bargeldkonto im Abrechnungssystem zu beeinflussen.

    Stand


    Bild

    Stand MeterH3cker

    Moderne Häuser, die mit Sonnenkollektoren ausgestattet sind, können sowohl Strom verbrauchen als auch die überschüssige Energieerzeugung an das Netzwerk zurückgeben. Dieses Modell bildete die Basis des Messgeräts MeterH3cker.

    Der Stand war ein Modell von zwei modernen Wohngebäuden mit realer Ausstattung, die Elemente der Smart-Grid-Technologie implementierten. In jedem Haus wurden Solarregler, intelligente Stromzähler und Energieverbraucher installiert. Beide Häuser waren an ein Modell einer elektrischen Unterstation angeschlossen, in der ein Datenerfassungs- und Übertragungsgerät (DATD) installiert wurde. es wurden die Zähler und der Stationszähler abgefragt.

    Darüber hinaus war jedes Haus mit einem Heizungs- und Klimatisierungssystem ausgestattet, das allgemein von einem im gemeinsamen Standnetz verfügbaren Controller gesteuert wurde. In der Nähe von intelligenten Häusern wurde auch eine intelligente Ladestation für Elektrofahrzeuge installiert, die die Ablesung des Stromverbrauchs eines angeschlossenen Elektrofahrzeugs an die USPD übertrug.

    Wir legten die Tag- und Nachtszenarien fest. Im "Tag" -Modus produzierten die Sonnenkollektoren in den Häusern Elektrizität, und ihre Zähler drehten sich in die entgegengesetzte Richtung und berücksichtigten die "verbrauchte" und "gegebene" Energie. Jedes Haus hatte ein eigenes Konto, dessen Bilanz mit der Energieerzeugung anstieg und mit dem Verbrauch abnahm. Die in den Zählern festgelegten Tarife wirkten sich auch auf die Werte aus.

    Die Hauptaufgabe der Wettbewerbsteilnehmer bestand darin, das Gleichgewicht des persönlichen Kontos der Häuser zu erhöhen, die Ausrüstung des Standes anzugreifen und somit einen direkten finanziellen Nutzen aus ihren Hacker-Aktionen zu ziehen.

    Um die Ergebnisse zu visualisieren, haben wir einen eigenen Abrechnungsserver geschrieben, der Daten von DRCs sammelte. Der DRC befragte die Zähler auf verschiedene Weise:

    1. das Messgerät im Haus Nr. 1 - gemäß dem Modbus-ähnlichen Protokoll des offenen Herstellers;
    2. Der Zähler im Haus Nr. 2 wurde vom VR-007.3-Gerät unter Verwendung eines Modbus-ähnlichen Protokolls eines offenen Herstellers abgefragt, und dann erhielt die DRCD Daten vom VR-007.3-Webserver über HTTP.
    3. Stationszähler - gemäß dem Modbus-TCP-Protokoll.

    Um reale Energieverbrauchswerte zu erhalten, wurden dieselben Strom- und Spannungskreise wie die gezählten Zähler an Referenzzähler angeschlossen, die dem Angreifer nicht zur Verfügung standen. Der Abrechnungsserver hat sie direkt über die RS-485-Schnittstelle abgefragt.

    Damit die Besucher des Forums das Geschehen beobachten können, wurde neben dem Stand ein großer Monitor installiert, in dem Stromverbrauchskurven in Echtzeit angezeigt wurden. Die Grafik der blauen Farbe zeigte die Messwerte bei der USPD an. Sie variierten je nach den Aktionen der Angreifer. Das Diagramm der grünen Farbe zeigte reale Werte für die Erzeugung und den Verbrauch von Elektrizität, die von Referenzzählern gesammelt wurden.

    Bild

    Anzeige der aktuellen Werte für jedes Haus: persönlicher Kontostand, verbrauchte und an das Netz gelieferte Energie, Tarif

    Ein internes Portal für die Teilnehmer des Wettbewerbs war auch im Standnetz verfügbar. Es zeigt die aktuellen Werte der Grafiken an, einen Abschnitt mit einer Beschreibung jedes Standelementes. Dort wurden die Wettbewerbsregeln veröffentlicht und von Zeit zu Zeit tauchten Hinweise auf.

    Bild

    Internes Portal

    Teilnahmebedingungen


    Der Wettbewerb dauerte zwei Tage. Am ersten Tag gab es Qualifikationswettbewerbe. Jeder Teilnehmer hat, wenn er an das Netzwerk des Standes angeschlossen ist, Zugriff auf alle Geräte der beiden Häuser, der Umspannstation und der Ladestation. Die Teilnehmer hatten die Möglichkeit, Ausrüstung zu erkunden, Schwachstellen und potenzielle Angriffsvektoren zu finden. Im Laufe des Tages wurden regelmäßig neue Ansagen zum internen Portal des Wettbewerbs hinzugefügt, sodass die Teilnehmer die Schwächen der Standausstattung erkennen konnten. Teilnehmer, die am ersten Tag am Stand erfolgreich waren, wurden am zweiten Tag zur Endrunde eingeladen.

    Das Finale war eine Art Duell. Zum Stand waren zwei Teilnehmer eingeladen, jeder hatte ein eigenes Haus. Ihre Aufgabe ist es, die Zähler in einer zehnminütigen Runde mit allen Mitteln zu täuschen und mehr Energie zu erzeugen als der Feind - der konditionierte Nachbar. Derjenige, der am Ende des Wettbewerbs einen höheren persönlichen Kontostand hatte, gewann. Gleichzeitig wurde die Aufgabe durch die Tatsache erschwert, dass die Teilnehmer Zugriff auf die Ausrüstung des jeweils anderen hatten, was bedeutet, dass sie ihren Nachbarn beschädigen und dessen Ergebnisse unterschätzen können.

    Tag 1: Qualifikationsrunde


    Der Wunsch, Hacker-Ausrüstung auszuprobieren, war eine Menge. Beachten Sie, dass sich einige von ihnen ernsthaft auf die Konkurrenz vorbereitet haben und die notwendige Software dabei hatten. Unter ihnen waren Teilnehmer aus Japan, die den Stand von den ersten Stunden des Wettbewerbs sorgfältig studierten, sodass sie am zweiten Tag signifikante Ergebnisse erzielten.

    Eine große Überraschung für uns war die Teilnahme eines 12-jährigen Hacker-Amateurs: Trotz seines Alters konnte er die präsentierte Ausrüstung navigieren und demonstrierte mehrere Angriffe.

    Bild

    Wettbewerber

    Die ersten Ergebnisse hatten wir bis zur Mitte des Tages erhalten: Japanische Forscher haben sich zusammengeschlossen, um die Kontrolle über die Ladestation für Elektrofahrzeuge zu übernehmen und das Laden des Elektrofahrzeugs zu stoppen, indem Steuerbefehle über das Web-Interface gesendet werden. Wenig später konnten sie das Passwort des Administrators des Solar-Batterie-Controllers abrufen und die Stromerzeugung abschalten.

    Der junge Hacker blieb auch nicht hinter Erwachsenen zurück: Er lernte, die RTU ständig neu zu laden, um den Angriff auf Dienstverweigerung zu erkennen und die Wahl der Schalter zu stören.

    Gegen Abend erreichte einer der Teilnehmer der japanischen Gruppe gravierende Abweichungen zwischen den Werten der Referenz- und der angegriffenen Zähler, wodurch der Zählwert stark anstieg. Sein Kollege entdeckte eine Schwachstelle in der Webschnittstelle des Unterstationszählers, die das Lesen der Inhalte der Geräte-Flashkartendateien ermöglicht, von denen eine den Administrator-Kennwort-Hash enthielt. Nach erfolgreicher Auswahl eines Passworts erhielt er somit Zugriff auf die Zählerparameter.

    Eine Stunde vor Ende der Qualifikationsrunde trat ein Teilnehmer namens Oleg an den Stand. Trotz der Tatsache, dass er nur noch wenig Zeit hatte, gelang es ihm, einen erfolgreichen Angriff durchzuführen und an dem Turnier teilzunehmen, das am nächsten Tag stattfand.

    Am Ende des Tages konnten alle Teilnehmer die Energiemessungen aller verfügbaren Stromzähler ändern und die verschiedenen Elemente der Standcontroller, Ladestation, steuern.

    Bild

    Die Ergebnisse der Angriffe der Teilnehmer auf die Schalter. In der unteren rechten Grafik ist klar, dass der Transformationskoeffizient des Zählers links unten geändert wurde - dass ein erfolgreicher "Denial of Service" -Angriff auf den PSCh-4TM-Zähler durchgeführt wurde

    Tag zwei: Turnier und Finale


    Nach den Ergebnissen der Berichte der Teilnehmer am Ende des ersten Tages haben wir sieben Teilnehmer ausgewählt, die Schwachstellen in der Standausstattung finden und ausnutzen konnten.

    Da die Teilnehmer am zweiten Tag während der Runden die Ablesungen nicht nur ihrer Zähler, sondern auch des Gegners ihres Mitbewerbers beeinflussen konnten, könnte jede Fahrlässigkeit schwerwiegende Folgen haben. Der Teilnehmer Oleg, der einen Angriff auf die Ausrüstung des Nachbarn durchführte, erhöhte daher fälschlicherweise die Rechnung des Nachbarn, weil er den Angriff zum Zeitpunkt der Generierung durchgeführt hatte, und hatte dann keine Zeit, ihn während der verbleibenden Runde in die andere Richtung zu „drehen“. In späteren Kämpfen haben die Teilnehmer diese traurige Erfahrung berücksichtigt und kompetent gehandelt, beispielsweise die Maximalwerte der Koeffizienten ihres Zählers während des Erzeugungszeitraums (Tagmodus) und Minimalwerte während des Verbrauchszeitraums (Nachtmodus) festgelegt.

    Bild

    Platzierungen

    Im Finale des Wettbewerbs drehte sich ein ernsthafter Kampf. Zu Beginn der Runde war Satoru Takekoshi der Vorteil, der bereits in den ersten Minuten den Angriff erfolgreich durchführen konnte und den Kontostand stark erhöhte. Der zweite Teilnehmer, Alexey Kuznetsov, konnte ebenfalls zu Beginn der Runde einen Angriff starten und den Kontostand seines Kontos erhöhen, allerdings in einem wesentlich geringeren Ausmaß. Die Lücke in den Ablesungen der erzeugten Energie betrug 25 GW · h gegenüber 5 GW · h. Für den größten Teil der Runde hat sich das Ergebnis nicht geändert. Um die traurige Erfahrung der ersten Teilnehmer, die zur falschen Zeit angegriffen hatten, nicht zu wiederholen, verhielt sich Alexey wahrscheinlich vorsichtig und verfolgte den Wechsel der Regime. In der zweiten Hälfte der Runde gelang es ihm, den Meter der Umspannstation erfolgreich anzugreifen und den Mindestabstand zu seinem Nachbarn zu erreichen, aber die Gesamtpunktzahl erlaubte ihm immer noch nicht, zu gewinnen. In den letzten Sekunden griff Alexey erneut seinen Zähler an und erhöhte erfolgreich seine Werte, wodurch er dem Anführer den Sieg wegnehmen konnte. So gewann Alexey und erhöhte sein Guthaben auf 92 Milliarden Jahre. e. und angesichts seines erfolgreichen Angriffs auf den Zähler einer elektrischen Unterstation erlaubte es seine Gesamtpunktzahl, vorbehaltlos zu gewinnen.

    Bild

    Der Status der persönlichen Konten in den letzten Sekunden nach dem letzten Angriff

    Ergebnisse


    Also, die Gewinner: Den ersten Platz belegte Alexey Kuznetsov, der zweite Platz ging an Satoru Takekoshi, schloss die ersten drei Nikita Stupin. Der Sonderpreis für den 4. Platz erhielt einen jungen Hacker Yuri Grishin.

    Während des Wettbewerbs (vor allem in der Endrunde) wurden völlig unterschiedliche Angriffe gezeigt. Die meisten Teilnehmer versuchten, die aus den Zählern abgelesenen Energiemesswerte anzugreifen, die Energieerzeugung zum Zeitpunkt der Erzeugung zu erhöhen und zum Zeitpunkt des Verbrauchs zu reduzieren. In einigen Runden griffen die Konkurrenten erfolgreich eine Ladestation für ein Elektrofahrzeug und eine Solarbatteriesteuerung an.

    Keiner der Teilnehmer konnte jedoch die USPD erfolgreich angreifen und die gesammelten Daten direkt ersetzen. Potentiell könnten diese Angriffe zu einer vollständigen Kontrolle der an das Abrechnungszentrum übermittelten Daten und zu einer Erhöhung ihrer Konten um einen beliebigen Wert führen. An allen zwei Tagen verzeichneten wir nur einen solchen Angriffsversuch, der offenbar mit einem Misserfolg endete.

    Außerdem hat niemand den Controller angegriffen, der die Heizungs- und Klimaanlage steuert. Es wurde davon ausgegangen, dass sich der Angreifer mit dem Gerät verbinden und das Gerät mit vorhandenen Steuersignalen steuern kann. Die Hauptschwierigkeit für die Angreifer bestand darin, die offenen Ports und den Namen der Ausrüstung abzugleichen, um beispielsweise Informationen über das FOX-Protokoll anzufordern. Um dieses Gerät anzugreifen, war keine spezielle Software erforderlich. Der Hinweis hat auch nicht geholfen, da die Angreifer ihn nicht verwendet haben, aber sie brauchten lediglich den User-Agent-Header in ihrem Browser zu ändern, um eine erfolgreiche Verbindung herzustellen.

    Aus anderen Beobachtungen. Während des Wettbewerbs stellten die Teilnehmer viele klärende Fragen zum Aufbau und Betrieb des Standes sowie zu den verfügbaren Geräten. Dies kann durch die Tatsache erklärt werden, dass zusätzlich zu der Aufgabe, Geräte zu "zerlegen", notwendig war, herauszufinden, was jeder von ihnen tut und wie er seine Schwachstellen ausnutzt, um Nutzen daraus zu ziehen.

    Bild

    Der Höhepunkt des ersten Tages

    Wir freuten uns, dass obwohl unser Wettbewerb neu im Forum war, viele Zuschauer kamen, die nicht teilnehmen wollten, sich aber für die Arbeit des Standes und die Erfolge der Teilnehmer interessierten. Kostenlose Ottomanen vor dem Stand waren schnell zu Ende!

    Eine weitere interessante Tatsache betrifft Teilnehmer aus Japan. Das interne Portal des Wettbewerbs und die Dokumentation der Geräte einheimischer Hersteller waren in russischer Sprache, jedoch für das japanische Team kein Hindernis - praktische Fähigkeiten reichten aus, um eine Reihe erfolgreicher Angriffe zu demonstrieren. Nach dem Wettbewerb gaben sie jedoch zu, dass es ihnen immer noch ein wenig nachteilig war.

    Im Allgemeinen zeigte der Wettbewerb, dass es in weniger als zwei Tagen möglich ist, moderne Stromzählsysteme auszusortieren und erfolgreiche Angriffe durchzuführen.

    Analyse anderer Wettbewerbe Positive Hack Days 8: