Software-Sicherheit ist ein schwieriges Thema: Nicht nur, weil es trotz zahlreicher Maßnahmen zur Fehlervermeidung nahezu unmöglich ist, komplett fehlerfreie Software zu schreiben, sondern auch, weil das Beheben eines Fehlers dessen Gefahrenpotential extrem steigern kann. Im Umfeld von OpenSource-Software haben sich daher verschiedene Vorgehensweisen zum Umgang mit gemeldeten Fehlern etabliert, die von Full Disclosure, über Responsible Disclosure bis hin zu Irresponsible Disclosure reichen. Einen Vertreter der letzteren Kategorie möchte ich heute einmal vorstellen, da in diesem Fall einige Dinge zwar richtig angegangen wurden, in ihrer Umsetzung aber eine unnötige Gefährdung der Nutzer resultierte. (more…)
15.02.2017
02.04.2014
Statische FreePascal-Bibliotheken mit GCC verwenden
Nachdem Martok nach Erhalt des Tumbleweed-Awards bereits drohte, auf dessen goldene Ausführung zuzusteuern, und ich für eines meiner Projekte eh noch mal etwas Unterstützung brauchte, habe ich mich mal des Cases angenommen, um zu schauen, wie man Code von FreePascal statisch in sein C-Programm eingebunden bekommt. War auch – ehrlichgesagt – nicht ganz uneigennützig, da die betroffene Bibliothek durchaus für eigene Projekte bereits ins Auge gefasst wurde, nur wegen „falsche Programmiersprache“ bisher noch nicht näher betrachtet wurde. (more…)
13.03.2014
BIND9 mit Stoßdämpfer
Nachdem ich ja längere Zeit eher Probleme hatte mit Bind9, weil er sich nicht wie gewünscht mit DNS Dampening betreiben ließ, sondern nur mit DNS Response Rate Limiting, was eher schlecht als recht funktioniert, gibt es inzwischen einen Lichtblick. Mit der Unterstützung von Wonka ist es gelungen, den Patch von Lutz Donnerhacke auf aktuelle Bind9-Versionen zu portieren. Bereits nach kurzer Zeit gab es positives Feedback von Upstream, weshalb an dieser Stelle auf das Repository mit den gepatchten Debian-Quellen verwiesen sein soll, aus denen sich leicht eigene Packete mit DNS Dampening erzeugen lassen. (more…)
11.12.2013
Default-Routen und Route Advertisements
Nachdem ich wegen eines Absturzes in einem Treiber die Tage meinen Server einmal neustarten musste, gab es natürlich einen kleineres Problem in de doch relativ aufwändigen Netzwerk-Konfiguration. Per Hand ist an sich nicht viel zu tun, außer drei kleine Shell-Scripts auszuführen, die das ganze andere Setup übernehmen. Aber wie immer steckt der Teufel im Detail, da mich kurze Zeit eine Meldung vom Monitoring erreichte. (more…)
10.11.2013
SSL und das Caching
Manche Leute könnten es vielleicht mitbekommen haben, aber falls nicht, dann hier die kurze Info: In letzter Zeit war das Blog in Bezug auf SSL leicht kaputt, weil das Caching gesponnen hat. Das dürfte sich jetzt aber erledigt haben. (more…)
02.09.2013
Kaputt dank Implementierung
Irgendwie frustriert einen der aktuelle Zustand unserer Kryptographie-Softwarelandschaft. Einerseits möchte man es dem Nutzer so einfach wie möglich machen, andererseits aber einem Angreifer so schwierig wie möglich. Prinzipiell sind alle hier gängigen Bibliotheken, sei es OpenSSL, GnuTLS, NSS, NaCl und die diversen OpenPGP-Implementierungen zwar an sich einig, wie die verschiedenen kryptographischen Verfahren umzusetzen sind, aber in den Details stecken so einige Stolpersteine, die einfach nicht sein müssen. (more…)
06.03.2013
Zero is too large!
Welcome to our new series of strange bugs. Today we’ve got a brand new candidate called emptyness which is a really great star on the floor of PHP bugs. I was being stumbled upon this one by Thomas Puls who mailed me about the fact, that if you highlight a single 0 with GeSHi, it magically disappears. (more…)
22.11.2012
Schlimmer als Debian
Dass ich nun nicht gerade über die Aktualität von Debian erstaunt bin, dürfte relativ gut bekannt sein – egal ob wir von über die Geschmacksrichtung Veraltet, Instabil oder Kaputt reden. Aber dennoch eignet sich Debian als gutes Beispiel um eine neue Metrik einzuführen, die die Aktualität (oder Inaktualität) von Software beschreibt, da Software die in Debian enthalten ist zumindest soweit ausgereift ist, dass man sie produktiv einsetzen kann.
Inaktualität ist an sich zwar nichts Schlechtes – zumindest bei der bereits genannten Distribution kommt damit ein recht solides Werk raus, aber ab irgendeiner Stelle sollte man klar sagen, so alt und nicht älter. Im Folgenden möchte ich diese Grenze als „Debian-Grenze“ bezeichnen. (more…)
09.11.2012
Kaputte Krypto beim Indianer
Eigentlich wollte ich einzig mal das SSL-Deployment auf meinem Server etwas aufräumen und in diesem Zuge auch den Blog mal vernünftig auf SSL ziehen, aber aus der einfachen Aufgabe, 19 Zertifikate auf die passenden Subdomains zu heften wurde dann doch eine etwas umfangreicher Aufgabe. Nicht etwa wegen der Vielzahl an Subdomains (jede Subdomain musste für sowohl IPv4 als auch IPv6 konfiguriert werden), sondern wegen einem kleinen nervigen Bug in der kaputten Krypto. Ursache war dabei aber nicht etwa, dass er nicht verschlüsselt hätte, oder das falsche Zertifikat gezeigt hätte – nunja, damit rechnet man ja noch. Der Fehler war viel subtiler: Beim Aufruf von sub.domain.tld lieferte der Server das richtige Zertifikat, aber antwortete mit der Website für domain.tld. Also: Happy debugging! (more…)
04.11.2012
Doing updates
What does it take to get Debian to update a package?
More than two years, about 50 mails, 10 people from 3 different Debian-related IRC channels, 4 bugs filed by upstream and 2 security-related issues reported to the Security team … Sound’s legit IMHO. (more…)