Vorstellung des codEX Project Marc Ruef | 07.04.2007 Die Analyse von Programm-Quelltexten ist eine sehr mächtige Methode, um Schwachstellen in einem Produkt aufdecken zu können. Dabei gibt es verschiedene Techniken, wie sich eine solche Untersuchung anstellen lässt. Obschon es einige Analysewerkzeuge für diese Tätigkeit gibt, in den meisten Fällen handelt es sich um teure Lösungen oder primitive Skripte, muss ein Grossteil der Arbeit manuell durchgeführt werden. Auch in meinem nächsten Buch (http://www.amazon.de/dp/3936546495) werde ich mich in einem ganzen Kapitel dieser Aufgabe widmen. Mir der Aufwändigkeit solcher Vorgehensweisen bewusst, bin ich darum bemüht ein Tool zu entwickeln, mit dem sich derartige Arbeiten vereinfachen und gar automatisieren lassen. Vor rund zwei Jahren habe ich mit der Ausarbeitung eines Konzepts für eine solche Applikation begonnen. Kurz nach der Fertigstellung meines Buchs vor rund einer Woche habe ich eine erste Implementierung angestrebt. Das grundlegende Prinzip basiert auf einem virtuellen multi-pass Compiler, der den Quelltext der zu untersuchenden Applikation in eine normalisierte, reduzierte und lineare Fassung bringt (1st pass). Diese assemblerähnliche Sprache namens METACODE erlaubt in einem zweiten Schritt die logische Untersuchung der vorliegenden Applikation (2nd pass). Damit lassen sich syntaktische Fehler (z.B. inkoheränte Klammerung), logische Probleme (z.B. Off-by-One Zähler) und Sicherheitslücken (z.B. SQL-Injection) ausmachen. Heute wurde die Projektwebseite unter http://www.computec.ch/projekte/codex/ aufgeschaltet. Bisweilen sind darauf allgemeine Informationen zur Idee sowie Screenshots der Anwendung zu finden. In absehbarer Zeit wird eine erste öffentliche Version zur Verfügung gestellt. Die grundlegende Arbeitsweise kann ab Ende Mai 2007 in meinem Buch nachgelesen werden. Die Arbeiten am codEX Project werden voraussichtlich die Grundlagen für ein weiteres Buch zum Thema Source Code Analysis bilden, welches ich für das Jahr 2009 vorgesehen habe.