Update: Tesseract 3

Die professionelle OCR-Software Tesseract wurde am 1. Oktober in Version 3 veröffentlich. Sehr wichtig und neu hinzugekommen ist die Layout-Analyse und das Abspeichern des korrekten Layouts im hOCR-Format.

Leider ist diese Funktion nicht dokumentiert. Aktiviert wird die hOCR-Ausgabe, indem im Verzeichnis tessdata/configs die Datei „hocr“ (ohne Endung .txt!) angelegt wird mit dem Inhalt

tessedit_create_hocr 1

Aufgerufen wird Tesseract dann mit dem Wort „hocr“ am Ende der Parameterliste, also

tesseract Bild.tiff Ausgabe -l Sprache hocr

Mittels hocr2pdf können PDFs mit Text-Overlay erzeugt werden, wie man sie beispielsweise aus der Google-Büchersuche kennt. Durch die Möglichkeit, den erkannten Text im hOCR-Format zu speichern ist Tesseract nunmehr ein vollständiges Texterkennungsprogramm mit Strukturanalyse.

Die Geschwindigkeit und Erkennungsgenauigkeit sind überdurchschnittlich.

Visual Studio-Applikationen anfällig für Binary Planting

Einem Bericht von ACROS Security zufolge können sämtliche mit Visual Studio kompilierten MFC-Applikationen anfällig für das sogenannte Binary Planting sein. Dabei wird eine ausführbare Binärdatei lediglich in einem Programmverzeichnis hinterlegt und beim nächsten Programmstart ohne Zutun des Benutzers ausgeführt.

Dem Binary Planting liegt das Fehlverhalten einiger Anwendungen zu Grunde, beim Anfordern einer DLL-Datei keinen vollständig definierten Pfad (FQPN – Fully Qualified Path Name) anzugeben sondern die Suche nach der passenden DLL-Datei entweder Windows zu überlassen oder zunächst selbst im lokalen Verzeichnis nachzusehen.

Nun ist es nicht selten, daß ein Benutzer U mit eingeschränkten Rechten zwar bestimmte Programme oder Betriebssystemaktionen nicht ausführen darf, die nur für den Administrator A vorgesehen sind. Allerdings ist es bei schlechter Systemkonfiguration oft möglich, in den Programmverzeichnissen Daten ablegen zu können – unter anderem maliziöse DLL-Dateien. So kann beispielsweise eine DLL von A versteckt in einem Netzlaufwerk abgelegt und im gleichen Verzeichnis eine Visitenkarten-Datei für das installierte Kalenderprogramm gespeichert sein. Klickt ein Administrator oder anderer Benutzer mit erweiterten Rechten auf die Visitenkarten-Datei um sie in seinem Kalender zu importieren, sucht ein verwundbares Kalenderprogramm die von ihm benötigten Dateien zunächst auf dem Verzeichnis im Netzlaufwerk und lädt sie. Auf diese Weise kann ein unprivilegierter Benutzer U einen Administrator unbemerkt dazu veranlassen, die DLL-Datei mit Administrationsrechten auszuführen.

Binary Planting

Binary Planting

Bei Programmen, die z.B. vom Taskplaner regelmäßig automatisch aufgerufen werden, kann ein unprivilegierter Nutzer oder Gast im System sogar ohne jegliches manuelles Zutun eines Administrators gefährliche Dateien starten und das System kompromittieren.

Diese Problematik wurde unter anderem von Stuxnet erfolgreich genutzt, um unbemerkten Zugang zum System zu ermöglichen.

Da sowohl Windows als auch beliebige Programme verwundbar sein können, muss jedes Softwareprogramm von seinem Hersteller aktualisiert werden. Dies war der Grund für die Update-Welle populärer Softwareprogramme Anfang September 2010.

ACROS Security fand nun heraus, daß sämtliche Programme, die mit Visual Studio unter Nutzung der MFC (Microsoft Foundation Classes) kompiliert wurden, anfällig für Binary Planting sind. Bei dynamisch gelinkten PE-Dateien kann der Fehler relativ leicht durch ein Update der Microsoft VC++ Redistributable-Pakete auf dem Einsatzsystem der Software behoben werden. Dynamisch gelinkte PE-Dateien rufen die MFC-Dateien aus dem Redistributable-Paket auf. Daher reicht ein einmaliges VC++ Redist-Update, um sämtliche dynamisch gelinkten PEs vor dieser Art des Binary Planting zu schützen.

Schwieriger hingegen wird es bei statisch gelinkten Dateien. Der für die Binary Planting-Schwachstelle verantwortliche MFC-Code ist bei statisch gelinkten PEs im Programm integriert. Der Nutzer ist auf ein Softwareupdate von Seiten der Herstellers angewiesen, jeweils für jedes installierte Programm, das mit Visual Studio und MFC-Unterstützung kompiliert wurde.

Microsoft Patchday und Stuxnet

An heutigem Patchday hat Microsoft eine fast rekordverdächtige Zahl von 49 Sicherheitslücken in Windows geschlossen, die größtenteils von Stuxnet zur Infektion von Windowssystemen genutzt wurden.

Die von Stuxnet genutzten Injektionslücken -zumindest die bisher bekannten – wurden bereits zuvor geschlossen, dieses Mal handelte es sich bei den Bugfixes hauptsächlich um sogennante Privilege Elevation Bugs (Auch als Privilege Escalation bezeichnet), die das Ausführen von Schadcode mit höheren Rechten als jenen des Accounts, unter dem sie ausgeführt werden. In der Regel läuft ein Schadprogramm nach Ausnutzung eines solchen Bugs de facto mit Administrator-Rechten. Mindestens eine von Stuxnet genutzte Lücke bleibt auch knapp 5 Monate nach offiziellem Bekanntwerden des Schadprogramms noch offen und soll laut Microsoft erst zu einem späteren Zeitpunkt behoben werden.

Angetestet: Windows schneller und sicherer mit AppBooster

Unnötige Dienste und Programme, die sich ohne den Benutzer zu fragen in die Startleiste eintragen und bei jedem Systemstart mitgeladen werden, machen die meisten Windows-Rechner im Laufe der Zeit immer langsamer.

Windows-Nutzer können das Starten ungewünschter Programme beim Hochfahren verhindern, indem sie als Administrator den Befehl „msconfig“ unter „Start“ > „Ausführen“ eingeben. Dienste können über die Verwaltung in der Systemsteuerung permanent abgestellt werden, indem man sie – ebenfalls als Benutzer mit Administratorrechten – per Rechtsklick auswählt und den „Starttyp“ auf „Manuell“ oder „Deaktiviert“ ändert.

Dies ist allerdings für die meisten Nutzer zu umständlich, und die den einen oder anderen Service wie die Bluetoothdienste oder die Druckerwarteschlange braucht man vielleicht ab und zu.

Das in der Grundversion kostenlos erhältliche Programm AppBooster der Firma Appsmaker erledigt das Ausschalten und Neustarten beliebiger Windows-Dienste und Programme auf Knopfdruck. Während der Benutzer beispielsweise ein HD-Video von einer BluRay-CD ansieht oder ein Computerspiel ausführt, kann AppBooster automatisch unnütze Dienste und Programme abschalten um mehr RAM und CPU-Leistung freizumachen.

Nach Beendigung des Filmabends oder des Spieleabenteuers werden die Dienste von AppBooster ohne weiteres Zutun des Nutzers wieder gestartet.

Fazit: AppBooster ist eine durchdachte und ausgereifte Software. Ich fragte mich beim ersten Lesen der Beschreibung, warum zuvor noch niemand auf die Idee gekommen war, Windows-Dienste und Programme automatisch abzuschalten während ein bestimmtes Programm ausgeführt wird, das besonders viel Performance beansprucht.

Nachteilig erschien mir lediglich, daß AppBooster durch sein modernes Aussehen ebenfalls mehr Speicher als nötig belegt und somit womöglich einige der Performancegewinne wieder zunichte macht. Während Steuerprogramme, über 100 Megabyte RAM verbrauchende Grafikkartentreiber-Assistenten und Bluetooth-Software wohl nur bei den wenigsten PC-Benutzern regelmäßig benötigt sind und daher nicht bei jedem Systemstart geladen werden sollten, wäre gerade ein Programm wie AppBooster ein idealer Kandidat dafür.  Die Entwickler könnten beispielsweise zusätzlich zum normalen AppBooster-Programm für die Einstellungen und Hilfsfunktionen noch eine möglichst speichersparende, einfach gehaltene und kompakte Software für die Taskleiste in zukünfigen Versionen hinzufügen, die nur dem Überwachen der Prozesse und manuellen Auswählen gewünschter Profile dient.

Appsmaker ist auf Deutsch und Englisch erhältlich und kann kostenlos auf der Appsmaker-Homepage heruntergeladen werden.

Neues von Stuxnet

Ralph Langner hat auf der Internetseite seiner Firma Langner Communications eine hervorragende kurze Abhandlung über das Stuxnet-Dossier von Symantec veröffentlicht.

Während Symantec den Windows-Teil der Schadsoftware gut untersucht hat, ist dem Autor offenbar nicht bewußt, daß Stuxnet womöglich eine völlig neue Generation von Schadsoftware inspirieren könnte.

Iranische Anlagen scheinen zwar nach heutigem allgemeinem Kenntnisstand Ziel von Operation Myrtus gewesen zu sein. Stuxnet selbst wird anscheinend – insbesondere nachdem zumindest 4 der von ihm ausgenutzten Windowsbugs geschlossen sind – auch keinen weiteren Schaden mehr anrichten können. Das Problem besteht vielmehr darin, daß black-hat-Hacker durch Analyse des PLC-Schadcode mit zukünftigen Schadprogrammen nicht nur iranische, sondern beliebige PLC-basierte Industrieanlagen auf der ganzen Welt angreifen können. Es geht also viel weniger um herkömmliche Computer und den Windows-Teil von Stuxnet, als die Industrieanlagen und den PLC-Schadcode, für den Stuxnet nur Transportmedium ist.

Mancherorts scheint das immer noch nicht angekommen zu sein, und es wird weiterhin von bloßem „Datendiebstahl“ oder „Angriff auf SCADA-Software für Windows“ gesprochen.

Ubuntu 10.10 erschienen

Heute, dem 10.10.2010, erschien Ubuntu in der Version 10.10.

Heruntergeladen werden kann es hier: http://www.ubuntu.com/desktop/get-ubuntu/download

Mit dabei ist ein neues Softwarecenter, um die Installation von Programmen aus dem Repository weiter zu vereinfachen und Linux-Neulingen entgegenzukommen.

Außerdem wurde die Installation erleichter.

Ubuntu kommt mit aktuellem Linux-Kernel daher, die Netbook-Variante mit dem neuen Unity-Desktop.

Im Vergleich zu anderen Linux-Distributionen für den Desktop ist Ubuntu recht ausgereift und sicherlich für jeden empfehlenswert, der Lust auf Neues hat und eine Live-CD oder einen Live-USB-Stick booten möchte, ohne Risiko und ohne am bestehenden System etwas zu ändern.

Ist Linux für Desktop-Benutzer brauchbar?

Den ersten Kontakt mit Linux und *BSD hatte ich ihm Jahr 2000, vielleicht war es auch Ende der 90er. In einer Zeitschrift des Heise-Verlags wurde eine Linux-Distribution angeboten. Das Betriebssystem machte mich neugierig da ich mit Windows 95 und Windows 98 nicht besondeors zufrieden war. Nach einer sehr komplizierten Installation – es gab damals keinen Textmodus-GUI-Installer – war es dann soweit: der 486er mit 16MB RAM bootete und forderte mit einem kleinen Textprompt die Eingabe eines Benutzernamens und Passworts.

Da ich bis dahin nur den C64 und später DOS und Windows kannte, wartete ich vergebens auf eine graphische Oberfläche. Nach einigen Recherchen fand ich heraus, daß dazu erst ein „X“ konfiguriert werden müsse und anschließend mit „startx“ aufgerufen werden könne. Na gut, warum nicht. Einige Stunden und gefühlte zweihundert Konfigurationsdateien später begrüßte mich ein „X“-förmiger Cursor, der sich ab und zu in eine pixelige Hand verwandelte. Ein primitiv anmutender Window-Manager ermöglichte das Starten eines Terminal-Programms. Es kam mir vor, als würde man als DOS-Benutzer Windows installieren, nur um ein graphisches DOS-Eingabefenster starten zu können.

Ich lernte zwar schnell mit der Kommandozeile umzugehen und auch einige Programme zu starten, allerdings konnte ich als Privatanwender mit diesen Programmen nichts anfangen. Ich hatte das Gefühl, viel Zeit mit einer sinnlosen Beschäftigung verschwendet zu haben.

In unregelmäßigen Abständen, ungefähr jedes halbe Jahr, probierte ich seitdem eine Linux-Distribution aus, darunter Slackware, Zenwalk, Debian, Gentoo, Ubuntu und RedHat. Mit jedem Release verbesserte sich die Benutzbarkeit der jeweiligen Distribution (die in meinen Augen völlig sinnlose Zeitverschwendung namens „Gentoo“ ist hier eine Ausnahme). Auch die Anzahl und Qualität der verfügbaren Programme nahm zu.

Als ich 2006 aus verschiedenen Gründen vollständig auf Linux umstieg, entschied ich mich für Debian. Debian hat bis heute eine der umfangreichsten Paketarchive im Internet, ist schnell, stabil und leicht zu bedienen. Die Konfigurationsdateien und -verzeichnisse und Paketdateien und -verwaltung sind logisch aufgebaut und schnell zu erlernen. Außerdem hat Debian einen hervorragenden Online-„Support“ durch zahlreiche Nutzer in den Foren, Manuals und HowTos.

Ende 2008 mußte ich wegen eines bestimmten Softwareprogramms der Firma SIEMENS, das auch unter WINE nicht lauffähig ist, auf Windows umsteigen. Ich installierte Windows XP, das meiner Ansicht nach noch immer das schnellste und nach den zahlreichen Updates stabilste moderne Windows-Betriebssystem ist, das ohne viel unnötige Spielereien auskommt.

Nach dem Umstieg auf Windows bemerkte ich eine erhöhte Performance. Als Window-Manager hatte ich unter Linux Openbox genutzt, dennoch erschien mir die Windows-Oberfläche flüssiger. Auf dem Rechner, ein AMD X2 4800 mit 2048MB RAM, ließen sich KDE und GNOME nur sehr zäh bedienen. Anstatt einen benutzbaren Netzwerkmanager, eine venünftig aufgebaute „Systemsteuerung“ oder wenigstens einheitlich konfigurierbare Programmmenüs zu entwickeln, schienen sich die Programmierer lieber in ruckeligen Grafik-Spielereien (Desktop als drehbarer 3D-Würfel etc.) zu verlieren, als gäbe es sonst nichts zu verbessern.

Um nicht voreilig zu urteilen, entschloß ich mich auch während der Benutzung von Windows regelmäßig zu Tests von Linux-Live-CDs. Außerdem hatte ich es ab und zu Freunden und Bekannten empfohlen, die kein Windows mehr verwenden wollten. Insbesondere auf älteren Rechnern (z.B. ein Pentium 4 mit einem dreiviertel Gigabyte RAM)  lief Linux unglaublich langsam und war im Vergleich zu Windows XP sehr speicherhungrig. Es schien, als hätte man die Wahl entweder auf vollwertige Desktopumgebungen wie KDE und GNOME zu verzichten um wenigstens einfache Programme starten zu können, oder die Desktopumgebungen als einzige Software auf dem Rechner laufen zu lassen und sonst nichts. Linux war auf diesen Rechnern keine nutzbare Alternative.

Nun habe ich mich wieder zu einem Test entschieden. Ich testete Debian 5 Live, Ubuntu 10.04 und Ubuntu 10.10 Beta.

Debian erschien mir subjektiv schneller und flüssiger als Ubuntu. Außerdem ist Debian in meinen Augen ein richiges Linux, das für versierte Benutzer mehr Flexibilität bei der Installation und späteren Wartung als andere Betriebssysteme bietet.

Alle drei Distributionen waren nicht in der Lage die eingebaute Netzwerkkarte zu nutzen. Es fehlten Treiber. Auch die Grafikkarte wurde nur im unbeschleunigten Modus betrieben da Treiber fehlten. Ubuntu bot zumindest ohne weiteres Zutun des Nutzers an, die Treiber zu installieren. Allerdings war auch hierzu die nicht benutzbare Netzwerkverbindung nötig.

Die GNOME-Oberfläche fühlte sich zäh an. Im Netzwerk-Manager von Ubuntu wurde zwar die gefundene, aber nicht initialisierte Netzwerkkarte angezeigt. Allerdings fehlte GNOME ein Hardwaremanager wie man ihn aus Windows kennt vollständig, und auch in dem Netzwerk-Manager waren nicht einmal die verfügbaren Interfaces vermerkt, geschweige denn der Status der Hardware. Daß die Netzwerkkarte nicht funktionierte weil Treiber fehlten ließ sich nur umständlich durch Eingabe von zwei Kommandozeilenbefehlen mit bestimmten Parametern und anschließender Web-Suche nach der Fehlermeldung in Erfahrung bringen.

Der GNOME-Desktop erwies sich außerdem als unflexibel, da viele Konfigurationseinstellungen nur ueber den gconf2-Konfigurationseditor erreicht werden konnten, der jedoch dermaßen umfangreich und schlecht dokumentiert war, daß man ihn dem Otto-Normal-Benutzer nicht zumuten kann. Unter Benutzerfreundlichkeit wird etwas anderes verstanden.

Debian war zu einer schnelleren Lösung entschlossen: Nach dem Start der graphischen Oberfläche konnte es den angeschlossenen Monitor nicht richtig ansteuern und zeigte in den Grafikeinstellungen an, daß überhaupt kein Monitor angeschlossen sei und deshalb auch keine Änderungen vorgenommen werden könnten. Durch die fehlerhafte Monitoransteuerung wurde jedoch bei den getesteten Geräten permanent das Signal geändert und das Bild verschob sich um einige Millimeter, sodaß auch die monitorinterne Auto-Kalibrier-Funktion an den getesteten Geräten den Dienst verweigerte und stets frühzeitig abbrach.

Den Computer ohne Netzwerkzugang hoffte ich zumindest für Textverarbeitung nutzen zu können. Das mitgelieferte OpenOffice startete langsam, fragte beim ersten Start nach zahlreichen persönlichen Informationen und drängte anschließend zu einer per Default aktivierten Registrierung bei Sun/Oracle. Nach fast zehn Klicks in Openoffice angekommen wurde ein Beispieltext verfasst und die Seitennummerierungsfunktion getestet. Diese ging in OpenOffice nur auf sehr umständliche Weise. Zunächst mussten Fußnoten eingefügt und neue Vorlagen erstellt werden, um die Seitenzahlen abwechselnd auf der rechten und linken Seite eintragen zu lassen. Für die Suche dieser Möglichkeit und Umsetzung des im Internet angebotenen Tutorials waren ungefähr 15 Minuten nötig. Da die ersten beiden Seiten im Beispieldokument für Deckblatt und Index standen, sollten die Seitenzahlen erst ab Seite 3 beginnen. Dazu ließ sich innerhalb weiterer 10 Minuten in OpenOffice keine Funktion finden und das Experiment wurde beendet.

„Linux“ hatte mir wieder einmal bewiesen, daß es für den Desktopeinsatz unbrauchbar ist. Während Windows und OSX meines Erachtens als richtige Desktop-Betriebssysteme zu bezeichnen sind, deren Zweck darin besteht andere Programme zu starten, diese vom Benutzer anschaulich und intuitiv verwalten zu lassen und die Kluft zwischen Hard- und Software möglichst transparent für den Anwender zu überbrücken, erfordern die Linux-Desktop-Distributionen selbst die Zuwendung des Benutzers. Obwohl die Windows-Benutzer vor nicht all zu langer Zeit von Linux-Anwendern als „Klicki-Bunti-Fraktion“ bezeichnet wurden, erfordern die modernen Linux-Desktops weitaus mehr Klickerei als Windows oder OSX. Vor lauter Beschäftigung das System zusammen zu halten, kommt der Anwender nur schwerlich in die Lage etwas Produktives auf dem Gerät zu verrichten. Auch die unter einem frisch installierten Desktop-Linux im Hintergrund laufenden Dienste brauchen sich in Hinsicht auf Anzahl, RAM- und CPU-Verbrauch hinter den Windows-Diensten nicht zu verstecken.

Auch die Netbook-Distribution MeeGo lief auf dem Testgerät spürbar langsamer als Windows 7. Über die Paketverwaltung bzw. den MeeGo-„Marktplatz“ waren

Fazit: Der Linux-Kernel und die auf ihm laufende „freie Software“, die von Firmen und Privatpersonen zu den jeweiligen Distributionen zusammengepackt wird, ist als Ganzes betrachtet ein respektables Stück Software, daß zweifelsohne mit großem Aufwand von zahlreichen Freiwilligen und Profis auf der ganzen Welt hergestellt wurde. Auf Server-Computern ist Linux meines Erachtens eines der besten Betriebssystem und glänzt durch Stabilität, hohe Geschwindigkeit und Benutzerfreundlichkeit. Eine sehr respektable Leistung für ein kostenloses Betriebssystem, das für praktisch alle sinnvoll nutzbaren Rechnerarchitekturen verfügbar ist. Auf Desktopcomputern hingegen ist Linux noch immer eine chaotisch anmutende Baustelle und wird es voraussichtlich auch in den nächsten Jahren bleiben. Linux auf dem Desktop ist subjektiv unansehlicher als OSX, objektiv langsamer als Windows und unstabiler als beide. Unzählige Forks (Openbox, Fluxbox, Blackbox, …) zerstreuen die Leistungen der Programmierer anstatt sie zu bündeln, fehlende Standards verunsichern Anwender. Anwendungen verwenden unzählige Abhängigkeiten und unterschiedliche GUI-Libraries, sodaß KDE-Benutzer nicht selten noch zusätzlichen RAM für parallel geladene GTK-Libraries freimachen müssen und andersherum (GNOME mit QT-Applikationen).  So, wie man in Windows lange Zeit Outlook und den Internet Explorer nicht los wurde, wird man bei zahlreichen Linux-Distributionen Programme wie Evolution nicht mehr los, ohne das ganze System wegen unaufgelöster Abhängigkeiten zu zerstören. Es würde den Linux-Distributionen gut tun, auf modularere Entwicklung zu setzen und sich an den „Portable Apps“ für Windows zu orientieren, die sich großer Beliebtheit erfreuen. Der Quellcode der meisten Applikationen unter Linux ist zwar frei einseh- und modifizierbar, doch auf die „Intelligenz der Herde“ kann man sich bei den unzähligen Forks und parallel laufenden Projekten nicht verlassen. Linux bietet auch keine langfristige Sicherheit. Während das Argument, man könne durch offenen Quellcode jederzeit ein Programm selbst weiterentwickeln und den eigenen Wünschen anpassen, für Großfirmen bei populären Programmen zumindest in der Theorie eine gewisse Gültigkeit besitzt, ist es bei Privatanwendern schlicht und ergreifend falsch. Anwender wollen mit und nicht an dem Computer arbeiten. Wer erst einmal in die Tiefen der Linux-Konfigurationsdateien hinabsteigen mußte und möglicherweise auf einen Bug stieß, den er als Bug Nr. 713975349 in der Hoffnung auf Besserung im jeweiligen Bugtracker eintragen durfte, sehnt sich nach einem proprietären Betriebssystem zurück, in dem es ausreicht den Datenträger einzulegen, Setup zu starten und zwei Mausklicks später eine professionell programmierte Software verwenden zu können. Die großen Software-Repositories und die einfache Online-Installation daraus durch Paketmanager ist eine nützliche Erfindung. Sobald ein Benutzer jedoch Software benötigt die nicht in den Repositories ist, muß er sich meist den mühsamen Weg des Selbstkompilierens machen, bei dem ein Programm nicht selten 10 Abhängigkeiten hat, die jeweils nochmals 10 Abhängigkeiten aufweisen. Den Benutzer interessiert es nicht, ob die Software „frei“ ist und irgendwelchen FSF/GNU/GPL-Kriterien genügt oder nicht. Selbst Linux Torvalds, der Erfinder von Linux, distanziert sich mittlerweile von Open-Source-Fanatikern die nicht einsehen wollen, daß Linux neben seinen Vorteilen auch Nachteile hat, und so manche „proprietäre Software“ einfach besser programmiert ist als ihr „freies“ Gegenstück – falls es denn existiert. Dem durchschnittlichen Benutzer ist es auch egal, ob der Hersteller oder die Kernelentwickler schuld sind wenn seine Hardware nicht Dienst tut – ihm kommt es nur darauf an daß sie funktioniert und er mit ihr arbeiten kann. Es ist geradezu bezeichnend, daß eines der qualitativ hochwertigsten und fortgeschrittensten Projekte für Linux eine Software ist, die das Ausführen von Windows-Programmen unter Linux ermöglicht.

Wie oft müssen Daten überschrieben werden?

Vom einfachen Internetforum bis hin zum Fachmagazin für IT-Sicherheit taucht regelmäßig eine bestimmte Frage auf: Wie oft müssen Daten auf Festplatten überschrieben werden, bis sie nicht mehr wiederherstellbar sind?

Dabei erscheint immer wieder eine alte Legende, nach der Daten bis zu 30 Mal überschrieben werden müssten. Angeblich würden die Magnetköpfe auf Festplatten nicht stets exakt die Spur halten, sodaß mittels eines Magnetkraftmikroskops die Daten theoretisch auch nach einigen Überschreibungen noch wiederherstellbar seien. Man müsste nur die Ränder der Spuren abfahren, die angeblich noch die alten Daten enthielten.

Was hat es damit auf sich?

Wie man auf dem folgenden Bild sehen kann, verkleinerten sich bei Festplatten von Generation zu Generation kontinuierlich die Strukturen.

3 Gigabyte-Platte und 30 Gigabyte-Platte unter einem Magnetkraftmikroskop (Quelle: Wikipedia)

Festplatten in den 1970ern und 80ern hatten mit ihren damals 10-20 Megabyte Speicherkapazität und 5 1/4-Zoll-Größe weitaus grobere Strukturen als heutige Speichermedien. In diesen Zeiten war es möglich, unter bestimmten Umständen und mit sehr hochwertigen Magnetkraftmikroskopen mit einer gewissen Genauigkeit den Ursprungszustand bereits überschriebener Bits auszulesen. Heutzutage ist dies allerdings unmöglich. Das US-Institut für Standards und Technologie (NIST) bezeichnet bereits in einer Studie von 2006 alle Festplatten, die nach 2001 hergestellt wurden und mehr als 15 Gigabyte Speicherplatz haben, als sicher nach einem einmaligen Überschreiben. Laut NIST sind die Begriffe „Datenzerstörung“ und „Datenüberschreibung“ gleichbedeutend geworden.

„Studien haben gezeigt, daß die meisten Speichermedien heutzutage durch ein einziges Überschreiben gelöscht werden können […] und für Festplatten, die nach 2001 (über 15 GB) hergestellt wurden, die Begriffe „Reinigen“ und „Löschen“ konvergieren.“

In dem im Springer-Verlag erschienenen Fachbuch „Overwriting Hard Drive Data: The Great Wiping Controversy“ wird treffend erklärt, der Mythos der angeblich notwendigen mehrfachen Löschdurchläufe

„hat eine Situation erzeugt, in der das Löschen eine dermaßen lange Zeit in Anspruch nimmt, daß viele Organisationen überhaupt keine Datenträgerbereinigung mehr durchführen – was in Datenverlusten und Datenmißbrauch resultiert.“

Die Datenträgerbereinigung darf von Nutzern nicht als Alles-oder-Nichts-Lösung angesehen werden. Selbst wenn man annimmt, moderste (und mehrere Millionen Euro teure) Magnetkraftmikroskope könnten die durch Fehlstellung der Festplattenköpfe entstandenen Spurfehler auf Festplatten auslesen und an bestimmten Stellen Daten wiederherstellen, so würde sich ein einfaches Überschreiben aus mehreren Gründen dennoch lohnen.

Erstens verfügen nur wenige Organisationen über Magnetkraftmikroskope, sodaß der Mißbrauch bereits voraussetzt, der Mißbrauchende habe Zugang zu einem solchen Mikroskop.

Außerdem erfordert ein Abtasten mittels eines solchen Mikroskops die physisch vorhandene Festplatte, d.h., wenn ein Krimineller unbemerkt ein bloßes 1:1-Abbild der Platte kopiert, kann er bereits nach einem einmaligen Löschvorgang nichts wiederherstellen. Denn das Abbild enthält nur das, was die Festplatte selbst auslesen kann, und dazu gehören nicht die in unserer Hypothese vorhandenen Spurfehler.

Hinzu kommt die Unregelmäßigkeit von Fehlern. Die Konsequenz unserer Annahme von Spurfehlern bedeutet auch, daß die Festplatte den Kopf nicht exakt positioniert und somit die Spurfehler nicht gleichförmig über die ganze Platte verteilt sind. Somit würde, selbst wenn man alle Spurfehler und die in Spurrichtung vorhandenen Differenzen des Magnetisierungsgrades auslesen könnte, ein einmaliges Überschreiben der Daten die Wahrscheinlichkeit einer Wiederherstellung und die Menge der korrekt wiederherstellbaren Daten zumindest erheblich verringern.

Des weiteren erfordern wiederhergestellte Daten, die Bitfehler enthalten, eine optische Sichtung der Daten. In Anbetracht der heutigen Datenmengen (moderne Festplatten enthalten über 500.000.000.000 oder – in Worten – fünfhunderttausendmillionen Zeichen) erscheint dies nicht plausibel.

Zusätzlich sind durch Ausnutzung von Speicherfehlern wiederhergestellte Daten von zweifelhaftem Wert, da nicht bewiesen werden kann ob die Daten tatsächlich in dieser Form gespeichert wurden oder vielmehr erst durch Fehler beim Schreiben, Löschen und anschließenden Auslesen der Spurfehler entstanden.

Zusammenfassend lässt sich festhalten, daß ein einmaliges und komplettes Überschreiben von modernen Speichermedien wie Festplatten und USB-Sticks mit Zufallszahlen ausreichend ist. Das Überschreiben mit Nullen hingegen ist auch bei heutigen Speicherdichten nicht empfehlenswert, da kleinste Restmagnetisierungen auf der Platte verbleiben und bei einer Wiederherstellung der Daten mittels Magnetkraftmikroskopen hilfreich sein könnten. Zwar ist kein Fall bekannt in dem eine derartige Wiederherstellung bei modernen Platten erfolgreich verlief. Da das Überschreiben mit Nullen jedoch nur vernachlässigbar schneller als das Überschreiben mit Zufallszahlen ist (nur bei langsamer CPU), sollte dabei die wissenschaftlich erwiesenermaßen sicherere Methode gewählt und die Daten mit Zufallszahlen überschrieben werden.

Datenschutz mit DBAN

Immer häufiger werden Fälle bekannt, in denen arglose Computernutzer Opfer von Datendiebstahl werden. Kriminelle Personen oder Organisationen entwenden oder erwerben auf verschiedene Weisen benutzte Festplatten oder andere Speichermedien und lesen die teilweise privaten oder sensiblen Inhalte dieser Geräte aus.

Gelangen diese Daten in die Hände von kriminellen verfassungs- und freiheitsfeindlichen Gruppierungen, drohen dem Durchschnittsbürger ungeahnte Konsequenzen. Um diesem immer weiter ausufernden Datenmißbrauch zumindest einen kleinen Riegel vorzuschieben, erkannte das Bundesverfassungsgericht in einem ähnlichen Zusammenhang zu Recht das sogenannte Grundrecht auf Computer-Sicherheit an.

Da gewissenhafte Bürger sich auch selbst um die Wahrung ihrer Rechte und Einhaltung ihrer Pflichten kümmern sollten, empfiehlt sich der Einsatz von Schutzprogrammen.

Dies ist unter anderem in Hinblick auf die derzeitige Rechtsprechung in Bezug auf Computermißbrauch nötig: Wird beispielsweise das W-LAN einer Privatperson gehackt und für illegale Zwecke mißbraucht, so bleibt der Anschlußinhaber haftbar, da er die Pflicht hat, sich um die Sicherung des Anschlusses zu kümmern.

Gleichermaßen ist der Computernutzer für die Sicherheit und den Schutz seiner Daten zunächst selbst verantwortlich. Wer z.B. Online-Banking nutzt und bei einer Neuanschaffung seine alte Festplatte verschenkt oder verkauft, muß sich um die gewissenhafte Reinigung des Datenträgers kümmern. Andernfalls braucht sich die betroffene Person nicht wundern, wenn auf ein Mal die Kontodaten samt PIN im Netz auftauchen und fremde Personen Zugriff auf das eigene Konto haben.

Auch wer Festplatten kauft oder geschenkt bekommt, sollte sie vor der eigenen Nutzung bereinigen. Wer weiß schon, was der Vorbesitzer darauf gespeichert hatte? Und wenn aus irgend einem Grund der Datenträger von staatlicher Seite konfisziert und ausgewertet wird, wer würde einem dann glauben, daß die wiederhergestellten Daten nicht von einem selbst stammen sondern bereits auf der Platte – unsichtbar, da gelöscht – hinterlegt waren?

Um kriminellen Datenschnüfflern einen Riegel vorzuschieben empfiehlt sich die Linux-Distribution DBAN. DBAN wird heruntergeladen und als Image auf CD/DVD gebrannt oder per unetbootin auf einem USB-Stick installiert.

Unetbootin unter Windows (Quelle: Wikipedia)

Dabei wird unter „Abbild“ auf […] geklickt und das heruntergeladene Image von DBAN ausgewählt. Anschließend wird der gewünschte USB-Stick selektiert und auf „OK“ gedrückt. Nach 5-10 Minuten Arbeit meldet sich das Programm mit dem Ergebnisbildschirm und kann per Klick auf „OK“ geschlossen werden. Der USB-Stick ist nun bereit zum Booten. Wenn es nicht klappt, muß beim Neustart des Computers eventuell im BIOS als „First Boot Device“ der USB-Stick ausgewählt werden, wenn möglich im Bootmodus „USB-HDD“.

Auf CD kann die ISO-Datei zum Beispiel mit einem üblichen Brennprogramm oder dem kostenlosen „ISO Recorder“ gebrannt werden. Nach der Installation des ISO-Recorders wird die DBAN-Image-Datei mit Rechts angeklickt und „Burn Image to CD“ ausgewählt.

Soll nun eine Festplatte bereinigt werden, wird der Rechner neu gestartet und von dem präparierten Speichermedium gebootet. DBAN präsentiert sich nach dem Start in Form eines Textmenüs, wie man es aus alten DOS-Zeiten kennt.

Startbildschirm von DBAN (von Wikipedia)

Nach Drücken der Eingabetaste für den „Interaktiven Modus“ und Auswahl des gewünschten Speichermediums wird bestätigt und das Programm wechselt in einen neuen Bildschirm, in dem die Löschalgorithmen ausgewählt werden können. Da heutige Festplatten ab einer Größe von ca. 100 Gigabyte dermaßen feine Speicherstrukturen besitzen, reicht das einmalige Überschreiben der Daten mit Zufallszahlen. Das Forschungszentrum Jülich empfiehlt zwar das mehrfache Überschreiben, nach dem umstrittenen Guttman-Verfahren sind sogar bis zu 30 Durchläufe vorgesehen. Nach heutigem Stand der Technik reichen jedoch einer oder höchstens bis zu drei Durchläufe mit Zufallszahlen, um nicht mehr benötigte Daten ausreichend vor Mißbrauch zu schützen.

Daher wird der PRNG-Algorithmus mit Zufallsdaten aus dem PRNG (Pseudo Random Number Generator) ausgewählt und bestätigt. Den anschließenden Kontrollgang des Programms, ob auch wirklich alles korrekt überschrieben wurde, kann man im Normalfall zum Zeitsparen abwählen.

Das Programm verwendet vom Bundesministerium für Sicherheit in der Informationstechnik (BSI) anerkannte und für wirksam befundene Löschmechanismen. Die vom Programm zum Reinigen der Medien benötigte Zeit hängt von Speichergröße und Schreibgeschwindigkeit des Mediums und nebensächlich auch von der CPU-Geschwindigkeit ab. Ein Zeitraum von 2-4 Stunden sollte eingeplant werden. Während des Reinigungsprozesses blendet DBAN die voraussichtlich verbleibende Dauer ein. 44 Runden wie im eingeblendeten Screenshot sind heutzutage überflüssig.

Fazit: DBAN ist ein etabliertes Programm zum Schützen von Daten, das in jedem Haushalt und jeder Firma in der Softwaresammlung vorhanden sein sollte. Sowohl unabhängige Computerexperten als auch staatliche Behörden wie das BSI raten zur Benutzung von DBAN oder ähnlichen Programmen, um nicht mehr benötigte persönliche und sensible Daten vor Fremdzugriff zu schützen. DBAN arbeitet zuverlässig und schnell. Es ist leicht zu installieren und bietet beim Start auf zwei Bildschirmen alle notwendigen Konfigurationsoptionen mit eingeblendeten Hinweisen. Bei manchen Hardwarekonstellationen stürzt es allerdings ab, wenn USB-Speicherkartenleser an das System angeschlossen sind. DBAN bereinigt ausschließlich komplette Speichermedien. Für das bloße Bereinigen freigegebener Sektoren ist es nicht geeignet. Vor der Benutzung sollte sich der Anwender vergewissert haben, alle weiterhin benötigten Daten von dem Datenträger gesichert zu haben. Ist sich der Benutzer dieser (von den Autoren gewollten) Einschränkungen bewußt, kann DBAN uneingeschränkt empfohlen werden.

Microsoft Security Essentials

Microsoft bietet seit Herbst 2009 Besitzern einer validierten Windows-Installation kostenlos die sogenannten „Microsoft Security Essentials“ an. Dabei handelt es sich um einen Echtzeit-Virenscanner, der auch On-Demand-Fähigkeiten besitzt, also manuell aufgerufen werden kann.

Die „Microsoft Security Essentials“ hatten in der Beta-Phase nur mittelmäßige Scanresultate erzielt, mittlerweile halten sie jedoch mit rennomierten Virenscannern mit.

Durch relativ niedrige CPU-Auslastung und RAM-Verbrauch bewegt sich die Software performancemässig im oberen Bereich der für Privatanwender verfügbaren Virenscanner.

Die „Microsoft Security Essentials“ haben nur sehr wenige Einstellmöglichkeiten. Prinzipiell ist das Programm auch laut Microsoft für 50-60% der Windows-Nutzer gedacht, die überhaupt keinen Virenscanner einsetzen. Das Programm ist durch die wenigen Einstellmöglichkeiten eher als Programmpaket konzipiert, das der Benutzer installiert und sich anschließend nicht mehr darum kümmern muß. Die Signatur- und Programmupdates geschehen automatisch über die in Windows bereits integrierte „Windows Update“-Funktion.

Ein Nachteil des Programms ist die automatische Teilnahme an „SpyNet“, einem Netzwerk von Microsoft, dem die „Microsoft Security Essentials“ unaufgefordert Informationen von Dateien auf dem Rechner zuspielen, die von den Microsoft Security Essentials als Schadsoftware eingestuft wurden. Dies kann von sicherheitsbedachten Nutzern als eine Art Spionagefunktion aufgefasst werden; allerdings telefonieren auch andere Anti-Viren-Programme gerne nach Hause und übermitteln zur stetigen Verbesserung der Signaturdatenbanken Informationen über erkannte Schadprogramme an den jeweiligen Hersteller.

In mehreren Tests erkannten die „Security Essentials“ über 98% der Viren aus einem Testrepertoire von mehr als einer halbe Millionen Schadprogrammen. Von 25 getesteten Rootkits, also Software, die unbemerkt Administrationstätigkeiten am befallenen Computer ausüben und somit die komplette Kontrolle über das System übernehmen kann, wurden alle 25 Kits erkannt. Sehr positiv hervorzuheben ist außerdem die Tatsache, daß keine „false positives“ auftraten, also Fehlerkennungen bei denen unschädliche Software als Schadprogramm eingestuft wurde.

Fazit: Die „Microsoft Security Essentials“ sind leicht zu installieren, ressourcenschonend, einfach zu bedienen und Produkt eines renommierten Herstellers. Letztere Tatsache kann je nach Betrachtungsweise als Vor- oder Nachteil gesehen werden. Allgemein lassen sich die Security Essentials als solides Antivirus-Programm all jenen empfehlen, die Windows verwenden und bislang aus Faulheit oder sonstigen Gründen keinerlei Antivirus-Programm auf ihrem Computer installiert haben.

Vorherige ältere Einträge