Rubrik: Markt/Nachrichten

Report bestätigt: Java ist sicherer als viele andere Programmiersprachen

Aber es gibt Sicherheitslücken, die durch inkorrekte Nutzung des Open-Source-Codes entstehen

(20.03.07) - Fortify Software hat einen Report zu ihrem Projekt Java Open Review (JOR) veröffent-licht, der die weithin verbreitete Annahme bestätigt, dass in Java geschriebene Softwarekompo-nenten generell sicherer sind als in anderen Sprachen wie C oder C++ verfasste. Jedoch warnt der Report vor dem mit Java-Komponenten mitgelieferten Beispielcode und vor ungeschützten Schnittstellen. Durch diese potenziellen Schwachstellen finden oftmals Sicherheitslücken Eingang in Open-Source-Komponenten.

Anzeige

"Java ist eine gute Sprache, um sichere Software zu programmieren", sagte Brian Chess, Fortifys führender Wissenschaftler und einer der Autoren des Reports. "Es ist möglich, den Sicherheits-standard anzuheben, ganz gleich, welche Programmiersprache genutzt wird. Aber unsere Analyse hat gezeigt, dass einige der am häufigsten genutzten Open-Source-Java-Projekte weniger Fehlerquellen enthalten und so hervorragende Ressourcen für die Java-Community darstellen. Andererseits fördert die Art, wie manche der Projekte geschrieben sind, die Wahrscheinlichkeit, dass Entwickler Sicherheitsfehler machen, wenn sie den Code nutzen. Java ist eine sehr sichere Basis, wir wollen sicherstellen, dass Open-Source-Entwickler die Möglichkeit haben, Schwach-stellen zu reparieren, bevor sie zum Risiko für Endanwender werden."

Fortifys Report analysiert häufig eingesetzte Java-Packages wie Spring, Struts, Hibernate und Tomcat, die keine eigenen Stand-Alone-Applikationen darstellen, sondern Komponenten, die von Programmierern benutzt und kombiniert werden, um eigene Applikationen zu entwickeln. Sie werden weithin in der Java-Welt von Softwarelieferanten und Entwicklern von Unternehmenssoftware als wesentliche Bausteine für spezialisierte Anwendungen, insbesondere Web-basierte Anwendungen, verwendet.

Trotz der von diesen Open-Source-Paketen demonstrierten hohen Sicherheit, warnt Fortify davor, diese als absolut sicher einzustufen. Der Report führt an, dass der oftmals mit den Open-Source-Packages mitgelieferte Beispielcode mehr Sicherheitsschwachstellen enthält, als das Package an sich. Da diese Codebeispiele oft ohne weitere Überprüfung eingesetzt werden, können Entwickler so bei der Nutzung von Open-Source potenziell Sicherheitslöcher generieren. In anderen Fällen enthalten überprüfte Packages ungeschützte Schnittstellen, die Entwickler dazu veranlassen können, Schwachstellen zu codieren.

Laut den Google Directories liegt die Zahl der in Java geschriebenen Open-Source-Packages deutlich höher als die der anderen Sprachen. In Java sind mehr als doppelt so viel Packages verfügbar wie in PHP und mehr als dreimal so viel wie in C++:

Sprache          Verfügbare Packages:

Java                 3469

PHP                 1643

Perl                  1074

C++                   929

C                       314

"Es findet ein schneller und signifikanter Wechsel statt, bei dem Open-Source-Software nicht nur bei Betriebssystemen und Datenbanken zum Einsatz kommt, sondern zunehmend jetzt auch bei Anwendungen", sagte Bill Joy, als Chefentwickler bei Sun Microsystems maßgeblich an der Entstehung von Java beteiligt und heute einer der Partner der Investmentfirma Kleiner Perkins Caufield & Byers. "Java ist verantwortlich für diesen Trend, und Softwareproduzenten sollten dazu beitragen, Java so sicher wie möglich zu machen. Fortifys Bericht ermutigt diejenigen, die dem Einsatz von Open-Source-Software für unternehmenskritische und datensensitive Applikationen bislang skeptisch gegenüberstanden."

Die typische Software enthält innerhalb des Entwicklungsprozesses laut Carnegie Mellon University's CyLab Sustainable Computing Consortium zwischen 20 und 30 Sicherheits- und Qualitätsfehler pro 1000 Codezeilen. Dem gegenüber analysierte Java Open Review zahlreiche Open-Source-Projekte und stellte im Schnitt lediglich eine Fehlerhäufigkeit von 0,07 pro 1000 Zeilen Code fest. Die Open-Source Vulnerability Database schätzt den Anstieg von Schwachstellen auf 20 Prozent von 2005 auf 2006. Entsprechend ist es wichtig, den Code frühestmöglich im Entwicklungs-prozess abzusichern.

"Der Einsatz von Open-Source-Application-Packages nimmt mehr und mehr zu. Soll diese Software im Unternehmensumfeld zum Einsatz kommen, ist natürlich die Sicherheit der kritische Punkt", sagte Dr. Bill Pugh, Professor der Informatik an der Universität von Maryland, die unter anderem das statische Analysetool Java FindBugs entwickelte. "Open-Source-Projekte haben normalerweise nicht die Möglichkeit, solch hochwertige Analysetools wie die von Fortify zu nutzen, daher ist dieser Service ein großer Gewinn für die Community der Open-Source-Entwickler. Was diese Analyse-scans entdeckt haben, und auch das, was sie nicht finden, ist wichtig, um die Sicherheit der Open-Source-Software zu verstehen und zu verbessern. Die meisten Projekte waren erstaunlich sauber, aber einige wiesen wirkliche Schwachstellen auf, die sich durch JOR ausschalten lassen."

In den für diesen Report überprüften Komponenten wurden am häufigsten Cross-Site-Scripting- Schwachstellen (XSS) entdeckt. XSS erlaubt es Angreifern, beliebige Javascripts im Webbrowser des Anwenders auszuführen, was zum Verlust persönlicher Daten, zum Umgehen von Sicherheits-abfragen oder für Angriffe auf andere Computer im Netzwerk des Opfers missbraucht werden kann. Im Jahr 2006 war Cross-Site-Scripting die am häufigsten dokumentierte Schwachstelle in der CVE-Datenbank (Common Vulnerabilities and Exposures).

Das Java Open Review Project

Das Projekt Java Open Review (JOR) wurde im Dezember 2006 gestartet, um sowohl Qualität als auch Sicherheit der in Java verfassten Open-Source-Software zu steigern. Java ist eine der im Open-Source-Bereich am häufigsten eingesetzten Programmiersprachen und verzeichnet immer mehr Anwender. Durch die Entdeckung und die Dokumentation von Bugs und Sicherheitslücken können Entwickler schon in frühen Phasen eines Softwareprojekts reagieren. Gleichzeitig bietet JOR für Anwender eine Basis, um die mit den verschiedenen Open-Source-Komponenten verbundenen Risiken abzuschätzen. JOR ist das einzige Forum, das dediziert die Thematik der Schwachstellenentdeckung in Open-Source-Javacode aufgreift.

JOR bietet den Open-Source-Entwicklern an, ihre in Java verfassten Softwareprojekte zu über-mitteln, um sie auf Qualitätsmängel und Sicherheitslücken überprüfen zu lassen. Die Analysen werden von eigens qualifizierten, freiwilligen Helfern ausgeführt. Diese nutzen hierfür Fortify Source Code Analysis (SCA), eines der weltweit führenden Sicherheitsanalysetools für Quellcode, sowie FindBugs, ein von annähernd 350.000 Softwareentwicklern und hunderten der weltweit führenden Unternehmen genutztes Prüfprogramm für Java-Code. (Fortify: ma)

 

 

 

Diesen Beitrag per E-Mail versenden Diesen Beitrag ausdrucken