Der Bayern-Trojaner oder Die sichere Übertragung der Daten des Überwachten

Der CCC kritisiert die stümperhafte Methode der Verschlüsselung des Trojaners. Aber wie könnte man es besser machen.

Der Trojaner und C+C Server gesichert kommunizieren, müssen alle Nachrichten verschlüsselt und signiert werden. Dazu bietet sich ein asymmetrisches Verfahren (Public Key) höchsten ein Verfahren an. Ein symmetrisches Verfahren, wie beim Bayern-Trojaner ist ungeeignet, da es einen gemeinsamen Schlüssel für die Ver- und Entschlüsselung verwenden.

Grundprinzip

Ein Public Key Schlüsselpaar besteht aus offenen und geheimen Teilen. Zwei Kommunikationspartner benötigen zwei Schlüsselpaare.

„Der Bayern-Trojaner oder Die sichere Übertragung der Daten des Überwachten“ weiterlesen

E-Mail Verschlüsselung unter Lotus Notes

Neben der in Lotus Notes eigenen Verschlüsselung der Dokumente / Mails kann man auch die S/MIME Verschlüsselung mit dem cryptovision Plugin cv act s/mail nutzen – wenn man die Software denn hat. Vorteil ist, dass nicht nur Lotus Notes Empfänger in den Genuss der Verschlüsselung kommen.

Nachdem sich Outlook oder K-Mail nutzende Empfänger meiner aus Lotus Notes 7.0.3 verschickten Mails beklagt haben, dass nur eine Datei smime.p7m als Anhang angezeigt wird, bin ich am Wochenende der Ursache auf den Grund gegangen. Schicke ich eine mit cv act s/mail S/MIME verschlüsselte Lotus Notes an eine Internet Adresse, dann wird die Mail unter K-Mail nicht als S/MIME verschlüsselt erkannt. Ein Vergleich mit einer erkannten Mail zeigte, dass dies Ursache ein falscher Content-Type ist. Irgendwo bei der SMTP Konvertierung setzt Lotus Notes (oder das cv act plugin) folgenden Content-Type:


Content-type: application/octet-stream;
  name="smime.p7m"

Richtig ist der folgende Eintrag:


Content-type: application/pkcs7-mime;
  smime-type=enveloped-data;
  name="smime.p7m"

Eine Korrektur des Content-Type bestätigt den Verdacht. Da es mühsam ist die Mails zu speichern, im Editor zu korrigieren und wieder in K-Mail zu importieren, habe ich einen kleinen Filter mit sed geschrieben, der die Korrektur auf Knopfdruck erledigt. Als Filterregeln bieten sich an:

  1. X-Mailer enthält: Lotus Notes Release 7.0.3 September 26, 2007
  2. Der Nachrichtenvorstand enthält: smime.p7m
  3. Der Nachrichtenvorstand enthält nicht: pkcs7-mime

Installation:

  1. Zip-Archiv herunter laden
  2. In ~/bin oder /usr/local/bin extrahieren
  3. Neuen Filter in K-Mail einrichten

Wer es nützlich findet, spendiere mir bei Gelegenheit einen Latte Macchiato.


Downloads:

  1. Patch-SMIME.zip

S/MIME Verschlüsselung in Kontact und Kmail

Heureka!

Heute habe ich es endlich geschafft die X.509 Verschlüsselung unter Linux in Kontact / Kmail einzurichten. Meine früheren Bemühungen waren mangels Kommunikationspartner extrem halbherzig. Noch bin ich nicht ganz am Ziel, aber für meinen Zweck reicht es im Moment. Da viele Firmen Public Key Infrastuctures einführen, kann sich ein Mitarbeiter verschlüsselte Nachrichten an das private Postfach senden. Die IT-Sicherheit wird es freuen ;-).

Hier eine kleine Beschreibung des Weges.

  1. Mit TinyCA2 eine eigene CA eingerichtet.
  2. Ein eigenes Zertifikat erzeugt und in Kleopatra importiert
  3. Fremde Zertifikate importiert.
  4. Erster Versuch der Verschlüsselung schlug wegen mangelnder Vertrauenswürdigkeit der Zertifikate fehl. Schlüssel konnten nicht den Kontakten zugeordnet werden.
  5. Ein Schlüssel-Server für die Revocation Lists half nicht.
  6. Probiert einen Weg zu finden, die Vertrauenswürdigkeit zu ändern. Leider waren alle Meüeinträge für X.509 grau.
  7. Gegooglet – nichts hilfreiches gefunden – weiter gegooglet – im Forum versteckte Lösung gefunden. Keine Lust zum Anmelden, also noch mehr googeln.
  8. Endliche ein Hinweis auf gpg-agent und dem Parameter allow-mark-trusted in ~/.gnupg/gpa.conf sowie die Datei ~/.gnupg/trustlist.txt gefunden.
  9. Die vertrauenswürdige Keys in trustlist.txt angefügt, allow-mark-trusted eingefügt und siehe da es klappte. Leider an zwei Schrauben gedreht.
  10. Eine Schrauen zurück andere gedreht und siehe da, dass Geheimnis ist die Datei trustlist.txt.
  11. Befehl zum Anfügen der Keys in der trustlist.txt verfeinert.
  12. Beitrag geschrieben

Kleines Script um alle importierten Keys in die Datei trustlist.txt aufzunehmen.

trustthemall.sh

#!/bin/sh

gpgsm –list-keys 2>/dev/null \
| egrep ‚(fingerprint|Issuer)‘ \
| sed ‚/fingerprint/ s#:##g; /fingerprint/ s#$# S#;s#^.*fingerprint ##;/Issuer/ s!^!#!‘ \
>>~/.gnupg/trustlist.txt

Das Einrichten der eigenen CA mit Hilfe der grafischen Anwendung von TinyCA2 ist ein Kinderspiel und selbst erklärend. Die Software findet sich hier. Es geht zwar auch händisch mit openSSL, wenn man etwas mehr Schlüssel verwalten und Zeit sparen will, rate ich davon ab.


Meine – öffentlichen – Zertifikate
CA-Certificate
Mein X.509 Zertifikat