Sie sind hier: Startseite / Blog

Blog

Ps(i)²'s Liebling

 

Das freut den Programmierer: Auch die Kollegen schätzen offensichtlich meinen CVSS-Calculator:

Sebastian Klipper, Buchautor, Blogger (psi2.de) und ebenfalls CISSP, lobt in seinem Werk"Information Security Risk Management" (Wiesbaden, 2011. Seite 205): "Mein Favorit ist der Plattform-unabhängige CVSS-Calculator von Goebel Consult. [...] und er kann CVSS-Vektoren mit cut-and-paste verarbeiten."

 

03.05.2011 18:30

Informatikkunst

Die Rhäthische Bahn in der Schweiz UNESCO Kulturerbe. Wohl wegen Ihrer kühnen Trassenführung und Konstruktionen. Wenn ich unter einer der Brücken dort stehe (siehe Bild) und mir vorstelle, dass die schon 100 Jahre alt sind und mit viel, viel Körpereinsatz gebaut wurden, bekomme ich Hochachtung. Hochachtung vor den Ingenieuren, die das geplant und berechnet haben. Hochachtung vor Handwerkern und Arbeitern, die diese Konstrukte ausgeführt haben.

Das geht wohl Vielen so, sonst hätte es nicht für das Weltkulturerbe gereicht.

Ingenieurskunst zeigt sich an vielen Stellen, und auch der Nicht-Ingenieur läßt sich davon beeindrucken. Angefangen von einem sauber funktionierendem Taschenmesser bis zum Eiffelturm.

Schade, dass Informatikkunst nicht so offensichtlich ist. Die Kunstwerke meiner Zunft sieht man selten: Wer liest schon Quellcode und kann sich an dessen Eleganz erfreuen? Wer weiß schon einen schönen Algorithmus, ein gutes Protokoll oder eine saubere Implementierung zu schätzen.

Ein Trost bleibt (naja): Dieses Schicksal teilen wir mit der Mathematik: Deren Fourier-Transformationen sind in der Ingenieurskunst elementar, aber die Mathematik sieht man eben nicht.

03.05.2011 18:27

Interview mit Hartmut Goebel im IT Freelancer Magazin

Unternehmen sollten IT Security wichtiger nehmen

IT-Security ist in den Unternehmen nach wie vor eine Disziplin mit zu geringem Stellenwert, moniert CISSP und Sicherheitsexperte Hartmut Goebel in einem Interview im IT Freelancer Magazin, Ausgabe April/Mai. Im Gespräch mit dem Magazin gibt er den Lesern eine Einschätzung, wie es über die technischen Sicherheitsvorkehrungen bei kleine, mittleren und großen Unternehmenskunden bestellt ist. Ein guter Sicherheitsberater kann und muss maßgeblich dazu beitragen, den Kunden ein Sicherheitsniveau zu vermitteln, auf das sie bauen können.

21.03.2011 13:02

Datenschützer geben Goebel Consult Recht

Letztes Jahr im Mai hatte ich in meiner monatlichen Kolumne CISSP-Geflüster unter dem Titel Finger weg von Google Analytics auf die Probleme mit Googel Analytics hingewiesen und Alternativen vorgestellt. Eine davon ist piwik. Wie heute auf heise online zu lesen ist, schließt sich das Unabhängige Landeszentrum für Datenschutz Schleswig-Holstein (ULD) in Sachen Google Analytics meiner Meinung an und empfiehlt ebenfalls Piwik für die Webanalyse.

Allerdings nicht uneingeschränkt: In dem Prüfbericht werden einige Maßnahmen genannt, um piwik auch wirklich datenschutzkonform einsetzen zu können: So muss beispielsweise das Plugin „AnonymizeIP“ verwendet und eine Möglichkeit zum Widerspruch angeboten werden. Vorgeschrieben ist hierbei sogar detailliert, welcher der englischen Texte für den Einsatz im deutschsprachigen Raum in die Landessprache übersetzt werden muss. Die Beschreibung der Maßnahmen geht bis ins Detail der Konfiguration, etwa wie sich die Gültigkeitsdauer des piwik-Cookies steuern lässt.

15.03.2011 00:00

bash-completion ergänzt remote Pfade bei scp

Eben hatte ich ein Erlebnis der dritten Art: Ich wollte mit scp eine Datei von meinem Server kopieren, tippe also

scp myserver:/tmp/abst

und drücke aus Gewohnheit und ohne nachzudenken <Tab>. Und schon steht dort:

scp myserver:/tmp/abstract_tool.pyc

Ich brauchte einen Moment, um zu realisieren: Die bash-completion hat sich tatsächlich im Hintergrund auf myserver eingeloggt, das Verzeichnis aufgelistet und meine Kommandozeile ergänzt!

Was das Paket bash-completion alles aus der bash herausholt, begeistert mich schon lange. Doch jetzt bin ich total von den Socken!

24.02.2011 22:05

Thumbnails wie ein Stapel verschobener Blätter

Für eine Präsentation benötigte ich als visuelles Element ein "Vorschau" der verwendeten Dokumente. Es sollte aussehen wie auf dem Bild: ein Stapel verschobener Blätter. Da ich über 40 Dokumente ...

Die Ursprungsdokumente waren MS-Word-Dateien (.doc). Daraus ein Bild pro Seite zu machen, war eine leichte Übung: openoffice-python (das übrigens von mir selbst stammt) enthält ein Skript odt2pdf.py , um aus Office-Dokumenten PDFs zu erstellen. Die einzige Voraussetzung dafür ist, dass OpenOffice bzw. LibreOffice das Dokument brauchbar lesen kann. Das war hier der Fall.

Aus den PDFs Bilder zu erzeugen, war auch meine Schwierigkeit: Das Programm "convert", das zum ImageMagick-Paket gehört, erledigt das. Hier das Kommando, um nach PDFs zu suchen und sie zu konvertieren:

find . -type f -iname \*.pdf -print0 | xargs -0 -n 1 convert '"{}"' '"{}"'.png

Dann wurde es kompliziert! Wie werden aus den Bildern die Stapel?

Meine Versuche, es mit der Python Image Library (PIL) hinzubekommen, scheiterten.

Auf der Mailingliste der Linux User Group Darmstadt erhielt ich einen entscheidenden Tipp: Guck dir die Option -compose an. Das war zwar dann nicht die Lösung, aber etwas unterhalb auf der gleichen Seite war -mosaic beschreiben. Dummerweise muss man trotzdem noch die Position für jedes Bild selbst berechnen :-( Das ist zwar aufwändig, aber nicht weiter schwierig.

So geht´s also: List der Bilder lesen, umgekehrt sortieren, damit das letzte Blatt das unterste wird, offsets berechnen und eine Schleife über alle Bilder. Der wichtige Teil des Skripts sieht dann so aus:

def process(outfilename, images):
    imagenames = images
    imagenames.sort()
    imagenames.reverse()

    # Bildbreite mit Python Image Library ermitteln
    im = Image.open(imagenames[-1])
    width, height = im.size
    offset = int(math.ceil(width*0.3 + BORDERWIDTH))

    cmd = ['convert']
    paste_offset = offset*(len(imagenames)-1) + BORDERWIDTH
    for inname in imagenames:
        cmd.extend([
            '-page', '+%i+0' % paste_offset,
            '(', '-border', '1%', '-bordercolor', 'black', inname, ')'])
        paste_offset -= offset
    cmd.extend(['-mosaic', outfilename])
    subprocess.call(cmd)
Im Endeffekt wird ein Kommando wie folgendes ausgeführt:
convert \
  -page +40+0 '(' -border 1% -bordercolor black seite3.png ')' \
  -page +20+0 '(' -border 1% -bordercolor black seite2.png ')' \
  -page +00+0 '(' -border 1% -bordercolor black seite1.png ')' \
  -mosaic zusammengesetzt.png

Das Ergebnis zeigt das Bild.

23.02.2011 15:30

Antike Fundstücke: Aminet und AmokEd

Neujahr ist eine gute Gelegenheit, auszumisten. Das habe ich habe heute mit meinen alten Bookmarks getan. Schön, wenn man gleich fünf oder zehn auf einmal löschen kann, weil die Seiten nicht mehr existieren. Dabei bin ich auch auf eine alte Sammlung Amiga-Links gestoßen. Die konnte ich alle löschen – bis auf einen, der tatsächlich noch aktuell war: AmiNet.

Anfang der 1990er war es noch üblich, Software per Diskette zu verschicken, wobei diejenigen von Fred Fish besonders bekannt war. Die Begriffe "Freie Software" oder "Open Source" waren damals vielleicht geboren, aber auch wir Studenten kannten sie nicht. Für uns gab es "Freeware" oder "Public Domain" (und noch ein paar Kategorien wie "Shareware"). Und dann kam Aminet! Erst ein einzelner FTP-Server, später ein paar Spiegelserver, von denen an sich die Software direkt herunterladen konnte. Wie revolutionär das war, wir mir erst heute bewußt. Und ich gehörte zu den Privilegierten, die an der Uni Internet hatten und Aminet nutzen konnten.

Bis Mitte der 1990er wurde Aminet ein wichtiges Online-Archiv für Amiga-Software. Mehr zur  Bedeutung und Geschichte von Aminet (Selbstdarstellung) beschreibt der englische Wikipedia-Eintrag (der deutsche Eintrag berücksichtigt leider die aktuellere Entwicklung nicht).

Was mich aber am meisten fasziniert: Es gibt Aminet noch immer. Und auch die Daten sind noch da. Darunter eine Version meines Editors AmokEd von 1992, zu dem als Quelle "Fish collection" angegeben ist. Und auch die Fisk Disks gibt es noch als FTP-Archiv und im Fred Fish memorial archive.

01.01.2011 22:24

Distributing Python programms for Windows using pyinstaller

While I not blogged on this topic yet, for several times now I looked into the topic of how to distribute Python for Windows users. There are several major problems, especially if one wants to cross-bundle from e.g. Linux. The later is a requirement for me, since my development platform is Linux and I do not want to boot into Windows just for creating a new distribution package.

With "cross-bundling" I mean "just" sticking together pure python programs, eventually with already compiled third-party packages like GTK. So one of the problems may be where to get the binary packages from. But I'll not going into this today.

The program I want to distribute is my pdfposter, which scales and tiles PDF images/pages to print on multiple pages. Basically this is a Python script, a Python package and another Python package (pyPDF). On a Unix system, installing it is quite easy, assuming that Python is already installed (which is the case on Linux).

Not so on WIndows!

On Windows users are used to get self-contained packages. For installing pdfposter, one needs to install Python, setuptools, (maybe pyPDF, if you are offline) and then pdfposter. Users get trapped be the provided .msi and pdfposter got horrible comments on Heise Software Verzeichnis. So I decided to release a Windows executable of pdfposter for the next release.

In 2008 I already did some work on pyinstaller, adding support for different target-platform and for relative imports (see this trak timeline). One of the major pros of pyinstaller is: the binaries required for bootstraping the program on the target platform are included prebuild. So one may really bundle cross platform.

Meanwhile, a lot has been worked on pyinstaller and it is now able to include Python eggs (this is packages packed into a zip-file or unpacked into a directory). Wow! py2exe (one of the major other options) still does not support this. There is still some more work to do until  can use pyinstaller. [Now it's getting technical] Currently scripts defined via entry_points are not bundled. You may work around this by first installing the script, not this will not recognize the required module.

It seams as if there is time for some more contributions to pyinstaller.

27.12.2010 14:10

Kartenvergleich OpenStreetmap vs. Google Maps

Ich habe ja schon öfter von OpenStreetmap geschwärmt. Heute habe ich in einem Artikel bei heise.de einen tollen vergleich zwischen Google Maps und OpenStreetmap gefunden: Es werden beide Karten transparent übereinandergelegt, mit einem Schieberegler kann man einstellen, welche der beiden Karten stärker durchscheint.

Es ist schon interessant, den Regler von Links (Google) langsam zur Mitte zu schieben und zu sehen, dass plötzliche viele, viele Details austauchen: Fuß- und Radwege, Parks, Gebäude.

Hier ein paar Beispiele:

  • Der englische Garten in München
  • Landshut, man beachte die Wege in der "Flutmulde"
  • Nürnberg, hier beachte man den Detailreichtum der Openstreetmap-Karte um den Dutzendteich und um den Tiergarten (Google kennt noch nicht einmal den Valznerweiher) oder im Hafen, Gibitzenhof und dem Rangierbahnhof.

Hier ein Beispiel, in dem Google die Nase vorne hat, wir uns wegen der Kartenfehler aber dann doch ordentlich verfahren hatten.

07.12.2010 00:00

Meine Beiträge im iX Special "Sicher im Netz"

Gleich zwei meiner Vortragsthemen haben es in das neue  Special "Sicher im Netz" des iX Magazins geschafft. Sie finden sie in zwei Artikeln, die ich speziell für das iX Special überarbeitet und inhaltlich auf den neusten Stand gebracht habe:

  • "Konzept Jericho - kann man Firewalls abschaffen?"
  • "Sicherheitsaufgaben priorisieren mit CVSS"

Natürlich habe ich mich über das Interesse der iX-Redaktion sehr gefreut. Denn es belegt, dass meine Themen als Security-Berater für eine breite Leserschicht interessant sind. Und ganz nebenbei hat mich die Überarbeitung der Beiträge veranlasst, nochmal über den aktuellen Stand dieser Themen nachzudenken und um einige neue Aspekte zu erweitern.

Viel Spaß beim Lesen!

01.10.2010 00:00