Login
Newsletter
Werbung

Thema: Debian GNU/Linux 5.0 »Lenny«

4 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von xxx am Mi, 18. Februar 2009 um 16:33 #
Der Debian-Maintainer hat unter Umständen die fatalen Konsequenzen seiner Änderungen erahnt und dann trotzdem diese Änderungen durchgeführt.

Siehe bitte hier:
http://marc.info/?l=openssl-dev&m=114651085826293&w=2

Dort heisst es am Ende dieses Postings des Debian-Openssl-Maintainers:

"What I currently see as best option is to actually comment out those 2 lines of code. But I have no idea what effect this really has on the RNG. The only effect I see is that the pool might receive less entropy. But on the other hand, I'm not even sure how much entropy some unitialised data has."

Es steht also glasklar da:
Er hatte nach eigener Aussage keine Idee, was die Entfernung der zwei Zeilen Code für Auswirkungen haben wird. Gleichzeitig hat er aber die wirkliche Konsequenz schon erahnt oder auch gesehen, dass nämlich der "pool" weniger Entropie bekommt.
Und trotzdem hat er die Änderungen durchgeführt.

So und jetzt kommt das Fatale:
Um was geht es denn bei dieser Openssl-Geschichte eigentlich?
Wie "funktioniert" denn das Openssl-Paket?
Der Maintainer mußte wissen, wie Openssl funktioniert.

Und wir reden hier nicht von Hinz und Kunz, wir reden vom Openssl-Debian-Maintainer.

Für sowas habe ich nur ein Urteil: s.o.

Ich sehe nicht, wo ich da in meiner Beurteilung - diese Debian-Openssl-Geschichte betreffend - falsch liegen sollte.

Falls es irgendwo ein Statement des Debian-Openssl-Maintainers zu diesem Openssl-Bug gibt, so wäre ich Dir für einen Link sehr dankbar. Entsprechendes habe ich noch nicht gefunden.

[
| Versenden | Drucken ]
  • 0
    Von Andreas am Do, 19. Februar 2009 um 10:41 #
    Wie ich schon geschrieben habe, ist die Benutzung von uninitialisiertem Speicher sehr umstritten, ebenso ist umstritten ob damit überhaupt die Entropie erhöht werden kann. Wenn du zwei Leute die sich mit der Materie gut auskennen danach fragst, wirst du drei unterschiedliche Meinungen dazu erhalten. Sein Posting bezog sich exakt darauf, da es sein Vorhaben war, die Nutzung von uninitialisiertem Speicher zu unterbinden.

    Um es nochmals deutlich zu sagen, seine Aussage: "But I have no idea what effect this really has on the RNG. The only effect I see is that the pool might receive less entropy. But on the other hand, I'm not even sure how much entropy some unitialised data has." bezieht sich exakt und ausschließlich auf sein Vorhaben, uninitialisiertem Speicher nicht weiter zur Gewinnung zusätzlicher Entropie zu verwenden.

    Ihm unterstellen zu wollen, es wäre ihm klar gewesen oder er hätte es in Kauf genommen, dass er mit der Änderung nahezu die komplette Entropie aus dem Pool entfernt, ist lächerlich. Wenn man seine Aussage seriös bewerten möchte, dann kann man dies nur unter den identischen Vorbedingungen tun die zum Zeitpunkt der Mail bekannt waren und nicht als Rückblick darauf, was später dazu bekannt wurde.

    [
    | Versenden | Drucken ]
    • 0
      Von xxx am Do, 19. Februar 2009 um 20:39 #
      Eine Sache habe ich noch gar nicht angesprochen:
      Die in die Debian-Openssl-Version eingepflegten Patches wurden in diesem Fall nicht an Upstream weitergegeben, etwas, was Debian-Maintainern immer ans Herz gelegt wird:

      Zitat aus den Debian Developer's Duties:

      http://www.debian.org/doc/developers-reference/
      ch-developer-duties#s-upstream-coordination

      "3.5 Coordination with upstream developers

      A big part of your job as Debian maintainer will be to stay in contact with the upstream developers. Debian users will sometimes report bugs that are not specific to Debian to our bug tracking system. You have to forward these bug reports to the upstream developers so that they can be fixed in a future upstream release.

      While it's not your job to fix non-Debian specific bugs, you may freely do so if you're able. When you make such fixes, be sure to pass them on to the upstream maintainers as well. Debian users and developers will sometimes submit patches to fix upstream bugs — you should evaluate and forward these patches upstream.

      If you need to modify the upstream sources in order to build a policy compliant package, then you should propose a nice fix to the upstream developers which can be included there, so that you won't have to modify the sources of the next upstream version. Whatever changes you need, always try not to fork from the upstream sources."

      Der IMHO wichtigste Satz:
      "When you make such fixes, be sure to pass them on to the upstream maintainers as well."

      Das geschah in diesem Fall nachweislich nicht.
      Diese kurze Diskussion auf der Mailingliste (Änderungen im Openssl-Paket zu Debugging-Zwecken, wie es wohl auf den ersten Blick ausgesehen hat) reicht IMHO nicht aus, um dieser Pflicht Genüge getan zu haben.

      [
      | Versenden | Drucken ]
      • 0
        Von Andreas am Fr, 20. Februar 2009 um 00:21 #
        Dein neues Statement zeigt deutlich, dass du leider nicht im Ansatz verstanden hast, worum es in der Sache ging, wie kontrovers diese diskutiert wurde und auch heute noch wird und wie simpel wenn auch weitreichend der gemachte Fehler war.

        Hier eine kurze Zusammenfassung (wenn du dich in das Thema einlesen willst, dann ist dies hier ohnehin nicht der richtige Ort. Ich habe damals große Teile der Diskussion nachgelesen und auch sonst einiges, was ich zu diesem Thema gefunden hatte):

        1) OpenSSL verwendet uninitialisierten Speicher um damit die Entropie zur Gewinnung der benötigten Zufallszahlen zu erhöhen. Diese Methode ansich ist umstritten. Es ist ebenfalls umstritten, ob dadurch überhaupt die Entropie sinnvoll erhöht werden kann.
        2) Das OpenSSL-Team steht auf dem Standpunkt, dass die Methode zumindest die Entropie nicht beschädigt und hat deshalb nicht vor, die Methode zu entfernen.
        3) Wenn ein Programm üblicherweise aus uninitialisiertem Speicher ließt, dann handelt es sich um einen schwerwiegenden Programmierfehler der zu Datenverlust, Abstürzen und Sicherheitslücken führen kann. Deshalb benutzen Entwickler Memory-Debugger wie Valgrind um solche Fehler in ihren Programmen zu finden und zu beheben.
        4) Ist ein Programm gegen die OpenSSL-Library gelinkt, benutzt also Funktionen von OpenSSL, und ein Entwickler verwendet z.B. Valgrind um in seinem Programm Fehler im Speichermanagement zu finden, dann bekommt er ständig Fehler angezeigt. Der Entwickler macht sich dann auf die Suche und landet irgendwann nach einem sehr zeitaufwändigem Verfahren an der unter Punkt 1 geschilderten Programmstelle in OpenSSL. Er findet also nicht etwa einen Fehler in seinem Programm, dass er ja eigentlich sicherer machen wollte, sondern er findet einen üblichen Fehler, der in diesem sehr speziellen Einsatzzweck von OpenSSL keiner ist, in OpenSSL. Für den Entwickler ist dies sehr ärgerlich da viel Zeit für nichts und wieder nichts draufgegangen ist. Und das Problem hat ja nicht nur ein Entwickler sondern jeder, der gegen OpenSSL linkt und sich mit einem Memory-Debugger auf die Suche nach schwerwiegenden Fehlern in seinem Programm macht.
        5) Aus dieser Motivation heraus wollte der Debian-Entwickler die Stelle entfernen. Da es ohnehin unter Experten umstritten ist, ob diese Programmstelle überhaupt etwas zur Entropie beiträgt, wäre diese Änderung völlig ohne negative Effekte geblieben. Ja wäre, würde da nicht die exakt identische Zeile zweimal in der selben Quellcode-Datei vorkommen und hätte er nicht die zweite Stelle - die zwar exakt identisch mit der ersten ist, aber trotzdem etwas anderes bewirkt - nicht ebenfalls entfernt. Ich möchte nicht wissen was den Maintainer damals geritten hat, aber es handelt sich dennoch um einen ganz simplen wenn auch blöden Fehler (aber blöd sind alle Fehler, nachdem man sie kennt) der jedermann jederzeit passieren kann. Solche und ähnliche Fehler passieren auch tagtäglich zigfach auf dieser Erde, glücklicherweise nicht jedesmal mit den selben weitreichenden Folgen.
        6) Der Fehler im Denkvorgang des Maintainers wäre auch ohne Konsequenzen geblieben, wenn ihn jemand auf der OpenSSL-Mailingliste bemerkt hätte, wo er vor der Änderung nachgefragt hatte. Auch zu einem späteren Zeitpunkt, wo er erneut darauf hingewiesen hatte, hätte es jemand bemerken können. Es war also eine Verkettung unglücklicher Umstände, die letztlich zu dem Fehler im Debian-Paket geführt haben. Seien wir mal froh, dass so etwas nicht bei lebenswichtigen Systemen wie ICE-Radreifen vorkommt...

        Deine nun neu geführte Argumentationsrichtung läuft spätestens ab Punkt 2 ins Leere.

        [
        | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung