Keine Ergebnisse gefunden

Ihre Suche ergab keine Treffer.

Analysen und Tests zur Sicherheit

Überblick

Zu den Sicherheitstests von Code von Oracle gehören funktionale und nicht funktionale Maßnahmen, mit denen die Funktionen und die Qualität des Produkts überprüft werden. Obwohl diese Arten von Tests häufig auf sich überlagernde Produktfunktionen abzielen, verfolgen sie orthogonale Ziele und werden von verschiedenen Teams durchgeführt. Funktionale und nicht funktionale Sicherheitstests ergänzen sich gegenseitig, um eine umfassende Sicherheit von Oracle Produkten zu gewährleisten.

Funktionale Sicherheitstests

Funktionale Sicherheitstests werden in der Regel von den normalen Produkt-QA-Teams im Rahmen des gängigen Produkttestzyklus durchgeführt. Bei diesen Tests überprüfen die QA-Entwickler, ob die implementierten Sicherheitsfunktionen mit den Vorgaben übereinstimmen, die zuvor bei der Überprüfung der Architektur und Prüfliste in den funktionalen Spezifikationen vereinbart wurden.

Security Assurance – Analysen und Tests

Diese Sicherheitsanalysen und -tests überprüfen die Sicherheit von Oracle Produkten vor unterschiedlichen Arten von Angriffen. Für das Testen von Oracle Produkten werden zwei breitgefasste Kategorien von Tests eingesetzt: statische und dynamische Analysen, die in den folgenden Abschnitten näher beschrieben werden. Diese Tests finden in unterschiedlichen Phasen der Produktentwicklung statt und führen zur Erkennung verschiedener Fehlerkategorien. Daher werden beide Tests von den Produktteams von Oracle durchgeführt.

Statische Analyse

Die statische Sicherheitsanalyse des Quellcodes ist die erste Sicherheitsmaßnahme in der Produktentwicklung. Oracle nutzt dafür einen statischen Code-Analyzer von Fortify Software, einem HP-Unternehmen, sowie eine Reihe von intern entwickelten Tools, um Fehler im Code schon während des Programmierens zu erkennen. Produkte, die mit modernen Programmiersprachen (wie C/C++, Java, C#) und Plattformen (J2EE, .NET) entwickelt werden, werden gescannt, um mögliche Sicherheitsprobleme zu entdecken. Diese Art der Überprüfung funktioniert gut, um Buffer Overflows und Speicherlecks in C/C++, Probleme mit dem Ressourcen-Handling in J2EE und .NET, die fehlerhafte Verarbeitung von Anmeldedaten, verschiedene Injections, falsche Systemkonfigurationen u. v. m. zu erkennen. Einer der Nachteile dieser Art von Analysen ist die hohe Anzahl an Falschmeldungen, d. h., dass viele der gemeldeten Fehler kein tatsächliches Problem darstellen. Diese Scanberichte werden in der Regel von erfahrenen Entwicklern aus dem Produktteam analysiert, die mit dem Produktcode vertraut sind, um zwischen Falschmeldungen und echten Fehlern zu unterscheiden und die Anzahl an Falschmeldungen zu reduzieren.

Dynamische Analyse

Die dynamische Analyse findet immer in späteren Phasen der Produktentwicklung statt: das Produkt oder die Komponente sollten mindestens ausführbar sein. Je nach Oracle Unternehmen kann dies unterschiedlich gehandhabt werden, doch in der Regel werden diese Analysen von einem Sicherheits-QA-Team (oder einem ähnlichen Team) durchgeführt, ggf. auch von mehreren Produktteams gemeinsam. Die dynamische Analyse ist auf äußerlich sichtbare Produktoberflächen und APIs ausgerichtet und setzt häufig spezialisierte Tools für das Testen voraus. Sowohl manuelle wie auch automatische Tools werden bei Oracle für Tests verwendet. Automatische Tools nutzen Fuzzing-Methoden zum Testen von Produktoberflächen und Protokollen, die über das Netzwerk zugänglich sind. Manuelle Tools verlangen händische Änderungen, ermöglichen aber eine größere Präzision und Genauigkeit.