Step 7 Änderung von Aktualparametern in DB`s erkennen

dany_mue

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

gibt es eine Möglichkeit, eine Änderung von Aktualparametern in DB`s zu erkennen? Wir haben etliche Parameter DB`s mit Werten die eigentlich immer ihre Initialwerte haben und wollen nun überwachen, ob diese Parameter geändert werden - z.B. über die Funktion "Variablen steuern" im Simatic Manager.

Ein Vergleich aller Parameter, z.B. Beginn OB1 <> Ende OB1 ist wegen des Umfangs ausgeschlossen.

Eine Programmänderung von einem FC oder FB kann ja recht leicht über die Baustein-Checksumme detektiert werden (SZL), allerdings nicht der oben genannte Fall.

Vielleicht hatte jemand einen ähnlichen Fall oder irgendeine Idee.

Mit freundlichen Grüßen
Müller Daniel
 
Das könnte man ja z.B. mit einem CRC Check bewerkstelligen. In der OSCAT Library hätte es sowas.

Die CRC-Checksumme speicherst du dann irgendwo im oder mit dem Baustein ab.

mfG René
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest alle Parameterwerte addieren, also selbst eine Prüfsumme erstellen.
Oder die DB "schreibgeschützt in der AS" markieren.

Soll das Ändern der Aktualwerte verhindert oder nur erkannt werden?

Harald
 
Besten Dank für die schnellen Antworten,

Du könntest alle Parameterwerte addieren, also selbst eine Prüfsumme erstellen.
Oder die DB "schreibgeschützt in der AS" markieren.

Soll das Ändern der Aktualwerte verhindert oder nur erkannt werden?

Harald

prinzipiell soll eine Änderung "nur" erkannt werden und die Anlage dann stillgesetzt werden -> Softwareschutz während der Gewährleistungsphase bei Herausgabe der Software an den Kunden
Ich bin gerade dabei die vorgeschlagene Lösung mit dem OSCAT CRC-Check zu programmieren, ein erster Test hat genau das gemacht was ich wollte.

Mit freundlichen Grüßen
Müller Daniel
 
Anlage dann stillgesetzt werden -> Softwareschutz während der Gewährleistungsphase bei Herausgabe der Software an den Kunden
Ob Dein "Schutz" da was nützt, wenn Ihr die Software an den Kunden herausgebt? Da kann der Kunde sich auch einfach die neue CRC selber berechnen und ins Programm eintragen.

"Anlage stillsetzen" bei minimalsten Parameteränderungen? Übertreibst Du da nicht etwas? Vielleicht sollte das Schutz-Konzept nochmal überdacht werden.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Da kann der Kunde sich auch einfach die neue CRC selber berechnen und ins Programm eintragen.

Harald

Nein, kann er nicht - die CRC der DB`s werden in einem verschlüsselten FB weiterverarbeitet in dem auch die Prüfsumme des restlichen Programmes ständig geprüft wird. Zugegeben: der neue Bausteinschutz ist deutlich besser als der bekannte Know-How-Schutz, allerdings wenn man ihn knacken will, schafft man auch das. Aber das ist auch nicht Sinn und Zweck des ganzen Softwareschutzes: Es geht darum zu erkennen, wenn eine Manipulation an der Software durchgeführt wurde. Insbesondere innerhalb der Gewährleistungsphase und das wird mit diesem "Softwareschutz" erkannt, weil die Prüfsummen bei jeder Änderung protokolliert werden.

Ob Dein "Schutz" da was nützt, wenn Ihr die Software an den Kunden herausgebt?

Harald

1. Wollen wir nicht, es wird vertraglich immer öfter so vereinbart (ESCROW Verträge wären uns deutlich lieber ;-) )
2. Der Kunde bekommt die Software für Diagnosezwecke ausgehändigt und nicht um Parameteränderungen durchzuführen, was auch gar nicht notwendig ist (die Parameter die er ändern muss, muss ich ja nicht mit obigem Beispiel überwachen)
3. Die Anlage fällt lt. Norm unter die Kategorie "gefährliche Maschinen" (EN 528:2008, EN ISO 12100)
- viele Sicherheitsfunktionen der Anlage werden über die F-CPU realisiert für diese gilt eine strikte Dokumentations- und Archivierungspflicht. Zudem müssen die Programmsequenzen gegen Manipulationen geschützt sein.
- kurzer Auszug aus IEC 61508-3 (Anwendersoftware sollte durch den Benutzer nicht umprogrammierbar sein. Erfordert die Anwendung ein Umprogrammierung durch den Benutzer, sollter der Zugriff auf die Software für die Sicherheitsfunktionen begrenzt sein

"Anlage stillsetzen" bei minimalsten Parameteränderungen? Übertreibst Du da nicht etwas? Vielleicht sollte das Schutz-Konzept nochmal überdacht werden.

Harald

Die Parameter die geändert werden dürfen, werden auch weiterhin änderbar sein. Bei Änderung des restlichen Programmes oder Parametrierung wird die Anlage stillgesetzt, nach der Gewährleistung wird der Softwareschutz entfernt, dann kann der Kunde machen was er möchte.

mfg
Daniel
 
Wenn die Parameter nur einmalig eingestellt werden, kannst du diese auch nach Übergabe als Konstanten im Programm hinterlegen. Bzw. in jedem Zyklus die Parameter im DB mit den Konstanten überschreiben. Dann muss jemand zur Änderung zumindest das Programm anfassen, es reicht dann kein steuern per Variablentabelle mehr.
 
Wenn die Parameter nur einmalig eingestellt werden, kannst du diese auch nach Übergabe als Konstanten im Programm hinterlegen. Bzw. in jedem Zyklus die Parameter im DB mit den Konstanten überschreiben. Dann muss jemand zur Änderung zumindest das Programm anfassen, es reicht dann kein steuern per Variablentabelle mehr.

Morgen,

würde auch gehen, aber dann muss ich den bzw. die DB`s zweimal angreifen bzw. irgendwo, ob FC oder DB, die Konstanten speichern. Glaube, da ist die Variante mit der CRC Checksumme oder dem Aufsummieren und etwas rumrechnen die einfachere, speziell weil unser Support die Werte sehr wohl verstellen können muss.

Wie gesagt, es ist ja nur ein Teil vom kompletten Softwareschutz der jetzt noch sauber ins bestehende Konzept eingearbeitet wird, dann sollte die Sache passen. Die Standard-Schutzmechanismen von Siemens sind jedenfalls für unseren Anwendungsfall nicht ausreichend.

Besten Dank nochmal an alle für die konstruktiven Vorschläge! :TOOL:


mfg
Daniel
 
Zurück
Oben