ICSS testbed with ft / Angriffe mit ft simulieren

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 18 Jul 2024, 01:19

Hallo,

ich habe das Simulationsmodell 536629 Factory mit 4 TXT-Controllern. Es läuft zur Zeit auf ROBOPro Trainingsprogrammen von fischertechnik. Ich bin neu in ICSS und würde gerne wissen, ob man mit diesem Setup Cyber-Attacken wie Replay-Attacken oder die Möglichkeit, falsche Daten an die TXT-Controller zu senden, während die Fabrik läuft, simulieren kann. Ich bin nicht sehr vertraut mit blockbasierter Programmierung, und nach meinem Verständnis scheinen die ROBOPro-Programme in sich geschlossen zu sein, und es scheint unwahrscheinlich, dass sie Befehle von außen empfangen oder Daten senden können, die abgefangen werden sollen? Bitte korrigieren Sie mich, wenn ich falsch liege.

Ich habe einige andere Arbeiten gelesen, die fischertechnik Modelle als ICS Testbeds verwendet haben, aber sie haben andere Zusätze wie PLCs, IOs, Rasberry Pis etc

(https://arxiv.org/pdf/1910.00303).
(Anmerkung von ModeratorRalf: Dieser Link ist OK. VG, Ralf)

Hat jemand Erfahrungen mit einem solchen Modell gemacht? Welche Art von Ressourcen sollte ich mir ansehen?

Danke!
======================
Hello,

I have the 536629 Factory simulation model with 5 TXT controllers. It is currently running on training ROBOPro programs from fischertechnik. I am new to ICSS and would like to know if this setup can be used to simulate cyber attacks such as replay attacks or the ability to send false data to the TXT controllers while the factory is running. I am not very familiar with block based programming, and from my understanding the ROBOPro programs seem to be self-contained, and it seems unlikely that they can receive commands from outside or send out data to be captured? Please correct me if I am wrong.

I have read some other papers that have used fischertechnik models as ICS testbeds, but they have other additions such as PLCs, IOs, Rasberry Pis etc

(https://arxiv.org/pdf/1910.00303).
(ModeratorRalf: This link is OK. Kind regards, Ralf)

Has anyone had any experience with such a model? What kind of resources should I be looking at?
Zuletzt geändert von beepere am 19 Jul 2024, 22:37, insgesamt 1-mal geändert.

Benutzeravatar
fishfriend
Beiträge: 2218
Registriert: 26 Nov 2010, 11:45

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von fishfriend » 18 Jul 2024, 15:13

Hallo...
"Letztens" (ca 3..6... ? Monate her) gab es genau dazu einen Bericht im Fernsehn dazu, wo witzigerweise ein fischertechnik Modell (nicht die Fabrik) genommen wurde.
Ich meine da hatten wir auch was hiem im Forum dazu.
Ich würde daruf tippen, das Netzwerk wo die Anlage drinn ist, ist "leichter" angreifbar.
Die Cloud wurde mal ganz zu Anfang von der Zeitschrift ct bemängelt. Das wurde aber (schon vor erscheien der Zeitschrift) geändert. (Meines Wissens)
Was wohl schnell geht ist einen Time-Out zu erzeugen.
Mit den anderen Techniken hab ich keine Ahnung.
Theoretisch, denke ich, sollte eine Replay-Attacke funktionieren. Ich hab aber keine Ahnung welche Daten genau ausgetauscht werden.
Da der TXT mehrere Kanäle für die Kommunikation benutzt, "könnte" man schon von außen darauf zugreifen.
BTW Das ist, soweit ich das mitbekommen habe, beim TXT 4.0 nicht mehr möglich.
Aber wie genau - keine Ahnung.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 18 Jul 2024, 17:35

@fishfriend

Vielen Dank für Ihre Antwort! Ich werde mir das mal ansehen, vielleicht finde ich ja noch mehr Informationen. Wissen Sie, in welchem Bereich des Forums das sein könnte?

Ich habe versucht, einige Wireshark-Daten über die USB-Verbindung zum TXT zu erfassen, vielleicht kann ich dort etwas finden, das ich angreifen kann.

Ich habe die älteren TXT-Modelle, vielleicht gibt es also noch Hoffnung!

Danke!

Benutzeravatar
fishfriend
Beiträge: 2218
Registriert: 26 Nov 2010, 11:45

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von fishfriend » 18 Jul 2024, 18:55

Hallo...
OK, jetzt weiss ich auch warum ich mich daran erinnern konnte. Ich hatte den Hinweis gegeben:
viewtopic.php?f=4&t=8026&p=62342&hilit=angriff#p62342
Ich gebe zu ,es ist doch schon länger her. Interessanterweise ist der Beitrag noch Online ansehbar bei Arte.
Zumindes kann man mal die Jungs in dem Labor fragen. Das sollte es noch geben.
Die haben allerdings SPS genommen.
Wie man allerdings "das" auf einen TXT umschreibt - keine Ahnung.
Es ist aber schon doch ICSS - zumindes was ich darunter verstehe.

Es ist die Frage, "ob" man über MQTT Werte eines anderen TXT ändern "könnte". Wozu auch immer.
Im Grunde ist es sinnlos, weil ja z.B. die Temperatur in einem gewissen Zeitraum regelmäßig gesendet/abgerufen werden.
Man könnte nur die Kommunikation stören oder durch veränderte Werte stören.
Wobei man dann mit einem Aufrüsten beginnt, da ja z.B. einfach ein zweites Datum gesendet werden kann oder zwei, drei parallel Werte. So würde der einzelne falsche Wert nicht stören.
Adererseit kann sich die Raumtemperatur nicht um 5° in 1 Minute ändern.

Ich denke, wenn man "Blödsinn" auf der ft-Cloud machen sollte, dürfte man wohl gesperrt werden.
Wenn man das zu Testzewcken machen möchte, würde ich vorher mal mit ft kontakt aufnehmen.
Ach würde ich das nur
Ich denke, das da außer der TXT ID noch mehr übertragen wird und dann noch ob verschlüsselt oder nicht.
Ist hat die Frage ob man mit Wireshark diese Daten lebarmachen kann oder man doch mehr dazu braucht.
Irgendwo gab ea mal was für die Fritzbox um auch soetwas mitzuschneiden. Hatte aber den Haken, das da gigantisch viele Daten entstanden. Ich hatte das damals auch mal ausprobiert.
Kann ja sein, dass die heutigen Tools das besser hinbekommen.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 18 Jul 2024, 22:58

Vielen Dank für die Hinweise, ich werde mich weiter damit befassen und es ft wissen lassen, wenn ich etwas herausfinde, bevor ich es versuche. Dies ist nur ein Experiment zum Spaß und zum Testen.

Ich bin ein wenig verwirrt über die ft-cloud, ich habe eine meiner TXT-Steuerungen (die HRL) als Cloud-Rolle und sie ist erfolgreich mit der ft-cloud verbunden, aber wenn ich die Maschinen laufen lasse, wird die ft-cloud nie mit dem Bestand/Verarbeitung aktualisiert. Ich nahm an, dass die ft-cloud als HMI für die Fabrik arbeiten sollte. Der TXT und der Laptop, den ich für die ft-cloud verwende, befinden sich beide im selben WI-FI-Netzwerk. Gibt es etwas, das ich übersehe?

Ich könnte mir vorstellen, dass ich die Daten, die der TXT an die ft-cloud sendet, abgreifen kann.

Benutzeravatar
fishfriend
Beiträge: 2218
Registriert: 26 Nov 2010, 11:45

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von fishfriend » 19 Jul 2024, 18:08

Hallo...
Wobei ich mir die Frage stelle, ob er überhaupt was sendet.
Wenn man einen Zugriff auf die Cloud hat und da nicht ankommt, muss es das senden sein.
Falsche Adresse? TXT Nummer richtig, Schreibweise...
Ich gebe zu, es ist schon ziemlich was her, das ich mir die Programme angeschaut habe.
Hmm, war das nicht so, dass ein -anderer- TXT das Senden übernommen hatte? So über einen TP Router...
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 19 Jul 2024, 18:38

Der TXT-Controller bestätigt eine Verbindung zur Cloud. Könnten Sie das mit der falschen Adresse näher erläutern? Ich dachte nicht, dass der Name des TXT eine Rolle spielt, da er den Pairing-Code enthält.

Ja, bei der neueren Version des Modells gibt es einen Nano-Router, aber ich habe keinen, aber ich kann einen bekommen und könnte ihn dem Modell hinzufügen.

beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 19 Jul 2024, 19:49

Ist es möglich, eine Verbindung zur ft-cloud über den TXT herzustellen, ohne den TP-Link des Nano-Routers zu haben? Die TXT's haben MQTT und Cloud-Rollen zur Verfügung zu verwenden, aber eine Menge der Dokumentation, die ich an Referenz der TP-Link suchen.

Die Einrichtung der TXT für dieses Fabrikmodell: HRL(master) + VGR(extension), Sorting line und MPO(master+extension). Insgesamt 5 TXTs.

vleeuwen
Beiträge: 1609
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von vleeuwen » 20 Jul 2024, 00:08

The TXT's are running in a locale network.
The Mosquitto broker takes care of the connection with the WLAN, it is using a bridge.
The only connection with the WLAN is done with the MQTT bridge (a port).
See the Mosquitto configuration file settings for the security that is available.
The Mosquito MQTT implementation is free but there exists more MQTT brokers.
For example: https://cedalo.com/mqtt-broker-pro-mosquitto/

See also: https://www.hivemq.com/blog/mqtt-broker ... plication/
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Benutzeravatar
fishfriend
Beiträge: 2218
Registriert: 26 Nov 2010, 11:45

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von fishfriend » 20 Jul 2024, 20:30

Hallo...
Ich bin da, glaube ich, der falsche Ansprechpartner, da es ein paar Leute gibt, die da wesentlich mehr Ahnung davon haben.
Es ist schon etwas her, wo ich mich damit beschäftigt habe. Ich kann da auch total falsch liegen.
So wie ich das sehe, muss man den TXT in der Cloud anmelden. Da hat man unter der TXT ID dann Unterverzeichnisse, wo die Werte abgelegt werden.
Ich vermute aber, das parallel dazu es noch weitere SIcherheitsparameter gibt. Was auch immer, wie auch immer das gemacht wird.
Sonst ist es ja wie ein ungeschützter USB Stick, wo man die Daten speichert. Nur das der über eine www Adresse angesprochen wird.
Ich denke auch, das z,B die Menge der Daten, irgendwo begrenzt. Sonst könnte man ja seine ganzen DVDs darauf rippen.
Ich bin mir auch nicht sicher was genau die CT damals bemängelte.

Wenn der TXT eine Verbindung hat, heist es ja nicht, das auch der Datenverkehr dann läuft. Es kann ja sein, das es einen Schreibfehler gibt und die DNS schlicht die Adresse nicht findet. Der TXT sendet dann ins leere. So meine Vermutung.
Man "könnte" das auch testen. Ich gebe aber zu, dass ich das momentan selber nicht hinbekomme.
Ich stelle mir das als eigenes Unterprogramm vor, was parallel zum Haupprogramm, einfach eine Zahl überträgt und dann wieder ließt und halt ausgibt.
Wie gesagt ich kann auch völlig falsch liegen.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

vleeuwen
Beiträge: 1609
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von vleeuwen » 21 Jul 2024, 17:55

General addition to both 9v TXT factories:
It is easily possible to run the entire 9V TXT training factory industry 4.0 (9v with C++ and MQTT on TXTs) in a local network.
In that case, the MQTT dashboard will run on a local laptop device with NodeRed on it.
Hints:
Remove the .cloud extension from TxtFactoryMain.cloud.
This extension causes the TXT to choose a different Mosquitto.config and is otherwise a normal C++ binary.
If necessary, adjust the Mosquitto.config (as root).
The Dahboard program can be found under NodeRed, see:
https://github.com/fischertechnik/txt_t ... ree/master

The original 9V TXT factory with RoboPro program does not use MQTT and has no other communication via the internet. However, with the help of an SLI (extension for RoboPro written in C++), MQTT functionality can be added to the RoboPro program.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 22 Jul 2024, 21:05

Okay, i'll try the SLI and MQTT route for connecting the TXTs! Thank you so much for the hints/resources!

vleeuwen
Beiträge: 1609
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von vleeuwen » 30 Jul 2024, 00:49

The original 9V factory with TXT's is using shared sensor outputs (IO-ports) to signal to the warehouse that the color selector unit has a product with a certain color available at one of the 3 output lanes of the color selector.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 30 Jul 2024, 16:04

One of the TXTs has the ft-txt-bridge-cloud.conf file in the mosquitto directory. Will it be able to receive the outputs of the other TXTs, like MPO and color sorter machines? Or do I have to make a MQTT bridge between all of them? The topics seem to cover everything and I assume it can, just want to be sure. Using Node-Red dashboard.

Do I need to set the other TXT's to the MQTT Broker Role? or are they fine as the Master/Extension roles they are already in.

===============

Eine der TXTs hat die Datei ft-txt-bridge-cloud.conf im mosquitto-Verzeichnis. Wird sie in der Lage sein, die Ausgaben der anderen TXTs, wie MPO und Farbsortiermaschinen, zu empfangen? Oder muss ich eine MQTT-Brücke zwischen all diesen Geräten einrichten? Die Themen scheinen alles abzudecken, und ich gehe davon aus, dass dies möglich ist, ich möchte nur sicher sein. Ich verwende Node-Red Dashboard.

Muss ich die anderen TXTs auf die MQTT-Broker-Rolle einstellen? Oder geht es ihnen gut, da sie bereits die Master-/Erweiterungsrollen innehaben?

topic i/# both 1 "" prefix_mqtt_remote_broker/
topic o/# both 1 "" prefix_mqtt_remote_broker/
topic c/# both 1 "" prefix_mqtt_remote_broker/
topic f/# both 1 "" prefix_mqtt_remote_broker/

beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 30 Jul 2024, 19:03

vleeuwen hat geschrieben:
30 Jul 2024, 00:49
The original 9V factory with TXT's is using shared sensor outputs (IO-ports) to signal to the warehouse that the color selector unit has a product with a certain color available at one of the 3 output lanes of the color selector.
Can I control (subscribe/publish) to individual I/O ports from node-red dashboard?

https://github.com/fischertechnik/txt_t ... mentTXT.md
https://github.com/fischertechnik/txt_t ... terface.md

vleeuwen
Beiträge: 1609
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von vleeuwen » 04 Aug 2024, 01:26

@beepere,
How good is your knowledge and experience with MQTT?
The original 9V factory with TXT's is using shared sensor outputs and not MQTT.

You can only subscribe to MQTT topics.
You can develop drivers (MQTT-clients) for IO-ports and other hardware which are decoding and converting MQTT messages to/from the IO-port.
However MQTT message are asynchronous. Normally there is a local closed control loop as black box and the MQTT messages controlling these black boxes.

Example of a black box is for example: the "encoder motor system"

Node Red in relation with MQTT is sending and receiving MQTT-messages; every Node-Red MQTT publish or subscribe element is a MQTT-client.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

beepere
Beiträge: 17
Registriert: 27 Jun 2024, 23:59

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von beepere » 05 Aug 2024, 23:03

vleeuwen hat geschrieben:
04 Aug 2024, 01:26
@beepere,
How good is your knowledge and experience with MQTT?
The original 9V factory with TXT's is using shared sensor outputs and not MQTT.

You can only subscribe to MQTT topics.
You can develop drivers (MQTT-clients) for IO-ports and other hardware which are decoding and converting MQTT messages to/from the IO-port.
However MQTT message are asynchronous. Normally there is a local closed control loop as black box and the MQTT messages controlling these black boxes.

Example of a black box is for example: the "encoder motor system"

Node Red in relation with MQTT is sending and receiving MQTT-messages; every Node-Red MQTT publish or subscribe element is a MQTT-client.
My experience with it is not very good but I have been reading up on it.

I have looked at examples using Mosquitto and a laptop as the client and connecting to the node-red dashboard.

vleeuwen
Beiträge: 1609
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: ICSS testbed with ft / Angriffe mit ft simulieren

Beitrag von vleeuwen » 06 Aug 2024, 00:46

The laptop is not a MQTT-client.
An application can be a MQTT-client. On a laptop you can have on or more MQTT clients running.
The MQTT client's can be running on the same laptop as the MQTT-broker.

In the installation map of Mosquitto: \Program Files\mosquitto\ you will find two nice client application:
-) mosquitto_sub.exe (MQTT client subscriber)
-) mosquitto_pub.exe (MQTT-client publisher)

You can open them in different CMD-boxes, also multiple client's each in its own cmd-box
With these you can do a lot of tests and experiments

You can also start the mosquitto.exe (broker) in a cmd-box. Then you can see the login
(mosquitto -v -c "I:\Program Files\mosquitto\mosquitto.conf")
See the MQTT help for all the available parameters.

For programming languages like: C++, C#, Python exists MQTT client libraries. So for testing you can write your own simple MQTT-clients

Node.red is a web development application, the dashboard is a GUI node-red add on.
You don't need a dashboard to work with Node-red.
software enigineer/teacher/advisor
Google translate
http://tescaweb.nl/Carel/?p=713

Antworten