CW-Leser testen: Oracle PL/SQL-Analyzer

26.10.2006
Mit der Software lassen sich Schwachstellen in Programmen aufspüren.

Programme werden meist unter Termindruck getestet, abgenommen und dann freigegeben. Manuelle Verfahren zur Code-Inspektion (Schreibtischtests) sind zeitaufwändig, erfordern hohes Expertenwissen und führen zu nicht reproduzierbaren Ergebnissen. Ab einer bestimmten Komplexität der Anwendungen sind manuelle Verfahren überhaupt nicht mehr möglich.

Fazit

Mit Oplan von Itdoc24 lassen sich auch komplexe PL/SQL-Programme automatisiert auf Schwachstellen überprüfen.

Auf der Suche nach einem Abnahmewerkzeug, das die Code-Inspektion für Anwendungen auf Basis von Oracles Programmiersprache PL/SQL maschinell vollzieht, hatten wir endlich Erfolg. Itdoc24 (http://www. itdoc24.de/), eine kleine Softwareschmiede aus Frankfurt am Main, hat ein Werkzeug namens "Oplan" ("Oracle PL/ SQL-Analyzer") entwickelt. Wir haben verblüffende Ergebnisse erzielt; unsere Erwartungen wurden sogar übertroffen.

Kritische Stellen finden

Auch komplexe Anwendungen lassen sich damit schnell analysieren. Das Tool findet dabei Fehler oder kritische Stellen wie:

- nicht verwendete oder überflüssige Variablen, Cursor und Exceptions;

- nicht erreichbare Anweisungen und toten Code;

- fehlerhafte Konstruktionen wie zum Beispiel "if i=3 and i>3";

- unzulässige Verwendung reservierter Wörter;

- falsche Anwendung von Operatoren (zum Beispiel "=NULL");

- Loops ohne Exit-Anweisung (Endlosschleifen);

- gleichnamige Variablen mit überlappenden Geltungsbereichen;

- Open- ohne Close-Cursor;

- überschriebene Objekte des Packages "Standard";

- unzulässig unterdrückte Fehlerbehandlung;

- unnötige Verwendungen von Variablen (wie etwa Variablen, auf die nie eine Abfrage erfolgt);

- Else-if-Kaskaden ohne Else-Zweig (gefährliche Konstruktion, da vermutlich nicht alle möglichen Fälle systematisch verarbeitet werden);

- Return innerhalb von Prozeduren sowie

- Funktionen ohne Return-Statement.

Der Anwender erhält neben einer ausführlichen Schwachstellenanalyse auch eine professionelle technische Dokumentation. Das führt zu erheblich kürzeren Einarbeitungszeiten, wenn der Nutzer fremden Code warten muss. Zudem lässt Oplan sich leicht installieren und schnell erlernen.

Itdoc24 hat einen Interpreter für eine eigene 3GL-Sprache entwickelt, der die Grammatik von Oracle-SQL und PL/SQL beschreibt. Obwohl der PL/SQL-Analyzer kom- plexe Aufgaben löst, bleibt sein Sourcecode dank des Interpreters erweiterbar, übersichtlich und wartbar.

Zur Analyse eines Oracle-Programms ist kein Zugriff auf das Data Dictionary notwendig. Sie kann auf einem separaten PC erfolgen. Als Ergebnis liefert die Software einen Prüfbericht im HTML-Format zurück, der in übersichtlichen, tabellarischen Listen die gefundenen Elemente darstellt. Unsere Tests haben gezeigt, dass das Werkzeug auch große Anwendungen mit über 400000 Programmzeilen einwandfrei analysieren kann. Wir haben kein anderes Tool mit vergleichbaren Funktionen gefunden und nutzen "Oplan" zur Abnahme von PL/SQL-Programmen.

Mit Hilfe des automatischen Code-Inspection-Tools werden Schwachstellen schnell und systematisch aufgedeckt. Zu allen problematischen Codebereichen erhält der Nutzer eine aussagekräftige Meldung mit Zeilennummer und einen Hinweis, wie das Manko zu beheben ist. Zudem macht die Software die Programmstruktur von Oracle-Anwendungen transparent. Hinsichtlich der Interpretation einiger Schwachstellen mag es unterschiedliche Auslegungen geben. Die Beispiele und Hilfetexte sorgen hier für Klarheit.

Durch eine geeignete Formatierung und geschicktes Einrücken sind die Schachtelungstiefe und der Kontrollfluss übersichtlich erkennbar. Es hat sich herausgestellt, dass wir mit dem Tool in puncto Qualitätssicherung und Dokumentation erhebliche Kosten einsparen können.

Teures Werkzeug

Doch es gibt auch Kritisches anzumerken: Eine Multi-Server-Vollversion kostet satte 10000 Euro. Die vom Hersteller bereitgestellte Testversion ist auf 200 Keywords begrenzt. Ferner ist das Werkzeug auf PL/SQL beschränkt. Manche Entwickler schätzen das Werkzeug, andere haben Vorbehalte, schließlich werden Schwachstellen aufgedeckt, die bisher unentdeckt geblieben sind.

Oplan ist in der Version "1.0.2-01q" verfügbar, läuft auf allen Windows-Versionen und vermag PL/SQL-Programme sämtlicher Oracle-Versionen auf allen Plattformen zu analysieren. (fn)