Hallo SPS-Meise,
Grundsätzlich würde ein Zitat oder eine Anrede, das verfolgen hier vereinfachen. Bei deinen Antworten weiss man nie so genau auf was du geantwortet hast.
Beim UP ging es mal um Industrie 4.0 und IoT.
Also um alle Entwickler, welche sich in diesem Umfeld bewegen.
Grundsätzlich habe ich nur 2 Arten von Entwicklern kennen gelernt.
Die einen denken nur bis zu Kante des Labortisches, bei den anderen ist die Welt grösser.
DLTS kenne ich nur als "Deep Level Transient Spectroscopy"
Nun, früher hat man kritische Anlagen, wie z.B. die Steuerwarte eines AKWs, in einem gepanzerten Raum gesperrt und eine Zutrittskontrolle zu diesem Raum eingerichtet. Das Problem, dass unbefugte da rumspielen, war dadurch gelöst.
Mittlerweile hat dieser Raum aber einen Internet-Anschluss.
Das selbe bei IoT, Kaffee machen konnte, wer zutritt zu meine Kaffeemaschine hatte!
Mit iot kann das jeder, von irgendwo auf der Welt!
Manche machen das aus Spass an der Freude, bzw. weil sie es können, Andere um wirtschaftlichen Schaden anzurichten und mein Kaffeelieferant vielleicht um seinen Umsatz zu steigern?
Bisher galt für Entwickler, dass der Missbrauch seines Produkts, das Problem des Kunden war.
Wenn die Geräte nun alle vernetzt werden, muss der Entwickler auch Gedanken daran "verschwenden", wie er die Zutrittskontrolle in sein Produkt integriert. Der Kunde muss das dann aber immer noch irgendwie verwalten können.
Ein guter Entwickler hat sich aber schon immer Gedanken zur Sicherheit seines Produkts gemacht, für ihn ändert sich daran nichts.
Das "Geheimnis" guter Software, bestand schon immer aus Plausibilitätsprüfungen und entsprechender Verweigerung einen Befehl auszuführen.
Das fängt bei etwas einfachem wie der Abfrage von Benutzername und Passwort an!
Schlechte Software gibt einen Hinweis, welcher Teil falsch ist, damit hat man schon 50% gehackt, gute Software lässt einem im ungewissen!
Das nächste ist dann, nach z.B. 3 Fehlversuchen den Zugang zu sperren oder eine Wartezeit einzufügen, das verhindert recht gut Brute Force Angriffe und ist Programmtechnisch kein wirklicher Aufwand. Kennt man aber alles schon seit den 60er Jahren.
Hat sich aber immer noch nicht bei allen Programmieren rumgesprochen.
Ich hatte ende 70er Jahre mal einen Streit mit einem Programmierer, weil er nicht im Stande war den Unterschied folgenden Codes zu sehen.
undCode:INPUT "Alles löschen", A$ If A$ = "N" THEN GOTO mach_nix REM Alles löschenEr konnte einfach nicht erkennen, was passiert wenn man sich vertippt und Anstatt "N", ein "M" erwischt. Der konnte nur digital denken und es gab für ihn nur "N" und "J"!Code:INPUT "Alles löschen", A$ If A$ = "J" THEN GOTO alles_löschen REM Mach nix
Aber bei vielen Dingen genügt schon gesunder Menschenverstand und es brauch nicht wirklich Spezielles Wissen!
1. Nur verschlüsselte Verbindungen zulassen und nur Protokolle verwenden, welche auch die Passwörter verschlüsselt übertragen. Dazu muss ich mich nicht wirklich mit Verschlüsselung auskennen, dazu gibt es eine Bibliothek.
2. Zwischen Anmeldeversuchen eine Pause erzwingen. Kann man z.B. nur alle 10s eine Eingabe machen, kann auch der schnellste Rechner der Welt nicht mehr als 360 Versuch/h austesten. Bei nur schon einem 4-stelligen PIN, also nur Ziffern, braucht dieser dann im Mittel etwa 14h, für einen Treffer.
3. Timeout der Verbindung, wenn sie eine Weile nicht benutzt wird.
4. Plausibiltätsprüfung! Erst alle Parameter auf Gültigkeit überprüfen und dann den Befehl ausführen. Alles andere wird ignoriert oder ergibt eine Fehlermeldung.
Zusammen mit einem sicheren Netzwerktreiber und IP-Stack, beides ohne Hintertürchen, hat man dann schon ein recht sicheres System.
MfG Peter(TOO)
Lesezeichen