# Saturday, March 20, 2010

Wichtige Rechner müssen vom Netz! Und dann?

Sandro Gaycken schrieb kürzlich, man müsse wichtige Rechner vom Netz nehmen, um deren Integrität und Sicherheit gewährleisten zu können. Hatte er doch pauschal pro 1 Mio. Codezeilen zwischen 15.000 und 50.000 Angriffsvektoren ausgemacht, die es Angreifern ermöglichen, Zugriff auf besagte Rechner zu erlangen. Ob das System jedoch ohne die Möglichkeit des äußeren Zugriffs sicher ist, ist noch nicht bewiesen. Auch wurde ja bereits mehrfach die Vermutung geäußert, dass die meisten Angriffe auf informationsverarbeitende System von Insidern durchgeführt werden. Ein Insider ist dabei zum Beispiel ein frustrierter Bediener des Systems. Das klassische Feindbild des Crackers, der per Netzwerk in ein System einbricht, stellt also nicht das Bedrohlichste dar. Und vor dem Angriff des Insiders schützt auch die Isolation nicht. Darüber hinaus scheint es mir fraglich, ob ein System, welches isoliert betrieben wird, überhaupt noch sinnvoll ist. Meist ist es doch gerade die Möglichkeit der Vernetzung, die dem System erst dessen Sinn und damit dessen Daseinsberechtigung gibt. Eine Isolation würde somit das System selbst hinfällig werden lassen.

Bei dem einen oder anderen System wäre dies allerdings durchaus begrüßenswert.

Saturday, March 20, 2010 9:57:00 PM (W. Europe Standard Time, UTC+01:00) #  Comments [0] | Trackback
# Saturday, August 29, 2009

Eine Anwendung nur einmal öffnen

Gerade bin ich in Klaus’ Blog auf einen Post gestoßen, der mich etwas irritiert hat. Im deutschen stackoverflow.com tauchte die Frage auf, wie man eine Anwendung so gestalten kann, dass sie nur einmal gestartet werden darf. Dafür nimmt ja bekanntlich einen Mutex, da dieses Verriegelungsobjekt systemweite Gültigkeit hat und daher zwar nicht explizit für diesen Fall geschaffen wurde, sich aber am besten von allen Verriegelungsobjekten dafür eignet.

Klaus präsentiert jedoch einen Vorschlag, den er persönlich besser findet. Er ermittelt über die statische Methode Process.GetProcesses alle im System vorhandenen Prozesse und sucht dann den Prozess, der den Namen seiner Anwendung trägt. Warum er Mutexe meidet und lieber über alle Prozesse iteriert, sagt er leider nur in einem Kommentar:

Mit Kanonen auf Spatzen ist da noch untertrieben.[..]

Auf Peter Buchers Kommentar, man möge doch einen Mutex verwenden Antwortet Klaus:

Hallo Peter,
ich weiß dass viele den Mutex bemühen. Doch gerade die Verwendung eines Mutex, und er muss als System-Mutex registriert werden, verlangt einiges an Disziplin. Der Mutex muss sauber gegen Exceptions abgesichert werden, er muss auf alle Fälle freigegeben werden und der Benutzer muss über die nötigen Rechte verfügen.
Um all das zu umgehen, hab ich mir diese einfache "use and forget" Methode überlegt.

Allerdings ist es nicht die Vorgehensweise, einen Mutex zu verwenden (je nach verwendetem Konstruktor), sondern seine eigene, bei der der Benutzer über die nötigen Rechte verfügen muss.

Die Methode Process.GetProcesses erfordert vollen Systemzugriff, also muss die Anwendung in der Sicherheitsgruppe FullTrust ausgeführt werden.

Dass man sich bei Verriegelungsobjekten Gedanken darüber machen muss, wie man sie sauber freigibt, sollte in Zeiten des Multithreadings jedem Programmierer klar sein. Gegen Exceptions kann er über den globalen ExceptionHandler abgesichert werden, den ebenfalls jede Anwendung haben sollte, um Unhandled Exceptions protokollieren zu können. Bei einem sauberen Systemdesign ist der “Mit dem Kopf durch die Wand”-Methode von Klaus nicht unbedingt die einfachere Alternative.

In den letzten Jahren ist das Thema Sicherheit immer mehr in den Fokus gerückt. Microsoft versucht, die Programmierer von Windows-Software dazu zu bewegen, sich endlich an die Implementierungsvorschriften zu halten, damit es möglich werden kann, dass ein Windows-Benutzer nicht grundsätzlich Administrator sein muss, um seinen PC benutzen zu können. In diesen Zeiten kann ich den Hinweis von Klaus daher nicht unkommentiert stehen lassen, vor allem, da er nur einseitig eine Halbwahrheit beschreibt.

Saturday, August 29, 2009 9:33:00 AM (W. Europe Daylight Time, UTC+02:00) #  Comments [2] | Trackback
# Friday, March 21, 2008

News about TrueCrypt vulnerability

A little late, but I hope that still in time. Recently the TrueCrypt Devs reacted on the vulnerability report. From their point of view the author of the report hasn't analyzed the source code very well. He has stated the wrong routines and furthermore TC is just not able to encrypt the system partition on Windows 2000 computers. Nevertheless they acknowledged the problem with some storage drivers.
Caused by this problems the TrueCrypt-Team is currently thinking about filing a complaint about Microsoft to publish the hibernation API.

Friday, March 21, 2008 3:23:54 PM (W. Europe Standard Time, UTC+01:00) #  Comments [0] | Trackback
# Thursday, March 13, 2008

Possible TrueCrypt vulnerability

In TrueCrypt 5.1 a possible vulnerability was found. A russian blog entry describes that the keys can eventually be written on the hard disk when the system goes into hibernation and the system drive is encrypted. From there they can be extracted later on. Especially Windows 2000 with a RAID controller based on Intel's Matrix Storage chips shall be vulnerable.

Until now there is feedback from neither the TrueCrypt developers nor any other security expert to confirm or disprove the suspicion.

Thursday, March 13, 2008 10:04:46 PM (W. Europe Standard Time, UTC+01:00) #  Comments [0] | Trackback
# Wednesday, March 12, 2008

TrueCrypt 5.1 released

Today I was browsing the web and found, that TrueCrypt 5.1 was released on March, 10th. Furthermore I realized that I missed the 5.0a release, that came with several bug fixes. TrueCrypt 5.1 ships with some features that I missed in the last release (and that are not part of 5.0a):
  • Support for hibernation on computers where the system partition is encrypted. (Windows Vista/XP/2008/2003)
  • Increased speed of AES encryption/decryption (depending on the hardware platform, by 30-90%). (Windows)
  • BootLoader shrinked from 42KiB to 27KiB.
  • A backup of the Boot Loader (which is now small enough) is stored in the first drive cylinder. Therefore the BIOS automatically tries to boot with the backup Boot Loader when the primary Boot Loader fails.
And again TrueCrypt got even better with the new release. I will update my notebook this evening. If there will occure some unexpected problems, I'll write about them. After that, the next step is to finish the performance tests on my home machine. After that i will update this machine to 5.1, too, and will again do some performance tests. Hopefully I will be ready with this stuff this weekend. Until then, stay tuned.

Wednesday, March 12, 2008 12:13:56 PM (W. Europe Standard Time, UTC+01:00) #  Comments [0] | Trackback
# Tuesday, February 19, 2008

CRC-Fehler beim Verschlüsseln der Systempartition mit TrueCrypt

Mein Notebooks ist secure, meine zweite Festplatte ebenfalls. Jetzt fehlt noch meine Systemplatte. Nach deren Verschlüsselung wollte ich dann einen Artikel über die Performance von TrueCrypt schreiben. Habe extra einige Messungen mit den unverschlüsselten Laufwerken gemacht.

Allerdings kommt es ja bekanntlich immer anders, als man es erwartet. Nachdem mein Notebook ohne Probleme verschlüsselt wurde, begab ich mich an meine Workstation. Dort lagern die "wichtigen Daten", das Notebook war eher der Proof of Concept. Meine Zweitplatte lies sich dort auch problemlos verschlüsseln. Als dies abgeschlossen war, sollte als letztes die Windows Parition ihr freies Dasein aufgeben. Aber Pustekuchen. Nach dem Schlüsselerstellen, CD-Brennen und Testbooten sagt mir TC nach weniger als einem Prozent Fortschritt: Ätsch, ich hör auf wegen "Is' nich'". Oder anders: CRC-Dateifehler. Leider war's das auch schon an Informationen.

Nach kurzer Recherche im Internet bin ich auf einige Informationen gestoßen. Folgende Dinge können das Problem beheben, müssen aber nicht:

  • chkdsk /f /r: CheckDisk mit voller Suche und Reparatur der gefunden Probleme. Hatte ich bereits ausgeführt, hat jedoch nicht geholfen.
  • Je nach Festplattenhersteller: Maintenance-Tool der Festplatte für Deep-Scan.
  • HDTune? Selbst noch nie benutzt.
Hier noch einige Links:
Probleme mit TrueCrypt
TrueCrypt 5.0 ist da
TrueCrypt 5: CRC-Fehler

Einige Hintergrundinformationen zum Fehler. Der CRC-Fehler wird generiert, wenn TC einen Sektor findet, der defekt ist (dessen errechnete Prüfsumme nicht mit der erwarteten Prüfsumme übereinstimmt). Soweit meine Informationen reichen, spielt es keine Rolle, ob dieser Sektor intern (innerhalb der Festplatte) als defekt markiert ist. Die Festplatte kann ja defekte Sektoren als solche markieren und durch Ersatzsektoren austauschen. So lange, bis keine Ersatzsektoren mehr vorhanden sind. Ab dann schwindet die Kapazität. Aber zurück zu TC. TC weigert sich, auf einer Festplatte zu arbeiten, die defekt ist. Und das aus gutem Grund. Ein Sektor, der seine Daten nicht "halten" kann, gefärdet die Lesbarkeit des gesamten Containers (diese Information kann ich nicht genau belegen, dafür habe ich mir den Verschlüsselungsalgorithmus noch nicht genau genug angeschaut), zumindest aber seines Blocks. Um dies und den damit einhergehenden Datenverlust zu vermeiden, bricht TC den Vorgang ab.

Wer mit den oben beschriebenen Maßnahmen keine Linderung erzielt, sollte über eine neue Platte nachdenken. Wer vertraut schon gerne seine Daten einem System an, was nachweislich instabil ist. Genau diesen Weg beschreite ich auch. Allerdings denke ich direkt darüber nach, meinen Rechner, der immerhin schon 4 Jahre auf dem Buckel hat, auszutauschen. Wer jedoch von der Verschlüsselung absieht, ohne sich finanziell belasten zu wollen, kann den "anverschlüsselten" Teil im Boot-Menü des TC.Boorloaders wieder entschlüsseln. Dauert ein paar Minuten und anschließend ist alles wieder frei und unsicher.

Und für die Verschwürungstheoretiker: TC steckt mit der CD-Industrie unter einer Decke. Bei jedem neuen Versuch, die Platte zu verschlüsseln, muss eine Rescue Disc gebrannt werden ;)

Tuesday, February 19, 2008 11:01:06 PM (W. Europe Standard Time, UTC+01:00) #  Comments [0] | Trackback
# Thursday, February 07, 2008

Datenschutz auf der anderen Seite des Atlantiks

Ich bin mir nicht sicher, warum, aber Thomas inspiriert mich in den letzten Tagen ;) Heute hat er einen Eintrag über die US-Amerikanischen Einreiseformalitäten geschrieben, welcher sich auf einen Newseintrag auf Spiegel Online bezieht. Ein Artikel zum gleichen Thema kam heute über den Heise Newsfeed hereingeflattert. Und entsprechend dazu gibt es sogar Augenzeugenberichte. Damit sollte Thomas' post scriptum auch beantwortet sein.
Man kann also sehen, dass auch in anderen Ländern die Übergriffe in die Privatsphäre von Personen zunehmen. Wie man sich dagegen wert, kann man ja im letzten Eintrag sehen.

Thursday, February 07, 2008 10:57:54 PM (W. Europe Standard Time, UTC+01:00) #  Comments [0] | Trackback
# Wednesday, February 06, 2008

TrueCrypt 5 finally got what I ever looked for

Yes, finally TrueCrypt offers you encryption of your whole hard drives. That feature I was looking for for ages. I was noticed about the new TrueCrypt-Version by Thomas from Glorf-IT, later on I read the article on heise.

I immediately downloaded the new version and started installing it. On my laptop. Not on my PC. On my laptop is only data that is stored on my pc's drives so there is no actual loss if something is messed up up afterwards.

The Installation process starts as usual, installing the new TrueCrypt on your computer. Then after starting I recognized this nice menu entry Encrypt System Partition/Drive... Well, that's is the killer feature.

Now, guess, what the first action was I did with the new version. I just clicked on it. In the following process TrueCrypt asks you for several things; do you want to encrypt only the windows system partition or the whole disk drive? Is it a single boot or multi boot-system? Next question is: What encryption algorithm do you want? If you cannot decide, you can benchmark your system and select the fastest one. After choosing one you have to specify the password. And this password should a a) safe (letters, numbers, special characters, randomly mixed) and b) unique (don't use a password you used anywhere else).
After that you find yourself inside the matrix. TrueCrypt pops up a dialog that tracks your mouse movement above this dialogue. The generated data are used for encryption. So, the longer and the more randomly you move, the better the encryption will be.

After this, the actual keys are calculated. The next step convinced me that everything I'm doing is well planned and even for common users no big deal at all. TrueCrypt wants me to save a TrueCrypt Rescue Disc.
What is a True Crypt Rescue Disc? Quite simple. It is a disk with three parts that will help regain your data if anything goes wrong during the encryption process or later on using your encrypted drive. With the TRD four things can be done. These are:
  • Information is stored to restore your TrueCrypt boot loader, your master key, or other critical data.
  • The TRD itself is bootable and loads afterwards the system that is stored inside your encrypted volume.
  • If your system gets damaged, the TRD can decrypt the volume for external access.
  • The TRD contains a backup of the first drive cylinder. That cylinder usually contains the system boot loader., so the original statecan be restored.
After saving this ISO-file, you have to burn it. TrueCrypt stops working until it has verified the data on the CD. That means, you are forced to burn the CD. Well, from my point of view this is a very smart way to prevent data loss. And TrueCrypt also provides you two tools for burning it. What a service. Kudos to the TrueCrypt-Team. This is just a amazing piece of software with many detailed thoughts went into.

So, next step. When the CD is verified, you can choose if and how often your hard drive shall be wiped before the actual encrypted data is stored. Because of the time consumption and the data I have on my laptop, I decided not to wipe my drive. While nearing completion TrueCrypt now does a testboot with the boot loader installed and where you have to enter your password. If this test boot is ok, you can press the red button and start encrypting your drive.

In résumé there is just to say that TrueCrypt 5 is a leap forward in free cryptography and personal securirty. And this whole thing is presented in an easy to use way. Everyone out there who never thought about personally securing his data, just give it a try. And wish me luck. 49 minutes remianing until my drive is finished :)

Wednesday, February 06, 2008 10:54:37 PM (W. Europe Standard Time, UTC+01:00) #  Comments [0] | Trackback