Tim Pritlove
👤 SpeakerAppearances Over Time
Podcast Appearances
Eine sehr hohe Kunst, weil nur drauf zu kloppen eben nicht ausreicht, wenn du den Code verstehst als einen
verästelten Pfad von Möglichkeiten und du willst alle Pfade dieser Möglichkeiten, alle Verzweigungen irgendwie abdecken, dann schaffst du das nicht, wenn du einfach nur Zufall drauf wirst, weil es ja zum Beispiel sein könnte, dass die am Anfang eine 50% Wahrscheinlichkeit 1-0 oder so ist und
die aber eine Komplexität oder eine Entropie von sagen wir mal ein MB hat oder so und dass du die Hälfte deines Inputs scheitert schon an der ersten Schranke.
Das heißt, du musst sehr gezielt bei dem Fuzzing dir auch darüber Gedanken machen, dass du möglichst viel von deinem Input auch wirklich dazu führt, dass es unterschiedliche Pfade des Codes ergründet.
Insofern würden insbesondere meine Kollegen, die sich mit Fuzzing auseinandersetzen, vehement widersprechen, dass es einfach nur draufkloppen ist.
Aber selbst damit ...
wurden offen, und ich bin mir sehr sicher, dass der TCP-Stack aus der OpenBSD durchaus auch mal durch den Fasser gescheucht wurde, weil TCP eignet sich auch ganz gut zum Fassen.
Auch damit wurde es in 27 Jahren nicht gefunden.
Und das Beeindruckende ist also jetzt hier, dass es
diese Sachen findet.
Allerdings ist es jetzt auch nicht so, dass du sagst, ey yo Claude, hier ist mal übrigens dein, hier ist mal so ein Repo, hier findet man eben die Criticals, vor allem die, die 27 Jahre alt sind.
Nein, sondern die brauchten, und das finde ich hier sehr spannend, vom Setup haben sie immer und immer wieder das Modell hochgezogen und immer und immer wieder die Aufgabe gegeben und haben im
haben quasi gleiche Aufgabe hunderte bis tausende Male gestellt.
Hunderte Male auf jeden Fall.
Mit natürlich auch immer unterschiedlichen Ergebnissen.
Und dann kam eben teilweise...
solche Critical Spy raus.
Das finde ich zum Beispiel auch spannend zu ergründen, woran das liegt und warum sie das mehrmals machen mussten, weil eben dieser Raum, der durch den Quellcode abgedeckt wird, also der Möglichkeitenraum, wie man sich in diesen Wirrungen dieser logischen Bedingungen, die hintereinander geknüpft werden und abhängig voneinander sind, wie man sich dadurch bewegen kann,
Der wird sehr schnell einfach enorm groß und der Speicherbedarf, der Arbeitsspeicherbedarf, um das zu repräsentieren für so ein Modell, wird auch sehr schnell sehr hoch.