Datei mit PROFIBUS versenden

Tacker

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ich hätte mal eine Frage zum PROFIBUS. Ich möchte vorher kurz sagen, dass ich in dieser Thematik keine Erfahrungen habe und hoffe, dass einigermaßen Sinn macht und ihr mir weiterhelfen könnt. Und zwar:

Kann eine PROFIBUS-Verbindung wirklich nur einzelne Bits wie Ein-und Ausgangswerte weiterleiten? Wie sieht es aus, wenn sich unabsichtlich eine ganze Datei unter den zu sendenden Daten befindet? Wird diese, abgesehen davon mit weitergeleitet? Bin in diesem Thema noch sehr unerfahren, deswegen fällt mir es schwer mir vorzustellen, was in diesem Fall passieren würde. An sich erwartet der Master ja nur Ein- und Ausgangsdaten. Ich dachte zunächst, dass die Nutzdaten einfach unabhängig von der Übertragungstechnik gesendet werden, egal was der Inhalt ist. Aber wenn der PROFIBUS beispielsweise auf eine SPS geht, kann diese mit einer mitgesendeten Datei doch nichts anfangen. Kontrolliert der Master vor dem Empfangen die Form der Daten und nimmt nur Daten an, die er erwartet?


Vielen Dank schon mal im Voraus! :)
 
Profibus master-slave. Das sind tatsächlich 'nur' bits und bytes und was man sonnst konfiguriert.
Zwischen CPUs, kann eine CPU master sein, und der andere dann slave.
Oder es gibt ein DP/DP-Kopplier zwischen die CPUs. Der DP/DP-Koppler ist Slave für beide master.
Der Master anfordert die Daten von der Slave. In Master und Slave müssen die Daten gleich konfiguriert werden. Ein Slave sendet nie Daten ohne das ein Master die Daten anfordert.

Profibus master-master. Das gibts meines wissens nur in Siemens-Welt.
Zwischen Siemens CPs kann man S7-Verbindungen anlegen, und diese kann über Ethernet oder Profibus passieren.
Über so ein konfigurerte Verbindung kann man mittels PUT/GET oder BSEND/BRECV Daten senden mit einen grössere Fleksibilität als über master-slave.
PUT/GET-wird ausgeführt wenn den aktive CPU PUT oder GET ausführt. Das kann in Prinzip gefährlich sein.
BSEND in eine CPU muss einen dementsprechende BRECV in den anderen CPU haben. Und die Daten landen in den DB das in BRECV programmiert ist. Das ist also sicherer.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Um deine Frage zu beantworten, wenn an einem Profibus eine CPU, 3 IM sowie ein HMI hängen, die ständig Daten austauschen. Kannst du dich mit einem PG dazu stecken und über diesen Bus dann beispielsweise das HMI mit einer neuen Firmware bespielen. Das sind dann auch recht große Dateien, die halt recht lange brauchen, bis die über den Bus genudelt sind. Stört den Master, also die CPU aber nicht dabei, einfach zwischen drin ständig mit den IM weiter seine Daten auszutauschen...

MfG Fabsi
 
Vielen Dank schon mal für die schnellen Antworten! Ich bin mir nicht ganz sicher, ob ich alles richtig verstanden habe und die Antworten richtig anwenden kann und würde deshalb gerne einmal genauer erklären, welche Fragestellung ich hiermit am Ende beantworten wollte. Wie sieht es denn aus, wenn ich Messwerte aus einem Ethernet-Netzwerk in ein PROFIBUS-Netz bringen möchte. Ich habe hier eine SPS zwischen den beiden, die für die Umsetzung zuständig ist. Angenommen in mein Ethernet-Netzwerk hat sich ein Virus in Form einer Exe-Datei eingeschlichen. Die SPS müsste die Umsetzung auf PROFIBUS ja unabhängig vom Inhalt der gesendeten Daten durchführen, also die Messwerte zusammen mit dem Virus. Liege ich da richtig? Werden die Messwerte dann vom Master angefordert, kann dieser dann bemerken, dass es sich nicht nur ausschließlich um die gesendeten Daten handelt? Oder wird der Virus mit weitergeleitet und könnte dann am Ende vielleicht auf einem PG Schaden anrichten?
 
Was du meinst wäre wohl in der Art:
PC -netzwerk- SPS -profibus- SPS -netzwerk- PC

Wenn du jetzt egal was, per TCP/IP-Verbindung zur 1ten SPS überträgst, die das "puffert" und an die 2te weiterleitet und wieder per TCP/IP an den anderen PC weitergibt. Müsstest du erst einmal das was du versenden willst, so in kleine Häppchen verpacken, das du es zu den SPSen senden kannst. Dann auf dem anderen PC wieder zusammensetzen, das es einen Sinn ergibt. Die SPSen hätten dann keinerlei Infos über den Inhalt und könnten damit wohl auch nichts anfangen...

Gibst du den 1ten SPS ständig eine Reihe an Messwerten, die von der SPS als solche interpretiert werden und sie damit arbeiten kann, könntest du hierüber keinen Virus o.ä. übertragen, da die SPSen einen "nicht Messwert" einfach "entsorgen" würden schon bei der Übergabe PC-1teSPS...

Die Variante 1 ist eine absolut unübliche Version um Daten zwischen PCs über SPSen und deren Profibus hinweg zu versenden. Ist nur ein Gedankenspiel für deine Frage...

MfG Fabsi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Fabsi!

Vielen Dank nochmal! Also könnte man praktisch sagen, dass der Virus zwar theoretisch ins Netzwerk gelangen könnte, aber wohl kaum Schaden anrichtet und es somit vor solchen Viren ziemlich sicher ist?
 
NEIN!
Zwar kann die SPS selbst mit dem Virus nichts anfangen bzw. der wird dort verworfen wie oben beschrieben. Aber mit Hilfe des PC, der mit der SPS kommuniziert, kann der Virus natürlich fast beliebigen Schaden anrichten, wenn dafür geschrieben wurde. Siehe StuxNet.
Er könnte über den PG-Zugang z.B. Code auf die SPS einschleusen oder Variablen beschreiben.
 
Ja, stimmt. Aber ein Virus, der nicht es nicht auf ein solches Netzwerk abgesehen hat, sondern beispielsweise ein solcher ist, der private Computer angreifen will und nur zufällig dort hingelangt, wird von der SPS verworfen und kann keinen Schaden anrichten? Habe ich das soweit richtig verstanden?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Profibus ist ein Feldbus mit völlig anderen Protokollen als ein Computer-Netzwerk. Profibus-Schnittstellen verstehen keine Protokolle zum Datei-Übertragen. Technisch ist es aber möglich, Dateien mit Profibus-kompatiblen Protokollen (z.B. S7-Kommunikation) zu "tunneln" und durch S7-CPU geroutet zu Computern (z.B. HMI) zu senden. Für einen Virus wäre die Implementation der Protokolle aber vieeel zu aufwendig und zu teuer, sowas machen nur sehr finanzkräftige Organisationen. Und auch die implementieren (bisher) nicht die Protokolle sondern infizieren das PLC/HMI-Entwicklungssystem auf einem PC um es als Virenverbreiter zu nutzen. Praktisch besteht für Deine Anlage und Deine PCs da wohl keine Gefahr - es sei denn, Ihr legt Euch mit den USA an ...

PS: so ein einfacher Virus für "private Computer" gelangt nicht zufällig auf SPS oder durch SPS, er weiß schon gar nicht wie er mit der SPS kommunizieren soll, damit die als Daten getarnten Programmcode entgegennimmt und den Code dann auch noch ausführt.

Harald
 
Zuletzt bearbeitet:
@Tacker: Also immer schön den Virus fragen, was er vorhat!

Prinzipiell ist schon richtig, was Harald schreibt. Ein auf PC spezialisierter Virus wird einer SPS nicht schaden (können).

Aber es sollte keine allzu schwierige Aufgabe sein, einem Virus einen Schadteil mitzugeben, der das Netzwerk auf den S7-Port checkt und dann z.B. die MB0..100 mit Nullen oder den OB1 mit einem leeren OB überschreibt bzw. eben alles, was man vom PG aus tun kann.
Und die PG-Kommunikation wird ja, so glaube ich, wenn alles in NetPro richtig konfiguriert ist, stets geroutet, auch zwischen Netzwerk und Profibus. Damit wären m.M.n. auch SPS, die keinen eigenen Netzwerkzugang haben angreifbar.
Sicher ist das theoretisch aber eben realisierbar.
Auch deswegen macht es Sinn, Produktiv- und Büronetzwerke zu trennen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@PN/DP mir ist noch eine kurze Frage dazu eingefallen. Wenn die Umsetzung von Ethernet auf Profibus für ein Virus ein Problem darstellt, warum funktioniert das dann aber mit den Messwerten? Liegt das daran, dass diese einen anderen Datenaufbau besitzen, also vielleicht auch einfach nicht so viele Daten sind wie bei einem Virus oder was ist der Grund dafür?
 
Wenn die Umsetzung von Ethernet auf Profibus für ein Virus ein Problem darstellt, warum funktioniert das dann aber mit den Messwerten?
:confused: Wie meinst Du das? Wie kommen Meßwerte vom Ethernet in den Profibus?
Daten und Virus-Programmcode sind einfach nur Bitmuster, wo im Protokoll vereinbart ist, was die Bitmuster bedeuten/wie sie interpretiert werden sollen. Auf dem Profibus fragt ein Master eine andere Station ab: sende mir mal die 20 Bytes Daten die wir vereinbart hatten, oder die als Antwort auf die azyklische Anfrage im Protokoll vereinbart sind. Der Master wird die empfangenen 20 Bytes als Daten interpretieren, auch wenn es in Wirklichkeit Virus-Code wäre - dann sind die Daten halt in nicht erwarteten Wertebereichen. Der Master kommt aber nicht auf die Idee, manipulierten Datenstrom als ausführbaren Code zu interpretieren - dazu muß er erst durch ein besonderes Protokoll "überzeugt" werden, welches der Virus erzeugen müsste.

Harald
 
Die Menge der Daten ist dafür recht egal.

Also erstmal grundsätzlich: Alles was irgendwie über Netzwerke egal ob Ethernet oder Profibus an Daten übertragen wird, wird dazu immer irgendwie verpackt, je nach Protokoll auch mehrfach. Ethernet und die dem Profibus zugrunde liegende RS485-Kommunikation können verschiedene Protokolle fahren, u.a. eben Protokolle zur IO-Datenübertragung (ProfiNet/ProfiBus) und auch die Kommunikation, über die u.a. über die ein Programmiergerät auf die SPS zugreift.
Während der reine IO-Datenverkehr in der SPS endet (vom ProfiNet/ProfiBus aus gesehen), routet die SPS die Datenpakete des Programmiergerätes zwischen Ethernet und Profibus, prinzipiell auch mehrfach. Auf diese Weise ist es, wenn in NetPro richtig konfiguriert, prinzipiell möglich, sich mit einem PG über mehrere SPSen und Bussysteme bis zum Zielsystem "durchzuhangeln".

Bekannterweise kann ein PG ja sämtliche Variablen und Programmteile in einer SPS manipulieren und die Programmierschnittstelle für eine S7-SPS ist kein Geheimnis, was ja die Vielzahl an Drittanbietertools zeigt.
Auf diese Weise kann prinzipiell jeder PC, auf dem das entsprechende Protokoll installiert ist (z.B. durch die Installation von Step7), zu einer Gefahr werden. Jede Software auf diesem PC hat die prinzipielle Möglichkeit auf allen erreichbaren SPSen Unheil zu stiften, z.B. durch Überschreiben von Variablen oder Programmteilen.

Richtig ist allerdings, daß ein "normaler" Windowsvirus dies nicht kann, sondern seine Schadroutine speziell dafür programmiert sein muß.

Es gibt allerdings noch einfachere Varianten, eine ProfiNet-Kommunikation abzuschießen: doppelte IP oder Netzwerknamen, oder einfach das Netzwerk "fluten" bis die Kommunikation zusammenbricht. Auch die Wartung eines Switches durch die IT-Abteilung kann sehr "lustige" Ergebnisse haben.
 
Vielen Dank an euch beide für die schnellen Antworten!

Also würde ein "normaler" Virus auch über den Profibus, genauso wie die Messwerte, in das Netz gelangen, könnte dort aber keinen Schaden anrichten, weil er nicht für dieses Protokoll entwickelt wurde. Habe ich das so richtig verstanden?
 
weil er nicht für dieses Protokoll entwickelt wurde.

Protokoll/Übertragungsweg/Wirtsystem sind alles Faktoren die für die Funktion eines "Computervirus" oder anderer Schadsoftware wichtig sind.

3 Rechner mit je 2 Netzwerkkarten:
Internet - PC1-Windows - Netzwerkleitung - PC2-Linux - Netzwerkleitung - PC3-ApfelOS

Ein Virus, der für Windows und ApfelOS geschrieben wurde und hier über das "Internet" eindringt, würde es nicht zu dem Apfel schaffen, weil der Linux-Host mit dem Müll einfach nix anfangen kann und den "Virus" dann ignoriert.

Ein Virus oder eine andere Art Schadprogramm kann immer nur das, was der Programmierer ihm aufgetragen hat. Hat dieser ihm aufgetragen von einem Windows-Rechner alle erreichbaren Siemens-CPUs zu killen, dann hast du Stuxnet (gaaanz kurz gefasst)

MfG Fabsi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann hätte ich noch eine (vermutlich letzte) Frage dazu: Wäre es denn dann möglich, einen Virus zu entwickeln, der das PG-Protokoll nutzt, und diesen dann über die Ethernetanbindung einzuschleusen oder muss ich dafür direkt ein PG an das Profibusnetz anschließen bzw. den Virus direkt auf ein solches PG im Netz spielen?
 
Hallo nochmal!

Ich wollte das alles eben nochmal für mich nochmal zusammenfassen und mir ist eine Sache doch noch nicht ganz klar :confused: Wenn jetzt mal angenommen ein herkömmlicher Virus auf die SPS, die die Umsetzung von Ethernet auf PROFIBUS durchführt, über Ethernet gelangt, wird dieser wie die Messwerte auf PROFIBUS umgesetzt oder ist das alleine schon nicht möglich, da er nicht die selbe Form der Messwerte besitzt und somit an dieser Stelle schon verworfen wird? Oder wird er zwar umgesetzt, aber kann dann von der Master-SPS nicht interpretiert werden und wird hier erst verworfen?

Ich danke euch allen echt für die vielen Antworten und für die Unterstützung!
 
Zurück
Oben