Verstädnisfragen zu PROFIBUS

Zuviel Werbung?
-> Hier kostenlos registrieren
Ich will ja jetzt nicht unnötig reintrollen und den TE anzipf'n aber mir fällt gerade bei so "Heimprojekten" immer wieder ein ähnlicher Mechanismus auf. Wann immer eine Software daran scheitert das zu leisten was sie leisten soll erklärt man einfach:

Außerdem ist ein weiterer großer Vorteil meiner Software, dass sie extrem leicht zu erweitern sein wird, was eventuellen Anwendern später die Wahl lässt, selbst statistische Module für das System zu schreiben und ala Plug and Play sofort zu erweitern

und hofft darauf dass irgendjemand seine eigene Baustelle fertig baut. So als wäre es die größere Herausforderung einen Programmrumpf zu schaffen der dann die "Technologiemodule" aufnimmt.

Das ist keine Kritik an dir sondern ich denke dass deine obskure Aufgabenstellung weit weit über die Möglichkeiten eines BA's hinausgeht und daher von Anfang an zum Scheitern verurteilt ist. Ich meine je nach dem was dein Schwerpunkt ist wäre es doch viel gewinnbringender für alle Beteiligten etwas zu machen was beherrschbar ist und dennoch wichtige Aspekte der Ausbildung beinhaltet wie z.B. einen einfachen PB Master (oder Slave) zu schreiben oder einen einfachen PB Analysator zu machen. Da hast du auch alle Themen eines Bussystems und einen praktischen Teil auch drinnen.

Ich denke das Problem bei vielen BAs ist, dass man als Student/Betreuer/Studieneinrichtung gerne etwas Besonderes schaffen möchte (um sein eigene Reputation an hochtrabenden PP Präsentationen zu pushen) um im Endeffekt oftmals grandios daran scheitert anstatt einfach sich auf was konzentriert was sinnvoll und machbar ist. Dieses Thema das du da beschreibst kann sicher für einen Dissertanten ein interessantes Gebiet sein auf dem man forscht (wobei ich die Sinnhaftigkeit auch da nicht ganz sehe, aber das heißt ja nicht viel) aber für eine BA? Was lernt man als Student dabei? Mach halt irgendwas, hauptsache du kannst es danach schönargumentieren? Das Arbeitsergebnis ist egal hauptsache du präsentierst es gut? Der Prozess ist wichtiger als das Ergebnis?

Ich verstehe es echt nicht...
 
Hi,

wie immer zuerst danke für alle Antworten!

@ChristophD: Nein du verstehst das nicht falsch, abgesehen davon, dass ich als Bachelorarbeit wohl kaum ein fertiges (also marktreifes) Tool entwickeln kann ;)

Zum Thema:
Ich denke, ich habe meine Gedanken noch nicht ausreichend erläutert. Dass ein Angriff mehr Traffic erzeugt oder Geräte direkt abschaltet (was euch zufolge ja sofort bemerkt würde) ist auch nur ein Aspekt auf den man den Datenverkehr prüfen könnte (also zu prüfen, ob die Gesamtzahl an Bytes in einem Zeitraum von x Minuten um mehr als y Prozent abweicht oder ob plötzlich bestimmte Adressen nicht mehr angesprochen werden...).
Wenn ich tief genug in das Protokoll hineingehe das an einer bestimmten Stelle verwendet wird, kann ich ja auch beobachten, welche Werte als PARAMETER für andere Geräte übergeben werden.

Ein Beispiel: Beobachte die Stellgrößen für die Geräte X1 .. X5. Dann hätte man folgende Beobachtungsdaten (die später auch beliebig variiert werden können):
1. ( 17, 34, 21, 9, 19) Gerät X1 hat den Wert 17, Gerät X2 den Wert 34, etc.
2. ( 15, 33, 20 ,10 ,22) ...
3. ( 16, 30, 22, 12, 20) ...
...
Da die Daten nun unmittelbar von den Übergebenen Werten an Slaves abhängen könnte sogar ein Stuxnet Angriff damit (natürlich nur in der Theorie) aufgedeckt werden.
Genau darauf liegt ja auch mein Fokus, dem statistischen Analysieren von bereits vorhandenen Daten. Ich mache das quasi extra, noch Methoden zur Datenbeschaffung und Aufbereitung zu stellen.
Selber für jede Art von PROFIBUS Version die den verschiedensten Anlagen unterschiedlich eingesetzt wird einen Parser zu schreiben ist hier nicht meine Aufgabe, jedoch erlaubt mein System später einem Benutzer diese Funktionalität maximal einfach selbst mit einzubringen.

Liebe Grüße,
Alex
 
Ich denke das Problem bei vielen BAs ist, dass man als Student/Betreuer/Studieneinrichtung gerne etwas Besonderes schaffen möchte (um sein eigene Reputation an hochtrabenden PP Präsentationen zu pushen) um im Endeffekt oftmals grandios daran scheitert anstatt einfach sich auf was konzentriert was sinnvoll und machbar ist. Dieses Thema das du da beschreibst kann sicher für einen Dissertanten ein interessantes Gebiet sein auf dem man forscht (wobei ich die Sinnhaftigkeit auch da nicht ganz sehe, aber das heißt ja nicht viel) aber für eine BA? Was lernt man als Student dabei? Mach halt irgendwas, hauptsache du kannst es danach schönargumentieren? Das Arbeitsergebnis ist egal hauptsache du präsentierst es gut? Der Prozess ist wichtiger als das Ergebnis?

Ich verstehe es echt nicht...

Jo, wie ich es verstehe, hört sich das für mich auch eher nach einer Dissertation an!

Aber Forschung an sich ist ja erstmal nichts schlimmes, nur selten kommt leider was verwendbares dabei heraus...

Wie funktioniert das heute? Ne Uni oder Firma denkt sich ein Forschungsthema aus und beantragt Forschungsgelder. Darüber werden dann BAs oder was auch immer bezahlt. Wenn was rauskommt ist gut, wenn nicht ist auch egal...
Statistik ist seit einiger Zeit ein Modethema. Es wird versucht, sie für alles Mögliche einzusetzten.

Ich war vor einiger Zeit mal an nem Forschungsthema beteiligt bei dem mittels Statistik eine Diagnose von Automatisierungsanlagen durchgeführt werden sollte. Also man nimmt die Archivdaten einer Anlage lässt die offline durch nen "statistischen Algorithmus" laufen und erzeugt daraus nen Algorithmus welcher ONline die Anlage beobachtet und bei Fehlern "Alarm" schlägt. (das ganze war übrigens ne Dissertation von nem Kollegen)

Hier im Forum laufen aber so viele Praktiker herum, die sich an mehr als 10 Finger abzählen können, warum sowas in der Praxis nur sehr schwer einzusetzen ist. Dem Forschungsprojekt ist das aber egal. Irgendjemand sagte mal zu mir, nur jedes 10. Forschungsprojekt schafft es in die Praxis. Und wieviele davon sinnvoll sind, steht nochmal auf nem anderen Blatt.

@TE: lass Dich nicht entmutigen und mach das beste draus. Für die BA-Arbeit ist nicht entscheidend, obs funktioniert, sondern wie Du die "These" untersucht hast und wie Dus un der Arbeit formuliert hast.

Gruß.
 
Hi,

und wer sagt Dir das die Werte immer im gleichen Muster , immer konstant in der gleichen Sequenz ablaufen?
Ne Ne wir sprechen hier von Regelkreisen, sprich da werden aufgrund der gsamten Maschinenabläufe die unterschedlichsten Werte zu unterschiedlichen Zeiten an die unterschiedlichsten Slaves verschickt.
Das ist doch kein binäres System was da nur ein und aus hin und her schubst.
Das einzige wo du mit dem Erfolg hast was du vorhast ist ein Laboraufbau wo genau definierte Werte zu genau definierten Zeiten zu genau definierten Empfängern von genau definierten Sendern laufen und das kannst dann überwachen.
Aber das hat nicht wirklich einen Sinn, solch eine Anlage gibt es quasi nicht!

Dann kommt noch hinzu das quasi jeder Hersteller auch gerne seine eigene Suppe kocht was die Daten in den Telegrammen angeht, sprich was sind die relevanten Daten zur Ansteuerung, Sollwerte, Freigaben etc.
Da darfst du dann für jeden Slave eine Telegrammschablone nehmen und individuell auf die Anlage anpassen.

Gruß
Christoph
 
Zuletzt bearbeitet:
2.) Wie willst du feststellen ob ein Sollwert bösartig geändert wurde oder gutartig?

Der Statistik ist das egal. Man schaut sich halt die Vergangenheit an und entwickelt daraus einen mehr oder weniger guten Online-Beobachter. Wie gut oder schlecht das funktioniert hängt vom verwendeten Algorithmus und von den Archivdaten ab. Wenn sich die i.O. Archivdaten signifikant von den manipulierten Onlinedaten unterscheiden funktionierts. Ansonsten nicht. Nebenbei erzeugen die Algorithmen auch keine 100%ige Erkennungsraten, sondern auch nur eine Erkennungswahrscheinlichkeit. Statistik halt ;)

Gruß.
 
Wenn ich tief genug in das Protokoll hineingehe das an einer bestimmten Stelle verwendet wird, kann ich ja auch beobachten, welche Werte als PARAMETER für andere Geräte übergeben werden.

Ein Beispiel: Beobachte die Stellgrößen für die Geräte X1 .. X5. Dann hätte man folgende Beobachtungsdaten (die später auch beliebig variiert werden können):
1. ( 17, 34, 21, 9, 19) Gerät X1 hat den Wert 17, Gerät X2 den Wert 34, etc.
2. ( 15, 33, 20 ,10 ,22) ...
3. ( 16, 30, 22, 12, 20) ...
...
Da die Daten nun unmittelbar von den Übergebenen Werten an Slaves abhängen könnte sogar ein Stuxnet Angriff damit (natürlich nur in der Theorie) aufgedeckt werden.

In die Profibusdiagnose noch zusätzlich eine Prozessdiagnose einzubauen finde ich allerdings sportlich ;)

Wieviele Bytes an Nutzdaten können eigentlich maximal pro Zyklus im PB übertragen werden? Jedenfalls viele. Die in Echtzeit statistisch zu analysieren ist vermutlich ebenfalls sportlich.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Der Statistik ist das egal.

Das heißt jedes Mal wenn du einen Button drückst bekommst du einen Alarm! Außer du bemühst dich und drückst den Button nur jeden Tag um 07:43. . Also ich bin mir recht gut darüber im Klaren was Statistik leisten kann aber das kann nicht funktionieren (= einigermaßen verläßlich bösartige Änderungen erkennen und gutartige ignorieren)

Ode rlass mich mal folgenes Szenario bemühen: Nehmen wir mal an dein heuristischer Superalgorithmus kann das alles. Wie lange braucht er um verlässliche Aussagen treffen zu können. An den Stellgrößen der Anlagen die ich kenne sind fast immer klimatische Elemente in irgendeiner Art und Weise beteiligt. Also braucht er ein Jahr (plusminus) zum lernen. Oder lassen wir das mal weg und sagen optimistisch 3 Monate Daten reichen aus. Das heißt nach jeder Programmänderung, Rezeptänderung, Änderung des Materialeingangs, der Chargengröße, des Produktes usw... funktioniert er 3 Monate schlechter als sonst? Bei wie vielen Anlagen habe ich den Fall dass all diese Komponenten stets gleich bleiben?
Mal abgesehen davon dass dieser "Teaching Modus" auch wieder ein Einfallstor für den Virus ist, denn wenn er böse ist aktiviert er diesen ganz einfach.
 
@ NRNT Dass das alles gut funktioniert hab ich ja nicht behauptet ;) Dazu bin ich zu viel Praktiker um die gleichen "Probleme" zu sehen wie Du. Das hindert aber die Theoretiker nicht, Forschungsanträge zu stellen. Und Statistik ist da grad IN. Und irgendjemand muss es dann bearbeiten. ;)

Gruß.
 
...und hofft darauf dass irgendjemand seine eigene Baustelle fertig baut. So als wäre es die größere Herausforderung einen Programmrumpf zu schaffen der dann die "Technologiemodule" aufnimmt.
Nunja, sobald man im Zuge einer Abschlussarbeit auch ein Stück Software entwickeln muss, muss man sich auch immer überlegen in wie weit diese einsetzbar sein soll (abgesehen davon, dass man sich natürlich zuerst Gedanken darber machen sollte, WAS die Software eigentlich leisten soll). Nun habe ich mich entschieden, eine Software zu schreiben, die sowohl PROFIBUS Netztraffic rudimentär parst (FDL wird mittlerweise vollständig verstanden, an den DP Versionen bin ich dran) und anhand der aufbereiteten Daten sogenannte "Beobachtungen" anfertigt. Eine Beobachtung sieht bei mir z.B. so aus (und kann auch beliebige andere Formen annehmen):
- Einer Funktion, welche jedem Paket eine Klasse zuweist (z.B. "Stellwert viel zu klein", "Stellwert leicht unter normal", "Stellwert normal", etc.)
- Einer Anzahl von Datensätzen in der nach der obigen Klassifizierung absolute Häufigkeiten gezählt werden. Für die obige Klassifizierungsfunktion könnte das so aussehen
(0, 3, 20, 2, 0)
(0, 2, 22, 1, 0)
(0, 0, 25, 0, 0)
...
- Die Anzahl der Pakete die in einen Datensatz mit aufgenommen werden (in diesem Fall immer 25)
Die Klassifizierungsfunktion ist denkbar einfach geschrieben und es könnten auch beliebige weitere von jedem erstellt werden, der 3 Stunden Python programmiert hat. DAS meine ich mit einfacher Erweiterbarkeit. Natürlich kann auch ein Statistikprofessor kommen und die Häfte des Systems neu entwerfen (ginge tatsächlich, aber das ist Nebensache) aber voll allem soll der Admin eines Netzwerk das vorhandene System möglichst gut auf seine Bedüfnisse anpassen können. Das ist ja auch unter anderem ein vorgegebener Schwerpunkt der Arbeit.

norustnotrust schrieb:
Das ist keine Kritik an dir sondern ich denke dass deine obskure Aufgabenstellung weit weit über die Möglichkeiten eines BA's hinausgeht und daher von Anfang an zum Scheitern verurteilt ist. Ich meine je nach dem was dein Schwerpunkt ist wäre es doch viel gewinnbringender für alle Beteiligten etwas zu machen was beherrschbar ist und dennoch wichtige Aspekte der Ausbildung beinhaltet wie z.B. einen einfachen PB Master (oder Slave) zu schreiben oder einen einfachen PB Analysator zu machen. Da hast du auch alle Themen eines Bussystems und einen praktischen Teil auch drinnen.

Was lernt man als Student dabei? Mach halt irgendwas, hauptsache du kannst es danach schönargumentieren? Das Arbeitsergebnis ist egal hauptsache du präsentierst es gut? Der Prozess ist wichtiger als das Ergebnis?
Ich verstehe es echt nicht...
Mal anders rum, was können schon Lernziele in einer BA sein? Verständnis eines bisher unbekannten Systems, neuer Algorithmen die evtl. über das bisherige Studium hinausgehen? Einrichten einer Testumgebung um gewisse Daten zuerheben?
Um tatsächlich richtig neue Erkenntnisse zu erhalten, welche dem aktuellen Stand der Forschung in entscheidender Weise von Nutzen sein können braucht es wohl einiges mehr als einen einzelnen Studenten und 3 Monate Arbeitszeit. An dieser Vorstellung scheitern wohl viele, dem Gedanken da etwas wirklich neues und allerwelt nützliches zu schaffen.
Ich habe bisher schon enorm viel gelernt. Um nur die Themen anzureißen: das PROFIBUS Protokoll, allgemein Einsatz und Funktion von Feldbussen, Grundlagen der Prozessautomatisierung, Grundlagen der Intrusion Detection, statistische Algorithmen und deren Anwendung in verschiedenen Fällen und nicht zuletzt auch einige neue Erfahrung in der Programmierung eines halbwegs großen Softwareprojekts, immerhin muss ich das ganze System selbst schreiben.

norustnotrust schrieb:
Ein Sollwert X ist 5 Monate 10 % und dann plötzlich 30%. Ist es ein Virus oder nur ein warmer Tag?
Ist doch egal, selbst wenn es nur zu heiß ist, kann eine Abweichung von 20% eines Sollwertes sicher nichts guten heißen. Wenn das niemand mitbekäme hätte das sicherlich Folgen.. Und so eine Wertänderung kann definitiv auch von einfachen statistischen Tests als signifikant eingestuft werden.

norustnotrust schrieb:
Das heißt jedes Mal wenn du einen Button drückst bekommst du einen Alarm! Außer du bemühst dich und drückst den Button nur jeden Tag um 07:43. . Also ich bin mir recht gut darüber im Klaren was Statistik leisten kann aber das kann nicht funktionieren (= einigermaßen verläßlich bösartige Änderungen erkennen und gutartige ignorieren)
Nur wenn das Überwachungssystem schlecht eingestellt ist. Nur um das mal klar zu stellen, es ist absoluter Grundsatz in diesem Forschungsbereich, dass die Feinstellung eines solchen Systems IMMER dem Admin überlassen werden muss und IMMER sau schwierig ist. Es geht auch stets nur darum false positives zu minimieren, nicht sie komplett auszuschließen.
Ein aus-dem-Hut Vorschlag von mir wäre jetzt, zeitbasiert das Datenprofil zu ändern und bestimmte regelmäßige Ereignisse miteinzukalkulieren. Wie gesagt, selbst für das weltbeste IDS lassen sich immer pathologische Fälle konstruieren. Allein zu diesem Unterthema gibt es unzählige Doktorarbeiten.

ChristophD schrieb:
Dann kommt noch hinzu das quasi jeder Hersteller auch gerne seine eigene Suppe kocht was die Daten in den Telegrammen angeht, sprich was sind die relevanten Daten zur Ansteuerung, Sollwerte, Freigaben etc.
Da darfst du dann für jeden Slave eine Telegrammschablone nehmen und individuell auf die Anlage anpassen.
Auch hier nochmal, die Feinstellung muss jeder Admin selber übernehmen. Und auch hier nochmal, DAS meine ich mit einfach zu erweitern, modular aufgebaut, etc. Admins können nicht nur die vorhandenen Filter konfigurieren (also irgendwelche Werte in Konfigfiles anpassen) sondern zum Beispiel kleine (wirklich kleine, vielleicht 40 Zeilen Code) Plugins schreiben, die ein Paket nehmen und es anders klassifizieren. Das Plugin wird in das entsprechende Verzeichnis geschoben und funktioniert sofort. Damit ist eine weitere Sicht auf den Datenstrom gewonnen, welche dem Admin vielleicht sehr gefehlt hat, gedade weil jeder "seine eigene Suppe kocht".

Oder lass mich mal folgenes Szenario bemühen: Nehmen wir mal an dein heuristischer Superalgorithmus kann das alles. Wie lange braucht er um verlässliche Aussagen treffen zu können. An den Stellgrößen der Anlagen die ich kenne sind fast immer klimatische Elemente in irgendeiner Art und Weise beteiligt. Also braucht er ein Jahr (plusminus) zum lernen. Oder lassen wir das mal weg und sagen optimistisch 3 Monate Daten reichen aus. Das heißt nach jeder Programmänderung, Rezeptänderung, Änderung des Materialeingangs, der Chargengröße, des Produktes usw... funktioniert er 3 Monate schlechter als sonst? Bei wie vielen Anlagen habe ich den Fall dass all diese Komponenten stets gleich bleiben?
Mal abgesehen davon dass dieser "Teaching Modus" auch wieder ein Einfallstor für den Virus ist, denn wenn er böse ist aktiviert er diesen ganz einfach.
Ja du hast recht mit all diesen Aussagen, der Lernmodus kann unter anderem sehr lange dauern, ist nicht immer zuverlässig, ein Virus könnte auch einfach das IDS ausschalten oder ein Einbrecher könnte alle Kabel zum IDS kappen oder einfach die Anlage sprengen. Es gibt immer Wege, ein IDS zu umgehen, gerade ein statistisch basiertes. Niemand spricht davon, sowas als universelles Heilmittel einzusetzen sondern nur, es in eine Reihe anderer Sicherheitstools einzugliedern.


Mein Ziel ist es, ein (evtl. auch nur in einer konstruierten Umgebung) funktionierendes System zu entwickeln, dass signifikante Änderung in beliebigen Teilen eines PROFIBUS Datenstroms feststellen kann.
Zur Erweiterbarkeit habe ich denke ich genug gesagt, ich selbst möchte für jede Funktion mindestens eine Defaulteinstellung liefern UND die Möglichkeit, beliebig daran weiter zuarbeiten. Inbesondere weil es hier im Unternehmen möglichst gut weiter verwendet werden soll und ich nicht weiß, was spätere Mitarbeiter damit nun genau vorhaben. Darum auch die Erweiterbarkeit auf allen Ebenen und nicht weil ich keinen Bock hab, die schwierigen Sachen selbst zu programmieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

aha der Admin machst, na super.
Welcher Admin bitte schön, wir sprechen hier von Industrie Anlagen, Werkzeugmaschinen, Verpackungsmaschinen , Walzwerke, Kraftwerk etc., die komplette Bandbreite wo theoretisch PROFIBUS als Feldbus eingesetzt wird.
Es gibt da in der Regel keinen Admin wie du dir das vorstellst, es geht sogar soweit das ein Maschinenhersteller das Komplettpacket aus SW und HW verkauft, der Kunde kriegt es geliefert und alles was er dann macht ist anschließen und einschalten und die Maschine tut, da ist nix mit Admin der noch Wochen-Monate.lang irgendwelche Statistikalgorithmen paramatriert.
Und welcher Admin bitteschön hat den Überblick für die in der Maschine hin und her schwierenden Telegramm, ihren Aufbau und Signalbedeutung? Selbst ein Maschinenhersteller hat das nicht, der projektiert seine Sachen zusammen und wie das auf dem Bus aussieht ist ihm doch erstmal sowas von egal.

Und weil dann auch jeder bereit ist sich für seine Maschine und seine Daten in Python was zusammenzuproggen damit er am Ende wenn er glück hat nur 50% false positiv bekommt?
Dir ist schon klar das auch bei IT Security irgenwann der Spaß aufhört wenn man überwiegend wegen "es besteht die Möglichkeit das..." Aktionen/Analysen losgejagt wird oder gar die Anlage deswegen abschaltet, weil es könnte ja sein das.

Im Unternehmen weiterverwenden ? In einem Unternehmen was nicht mal in der Lage seinem Praktikanten/BA einen einfachen Aufbau bereitzustellen wo er sich zumindest rudimentär mal Daten auf dem betrachteten Feldbussystem anschauen kann?

Wie hast Du Dir denn überhaupt die Erfassung der Daten vorgestellt, hängst du eine Busmonitor rein , wenn ja welchen? In welchem Format liegen die Daten vor, propitäres Format oder z.b. Excel?
Welche Erfassungszyklen sind angestrebt , wie wirken sich Netzeinstellungen und Übertragunszeiten auf die Erfassung aus? Erfolgt die Erfassung ohne Rückwirkung auf die Kommunikation?

Sorry so viel Du auch gelernt hast bisher das ganze geht immer mehr an der Praxis und somit Nutzen vorbei.

Gruß
Christoph
 
aha der Admin machst, na super.
Ja, so läuft das nunmal bei einer Netzüberwachung.

es geht sogar soweit das ein Maschinenhersteller das Komplettpacket aus SW und HW verkauft, der Kunde kriegt es geliefert und alles was er dann macht ist anschließen und einschalten und die Maschine tut, da ist nix mit Admin der noch Wochen-Monate.lang irgendwelche Statistikalgorithmen paramatriert.
Ah, also einfach kaufen, anschließen und dann wird es schon gut gehen. Und das bezeichnest du jetzt als sicher? Niemand redet von wochenlangem Parametrieren aber wer eine Anlage aufbauen will sollte doch zumindest grob einen Plan haben, welche Daten er über seinen Feldbus jagen will.

Und welcher Admin bitteschön hat den Überblick für die in der Maschine hin und her schwierenden Telegramm, ihren Aufbau und Signalbedeutung?
Wie gesagt, ich komme nicht aus eurer Branche aber wann sollte man bitte NICHT wissen, welche Daten durch das eigene Netz laufen? Gerade wo wir uns doch darüber unterhalten dass genau über dieses Netz Daten direkt zu Geräten gesendet werden können und diese damit unmittelbar beeinflussen.
Dann anders rum, sag mir mal welche Sicherheitsmechanismen es gibt, die sicherstellen, dass manipulierte Daten gefunden werden, wenn schon die Firmware einer SPS geknackt wurde (wie irgendwann vorher mal für Stuxnet beschrieben). Ist es tatsächlich gängige Praxis, dass in einer Anlage in der "Werkzeugmaschinen, Verpackungsmaschinen , Walzwerke, Kraftwerk etc." gesteuert werden nirgendwo darauf geachtet wird, welche Parameter von Punkt A zu Punkt B fließen?

Und weil dann auch jeder bereit ist sich für seine Maschine und seine Daten in Python was zusammenzuproggen damit er am Ende wenn er glück hat nur 50% false positiv bekommt?
Wäre schön, weiter sachlich über das Thema zu reden. 50% false positives sind jenseits jeder Vorstellung, ich betone nochmals, dass ich nicht mit dem Tool reich werden will weil 100 mal besser ist als alle anderen aber da hier alle so unglaublich entrüstet auf die bloße Frage danach reagieren scheint es mir, als hätte man sich hier noch nie ernsthaft mit diesem Thema auseinander gesetzt...
Sich in Python etwas zusammen zu proggen ist evtl auch gar nicht nötig, wenn der Hersteller eines Geräts einfach von Haus aus soetwas unterstützen würde. Kann ja nicht so schwer sein die Sollwerte für die eigene Maschine zu kennen. Wenn ich einen Automotor verkaufe sag ich ja auch nicht "der läuft ab 13.000 Umdrehungen am besten".

Im Unternehmen weiterverwenden ? In einem Unternehmen was nicht mal in der Lage seinem Praktikanten/BA einen einfachen Aufbau bereitzustellen wo er sich zumindest rudimentär mal Daten auf dem betrachteten Feldbussystem anschauen kann?
Nein, in einem Unternehmen das das gesamte Thema (wie nun auch schon mehrfach erwähnt) lediglich als Forschungsprojekt startet und ich NOCH der einzige bin, der sich damit befasst. Hier als Praktikant quasi vorgeschickt zu werden um in eventuellen Sackgassen zu landen ist so betrachtet nicht sehr cool aber ich sehe es so, dass spätere Arbeiter in dieser Richtung dann schon mal einen groben Überblick haben, was machbar ist und was nicht. Dabei ist es dann mehr als natürlich einige 'blöde' Fragen zu stellen oder Vorstellungen zu haben, die in den Augen alteingesessener Ingenieure völlig utopisch sind.
Ich schreibe hier auch nur eine Bachelorarbeit, genau so gut hätten die mich in nen Raum setzen und sagen können "guck mal nach, die man Netzwerke ordentlich mit nmap scannt und gib ne sichere Konfiguration eines Netzes an auf dem folgende Dienste laufen sollen...".
 
Ja, so läuft das nunmal bei einer Netzüberwachung.

Aber nicht auf Feldbusebene, das ist klassisch gesehen eben kein Netz was administrative Betreuung erfährt.

Ah, also einfach kaufen, anschließen und dann wird es schon gut gehen. Und das bezeichnest du jetzt als sicher? Niemand redet von wochenlangem Parametrieren aber wer eine Anlage aufbauen will sollte doch zumindest grob einen Plan haben, welche Daten er über seinen Feldbus jagen will.

Ja genau so läuft es in der Regel ab, der Endkunde kauft die komplette Maschine und baut sie bei sich auf. Teilweise sogar ohne zu wissen was für Geräte in der Maschine genau verbaut sind.
Es gibt klar auch Anlagen und Maschinen wo Maschinenbauer und Kunde gleich sind, da besteht auch ein größeres KnowHow über die "Innereien".
Ich habe nie behauptet das dies Sicher ist.
Sicherheit in der Automatisierung bzw. Sicherheit an einer Maschine in Betrachtung auf IDS/Manipulation/Hack ist heute "Häng das Ding nicht ans Internet"

Wie gesagt, ich komme nicht aus eurer Branche aber wann sollte man bitte NICHT wissen, welche Daten durch das eigene Netz laufen? Gerade wo wir uns doch darüber unterhalten dass genau über dieses Netz Daten direkt zu Geräten gesendet werden können und diese damit unmittelbar beeinflussen.
Dann anders rum, sag mir mal welche Sicherheitsmechanismen es gibt, die sicherstellen, dass manipulierte Daten gefunden werden, wenn schon die Firmware einer SPS geknackt wurde (wie irgendwann vorher mal für Stuxnet beschrieben). Ist es tatsächlich gängige Praxis, dass in einer Anlage in der "Werkzeugmaschinen, Verpackungsmaschinen , Walzwerke, Kraftwerk etc." gesteuert werden nirgendwo darauf geachtet wird, welche Parameter von Punkt A zu Punkt B fließen?

Ebenfalls die Regel und nicht die Ausnahme. Kaum ein Maschinenhersteller/Anlagenbetreiber weiß was auf Protokollebene für Daten ausgetauscht werden und welche Bedeutung sie haben.

Wie schon mehrfach angesprochen arbeitest Du mit diesem Konzept auf einer Ebene die kaum jemand kennt geschweige den nutzt. Eine Analyse der Daten auf dem Bus erfolgt wenn man Glück hat im Störungsfall mit einem entsprechenden Busanalyzer, bei dem allerdings der Schwerpunkt nicht auf Daten liegt sondern auf physikalische Signalanomalien auf dem Bus die durch falsche/defekte Verkabelung , falsche Terminierungen, EMV Problemen etc. hervorgerufen werden.

Versuch Dir alleine die Schwierigkeit der Datenerfassung für Deine Analyse vor Augen zu führen.
Wie kommst Du an die Aufzeichnung des Telegramverkehrs auf dem Bus?
Eine SPS oder Busteilnehmer liefert Dir diese Daten nämlich nicht, sprich du musst ein zusätzliches Stück Hardware in Form eines Busmonitors nehmen, damit hast du das Problem diesen überhaupt integrieren zu können so das er die Daten aufzeichnet und auch beim Anschluss den Bus nicht stört (Abschlusswiderstände bei PROFIBUS sind nicht so ganz ohne).
Dann hast du in der Maschine eventuell nicht nur eine Leitung sondern mehrere, sprich du bist schon bei mehreren Monitoren (Kosten!).
So gehen wir davon aus das alles ist getan:
In welcher Form liegen dann die erfassten Daten vor ? Anbieter solche Monitorsysteme setzen meist auch auf eigene Auswertungs-SW mit einem bestimmten Format, also nicht zwangsweise offen für eine Analyse durch andere Tools.
Sprich du musst Dich einmal festlegen welches Monitoring-System von welchem Anbieter überhaupt für dich geeignet ist, das wiederum ist für dein gesamtes Konzept entscheidend.

Gruß
Christoph
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sicherheit an einer Maschine in Betrachtung auf IDS/Manipulation/Hack ist heute "Häng das Ding nicht ans Internet"
Das werd ich sowas von in der BA zitieren ;)
Okay, ich denke wir sind nun etwas mehr beim selben Punkt angelangt. Erstmal danke für die Antworten und die vielen Infos.

Ebenfalls die Regel und nicht die Ausnahme. Kaum ein Maschinenhersteller/Anlagenbetreiber weiß was auf Protokollebene für Daten ausgetauscht werden und welche Bedeutung sie haben.
Womit wir haargenau beim Thema Industrie 4.0 wären. Genau diese Tatsache ist doch der Grund für Aussagen wie "hängs nur nicht ans Internet". Dass sowas aber bald der Fall sein wird (und auch heute teilweise schon so gemacht wird) ist meiner Meinung nach absolut klar.
Um die Diskussion vielleicht noch ein bisschen zu besänftigen, ja ich verstehe alle deine Bedenken und allein durch die Probleme auf die ich bei bloßer Recherche zum Thema PROFIBUS getreten bin habe ich gemerkt, wie "unbekannt" diese Ebene eigentlich ist. Es gibt auch ganz sicher viele viele andere Ansätze zur Verbesserung der Sicherheit in Industrie Anlagen. Ich befasse mich jedoch mit diesem Thema und möchte das Beste da raus holen.

Versuch Dir alleine die Schwierigkeit der Datenerfassung für Deine Analyse vor Augen zu führen.
...
...
Auch hier hast du völlig Recht, aber die Antwort darauf habe ich schon gegeben. Ich kann beim besten Willen nicht an all diese Dinge denken und das will ich auch garnicht. Ich persönlich lese den Traffic momentan aus einer PCAPNG Datei, die ich im Netz gefunden habe. Das ist weder echtzeitfähig noch sonst irgendwie toll aber immerhin.
Ich habe keine Hardware, kein echtes Netz, keine Echtzeitdaten, allgemein keinen Anschluss an ein Netz und muss den PROFIBUS Traffic den ich bekomme selbst parsen (quasi ein mini Wireshark, da es nicht mal dafür ein PROBIUS Plugin gibt -.-).

Darum geht es aber auch alles nicht, all diese Funktionen können ruhig sehr einfach gehalten sein. Ich brauche das alles ja nur als "Brücke" um überhaupt zu meiner eigentlichen Aufgabe zu gelangen und das ist (wer hätt's gedacht) die statistische Analyse. Meine Arbeit soll zum allergrößten Teil danach bewertet werden, welche Möglichkeiten ich biete, Datenverkehr zu analysieren (welche Algorithmen, auf welche Arten Stichproben genommen werden können, etc).

Zusätzlich (und damit als extra) habe ich mir viele Gedanken dazu gemacht, wie man all die "schlechten" Module die ich nutze (Datenquelle und Aufbereitung) einfach auswechseln und parallel nutzen kann.
 
Hi,

ich will dir nicht alle Illussionen und Vorstellungen rauben.
Aber auch bei Industrial Ethernet und PROFINET wirst du auf exakt die gleichen Sachen stoßen, keiner weiß was auf Datenebene abgeht und leider interessiert es auch keinen.
Daran wird auch Industrie 4.0 nichts ändern ! Da werden Daten auf der Feldebene nicht mal erwähnt ;)

Gruß
Christoph
 
Hier mal der grobe Ablauf wie der Anwender vorgeht:
a) HW-Konfig grafisch zusammenklicken: https://support.industry.siemens.com/cs/br/en/view/17420755
b) Auf die SPS Übertragen
c) "Hoffen" das alle roten Lampen ausgehen
d) Wenn jetzt noch beim Befehl "= A0.0" basierend auf obigem Bild der richtige Motor startet oder die richtige Lampe leuchtet, freuen wie problemlos doch alles funktioniert
e) Inbetriebnahme fertigstellen, womit die Anlage dann 20 Jahre, oft genug sogar ohne jedwede Änderungen ihren Dienst tut

Was die SPS damit jetzt dann protokolltechnisch auf dem Feldbus tut interessiert aus Anwendersicht absolut niemanden (höchstens aus wissenschaftlichen Interesse).
Wenn man sich dann doch mal dafür interessiert, dann höchsten bei konkreten Problemen, was aber in aller Regel physikalische Probleme durch defekte Gerätschaften oder EMV sind,
wobei selbst hier die konkreten Daten relativ egal sind.

Mfg
Manuel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und da meine Bachelorarbeit in der Fakultät für Netzwerke und IT Sicherheit geschrieben wird, noch ein wunderbares Zität ;)

Dass das so gemacht wird, scheint ein Indikator dafür zu sein, dass es so gemacht werden kann ohne dass sie Welt zusammen bricht.
Da aber wie gesagt immer mehr Anlagen (mindestens über ein angeschlossenes Gerät) doch irgendwie mit den Internet verbunden sind wird man sich zwangsläufig über neue Sicherheitsaspekte Gedanken machen müssen. Wenn dann irgendwann mal etwas richtig schief gegangen ist und der Gedanke laut wird, es könnte sich um einen gezielten Angriff handeln, dann wird es nicht mehr reichen auf die roten Lampen zu schauen...
 
Ist doch egal, selbst wenn es nur zu heiß ist, kann eine Abweichung von 20% eines Sollwertes sicher nichts guten heißen. Wenn das niemand mitbekäme hätte das sicherlich Folgen.

Sorry aber das ist Unsinn. Schwankungen der Stellgrößen von 0-100% sind nicht die Ausnahme sondern die Regel. Signifikante Änderungen sind nicht die Ausnahme sondern die Regel. Und das Schlimme ist, deine Änderungen haben komplexe Zusammenhänge die du statistisch imho nicht erfassen können wirst. Ich verstehe deinen Eifer aber du solltest nicht leichtfertig glauben dass wir Kritiker hier auf der Nudelsuppe dahergeschwommen sind und sehr wohl eine Vorstellung haben was man statistisch auswerten kann und was nicht.

Auf die PC Welt umgelegt versuchst du folgendes: Du hast einen Rechner und schaust auf den Inhalt der Datenpakete die über den SATA Bus geschrieben werden und den Inhalt der gelesen wird. Nur das, du weißt nicht welches Programm die Daten schreibt, du weißt nicht welche Programme, welche Zustände am Rechner gerade aktiv sind, ob der Rechner überhaupt eingeschaltet ist, ob ein Benutzer angemeldet ist gar nichts. Nur den Dateninhalt der gelesen und geschrieben wirst. Wie willst du statistisch da eine Aussage treffen ob ein Virus läuft oder nicht?
 
Ich finde es Schade, das dieses Thema aus "praktischer Erfahrung" einfach so als unrealisierbar dargestellt wird. Stuxnet hat uns doch alle gezeigt, was möglich ist (wenn auch unter enormen Kosten, aber der Angriff ging ja immerhin auf eine Zentrifuge im Iran). Wer garantiert uns, dass vieleicht nicht morgen, aber in 20 Jahren Angriffe auf heute erstellte Anlagen erfolgen? Sei es auch "nur" zur Spionage und nicht zur Zerstörung / Fehlfunktionen.

Ich bin kein Experte in der Fuzzy-Logik (kann also auch ein Holzweg sein), aber eventuell hilft dir dieser Ansatz weiter, um die Zuverlässigkeit von Sollwerten zu überprüfen. Einfach mal googlen und eventuell hast du ja einen Dozenten der sich im Bereich Fuzzy / Neuronale Netzwerke auskennt.
 
Zurück
Oben