Jetzt fliegt uns Windows um die Ohren
-
Aber nur, wenn Du die Visualisierung interpretieren kannst.
Die Visu bei einem an einem SCADA hängenden System ist genau wie der normale Resourceneditor. Da sind einfach Objekte drauf wie "Label1", "Label2", "DigitalIO23", und die Objekte sind dann via Tagbaum (vielleicht direkt) an die IO-Ebene der SPS gebunden.
Wie soll denn die Heuristik des Trojaners auf diese Weise das "Main Reactor Switch Off" finden? Die Bilder sind doch nur einfach Pixel für den Menschen, die haben noch lange keine Logik hinterlegt.
@earli: der Vergleich ist überhaupt nicht stichhaltig. Ein Computerspiel hat nicht so viele Werte, schon bei einer einfachen Maschinen-HMI werden einige 100 bis 1000 Werte eingelesen, und alle haben einen Jitter, d.h. das letzte Bit flattert permanent, so daß kein Wert wirklich so schön konstant ist wie ein Punktestand bei einem Spiel. Es ist auch nicht so, daß man einen Wert einstellt "mach den Ausgang jetzt mal auf 5.3 Volt", und beim Rücklesen des Eingangs kommen dann 5.3 Volt - sondern da kommen 5.2 oder 5.5 Volt. Und das wertet man als "Übereinstimmung". Das ist die Anbindung der analogen Welt, da flattert ständig alles.
Mal eine Frage: glaubt Ihr, daß eine "1" auf einem Mainboard wirklich durch ein 3.3-Volt-Rechtecksignal dargestellt wird?
Ich streite nicht ab, daß der Trojaner Schaden anrichten könnte - ein System würde in einen Notstopp gehen, wenn der da rumwirbelt und Werte manipuliert. Aber mehr? Man würde den Rechner vom Netz trennen, eine Sicherheitskopie einspielen, und geht wieder online.
Das Beispiel mit der Pipeline in Sibirien ist nicht vergleichbar, da hat jemand (Mensch) gezielt Schadcode programmiert, d.h. da wurde gezielt ein Zerstörungsalgorithmus von Anfang an eingebaut.
-
Das ist doch Quatsch, warum sollte man die Visualisierung scannen? Man kann doch die Datenstrukturen im Speicher direkt auslesen.
-
earli schrieb:
Das ist doch Quatsch, warum sollte man die Visualisierung scannen? Man kann doch die Datenstrukturen im Speicher direkt auslesen.
und wie weiß man dann, dass man die richtigen Datenstrukturen ausgelesen hat
-
abc.w schrieb:
earli schrieb:
Das ist doch Quatsch, warum sollte man die Visualisierung scannen? Man kann doch die Datenstrukturen im Speicher direkt auslesen.
und wie weiß man dann, dass man die richtigen Datenstrukturen ausgelesen hat
Das ist doch keine geheime Software. Man weiß, wie das Programm aussieht, das da läuft. Da gibt es irgendwo im Programmcode bzw. auf dem Stack Pointer auf Listen und andere Strukturen, wo die Daten drinstehen.
Mal abgesehen davon geht es ja gar nicht darum, Daten zu manipulieren, sondern Steuerungsskripte. Die sind ja so gemacht, dass man sie verändern kann. Der Wurm macht ja nichts anderes als der Typ machen würde, der das Ding programmiert/bedient.
-
earli schrieb:
Mal abgesehen davon geht es ja gar nicht darum, Daten zu manipulieren, sondern Steuerungsskripte. Die sind ja so gemacht, dass man sie verändern kann. Der Wurm macht ja nichts anderes als der Typ machen würde, der das Ding programmiert/bedient.
und wie weiß der Wurm dann, wie die Anlage im Detail aussieht und welche Zeilen in welchem Steuerungsskript für welches Detail zuständig sind
-
Marc++us schrieb:
Ich streite nicht ab, daß der Trojaner Schaden anrichten könnte - ein System würde in einen Notstopp gehen, wenn der da rumwirbelt und Werte manipuliert. Aber mehr? Man würde den Rechner vom Netz trennen, eine Sicherheitskopie einspielen, und geht wieder online.
"ein" trojaner hat heutzutage fast keine wirkung. wenn man jemandem schaden will gibt es einfachere und bessere möglichkeiten. die ganze botnet entwicklung zeigt doch ganz deutlich in welche richtung die zukunft geht. über diese netze werden dann die attacken gefahren am besten auf die 13 rootserver
-
Marc++us schrieb:
In unseren Kreisen gibt's da gewisse Vorbehalte, weil seltsamerweise die einzigen SPS-Würmer immer ausgerechnet auf den Sicherheitsseminaren gewisser Firmen vorgeführt werden... in der freien Wildbahn hat man keine gefunden. Einige Leute vermuten, daß hier Angebot und Nachfrage in der falschen Reihenfolge auftreten...
Generell halte ich das aber für hanebüchenen Unsinn, daß hier gezielte Attacken ausgeführt werden. Was soll der Wurm denn auf der SPS suchen? Eine SPS ist letztlich Assembler-Code. Da steht nirgendwo eine Funktion "no_switch_on_nuclear_power_plant()". Sondern das sind nur Moves, Or und And, da wird irgendwo ein Ausgang gesetzt, irgendwelche Timer überwachen das, aber bereits bei der gleichen Anlage an einem anderen Standort ist das Programm leicht modifiziert, weil andere elektrotechnische Ausführungsrichtlinien gelten. Auch wird in der Prozessindustrie viel individuell programmiert, erst auf der Baustelle. D.h. das Programm wird vor Ort geschrieben... es gibt da keine generischen Angriffsrichtung.
Natürlich wird man durch so eine Injection ein SPS-Programm zu einer Fehlfunktion bringen können, aber sicherheitskritische Anlagenteile sind regelmäßig zusätzlich noch durch eine in Hardware ausgeführte Failover-Verknüpfung geschützt. Also selbst wenn ein IO nicht mehr richtig gesetzt wird, schaltet sich dann das System ab.
Allgemein findet man in der Industrie fast ausschließlich Windows-Systeme in der SCADA- und Leitebene. Kein Wunder, es gibt ja auch nichts sonst. Die wichtigen IO-Standards (z.B. OPC) wurden von Microsoft und Siemens vorangetrieben, OPC-Implementierungen für Linux sind seltener zu finden, nicht so stabil, und bei SCADAs wird es ganz düster. Alle wichtigen Plattformen und deren Standards sind für Windows: WinCC, PCS 7, iFix, Intouch, usw.
In realen Fabriknetzen geht die größte Gefahr nicht von Trojanern aus (wer das denkt, hat sowas noch nie gemacht), sondern von gottverdammten Inbetriebnehmern, die auf der ganzen Welt mit ihren Notebooks rumreisen, überall ihre USB-Sticks in irgendwelche Ports stecken, eine mp3-, Raubkopie und Pornosammlung mit sich rumschleppen, und dann die Anlagenrechner infizieren. Das ist das größte Problem überhaupt, ich schätze mal, daß man so ein Problem bei 3-5% der Inbetriebnahmen hat.
Ich bin ein großer Anhänger davon, daß man bei Anlagen einfach mit einer Klebepistole die USB-Ports zuspritzt. Das ist die wichtigste IT-Sicherheitsmaßnahme im Fabrikumfeld.
Das würde ich so vorbehaltlos unterschreiben.
BTW: gibt es überhaupt OPC-Server, die nicht im Beta-Stadium sind?
-
Marc++us schrieb:
Ich bin ein großer Anhänger davon, daß man bei Anlagen einfach mit einer Klebepistole die USB-Ports zuspritzt. Das ist die wichtigste IT-Sicherheitsmaßnahme im Fabrikumfeld.
Das ist ja wie das Verbrennen der Schiffe von Hernán Cortés.
Der intelligente User zieht einfach die Kabel innen ab. Viele ECUs haben auch einen HW Switch mit Schlüssel für alle externen unautentifizierten Interfaces. Im Cern kappen die IT Experten die Verbindungen mit der Kneifzange.
Die meisten Fertigungsanlagen sind i.d.T Inselsysteme. R&D Analagen auch.
-
Marc++us schrieb:
Das Beispiel mit der Pipeline in Sibirien ist nicht vergleichbar, da hat jemand (Mensch) gezielt Schadcode programmiert, d.h. da wurde gezielt ein Zerstörungsalgorithmus von Anfang an eingebaut.
Ist doch vergleichbar. Hier hat offenbar jemand geleakten Source in die Finger bekommen und dafür einen Angriff entwickelt. Anscheinend werden ausgewählte Aktionen unterbunden, um einen Fehler auszulösen. Unter Umständen war das Ziel nicht, irgendwas hochgehen zu lassen, sondern nur dauernd einen Fehler auszulösen, so dass die Anlage nicht funktioniert. Und selbst mit Austauschen von (einzelnen) Hardwarekomponenten kann man den Fehler nicht beheben, weil die neuen Teile gleich wieder infiziert werden.
-
Habe deb Thread eben erst gelesen.
Mit WinCC wird die Steuerung nicht direkt programmiert, sondern eher die TouchPanels und andere HMI-Devices. Das Interessante hieran dürften die Strngdaten gekoppelt mit den Verbindungsdaten sein.
Wenn ich ein Eingabefeld mit dem Text 'Selbstzerstörung' finde, wobei die Pinnummer des Merkers in den Verbindungsdaten mitgeliefert wird, müßte ich nur noch einen versteckten Remotezugang mit indirekter Adressierung einrichten und könnte das Ding vermutlich fernsteuern. Also - so ganz ohne ist das nicht.
-
Aktueller FAZ-Artikel zum Thema: http://www.faz.net/s/RubCEB3712D41B64C3094E31BDC1446D18E/DocE8A0D43832567452FBDEE07AF579E893CATplEcommonScontent.html
-
Bashar schrieb:
Aktueller FAZ-Artikel zum Thema: http://www.faz.net/s/RubCEB3712D41B64C3094E31BDC1446D18E/DocE8A0D43832567452FBDEE07AF579E893CATplEcommonScontent.html
Jopp, der ist von Frank Rieger vom Chaos Computer Club. Also eine kompetente Quelle.
-
@earli: erstens mal Danke für den Nachsatz von Dir.
Aber er schreibt doch genau das, daß die Bauer des Angriffsprogramm offensichtlich die genauen Detailpläne besessen haben. Das versuche ich Dir doch schon seit Anfang an zu erklären, daß ein ungezielter Streuangriff völlig sinnlos ist, das funktioniert nur, wenn man genau die E-Pläne kennt und hat.
-
Am Anfang hast du aber noch was anderes geschrieben:
Marc++us schrieb:
Generell halte ich das aber für hanebüchenen Unsinn, daß hier gezielte Attacken ausgeführt werden.
Dass die Attacken gezielt ausgeführt worden sein müssen, hätte man aber auch so wissen können. Man verballert nicht 4 Zero-Day-Exploits, ohne zu wissen, was man in der Zeit zwischen erfolgreichem Knacken und Entdeckung tun soll.
Mein Fehler war, anzunehmen, dass das ganze über das Internet passiert ist. In dem Fall hätte man sich die nötigen Detailkenntnisse noch nachträglich beschaffen können, indem man die Anlage erstmal ausspioniert. Das war offensichtlich falsch, weil der Einstieg über USB-Sticks kam.
-
Marc++us schrieb:
@earli: erstens mal Danke für den Nachsatz von Dir.
Aber er schreibt doch genau das, daß die Bauer des Angriffsprogramm offensichtlich die genauen Detailpläne besessen haben. Das versuche ich Dir doch schon seit Anfang an zu erklären, daß ein ungezielter Streuangriff völlig sinnlos ist, das funktioniert nur, wenn man genau die E-Pläne kennt und hat.
Nein, sie benutzen die Pläne, um zu erkennen, ob sie auf dem richtigen Rechner sind, damit der Virus auf dem falschen Rechner keinen Schaden anrichtet.
-
Ist das nun moderner Krieg ohne Bomben?
Oder gar Terrorismus?
-
Von Winfuture:
Das auf Automatisierungstechnik spezialisierte Unternehmen Langner hat analysiert, wie der Wurm die SPS-Module manipuliert. Demnach schleust er seinen Code bei der Datenübertragung in die SPS ein. Dazu werden die Daten über eine Wrapper-DLL umgeleitet, bevor sie in SIMATIC weiterverarbeitet werden.
Interessant wäre auch zu wissen, wohin Stuxnet evtl. gesammelte Daten sendet ...
-
Wie kommst du darauf, dass Stuxnet Daten versendet oder auch nur sammelt?
-
Hier zur Info noch ein aktueller Artikel der SZ:
-
Morris Szyslak schrieb:
Wie kommst du darauf, dass Stuxnet Daten versendet oder auch nur sammelt?
Logischerweise sollte man doch eine gewisse Rückmeldung über das haben, was Stuxnet so treibt, oder?
Weil, ob nun von Siemens, den Russen oder Amis eingeschleust, stellt sich doch die Frage, was genau bezweckt das Ganze?
1. Verzögerung des Einsatzes einer Anlage:
Werden nur Pumpen und Ventile verstellt und die Anlage abgeschaltet und das zyklisch? Irgendwann kriegen selbst die Iraner mit, dass das Problem aus einer SPS kommt und schalten alles ab. Spielen ein Update auf und fertig. Anlage geht in Betrieb. Problem nach ca. 1a behoben.
2. Fernwartung:
Manipulation und Monitoring der Anlage durch Dritte -> Kommunikation notwendig.
3. Terror, Zerstörung:
Anlage restlos unbrauchbar machen. Ökonomischer Schaden, wirtsch. Rückwurf Irans um 30-40 Jahre.
Kann durch protokollarische Steuerung geschehen oder durch geregelten Eingriff von Außen.
4. Desinformation:
Verwirrung und Heißmachung der Leute. Erzwingen eines bewaffneten Konfliktes über die Medien.
5. Spieltrieb einzelner:
Siemens zeigen, wie scheiße ihr 30 Jahre olles System ist. Dagegen spricht der nötige finanzielle Aufwand.