https://de.wikipedia.org/w/api.php?action=feedcontributions&feedformat=atom&user=SecurityPatternsWikipedia - Benutzerbeiträge [de]2025-05-23T00:51:19ZBenutzerbeiträgeMediaWiki 1.45.0-wmf.2https://de.wikipedia.org/w/index.php?title=Sicherheitstest_(Software)&diff=72574396Sicherheitstest (Software)2010-03-31T08:29:16Z<p>SecurityPatterns: /* Werkzeuge */</p>
<hr />
<div>'''Sicherheitstests''' sind [[Softwaretest]]s welche die Sicherheit einer [[Software]] testen. Sie stellen eine Möglichkeit zur Erhöhung der [[Informationssicherheit]] dar. Die Tests können beginnen, sobald die erste Zeile [[Quelltext]] geschrieben wurde, damit Fehler so früh wie möglich entdeckt werden.<br />
<br />
== Besonderheiten ==<br />
Sicherheitstests haben eine andere Fragestellung als die meisten der übrigen, allgemeinen Tests, weil sie den Nachweis erbringen sollen, dass eine Software keine Funktionen enthält, die sie nicht enthalten soll. Daher handelt es bei Sicherheitstests meistens um so genannte Negativ-Tests. Weiterhin sollen Sicherheitstests den Beweis erbringen, dass keine unsicheren [[Nebeneffekt]]e in einem Programm vorhanden sind, weil bereits ein einzelner Fehler ausreicht, um das gesamte Programm zu kompromittieren. Die Formulierung eines Sicherheitstests ist in der Regel problematisch, weil die Muster der Schwachstellen nicht präzise genug definierbar sind. Sicherheitstests können allerdings nie den Beweis erbringen, dass eine Software zu einhundert Prozent sicher ist.<br />
<br />
== Ziel ==<br />
Das Ziel von Sicherheitstests ist das Auffinden von sicherheitskritischen Schwachstellen in Programmen. Auf diese Weise wird versucht, die Abwesenheit von Schwachstellen in einer Software zu erbringen. Wichtig ist, dass sich die Tests über das gesamte Programm erstrecken, weil, wie oben bereits angeführt, ein einzelner Fehler ausreichend ist, um das gesamte Programm zu kompromittieren. <br />
<br />
== Programmierfehler ==<br />
Sicherheitstests werden entwickelt, um alle Fehler innerhalb eines Programms zu finden. Die meisten dieser sicherheitskritischen Fehler lassen sich auf wenige Ursachen zurückführen. Die häufigste Ursache sind [[Programmierfehler]]. Zur Kategorisierung dieser Programmierfehler existieren verschiedene Schemata, um die einzelnen Fehler sauber von einander abzugrenzen. Die häufigsten immer wieder genannten Kategorien sind die folgenden:<br />
* [[Cross-Site Scripting]]<br />
* [[SQL-Injection]]<br />
* Failing to Protect Data<br />
* [[Buffer Overflow]]<br />
* [[Ausnahmebehandlung|Improper Error Handling]]<br />
* [[Netzwerksicherheit|Information Leakage]]<br />
* Integer Over- und Underflow<br />
* unsichere Handhabung von File-Links<br />
* [[Race Condition]]s<br />
* [[Formatstring-Angriff]]e<br />
* etc.<br />
<br />
Im Rahmen des [[Open Web Application Security Project]] (OWASP) wurde eine Applikation ([[WebGoat]]) entwickelt, die dem Nutzer hilft, die verschiedenen Programmierfehler zu verstehen und nachzuvollziehen. Diese Applikation ist dadurch auch eine gute Ausgangsbasis für die Entwicklung von Sicherheitstests.<br />
<br />
== Werkzeuge ==<br />
Bei den nachfolgend aufgelisteten Werkzeugen handelt es sich zumeist um Sicherheits-Testwerkzeuge. Einige der Werkzeuge sind [[Open Source]]. <br />
<br />
* [[Jlint]] (Java) <br />
* [[PQL]]/bddbddb (Java) <br />
* [[Nikto]] (Perl) <br />
* [[RATS]] (C, C++) <br />
* [[WebScarab]]<br />
* [[ITS4]] (C, C++)<br />
* [[Virtual Forge CodeProfiler]] (SAP ABAP)<br />
* [[Fortify SCA Suite]] (Java, C, C++, etc.)<br />
* [[Codenomicon]] Defensics (Fuzzing Tools für über 140 verschiedene Protokolle, z.B. IPv4, IPv6, SIP, DHCP)<br />
* [[Microsoft Security Development Lifecycle]] (SDL) (8 frei verfügbare Anwendungen)<br />
<br />
== Siehe auch ==<br />
* [[Proof-Carrying Code]]<br />
<br />
== Links ==<br />
* [http://www.owasp.org/index.jsp Open Web Application Security Project]<br />
* [https://www.bsi.bund.de/cae/servlet/contentblob/476464/publicationFile/30642/WebSec_pdf.pdf Bundesamt für Sicherheit in der Informationstechnik (BSI): Maßnahmenkatalog und Best Practices für die Sicherheit von Webanwendungen] (PDF-Datei; 989,71 kB)<br />
* [http://www.suse.de/~thomas/papers/SecProg/Sicherheitsrelevante%20Programmierfehler.pdf Sicherheitsrelevante Programmierfehler] (PDF-Datei; 1,09 MB)<br />
* [http://msdn.microsoft.com/de-de/security/ MSDN Security Developer Center Security Developer Center] im [[MSDN]]<br />
<br />
== Literatur ==<br />
* Howard, M., LeBlanc, D. ''Writing secure code'' Microsoft Press, 2003<br />
<br />
[[Kategorie:Testen (Software)]]<br />
[[Kategorie:Sicherheitslücke]]</div>SecurityPatterns