Left Up Schadensprogramme und ihre Bekämpfung

Abwehr von Schadensprogrammen

  1. Im allgemeinen sind Algorithmen von anderen Algorithmen nicht überprüfbar wegen der Unlösbarkeit des Halteproblems
  2. man kann prüfen, ob gewisse Operationen vorkommen (die z.B. etwas aus dem Dateisystem lesen)
  3. man kann die Dateien nach Mustern schon bekannter Viren durchsuchen
  4. man kann (kryptographische) Checksummen von Dateien machen Falls man eine Änderung entdeckt, kann man ein Muster für 3. finden
Zu 1: in [SHN] wird berichtet, daß Fred Cohen schon gleich die allgemeine Unentscheidbarkeit festgestellt hat: Es ist im allgemeinen unmöglich,mittels eines Programmes ein Virus Der Beweis der Unentscheidbarkeit geht wie die des Halteproblems:

Angenommen, wir hätten eine Routine
V(P) = 1, falls P virus ausführt
= 0 nicht.

Betrachten wir das Programm G(P):

      if(V(P)==1) then return 0
      else virusfunktion();
    
Man betrachte G(G): Falls G(G) nun die virusfunktion() ausführt, führt es sich nicht aus
und umgekehrt. ⇒ Ein solches Programm kann es also gar nicht geben !!!

Natürlich, wie bei anderen allgemein unentscheidbaren Problemen in der Informatik kann es Unterkategorien geben, die entscheidbar sind.

Virenscanner

konkrete Virenscanner

ClamAV
OpenSource Virenscanner für Mailgateways usw.
Beschreibung von Wikipedia
Es gibt unoffizielle Signaturen die die Erkennungsrate verbessern.
Virustotal.com
hier kann man verdächtige Dateien hochladen, die dann analysiert werden.
Mit diesem Dienst kann man auch bösen Code verbessern, siehe Cyberkriminelle nutzen Antiviren-Webdienst VirusTotal, um Schadcode zu verfeinern 3.9.2014

Virenscanner können auch Spionagetools sein, die gleichzeitig nch interesanten Informationen suchen, deshalb ist dies auch eine Sache des Vertrauens.

Schutzumgebung und priviligierte Befehle

Algorithmen laufen auf (virtuellen) Maschinen, die die Elementaroperationen bereitstellen. Man weiß vorher, welche Elementaroperationen gefährlich werden können und diese kann die Maschine kontrollieren.

Beispiele:

CPU mit Betriebssystemkern
Moderne Prozessoren können Instruktionen priviligieren, so daß nur der Betriebssystemkern diese ausführen darf. Moderene Prozessoren unterstützen Speichersegmente hardwareseitig so daß ein Betriebssystem Betriebsmittelumgebungen implementieren kann, so daß die Auswirkungen beschränkt werden können.

Damit kann ein Betriebssystem die Sicherheitskonzepte wie Nutzer,Objekte und Rechte implementieren, deren Einhaltung vom Betriebssystemkern und von der Hardware überprüft werden können. (Dann kommt es noch auf die Sicherheitspolitik an).

Ein einfaches Beispiel ist das UNIX-Betriebssystem.

Java Virtual Machine
Die JVM hat ein ausgefeiltes Sicherheitskonzept. Neben dem Sandkastenparadigma tragen auch Sprachmechanismen, die effizient beim Laden einer Klasse vom Laufzeitsystem überprüft werden können, zur Sicherheit bei.

Dieses ist ein Vorbild für andere Interpreter.

Eigentümer von Objekten wollen anderen Rechte an ihren Objekten gewähren. Das Sicherheitsproblem besteht darin, zu gewährleisten, daß Rechte nicht an Unbefugte durchsickern können.

Dieses Problem ist in der Allgemeinheit wieder unentscheidbar.
Man kennt in der Literatur Einschränkungen, die entscheidbar sind. Militärs und Geheimdienste nutzen solche ...

PC-Konzept

Mitte der 80er Jahre kam das Konzept des Persönlichen Computers auf. Damals konnte man noch keinen Prozessor mit obigen Mechanismen auf einem IC herstellen. Da dieser nicht sehr leistungsfähig war, verzichtete man auf fast alle Mechanismen im Betriebssystem. Das Sicherheitskonzept bestand darin, seinen PC einzuschließen.

Obwohl die Prozessoren sehr bald leistungsfähiger wurden, wurde die Betriebssysteme nicht angepasst und seine Nachfolger machen bis heute Sicherheitsbewußten Sorgen ....
Mittlererweile hat aber der selben Herstellern richtige Betriebssysteme neuerer Technologie, welches den Jüngern der jeweiligen Herstellerfirma wärmstens empfohlen wird.

Trusted Computing

Hier versucht man zu kontrollieren, welche Programme auf einem Rechner laufen dürfen


Informatik- und Netzwerkverein Ravensburg e.V Rudolf Weber