Sicherheitstests

Sicherheitstests

Was ist die Informationssicherheit

Zuerst lassen wir uns definieren, was die Informationssicherheit bedeutet, wenn wir über die Wichtigkeit der Software-Sicherheitstests sprechen. Die Informationssicherheit besteht aus Konzepte der Vertraulichkeit, Integrität, Verfügbarkeit.
Die Vertraulichkeit bedeutet einen Schutz gegen die Offenlegung von Informationen zu andere Menschen, die nicht beabsichtigten Empfänger sind. Die Integrität bedeutet die Aufrechterhaltung der Datenkonsistenz während seines gesamten Lebenszykluses. Die Daten können nicht entweder von unautorisierten Personen, oder während der Durchfahrt verändert weder. Es ist ziemlich wichtig die betroffenen Daten an ihrem korrekten Zustand im Falle von unerwarteter Änderung wiederherzustellen.
Wenn es nötig ist, beabsichtigt sich die Verfügbarkeit, dass die Daten für autorisierte Benutzer zur Verfügung stehen.

Was ist Sicherheitstests

Die Software-Sicherheitstests ist eine Reihe von Verfahren mit dem Ziel, die Informationen Sicherheitsrisiken durch die Gewährleistung von Software-Sicherheitseigenschaften und die Entdeckung von potenziellen Schwachstellen zu verschiedenen Arten von Angriffen zu mildern.
Gewöhnlich wird die besondere Aufmerksamkeit im Falle von Software-Fehler Erzeugung geschenkt. Bestimmungsgemäß wird ihre Wirkung auf Verhalten von Software in Bezug auf Datenschutz und Funktionspflege bewertet.
Computersysteme sind häufig als ein Ziel der illegalen Eintragung werden (zum Beispiel versucht Hacker in das System einzuloggen). Also der häufigste Software-Sicherheitstests Ansatz ist Penetrationstests. Sie wird an Besiegung von dem bestehenden Softwareschutz gezielt.
Der Tester wirkt aus der Sicht von Hacker, der die Sicherheit der Systeminformationen zu verletzen will. Er versucht:

  • Das Passwort durch externe Ressourcen zu finden
  • Das System durch spezielle Werkzeugen mit dem Schutz Analyse anzugreifen
  • Das System zu vernichten, um seine Services zu brechen
  • Die Fehler zu erstellen, um ein System während der Wiederherstellung einzugeben
  • Nicht klassifizierte Daten anzuzeigen, um Anmeldeschlüssel zu finden

Merkmale der Sicherheitstests für Webanwendungen

Die Sicherheitstests für Webanwendungen hält die folgenden Eigenschaften: Autorisation, Authentifizierung, Eingabeüberprüfung, Zuverlässigkeit der Datenverschlüsselung, Fehlerbehandlung, Pufferüberlauf, Serverkonfiguration. Die Tests von Zugangskontrolle identifiziert die Defekte, die den unbefugten Zugriff auf Anwendungen ermöglichen kann. Tester erstellt die vorsätzliche Fehler, um ein System während der Wiederherstellung einzubrechen, ein Passwort zu erraten, usw.
Die Authentifizierungstests bedeutet das Verständnis des Authentifizierungsprozesses und die Verwendung dieser Informationen, um das Authentifizierungsmechanismus umzugehen.
Die Datenvalidierungstests stellt sicher, dass die mögliche Formen der Eingabe bevor der Nutzung korrekt sind.
Die Zuverlässigkeitstests der Datenverschlüsselung überprüft, ob es irgendwelche Fehler in der Datenverschlüsselung, Scannen und Anerkennung der elektronischen Unterschriften gibt, die zur Rissbildung des Systems führen können. Fehlerbehandlungsprozess wird getestet, um die Anwendungssicherheit unter voraussichtlichen und unerwarteten Fehlerbedingungen zu gewährleisten. Keine vertraulichen Informationen sollen für Benutzer verfügbar sein, wenn das System ausfällt.
Um eine Anwendung für den Pufferüberlaufprobleme zu testen, ist es notwendig eine Eingangsdaten einzugeben, deren die еrwartete Größe übersteigen. Der nächste Schritt ist das Anwendungsverhalten zu überwachen, damit wir überprüfen können, ob ein Überlauf tatsächlich ausgelöst wurde oder nicht.
Für die Probleme in der Multithreadumgebung, die zur Beschädigung von Daten und Bedienfehler führen können, war die Serverkonfiguration getestet.

Typen von Sicherheitslücken in Software

Die häufigsten Arten von Software-Softwareanfälligkeiten werden durch XSS, XSRF, Code Injektions, SSI-Injektion, Bypass Autorisierung dargestellt.
XSS (Cross-Site Scripting) ist eine Art von Website-Verwundbarkeit, wenn bösartige Skripte in Websiten eingespritzt werden. Die Angreifer versuchen Cookies zu stehlen, die Benutzer an eine Website mit dem ernsteren Angriff umzuleiten, ein schädliches Objekt in den Speicher zu beladen, usw.
XSRF/CSRF (Cross-Site Request Forgery) ist ein Angriff, der die Benutzer zwingt eine Seite mit einem bösartigen Anfrage zu beladen und auszuführen. Es ist böswillig, denn es Benutzerdaten nutzt, um Operationen, wie Änderung des E-Mail-Adresse oder des Passworts von Benutzer, oder Einkaufs durchzuführen. Die CSRF-Angriffe attackieren im Allgemeinen die Zielfunktionen, die eine Zustandsänderung auf dem Server verursachen. Es kann aber auch vertrauliche Daten zugreifen. Code Injektions (SQL, PHP, ASP) ist ein Begriff für Angriffe der Injektion von Kode, der dann durch die Anwendung interpretiert/ausgeführt wird. Code Injektions sind wegen eines Mangels der richtigen Ein- / Ausgabedatenüberprüfung möglich.
Server-Side Includes (SSI) Injektion ist eine Art von Sicherheitslücke, die der Angreifer eine Möglichkeit gibt, der Kode in HTML-Seiten einzuspritzen oder sogar die Remotecodeausführung durchzuführen.
Bypass Autorisierung ist eine Art von Sicherheitslücke, die unbefugten Zugriff auf Benutzerkonto, Funktionen und Ressourcen ermöglicht.

Schlussfolgerung

Die Reichweite Software-Schwachstellen und Möglichkeiten sie zu brechen sind ziemlich umfangreich.
Erfolg von Sicherheitstests hängt stark von Testers Fähigkeit, wie ein Hacker zu denken und zu handeln. Es ist schwierig die Qualität von Sicherheitstests zu messen, denn trotz einer Anzahl von entdeckten Schwachstellen gibt es eine Unbemerkte, die kann entscheidend sein. Trotzdem hilft es sicherzustellen, dass die Gesamtzahl der unbefugten Durchdringungen und Datenverluste weit weniger sein werden. Als die Mittel für die Software-Hacking ständig verbessert werden, ist es wichtig, neue Technologien zu lernen.
Mit einer unbegrenzten Zeit und Ressourcen können gute Sicherheitstests jedes System hacken.