1. Foren
  2. Kommentare
  3. Security
  4. Alle Kommentare zum Artikel
  5. › GnuTLS: Fehlerhafte Zertifikate…

Unittests anyone ?

  1. Thema

Neues Thema Ansicht wechseln


  1. Unittests anyone ?

    Autor: jaykay2342 04.03.14 - 14:47

    Macht denn niemand auf diesem Planten mehr Unittests für sicherheitsrelevanten Code?

  2. Re: Unittests anyone ?

    Autor: bernd71 04.03.14 - 15:15

    Und mit Unittests kann man jeden Fehler finden? Ich frage mich ob Leute die immer auf vermeitlich fehlende Unittests verweisen jemals entwickelt haben.

  3. Re: Unittests anyone ?

    Autor: jaykay2342 04.03.14 - 15:26

    ja ich habe schon entwickelt. Nicht jeden Fehler ist damit zu finden aber der apple bug sollte auf jeden Fall mit einem unittests auffallen. Auch für diesen GNUTLS Bug hier sollte es einen testcase im unittests geben. Eine function die Zertifikate überprüft sollte mit kaputten, abgelaufene, vom falschen signierten , etc Zertifikaten geprüft werden. Und natürlich mit Kombinationen daraus. Ja ich weiß da kommen einige Tests zusammen und es ist viel Arbeit diese zu erstellen. Für einen so wichtigen Teil des Codes ist es aber eine lohnende Investition.

  4. Re: Unittests anyone ?

    Autor: bernd71 04.03.14 - 15:35

    Die müssen alle erstellt werden und Unittests sind ja nicht per Definition fehlerfrei. Wenn man für komplexere Sachen einen vollständigen! und fehlerfreien Unittest hinbekommt sollte man auch den Code vollständig und fehlerfrei hinbekommen und kann auf den Unittest verzichten. Ist aber in der Praxis nicht so.

  5. Re: Unittests anyone ?

    Autor: _4ubi_ 04.03.14 - 15:52

    jaykay2342 schrieb:
    --------------------------------------------------------------------------------
    > ja ich habe schon entwickelt. Nicht jeden Fehler ist damit zu finden aber
    > der apple bug sollte auf jeden Fall mit einem unittests auffallen. Auch
    > für diesen GNUTLS Bug hier sollte es einen testcase im unittests geben.
    > Eine function die Zertifikate überprüft sollte mit kaputten, abgelaufene,
    > vom falschen signierten , etc Zertifikaten geprüft werden. Und natürlich
    > mit Kombinationen daraus.

    Das ist dann per Definition aber kein Unit-Test.

  6. Re: Unittests anyone ?

    Autor: jaykay2342 04.03.14 - 15:55

    Unittests sind weniger komplex als der Code. Und man macht nicht einen Komplexen Unittest sondern ganz viele kleine. jeweils Input => erwarteter Output. In diesem Falle
    Input=>verschiedenste Zertifikate mit möglichen Kombinationen aus Fehlern. Die muss man alle erstellen und sich angucken(manuell testen) und damit die Unttests erstellen. Zu überprüfen ob die Tests klappen ist weniger komplex als der zu zu prüfende Code. Dann fallen Fehler bei zukünftigen Änderungen sofort auf.
    Es gibt kein 100% Sicherheit. Aber Unittests sind besser als gar nicht zu testen. Ich habe mir den GnuTLS Bug noch nicht angeguckt möglich dass dieser nur in einem ganz speziellen Fall getriggert wird welcher von keinem Test abgedeckt war. Das Apple Ding hätte aber bei dem trivialsten Test schon fehlschlagen müssen.

  7. In der Theorie...

    Autor: Anonymer Nutzer 04.03.14 - 15:56

    ...mag das alles stimmen.

    Aber ich war mal in der Situation Unit-Tests für den Parser einer recht umständlichen Binär-Datei schreiben zu müssen. Abgesehen davon das ich für die Unit-Tests mehr als drei Mal so lange gebraucht habe wie für den zu testenden Code hat sich im Endeffekt herausgestellt das gerade mal ein Bruchteil der möglichen Probleme erkannt wurden. Und das trotz aufwändigen Programmen die absichtlich kaputte Dateien erstellt haben usw... der Teufel steckt im Detail. Wenn du ein Problem schon bei der Entwicklung nicht gesehen hast - wie solltest du auf die Idee kommen einen Unit-Test zu schreiben der das erkennt? Noch Jahre nach Produktivstellung des Codes sind weitere Unit-Tests dazu gekommen... teilweise abgeleitet aus "bösen" kaputten Dateien die Anwender zugeschickt haben... teilweise weil mal ein anderer Entwickler (noch nicht so betriebsblind) drüber geguckt hat und tatsächlich auch weil ich selber neue destruktive Ideen hatte.

  8. Re: Unittests anyone ?

    Autor: Anonymer Nutzer 04.03.14 - 15:58

    > Unittests sind weniger komplex als der Code. Und man macht nicht einen
    > Komplexen Unittest sondern ganz viele kleine.

    Das geht nur so lange gut bis ein Fehler eben nur in einer einzigen Kombination von Problemen auftritt. Alles schon gehabt!

  9. Re: Unittests anyone ?

    Autor: jaykay2342 04.03.14 - 16:00

    Deswegen muss man sich hier viel Zertifikate zusammen bauen mit verschiedensten Kombinationen. Man wird nicht alles abdecken können, aber das ist doch kein Grund gar keine Tests zu fahren, oder?

  10. Re: Unittests anyone ?

    Autor: Anonymer Nutzer 04.03.14 - 16:02

    > (...) Man wird nicht alles abdecken können, aber
    > das ist doch kein Grund gar keine Tests zu fahren, oder?

    Klar sind Tests nötig. Nur ist es halt so das auch bestandene Tests nicht aussagen das der Code korrekt ist! Die Problematik verschiebt sich nur zur Frage ob man auch wirklich alle nötigen Fälle abgedeckt hat.

  11. Re: Unittests anyone ?

    Autor: jaykay2342 04.03.14 - 16:06

    Versuchsperson schrieb:
    --------------------------------------------------------------------------------
    > > (...) Man wird nicht alles abdecken können, aber
    > > das ist doch kein Grund gar keine Tests zu fahren, oder?
    >
    > Klar sind Tests nötig. Nur ist es halt so das auch bestandene Tests nicht
    > aussagen das der Code korrekt ist! Die Problematik verschiebt sich nur zur
    > Frage ob man auch wirklich alle nötigen Fälle abgedeckt hat.

    Ich hab nie gesagt dass ein bestandener Test sagt der Code ist korrekt. Aber Der Apple Bug wäre bei einfachsten Test durchgefallen. Da muss man ja annehmen dass sie gar keine Tests mit dem Code macht. Was bei sicherheitsrelevanten Code echt peinlich ist.

  12. Re: Unittests anyone ?

    Autor: Anonymer Nutzer 04.03.14 - 16:10

    > Aber Der Apple Bug wäre bei einfachsten Test durchgefallen. Da muss man ja
    > annehmen dass sie gar keine Tests mit dem Code macht. Was bei
    > sicherheitsrelevanten Code echt peinlich ist.

    Wer weiß? Wenn falsche Zertifikate Bestandteil der Unit-Tests waren... und dann auch noch "richtig falsche" (also welche die den betreffenden Fehler auslösen - und nicht einfach schon bei den Tests vorher abgewiesen werden).

    Normalerweise sind Unit-Tests ja nicht tiefer durchdacht als der zu testende Code... also werden die wirklich kritischen Fälle (an die der Entwickler ja nicht gedacht hat) auch nicht in den Tests abgefragt.

    Ich will damit auch weder Apple noch die OpenSource-Entwickler in Schutz nehmen... habe halt selber auch schon die Erfahrung gemacht das mir manche Problemfälle einfach nicht eingefallen sind.


    EDIT: Typo



    1 mal bearbeitet, zuletzt am 04.03.14 16:11 durch Versuchsperson.

  13. Re: In der Theorie...

    Autor: bernd71 04.03.14 - 16:59

    So funktionieren Unit tests auch. Für jedes erkanntes Problem ein Test. So vermeidet man das man schon erkannte Fehler wieder einführt.

  14. Re: In der Theorie...

    Autor: Anonymer Nutzer 04.03.14 - 17:23

    > So funktionieren Unit tests auch. Für jedes erkanntes Problem ein Test. So
    > vermeidet man das man schon erkannte Fehler wieder einführt.

    Klar. Aber das ist ja eben der Grund warum Fehler wie hier beschrieben NICHT von Unit-Tests gefunden werden.

  15. Re: Unittests anyone ?

    Autor: jaykay2342 04.03.14 - 18:09

    Versuchsperson schrieb:
    --------------------------------------------------------------------------------
    > > Aber Der Apple Bug wäre bei einfachsten Test durchgefallen. Da muss man
    > ja
    > > annehmen dass sie gar keine Tests mit dem Code macht. Was bei
    > > sicherheitsrelevanten Code echt peinlich ist.
    >
    > Wer weiß? Wenn falsche Zertifikate Bestandteil der Unit-Tests waren... und
    > dann auch noch "richtig falsche" (also welche die den betreffenden Fehler
    > auslösen - und nicht einfach schon bei den Tests vorher abgewiesen
    > werden).
    >
    Naja der Apple bug war mit einem simplen man in the middle Angriff ( wo man sich einfach selber ne ca macht ) triggerbar. Kein so besonderes Szenario, welches eigentlich zu den Tests gehören sollte, oder? Sprich so ein Zertifikat sollte man schon gegen die check Funktion werfen.


    > Normalerweise sind Unit-Tests ja nicht tiefer durchdacht als der zu
    > testende Code... also werden die wirklich kritischen Fälle (an die der
    > Entwickler ja nicht gedacht hat) auch nicht in den Tests abgefragt.
    >
    Ich hoffe doch dass sie an ein "gefaktes" Zertifikat gedacht haben.

    > Ich will damit auch weder Apple noch die OpenSource-Entwickler in Schutz
    > nehmen... habe halt selber auch schon die Erfahrung gemacht das mir manche
    > Problemfälle einfach nicht eingefallen sind.
    >
    Stimme ich auch voll zu, aber hier geht es um einen so elementaren Teil da sollten Apple wirklich mal ein paar Leute drauf los lassen und testen testen testen. Am besten bauen 2 unabhängige Teams ihre eigenen Tests. So was kostet natürlich aber meiner Meinung nach sollte man bei so sicherheitsrelevanten Stellen nicht sparen.

    >
    > EDIT: Typo

  16. Re: In der Theorie...

    Autor: chrulri 04.03.14 - 18:35

    Spricht aber nicht gegen Unit Test an sich. Unit Tests sollten trotzdem dabei sein.

    Und ehrlich: Den Apple Fehler hätte jedes statische Code Analysis Tool und jeder halbherzige Unit Test mit einem selbstsignierten Zertifikat gefunden.
    Den Fehler hier habe ich zu wenig angeschaut, um zu sagen wie einfach dieser triggerbar ist.

  17. Re: In der Theorie...

    Autor: jaykay2342 04.03.14 - 18:37

    chrulri schrieb:
    --------------------------------------------------------------------------------
    > Spricht aber nicht gegen Unit Test an sich. Unit Tests sollten trotzdem
    > dabei sein.
    >
    > Und ehrlich: Den Apple Fehler hätte jedes statische Code Analysis Tool und
    > jeder halbherzige Unit Test mit einem selbstsignierten Zertifikat
    > gefunden.
    > Den Fehler hier habe ich zu wenig angeschaut, um zu sagen wie einfach
    > dieser triggerbar ist.
    Genau das versuch ich die ganze Zeit zu sagen.

  18. Re: In der Theorie...

    Autor: chrulri 04.03.14 - 20:34

    Jup :-)

  1. Thema

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Zum Login

Stellenmarkt
  1. über duerenhoff GmbH, Raum Ennepetal
  2. Compana Software GmbH, Feucht
  3. DATAGROUP Köln GmbH, Köln
  4. WIRCON GmbH, Heidelberg

Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. 0,99€
  2. 4,98€
  3. 51,99€
  4. 1,07€


Haben wir etwas übersehen?

E-Mail an news@golem.de


Mi Note 10 im Kamera-Test: Der Herausforderer
Mi Note 10 im Kamera-Test
Der Herausforderer

Im ersten Hands on hat Xiaomis Fünf-Kamera-Smartphone Mi Note 10 bereits einen guten ersten Eindruck gemacht, jetzt ist der Vergleich mit anderen Smartphones dran. Dabei zeigt sich, dass es einen neuen, ernstzunehmenden Konkurrenten unter den besten Smartphone-Kameras gibt.
Von Tobias Költzsch

  1. Xiaomi Neues Redmi Note 8T mit Vierfachkamera kostet 200 Euro
  2. Mi Note 10 Xiaomis neues Smartphone mit 108 Megapixeln kostet 550 Euro
  3. Mi Watch Xiaomi bringt Smartwatch mit Apfelgeschmack

Starlink: SpaceX steht zwischen Flaute und Rekordjagd
Starlink
SpaceX steht zwischen Flaute und Rekordjagd

Die nächsten 60 Starlink-Satelliten stehen zum Start bereit, nachdem in diesem Jahr ungewöhnlich wenige Raketen gestartet sind - nicht nur von SpaceX. Die Flaute hat SpaceX selbst verursacht und einen Paradigmenwechsel in der Raumfahrt eingeläutet.
Von Frank Wunderlich-Pfeiffer

  1. Raumfahrt SpaceX testet Notfalltriebwerke des Crew Dragon
  2. Starship Mit viel Glück nur 6 Monate bis zum ersten Flug ins All
  3. SpaceX Das Starship nimmt Form an

Neuer Streamingdienst von Disney: Disney+ ist stark bei Filmen und schwach bei Serien
Neuer Streamingdienst von Disney
Disney+ ist stark bei Filmen und schwach bei Serien

Das Hollywoodstudio Disney ist in den Markt für Videostreamingabos eingestiegen. In den USA hat es beim Start von Disney+ technische Probleme gegeben. Mit Blick auf inhaltliche Vielfalt kann der Dienst weder mit Netflix noch mit Amazon Prime Video mithalten.
Von Ingo Pakalski

  1. Disney+ Disney korrigiert falsches Seitenverhältnis bei den Simpsons
  2. Videostreaming im Abo Disney+ hat 10 Millionen Abonnenten
  3. Disney+ Disney bringt seinen Streaming-Dienst auf Fire-TV-Geräte

  1. Netztest: Deutsche Mobilfunknetze werden langsamer
    Netztest
    Deutsche Mobilfunknetze werden langsamer

    Nicht nur Vodafone versteht die Ergebnisse nicht, doch im Test der Computer-Bild stehen alle Betreiber schlechter da als im Vorjahr.

  2. Elasticsearch: Datenleak bei Conrad
    Elasticsearch
    Datenleak bei Conrad

    Der Elektronikhändler Conrad meldet, dass ein Angreifer Zugang zu Kundendaten und Kontonummern gehabt habe. Grund dafür war eine ungesicherte Elasticsearch-Datenbank.

  3. Phineas Fisher: 100.000 Dollar für antikapitalistische Firmen-Hacks
    Phineas Fisher
    100.000 Dollar für antikapitalistische Firmen-Hacks

    Was ist das Hacken einer Bank gegen die Gründung einer Bank? Dieses abgewandelte Brecht-Zitat scheint das Motto von Phineas Fisher zu sein. Mit dem erbeuteten Geld will er antikapitalistische Hacks anstiften.


  1. 16:54

  2. 16:17

  3. 16:02

  4. 15:38

  5. 15:23

  6. 15:06

  7. 15:00

  8. 15:00