Sicherheit!

… in der Zeit nach den Snowden-Enthüllungen …

Es gibt ein paar grundsätzliche Kleinigkeiten zum Thema „Sicherheit“, die in der öffentlichen Debatte immer wieder untergehen – aber ohne die jede Sicherheitsdiskussion ins Leere läuft. (Das gilt übrigens unter Anwendung des gesunden Menschenverstandes auch für viele andere Sicherheitsthemen, nicht nur für IT.)
Hier ist Teil 1: Was ist eigentlich Sicherheit? Und was ist Sicherheit nicht?
→ weiterlesen

Rails 4.0

Rails kitzelt mich wieder einmal. Hier sind meine Schritte, um eine Umgebung so aufzubauen, wie ich sie haben will.

Kurz vorab: Der Bundler macht wirklich gute Arbeit… wo mit Rails 2.X noch haufenweise Gems zu installieren waren, werden die neuen Bibliotheken jetzt in ein Gemfile eingetragen, und einen Befehl später ist alles eingerichtet. Die Rails 3.X-Fans kennen das, glaube ich, schon, und ich habe die 3’er Version eben übersprungen.
→ weiterlesen

Mocking file access for testing with JBehave and Easymock

At the moment, I’m working on processing larger numbers of files. Methodologically I’m still enthusiastic about BDD. The crossing is: how can I mock file access for tests? Once that works, I can easily include sample files into the automatic build-and-test process.

Like so many others, I don’t have full freedom to isolate file access. This and similar tests are intended to support such a kind of refactoring.
→ weiterlesen

Dateizugriffe verschalen für Testfälle mit JBehave und Easymock

Im Moment beschäftige ich mich inhaltlich damit, größere Mengen von Dateien zu verarbeiten. Methodisch bin ich immer noch bei BDD am Werk. Das ergibt den Kreuzungspunkt: Wie kann ich Dateizugriffe für Tests verschalen? Sobald das funktioniert, kann ich in den automatischen Build-Prozess einfach ein paar Beispieldateien integrieren.

Wie so viele habe ich nur mässige Freiheiten dabei, den Dateizugriff einfach zu isolieren. Dieser und ähnliche Tests sollen dazu dienen, das Ganze sicher refactoren zu können.
→ weiterlesen

Congstar/ZTE MF190 und Win7

Das war eine schwere Geburt!

Seit längerem habe ich für Reisen einen UMTS-Router von Sitecom, der mit meinem alten Fonic-Surfstick hervorragend funktioniert. Leider ist das Fonic-(O2)-Netz gerade in Großstädten oft chronisch überlastet, so dass diese Kombination nicht viel nützt.

Abhilfe sollte besagter Surfstick von Congstar schaffen, der scheinbar technisch ein ZTE MF190 ist. Einer der Haken dran: Der Sitecom-Router verträgt sich mit dem MF190 nicht. Also: Congstar-Karte in den Fonic-Stick, und los geht’s. Außer… außer wenn es Zeit ist, die Karte aufzuladen. Dann muss die Congstar-Karte in den Congstar-Stick, und der MF190 an den Windows7-Laptop.

Und der Windwos7-Laptop verweigert auf wundersame Weise das Laden der MF190 Treiber. Das Problem scheint schon bekannt zu sein, in den einschlägigen Foren gibt es viele Ideen und Verweise auf wilde Treiber, doch das Kernproblem hat wohl noch keiner gelöst. Wie so häufig im Leben habe ich es auch nicht gelöst, sondern umgangen.

Der entscheidende Tipp kam aus dem Wintotal-Form:

Drei Befehle genügen, damit Windows unsignierte Treiber akzeptiert. Leider verstehe ich nicht gut genug, was diese Befehle tun, um sicher zu sein, dass ich alles wieder korrekt rückgängig gemacht habe. Das finde ich sehr doof, denn eigentlich öffne ich damit bewusst ein Sicherheitsloch und ich mag die Unsicherheit, ob ich es korrekt wieder geschlossen habe, überhaupt nicht. Vielleicht hat hier noch jemand einen Tipp?

Jedenfalls – so geht’s:

  1. Surfstick ausstecken
  2. en gesamten Congstar Connection Manager deinstallieren (sonst hängen die nicht signierten Treiber im Weg herum
  3. Neu starten.
  4. Eine Kommandozeile mit Administratorrechten öffnen
  5. In dieser Kommandozeile die folgenden drei Befehle eingeben:

    bcdedit.exe /set nointegritychecks ON
    bcdedit -set loadoptions „DDISABLE_INTEGRITY_CHECKS“
    bcdedit /set testsigning no

  6. Nochmal neu starten
  7. Jetzt kann der Surfstick erfolgreich installiert werden.

Das Ganze müsste über eine Sequenz wie die folgende wieder abgedichtet werden:

bcdedit.exe /set nointegritychecks OFF
bcdedit -deletevalue loadoptions
bcdedit /set testsigning yes

Leider klappt mit geschlossener Sicherheitslücke das Installieren wieder nicht, es fängt also wieder von vorne an: Alles deinstallieren und so weiter. Das ist eine passable Lösung für „ich will mal schnell den Surfstick aufladen“ (jedenfalls besser als noch einmal einen neuen Surfstick kaufen), für den normalen Betrieb ist das leider keine Lösung.

Vielleicht kann ja jemand darauf aufbauen.

Insgesamt finde ich das eine schwache Leistung von Congstar und ZTE.

Web-Porno-Sperren in Island?

Die Debatte über Web-Sperren ist fast so alt wie das Web.

Jede Kultur hat ihre eigenen Tabus. In Deutschland ist es überwiegend Gewalt, Nazis und Zweifel an der Klimaerwärmung. In den USA ist es überwiegend Pornographie. In Australien ist es überwiegend Selbstmord. Vielleicht ist ein – gemessen am kulturellen Rahmen – großzügiger Tabu-Filter wirklich sinnvoll, nach 20 Jahren der einschlägigen Debatte weiß ich es nicht mehr.

Das wichtigste Argument gegen Filter ist und bleibt allerdings, dass die Frage einer fairen Unterscheidung zwischen „gutem“ und „bösem“ Inhalt nach wie vor nicht geklärt ist.

Gerade jetzt, wo Fehlverhalten in Politik, Wirtschaft, Militär und Kirchen die Schlagzeilen prägt, gibt es keine Institution mehr, der man zutrauen kann, in dieser Hinsicht faire Entscheidungen zu treffen.

Intel baut keine Mainboards mehr – naht das Ende des PC-Zeitalters?

Was ist denn das „PC-Zeitalter“?

Ich erwarte, dass der Allround-PC zu Hause über die nächsten Jahre hinweg sukzessive verschwindet. Diese Entwicklung zeichnet sich schon seit einiger Zeit ab, IBM bzw. Lenovo ist da ein prominentes Beispiel, und einige der strategischen Unfälle im Hause HP waren von der gleichen Entwicklung getrieben. Und einige habe ich bestimmt verpasst.
→ weiterlesen

HowTo: Maven, Spring und JBehave

Und nun zu etwas ganz anderem: Ich habe wieder begonnen, zu programmieren.

Eines der Themen, das mich sehr fasziniert, ist „Behaviour Driven Development„. Dazu gibt es in Java einen netten Framework namens JBehave. Leider finde ich die Dokumentation zu JBehave etwas mager. Ich mag das Prinzip: „Make the simple things simple and the hard things possible“ (etwa: Mach die einfachen Dinge einfach und die schwierigen möglich).

Darum hier mein „Dankeschön“ an die Entwickler von JBehave: Eine möglichst einfach Bastelanleitung, wie JBehave in bestehende Maven-Projekte eingebaut werden kann. Im Moment arbeite ich auch mit Spring, also geht es hier darum, einen  minimalen Startpunkt zu schaffen.

→ weiterlesen