DE112010004605T5 - Verfahren und Vorrichtung zur Sicherheitsprüfung - Google Patents

Verfahren und Vorrichtung zur Sicherheitsprüfung Download PDF

Info

Publication number
DE112010004605T5
DE112010004605T5 DE112010004605T DE112010004605T DE112010004605T5 DE 112010004605 T5 DE112010004605 T5 DE 112010004605T5 DE 112010004605 T DE112010004605 T DE 112010004605T DE 112010004605 T DE112010004605 T DE 112010004605T DE 112010004605 T5 DE112010004605 T5 DE 112010004605T5
Authority
DE
Germany
Prior art keywords
security
users
class
rules
security rules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112010004605T
Other languages
English (en)
Inventor
Lin Luo
Fan Jing Meng
Yu Zhang
Shun Xiang Yang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112010004605T5 publication Critical patent/DE112010004605T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Die vorliegende Erfindung stellt ein Verfahren zur Sicherheitsprüfung einer Benutzereingabe in einer Netzwerkanwendung bereit. Das Verfahren umfasst Folgendes: Bereitstellen einer Teilmenge von Sicherheitsregeln der Sicherheitsregeln der serverseitigen Schutzmittel (10) für eine Vorprüfungskomponente (110), die auf einem Client (11) installiert ist, sodass eine Sicherheitsprüfung einer Benutzereingabe auf der Clientseite durch die Vorprüfungskomponente anhand der bereitgestellten Teilmenge von Sicherheitsregeln möglich wird; Gültigkeitsprüfung (103) der Benutzereingabe auf der Grundlage einer Sicherheitsregel der Schutzmittel; als Reaktion auf die Erkennung einer die Sicherheitsregeln verletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel nicht bereitgestellt wurde, das Ermitteln (104) des Benutzers als zu einer ersten Klasse von Benutzern gehörig; und als Reaktion auf die Erkennung einer die Sicherheitsregeln verletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel bereitgestellt wurde, das Ermitteln des Benutzers als zu einer zweiten Klasse von Benutzern gehörig. Bei der zweiten Klasse von Benutzern werden alle folgenden Anfragen abgeblockt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft Lösungen zur Netzwerksicherheit und insbesondere ein Verfahren und eine Vorrichtung zur Sicherheitsprüfung von Benutzereingaben bei Netzwerkanwendungen.
  • BESCHREIBUNG DES STANDS DER TECHNIK
  • Heutzutage nimmt die Zahl von Sicherheitslücken bei Webanwendungen rasant zu. Netzwerkanwendungen sind empfindlich gegenüber Angriffen wie z. B. seitenübergreifendem Scripting (Cross-Site Scripting, XSS), SQL-Einschleusung (SQL injection), LDAP-Einschleusung (LDAP injection), Command Access, PHP-Einschleusung (PHP injection) usw. Statistiken zeigen, dass 75% der Angriffe auf die Anwendungsschicht zielen und 90% der Sites anfällig gegenüber Angriffen auf Netzwerkanwendungen sind.
  • Bei den herkömmlichen Lösungen für die Sicherheit von Webanwendungen wird einerseits auf der Clientseite Prüfcode in Prüfprogrammen von Webanwendungen und andererseits auf der Seite des Webanwendungsservers eine Webanwendungs-Firewall eingesetzt, um bösartige Eingaben zu filtern und abzublocken. Da bösartige Benutzer das Anzeigeprogramm der Webanwendung auf der Clientseite umgehen und bösartigen Code bzw. bösartige Scripts direkt auf den Webanwendungsserver einschleusen könnten, ist es außerordentlich notwendig, Benutzereingaben auf der Seite des Webanwendungsservers weiteren Gültigkeitsprüfungen zu unterziehen.
  • Die Webanwendungs-Firewall, ein transparenter Schutzmechanismus auf der Seite des Webanwendungsservers, hat mindestens die folgenden Funktionen: Überprüfen der Gültigkeit von Benutzereingaben auf der Grundlage vordefinierter Sicherheitsregeln; Ergreifen von entsprechenden sicherheitsorientierten Schutzmaßnahmen gegenüber Benutzereingaben, die die Sicherheitsregeln verletzen, z. B. Blockieren der IP-Adresse, Abweisen der Anforderung, Erzeugen eines Protokolls oder das Neuschreiben der Nutzdaten usw.
  • Bei der Beobachtung von Online-Webanwendungen ist festzustellen, dass die Gültigkeitsprüfungen von Sicherheitsregeln durch Schutzmittel auf der Serverseite durch die folgenden zwei Umstände ausgelöst werden können
    • 1. Unschuldige Benutzer machen einen Fehler beim Eingeben einiger Werte, die die Sicherheitsregeln verletzen.
    • 2. Bösartige Benutzer umgehen den Mechanismus zur Gültigkeitsprüfung der Benutzereingaben auf der Clientseite und schleusen mithilfe einiger Hilfsprogramme bösartige Eingaben auf den Webanwendungsserver.
  • Vorhandene Lösungen zur Gültigkeitsprüfung von Benutzereingaben können jedoch unschuldige Benutzer und bösartige Benutzer nicht wirksam erkennen, und Schutzmittel können fast nie entsprechende sicherheitsgerichtete Schutzmaßnahmen ergreifen. Wenn z. B. Maßnahmen wie das Blockieren der IP-Adresse oder das Abwehren der Anforderung gegenüber unschuldigen Benutzern ergriffen werden, die einfach nur einen Fehler beim Eingeben machen, hat das schwerwiegende Auswirkungen auf die Erfahrungen dieser Benutzer der Webanwendung; wenn Anforderungen unabhängig von bösartigen Benutzern oder unschuldigen Benutzern während des Verstoßes zurückgewiesen und der Benutzer einen benutzerfreundlichen Sicherheitshinweis erhält, steigt der Leistungsverbrauch der Sicherheitsüberprüfungssysteme erheblich an.
  • Es besteht daher ein Bedarf an einem Sicherheitsüberprüfungsschema für Netzwerkanwendungen, das unschuldige und bösartige Benutzer wirksam erkennen kann.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Um die Mängel des gegenwärtigen Stands der Technik zu beseitigen, wird in der vorliegenden Erfindung ein Verfahren zur Sicherheitsüberprüfung einer Benutzereingabe in einer Netzwerkanwendung vorgeschlagen. Das Verfahren umfasst Folgendes: Bereitstellen einer Teilmenge von Sicherheitsregeln der Sicherheitsregeln der serverseitigen Schutzmittel für eine Vorprüfungskomponente, die auf einem Client installiert ist, sodass eine Sicherheitsprüfung einer Benutzereingabe auf der Clientseite durch die Vorprüfungskomponente anhand der bereitgestellten Teilmenge von Sicherheitsregeln möglich wird; Gültigkeitsprüfung der Benutzereingabe auf der Grundlage einer Sicherheitsregel der Schutzmittel; als Reaktion auf die Erkennung einer die Sicherheitsregeln verletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel nicht bereitgestellt wurde, das Ermitteln des Benutzers als zu einer ersten Klasse von Benutzern gehörig; und als Reaktion auf die Erkennung einer die Sicherheitsregeln verletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel bereitgestellt wurde, das Ermitteln des Benutzers als zu einer zweiten Klasse von Benutzern gehörig.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, das ferner Folgendes umfasst: das asynchrone Durchführen einer dynamischen Aktualisierung einer der Vorprüfungskomponente bereitgestellten Teilmenge von Sicherheitsregeln; wobei in dem Schritt, in dem die Teilmenge von Sicherheitsregeln der Sicherheitsregeln der serverseitigen Schutzmittel der Vorprüfungskomponente bereitgestellt wird, und in dem Schritt, in dem eine asynchrone dynamische Aktualisierung der der Vorprüfungskomponente bereitgestellten Teilmenge von Sicherheitsregeln durchgeführt wird, eine Teilmenge von Sicherheitsregeln aus einer Menge von Sicherheitsregeln der Schutzmittel herausgefiltert wird.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem die Vorprüfungskomponente eine eigenständige Javascript-Komponente ist, die auf einem Client-Browser laufen kann.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, das ferner Folgendes umfasst: Durchführen unterschiedlicher sicherheitsorientierter Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und gegenüber der zweiten Klasse von Benutzern.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem der Schritt des Durchführens verschiedener sicherheitsorientierter Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und zweiten Klasse von Benutzern Folgendes umfasst: Durchführen einer sicherheitsorientierten Schutzmaßnahme gegenüber der zweiten Klasse von Benutzern wie das zwangsweise Abblocken aller weiteren Anforderungen; und das Durchführen einer sicherheitsorientierten Schutzmaßnahme gegenüber der ersten Klasse von Benutzern, die dazu beiträgt, die guten Erfahrungen der Benutzer aufrechtzuerhalten.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem die Sicherheitsrichtlinie eines oder mehrere der folgenden Elemente enthält: das Auswählen einer Sicherheitsregel mit einer hohen Regelverletzungsrate; das Ausschließen aller Negativregeln in der Menge von Sicherheitsregeln; das Ausschließen risikoreicher Sicherheitsregeln in der Menge von Sicherheitsregeln.
  • Vorzugsweise stellt die vorliegende Erfindung ein Verfahren bereit, bei dem die Vorprüfungskomponente als Reaktion auf ein onPropertyChange-Ereignis in einem Eingabefeld die Sicherheit einer Benutzereingabe auf der Clientseite anhand der bereitgestellten Teilmenge von Sicherheitsregeln prüft.
  • In der vorliegenden Erfindung wird ferner eine Vorrichtung zur Sicherheitsprüfung einer Benutzereingabe in einer Netzwerkanwendung vorgeschlagen. Die Vorrichtung umfasst Folgendes: Mittel zum Bereitstellen einer Teilmenge von Sicherheitsregeln der Sicherheitsregeln der serverseitigen Schutzmittel für eine Vorprüfungskomponente, die auf einem Client installiert ist, sodass eine Sicherheitsprüfung einer Benutzereingabe auf der Clientseite durch die Vorprüfungskomponente anhand der bereitgestellten Teilmenge von Sicherheitsregeln möglich wird; Mittel zur Gültigkeitsprüfung der Benutzereingabe auf der Grundlage einer Sicherheitsregel der Schutzmittel; als Reaktion auf die Erkennung einer die Sicherheitsregeln verletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel nicht bereitgestellt wurde, Mittel, um den Benutzer als zu einer ersten Klasse von Benutzern gehörig zu ermitteln; und als Reaktion auf die Erkennung einer die Sicherheitsregeln verletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel bereitgestellt wurde, Mittel, um den Benutzer als zu einer zweiten Klasse von Benutzern gehörig zu ermitteln.
  • Vorzugsweise stellt die vorliegende Erfindung eine Vorrichtung bereit, die ferner Folgendes umfasst: Mittel zum asynchronen Durchführen einer dynamischen Aktualisierung einer der Vorprüfungskomponente bereitgestellten Teilmenge von Sicherheitsregeln, wobei die Mittel, mit denen einer Vorprüfungskomponente auf dem Client eine Teilmenge von Sicherheitsregeln der Sicherheitsregeln von serverseitigen Schutzmitteln bereitgestellt wird, um auf der Clientseite mithilfe der Vorprüfungskomponente auf der Grundlage der bereitgestellten Teilmenge von Sicherheitsregeln die Sicherheitsprüfung einer Benutzereingabe durchzuführen, und die Mittel zum asynchronen Durchführen einer dynamischen Aktualisierung einer der Vorprüfungskomponente bereitgestellten Teilmenge von Sicherheitsregeln die Teilmenge von Sicherheitsregeln aus einer Menge von Sicherheitsregeln der Schutzmittel anhand einer bestimmten Sicherheitsrichtlinie herausfiltern.
  • Vorzugsweise stellt die vorliegende Erfindung eine Vorrichtung bereit, bei der die Vorprüfungskomponente eine eigenständige Javascript-Komponente ist, die auf einem Client-Browser laufen kann.
  • Vorzugsweise stellt die vorliegende Erfindung eine Vorrichtung bereit, die ferner Folgendes umfasst: Mittel zum Durchführen anderer sicherheitsorientierter Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und gegenüber der zweiten Klasse von Benutzern.
  • Vorzugsweise stellt die vorliegende Erfindung eine Vorrichtung bereit, bei der die Mittel zum Durchführen unterschiedlicher sicherheitsorientierter Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und zweiten Klasse von Benutzern Folgendes umfasst: Mittel zum Durchführen einer sicherheitsorientierten Schutzmaßnahme gegenüber der zweiten Klasse von Benutzern wie das zwangsweise Abblocken aller weiteren Anforderungen; und Mittel zum Durchführen einer sicherheitsorientierten Schutzmaßnahme gegenüber der ersten Klasse von Benutzern, die dazu beiträgt, die guten Erfahrungen der Benutzer aufrechtzuerhalten.
  • Vorzugsweise stellt die vorliegende Erfindung eine Vorrichtung bereit, bei der die Sicherheitsrichtlinie eines oder mehrere der folgenden Elemente enthält: das Auswählen einer Sicherheitsregel mit einer hohen Regelverletzungsrate; das Ausschließen aller Negativregeln in der Menge von Sicherheitsregeln; das Ausschließen risikoreicher Sicherheitsregeln in der Menge von Sicherheitsregeln.
  • Vorzugsweise stellt die vorliegende Erfindung eine Vorrichtung bereit, bei der die Vorprüfungskomponente als Reaktion auf ein onPropertyChange-Ereignis in einem Eingabefeld die Sicherheit einer Benutzereingabe auf der Clientseite anhand der bereitgestellten Teilmenge von Sicherheitsregeln prüft.
  • Die vorliegende Erfindung betrifft darüber hinaus ein Sicherheitsprüfungssystem, das eine Vorrichtung zur Sicherheitsprüfung einer Benutzereingabe in einer Netzwerkanwendung umfasst.
  • Gemäß der technischen Lösung der vorliegenden Erfindung kann wirksam zwischen „einer zweiten Klasse von Benutzern” und „einer ersten Klasse von Benutzern” unterschieden werden. Hinsichtlich einer zweiten Klasse von Benutzern und einer ersten Klasse von Benutzern können unterschiedliche Lösungen konfiguriert werden, wobei die Relevanz des Gültigkeitsprüfungsprozesses erweitert wird. Gemäß einer Ausführungsform der vorliegenden Erfindung ist es möglich, die Benutzererfahrung „einer ersten Klasse von Benutzern” in Bezug auf eine Webanwendung so weit wie möglich zu gewährleisten und den nutzlosen Verbrauch von Systemleistung in einem maximalen Umfang zu vermeiden. Außerdem wird die Auslastung der serverseitigen Schutzmittel verringert und dementsprechend die Leistung des gesamten Gültigkeitsprüfungssystems erhöht.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Zum besseren Verständnis der vorliegenden Erfindung werden weitere Merkmale und Auswirkungen der vorliegenden Erfindung klarer und leichter nachvollziehbar, wenn die folgende Beschreibung in Verbindung mit den Figuren gelesen wird, wobei:
  • 1 eine Systemstruktur schematisch veranschaulicht, in der eine Ausführungsform der vorliegenden Erfindung realisiert sein kann;
  • 2 einen Ablaufplan eines Verfahrens zur Sicherheitsprüfung einer Benutzereingabe gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 3 einen Ablaufplan von serverseitigen Schutzmitteln und einer clientseitigen Vorprüfungskomponente gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht; und
  • 4 eine schematische Ansicht des Zusammenspiels zwischen Modulen eines Sicherheitsprüfungssystems gemäß einer Ausführungsform der vorliegenden Erfindung wiedergibt.
  • In den vorgenannten Figuren bezeichnen gleiche Ziffern identische, ähnliche oder entsprechende Merkmale oder Funktionen.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 1 veranschaulicht schematisch eine Systemstruktur, in der eine Ausführungsform der vorliegenden Erfindung realisiert sein kann. Die Bezugszahl 11 bezeichnet einen Client-Browser auf der Clientseite zum Senden einer HTTP-Anfrage des Benutzers an den Webanwendungsserver und zum Empfangen einer entsprechenden Antwort von dem Webanwendungsserver; 12 bezeichnet ein Netzwerk, über das der Webanwendungsserver auf die Anforderung antworten kann, die der Benutzer mithilfe des Client-Browsers gesendet hat; 10 bezeichnet Schutzmittel auf der Seite des Webanwendungsservers zum Prüfen eines Eingabewertes in der Benutzeranforderungen auf der Serverseite und zum Bereitstellen eines Sicherheitsschutzes für den Webanwendungsserver; 13 bezeichnet den Webanwendungsserver.
  • Wie in 1 dargestellt sendet der Benutzer eine Anforderung mit einem Eingabewert mithilfe des Client-Browsers 11 auf der Clientseite über das Netzwerk 12 an den Webanwendungsserver 13. Der Eingabewert des Benutzers muss geprüft werden, um die Sicherheit der Webanwendung zu garantieren. Normale Benutzer geben auf der Clientseite keinen bösartigen Wert ein, z. B. Logikcode wie etwa JavaScript-Logik, während mögliche bösartige Benutzer unter Umständen bösartigen Logikcode auf den Webanwendungsserver 13 einschleusen, um den Server anzugreifen und private Informationen anderer Benutzer usw. zu stehlen, wobei bösartiger Code wie z. B. JavaScript sensible Informationen von Clients stiehlt, wenn er vom Server an den Browser des Clients gesendet wird. Obwohl ein Prüfprogramm der Webanwendung (nicht dargestellt) auf der Clientseite so konfiguriert sein kann, dass Eingabewerte des Benutzers erkannt werden, können bösartige Benutzer das Prüfprogramm der Webanwendung umgehen, indem sie bestimmte Programme nutzen, um mithilfe eines Scripting-Einschleusungsprogramms einen bösartigen Wert direkt auf den Webanwendungsserver 13 einschleusen. Deshalb müssen die Schutzmittel 10 wie z. B. eine Anwendungs-Firewall auf der Serverseite mit vordefinierten Sicherheitsregeln konfiguriert werden, auf deren Grundlage die Schutzmittel 10 Eingabewerte von Benutzern prüfen. Wenn das Schutzmittel 10 einen Benutzereingabewert erkennt, der die Sicherheitsregeln verletzt, ergreift es entsprechende sicherheitsorientierte Schutzmaßnahmen gegenüber diesem Benutzer, um eine mögliche Gefährdung zu beseitigen. Tabelle 1 zeigt beispielhafte Sicherheitsregeln, die das Schutzmittel 10 übernehmen könnte. Tabelle 1
    Anwendungsspezifische Regel ALLOWRULE ”URI/testresult.html; narre ^[a-zA-Z0-9\s.-]*$; age ^[0-9]+$”; ”ID=050000, SEVERITY=2, ATTACKTYPE=malformed, ACTION=deny”
    Negativregel NEGATIVERULE ”ALL *(?:\b(?:\.(?:ht(?:access|passwd |group)|www ?acl)|global\.asa|httpd\.conf|bo ot\.ini)\blVetcV).*” ”ID=090001, SEVERITY=1, ATTACKTYPE=File Injection, ACTION=block”
    Aliase Regex
    Sicherer Text ^[a-zA-Z0-9\s.\-]*$
    eMail /((\%3C)|<)((\%2F)|V)*[a-z0-9\%]+((\%3E)|>)/ix
    Ganzzahl (-|\+)?[0-9]+
    XSS-Einschleusung /((\%3C)1<)((\%2F)|-)*[a-z0-9\%]+((\%3E)|>)/ix
    SQL-Einschleusung .w*((\%27)|(\'))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix
  • Das in Tabelle 1 dargestellte Beispiel von Sicherheitsregeln umfasst eine anwendungsspezifische Regel und eine Negativregel. Die anwendungsspezifische Regel schreibt bei verschiedenen Eingabefeldern Sicherheitsregelinformationen vor, die durch eine spezielle Anwendung festgelegt sind, z. B.
  • Informationen über Benutzereingabewerte, die in Feldern wie z. B. „name” (Name) und „age” (Alter) zulässig sind.
  • Beispielsweise sind Eingabewerte, die in „name” zulässig sind, durch einen regulären Ausdruck von „Sicherer Text” festgelegt; in „age” zulässige Werte sind durch einen regulären Ausdruck von „ganz Zahl” definiert. Die anwendungsspezifische Regel schreibt ferner vor, dass ein Angriffstyp, der diese Regel verletzt, „MALFORMED” (falsch gebildet) ist und die zu ergreifende sicherheitsorientierte Schutzmaßnahme „deny” (verweigern) lautet. Die Negativregel schreibt negative Werte aller Benutzereingaben vor, d. h. die Negierung aller Eingabewerte aller regulären Ausdrücke, die dem „XSS” (seitenübergreifendes Scripting) entsprechen. Die Negativregel schreibt ferner vor, dass es sich bei einem Angriffstyp, der diese Regel verletzt, um „XSS” (seitenübergreifendes Scripting) handelt und die zu ergreifende sicherheitsorientierte Schutzmaßnahme „deny” (verweigern) lautet.
  • Obwohl die Tabelle 1 ein Beispiel von Sicherheitsregeln zeigt, die im Schutzmittel 10 konfiguriert sind, können die Sicherheitsregeln im Schutzmittel 10 andere Formen umfassen. Vielmehr wird dem Fachmann anhand der folgenden Beschreibung klar, dass spezielle Formen und Inhalte von Sicherheitsregeln die vorliegende Erfindung nicht einschränken.
  • Bei Sicherheitsprüfungsschemata für Webanwendungen sollte Wert darauf gelegt werden, dass die Schutzmittel 10 gegenüber unschuldigen Benutzern, die beim Eingeben von Werten einen Fehler machen und dadurch eine vordefinierte Sicherheitsrichtlinie verletzen, die einfach nur auf der Sicherheitsrichtlinie beruht, keine sicherheitsorientierten Schutzmaßnahmen wie z. B. Blockieren der IP-Adresse und Abweisen der Anforderung durchführen, die schwerwiegende Auswirkungen auf die Benutzer von Webanwendungen haben; ferner sollte Wert darauf gelegt werden, zu verhindern, dass die Schutzmittel 10 gegenüber unschuldigen Benutzern, die bösartigen Code einschleusen, sicherheitsorientierte Schutzmaßnahmen wie z. B. das Senden eines benutzerfreundlichen Sicherheitshinweises oder sogar das Neuschreiben von Nutzdaten durchgeführt werden, die den Verbrauch an Systemleistung erhöhen. Bei einem Sicherheitsprüfungsschema gemäß der vorliegenden Erfindung können die Schutzmittel 10 Klassen von Benutzern, die Sicherheitsregeln verletzen, wirksam unterscheiden, sodass die Schutzmittel ordnungsgemäße und entsprechende sicherheitsorientierte Schutzmaßnahmen gegenüber regelverletzenden Benutzern ergreifen, d. h. die Benutzererfahrung einer ersten Klasse von Benutzern (die eher als unschuldige Benutzer einzuordnen sind) zu garantieren, ohne wertvolle Systemleistung für eine zweite Klasse von Benutzern (die eher als bösartige Benutzer einzuordnen sind) zu verschwenden.
  • Anzumerken ist, dass die erste Klasse von Benutzern entsprechend dem vom System bereitgestellten Sicherheitshinweis regelverletzende Eingaben wahrscheinlich korrigiert, bis die Benutzereingabewerte den Sicherheitsregeln entsprechen; die zweite Klasse von Benutzern jedoch beabsichtigt, bösartige Werte auf den Webanwendungsserver 13 einzuschleusen, und deren Eingaben werden nicht den Sicherheitsregeln entsprechen, die über benutzerfreundliche Dialoge im Gültigkeitsprüfungsprozess bereitgestellt werden. Deshalb wird in der vorliegenden Erfindung eine Konzeption vorgeschlagen, bei der die Schutzmittel 10 eine Vorprüfungskomponente auf dem Client-Browser 11 installieren und die Vorprüfungskomponente veranlasst wird, anhand einiger Sicherheitsregeln, die von den Schutzmitteln 10 bereitgestellt werden, eine Vorprüfung der Benutzereingaben auf der Clientseite vorzunehmen. Die Schutzmittel 10 prüfen die Benutzereingabe anhand der vordefinierten Sicherheitsregeln und ermitteln anhand der Vorprüfung auf der Clientseite und der von den Schutzmitteln selbst durchgeführten Gültigkeitsprüfung, ob der Benutzer zur ersten Klasse von Benutzern oder zur zweiten Klasse von Benutzern gehört, und es wird auf dieser Grundlage eine zu ergreifende sicherheitsorientierte Schutzmaßnahme ausgewählt.
  • 2 veranschaulicht einen Ablaufplan eines Verfahrens zur Sicherheitsprüfung einer Benutzereingabe gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Das Verfahren beginnt in Schritt S200.
  • In Schritt S210 wird der auf dem Client installierten Vorprüfungskomponente eine Teilmenge von auf der Serverseite in den Schutzmitteln vorhandenen Sicherheitsregeln bereitgestellt, sodass die Vorprüfungskomponente anhand der bereitgestellten Teilmenge von Sicherheitsregeln die Sicherheit eines Benutzereingabewertes auf der Clientseite prüft.
  • Die Vorprüfungskomponente auf der Clientseite kann durch die Schutzmittel auf dem Client installiert oder über das Netzwerk mithilfe eines Client-Zusatzprogramms (Plug-In) von den Schutzmitteln bezogen werden. Beispielsweise kann es sich bei der Vorprüfungskomponente um eine eigenständige Javascript-Komponente handeln. Bei einer Realisierung fügen die Schutzmittel die Javascript-Vorprüfungskomponente in eine Antwortseite der Anwendung ein, sodass die Vorprüfungskomponente durch den Client-Browser ausgeführt wird.
  • Sicherheitsregeln, die durch die Schutzmittel der clientseitigen Vorprüfungskomponente bereitgestellt werden, sind vorzugsweise eine geeignete Teilmenge von Sicherheitsregeln in den Schutzmitteln. Der Vorprüfungskomponente kann eine Sicherheitsrichtliniendatei bereitgestellt werden, in der die Sicherheitsregeln vorgegeben sind. Die Sicherheitsrichtliniendatei kann kurz zusammengefasst unter anderem einen Alias (z. B., eMail, URL, sicheren Text, XSS usw.), einen Feldnamen, die URI, die von der Vorprüfungskomponente auf der Clientseite so lange überwacht wird, wie reguläre Ausdrücke, die in der clientseitigen Vorprüfungskomponente definiert sind, kompatibel mit regulären Ausdrücken sind, die in den serverseitigen Schutzmitteln definiert sind.
  • In Schritt S220 wird bei Erkennung eines regelverletzenden Benutzereingabewertes ermittelt, ob die verletzte Sicherheitsregel der clientseitigen Vorprüfungskomponente bereitgestellt wurde.
  • Wenn in Schritt S220 festgestellt wird, dass die verletzte Sicherheitsregel der clientseitigen Vorprüfungskomponente bereitgestellt wurde, bedeutet dies, dass die serverseitigen Schutzmittel das Sicherheitsproblem erkannt hat, das durch die Vorprüfungskomponente auf der Clientseite hätte gelöst werden müssen, und das darin besteht, dass der regelverletzende Benutzer einen bösartigen Wert direkt in die Webanwendung eingeschleust hat, nachdem er den clientseitigen Vorprüfungsmechanismus z. B. mithilfe eines Angriffsprogramms umgangen hat. Deshalb wird der Regelverletzer in Schritt S230 als zu „einer zweiten Klasse von Benutzern” gehörig ermittelt. Diese zweite Klasse von Benutzern ist eher als eine Klasse von bösartigen Benutzern einzuordnen.
  • Wenn andererseits in Schritt S220 festgestellt wird, dass die verletzte Sicherheitsregel der clientseitigen Vorprüfungskomponente nicht bereitgestellt wurde, wird in Schritt S240 der regelverletzende Benutzer als zu „einer ersten Klasse von Benutzern” gehörig ermittelt. Diese erste Klasse von Benutzern ist eher als eine Klasse von unschuldigen Benutzern einzuordnen.
  • Vorzugsweise wird eine Teilmenge von Sicherheitsregeln, die der Vorprüfungskomponente bereitgestellt wird, in Schritt S250 asynchron aktualisiert. Die „asynchrone” Durchführung der Aktualisierung bedeutet, dass der Aktualisierungsschritt unabhängig vom gesamten Gültigkeitsprüfungsprozess durchgeführt wird. Beispielsweise kann bei einer Realisierung der Aktualisierungsprozess mithilfe des AJAX-Verfahrens (Asynchronous JavaScript and XML) im Hintergrund realisiert werden. Dieser Aktualisierungsschritt kann entweder in regelmäßigen oder unregelmäßigen Abständen durchgeführt werden, wobei die Schutzmittel gemäß einer bestimmten Sicherheitsrichtlinie eine Teilmenge von Sicherheitsregeln aus der Gesamtmenge der Sicherheitsregeln herausfiltern, die der Vorprüfungskomponente bereitgestellt werden soll. Die Schutzmittel können die einzelnen Sicherheitsregeln anhand einer Regelverletzungsrate, die auf der Statistik des Sicherheitsprüfungsprotokolls beruht, einstufen und Sicherheitsregeln mit hohen Regelverletzungsraten herausfiltern, die der clientseitigen Vorprüfungskomponente bereitgestellt werden sollen. Beispielsweise kann ferner angemerkt werden, dass die zweite Klasse von Benutzern Informationen über Sicherheitsregeln in der Vorprüfungskomponente erhalten könnte, indem Antworten (z. B. verschiedene Sicherheitshinweise usw.) der clientseitigen Vorprüfungskomponente auf Eingabewerte analysiert werden, sodass für die Vorprüfungskomponente eine Teilmenge von Sicherheitsregeln unter Berücksichtigung bestimmter Regeln herausgefiltert wird. Bei einer bevorzugten Ausführungsform kann die herausgefilterte Teilmenge von Sicherheitsregeln eine oder mehrere der folgenden Bedingungen erfüllen:
    • 1. Auswählen von Sicherheitsregeln mit einer jeweils hohen Regelverletzungsrate;
    • 2. Ausschließen aller Negativregeln in der Menge von Sicherheitsregeln;
    • 3. Ausschließen von risikoreichen Sicherheitsregeln, d. h. von Regeln, die für das System eine ernsthafte Bedrohung darstellen, sobald die Systemsicherheit verletzt ist.
  • Durch das dynamische Aktualisieren der für die Vorprüfungskomponente bestimmten Teilmenge von Sicherheitsregeln wird der Bereich von Sicherheitsregeln vergrößert, den der Vorprüfungsmechanismus erfassen könnte, und für die zweite Klasse von Benutzern ist es schwer, mithilfe von Eingabeversuchen Informationen über Sicherheitsregeln zu erhalten, da der Aktualisierungsvorgang und der aktualisierte Inhalt vollständig von den serverseitigen Schutzmitteln abhängen. Auf diese Weise werden die Genauigkeit der Vorprüfung und die Systemsicherheit erhöht.
  • Das Verfahren endet in Schritt S260.
  • Da die technische Lösung gemäß der vorliegenden Erfindung die Klassen von Benutzern wirksam unterscheiden kann, können die Schutzmittel so konfiguriert werden, dass sie verschiedene sicherheitsorientierte Schutzmaßnahmen im Hinblick auf „eine erste Klasse von Benutzern” und „eine zweite Klasse von Benutzern” durchführen, die ermittelt wurde. Gegenüber „der zweiten Klasse von Benutzern”, die eher als „bösartige Benutzer” einzuordnen sind, können z. B. solche sicherheitsgerichteten Schutzmaßnahmen wie das zwangsweise Abblocken aller folgenden Eingabeanforderungen dieser Benutzer oder das Blockieren der IP-Adresse ergriffen werden; gegenüber „der ersten Klasse von Benutzern”, die eher als „unschuldige Benutzer” einzuordnen sind, wird eine sicherheitsorientierte Schutzmaßnahme ergriffen, die der Aufrechterhaltung der guten Benutzererfahrung dient, z. B. das Abweisen von Anforderungen und das Senden eines benutzerfreundlichen Sicherheitshinweises und/oder das Neuschreiben der Nutzdaten.
  • Im Folgenden wird die technische Lösung gemäß der vorliegenden Erfindung anhand eines Beispiels eingehender beschrieben, das den Ablauf und das Zusammenspiel zwischen Komponenten auf der Serverseite und auf der Clientseite zeigt.
  • 3 veranschaulicht einen Ablaufplan der serverseitigen Schutzmittel und der clientseitigen Vorprüfungskomponente gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Wie in 3 gezeigt wird in Schritt S301 eine Menge vordefinierter Sicherheitsregeln in den Schutzmitteln 10 eingerichtet. Diese Menge von Sicherheitsregeln kann anwendungsspezifische Regeln und Negativregeln umfassen. Es versteht sich, dass dieser Schritt asynchron zum Benutzereingabeprozess durchgeführt wird, und normalerweise durchgeführt wird, während die Schutzmittel 10 installiert werden.
  • In Schritt S302 schreiben die Schutzmittel die Antwortseite der Anwendung neu, um eine eigenständige Javascript-Vorprüfungskomponente in die Antwortseite der Anwendung einzufügen. Gemäß einer Realisierung der vorliegenden Erfindung kann die Javascript-Vorprüfungskomponente durch den Code in Tabelle 2 realisiert sein.
  • Tabelle 2: Codebeispiel für die Javascript-Vorprüfungskomponente, die durch die Schutzmittel eingefügt wird
    Figure 00180001
  • In Schritt S303 wird die Javascript-Vorprüfungskomponente im Client-Browser 11 ausgeführt.
  • Die Javascript-Vorprüfungskomponente fügt zu jedem Eingabefeld auf der Seite eine Überwachungseinrichtung für onPropertyChange-Ereignisse hinzu, um den Vorprüfungsprozess bei einer Benutzereingabe zu aktivieren, indem ein onPropertyChange-Ereignis in einem Benutzereingabefeld überwacht wird. Die Javascript-Vorprüfungskomponente stellt ferner Mittel bereit, um eine Sicherheitsrichtliniendatei von den Schutzmitteln 10 zu erhalten, wobei die Sicherheitsrichtliniendatei eine Regelteilmenge der Sicherheitsregeln in den Schutzmitteln 10 darstellt.
  • Tabelle 3: Codebeispiel für das Hinzufügen einer Überwachungseinrichtung für das onPropertyChange-Ereignis
    Figure 00190001
  • In Schritt S304 aktualisieren bzw. senden die Schutzmittel 10 die Sicherheitsrichtliniendatei an die Javascript-Vorprüfungskomponente im Client-Browser 11. Die in der Sicherheitsrichtliniendatei enthaltene Teilmenge von Sicherheitsregeln wird anhand der Statistik der von den Schutzmitteln 10 erkannten Regelverletzungsprotokolle aus der Gesamtmenge der Sicherheitsregeln in den Schutzmitteln 10 herausgefiltert. Die Sicherheitsrichtliniendatei kann eine Liste von Eingabefeldern und entsprechenden Eingabemustern mit einer hohen Regelverletzungsrate umfassen.
  • In Schritt S305 erhält die Javascript-Vorprüfungskomponente im Client-Browser 11 die Sicherheitsrichtliniendatei von den serverseitigen Schutzmitteln 10.
  • In Schritt S306 prüft die Javascript-Vorprüfungskomponente im Client-Browser 11 anhand einer Sicherheitsregel in der Sicherheitsrichtliniendatei ein Benutzereingabefeld als Reaktion auf ein onPropertyChange-Ereignis im Eingabefeld. Bei einer Realisierung kann die Funktion des Aktivierens der Vorprüfung durch den Code in Tabelle 4 realisiert sein.
  • Tabelle 4: Codebeispiel für das Aktivieren der Vorprüfung anhand der von den Schutzmitteln erhaltenen Sicherheitsrichtliniendatei
    Figure 00200001
  • Figure 00210001
  • Wenn die Regelverletzung eines Benutzereingabewertes erkannt wird, wird dem Benutzer ein freundlicher Hinweis bereitgestellt, z. B. in Form eines Beispiels korrekter Eingabewerte und der Angabe des Fehlers im gegenwärtigen Eingabewert, sodass der Benutzer anhand des Hinweises eine korrekte Eingabe im Eingabefeld vornehmen kann.
  • In Schritt S307 sendet der Client-Browser 11 die HTTP-Anforderung des Benutzers an die serverseitigen Schutzmittel 10. Anzumerken ist, dass nicht alle der Eingabewerte des Benutzers durch die Javascript-Vorprüfungskomponente vorgeprüft werden, da die Javascript-Vorprüfungskomponente anhand der Sicherheitsrichtliniendatei unter Umständen nur einen Teil von Eingabefeldern oder Sicherheitsregeln prüft. Anders ausgedrückt, die vom Client-Browser 11 an die Schutzmittel 10 gesendete HTTP-Anforderung des Benutzers könnte vorgeprüfte Benutzereingabewerte oder Benutzereingabewerte umfassen, die noch nicht vorgeprüft sind. Es ist klar, dass die vorgeprüften Benutzereingabewerte den Sicherheitsregeln entsprechen, während die noch nicht vorgeprüften Benutzereingabewerte möglicherweise Sicherheitsregeln verletzen.
  • Unter Berücksichtigung des Vorstehenden prüfen die serverseitigen Schutzmittel 10 in Schritt S308 anhand der vordefinierten Menge von Sicherheitsregeln alle in der HTTP-Anforderung enthaltenen Benutzereingabewerte.
  • In Schritt S309 wird bei Erkennung eines Regelverletzung ermittelt, ob die verletzte Sicherheitsregel der clientseitigen Javascript-Vorprüfungskomponente aktualisiert wurde.
  • Wenn die Schutzmittel 10 eine Regelverletzung erkennen und die verletzte Sicherheitsregel der clientseitigen Javascript-Vorprüfungskomponente nicht aktualisiert wurde, wird in Schritt S311 der entsprechende Benutzer als zur „ersten Klasse von Benutzern” gehörig ermittelt. Diese erste Klasse von Benutzern ist eher als eine Klasse von unschuldigen Benutzern einzuordnen.
  • In Schritt S312 wird eine sicherheitsorientierte Schutzmaßnahme, die der Aufrechterhaltung der guten Benutzererfahrung dient, gegenüber der „ersten Klasse von Benutzern” ergriffen, z. B. durch Neukonfigurieren der Anforderung (Anforderung neu schreiben) und Senden der Anforderung an den Anwendungsserver. Diese erste Klasse von Benutzern ist eher als eine Klasse von unschuldigen Benutzern einzuordnen.
  • Wenn die Schutzmittel 10 eine Regelverletzung erkennen und die verletzte Sicherheitsregel der clientseitigen Javascript-Vorprüfungskomponente aktualisiert wurde, wird in Schritt S313 der entsprechende Benutzer als zur „zweiten Klasse von Benutzern” gehörig ermittelt. Dies geschieht deshalb, weil der Benutzer einen die Sicherheitsregel verletzenden bösartigen Wert direkt auf den Anwendungsserver einschleust, nachdem er den Vorprüfungsmechanismus im Client-Browser mithilfe eines Programms umgangen hat.
  • In Schritt S314 wird gegenüber der ermittelten „zweiten Klasse von Benutzern” eine sicherheitsorientierte Schutzmaßnahme ergriffen, die zwangsweise alle folgenden Anforderungen abblockt, z. B. durch Blockieren der IP-Adresse.
  • Für den Fachmann ist klar, dass bei unterschiedlichen Webanwendungen entsprechend den jeweils festgestellten Benutzern unterschiedliche sicherheitsorientierte Schutzmaßnahmen gegenüber „der zweiten Klasse von Benutzern” bzw. gegenüber der „ersten Klasse von Benutzern” ergriffen werden müssen. Der Fachmann kann sicherheitsorientierte Schutzmaßnahmen mit unterschiedlichen Einstufungen oder unterschiedlichen Merkmalen festlegen, die den konkreten Anwendungsanforderungen entsprechen, und diese sicherheitsorientierten Schutzmaßnahmen der ermittelten „zweiten Klasse von Benutzern” bzw. „ersten Klasse von Benutzern” zuweisen.
  • Es soll darauf hingewiesen werden, dass, obwohl die Javascript-Vorprüfungskomponente als Beispiel zur Beschreibung einer speziellen Ausführungsform der vorliegenden Erfindung in 3 verwendet wird, eine beliebige mit Webanwendungen kompatible Code-Sprache verwendet werden kann, um die Vorprüfungskomponente zu realisieren, z. B. VBscript. Darüber hinaus kann der Fachmann die Vorprüfungskomponente in einer beliebigen bekannten Weise auf dem Client installieren. Eine weitere Realisierung kann z. B. das Bereitstellen eines bestimmten Zusatzprogramms auf dem Client umfassen, um die Vorprüfungskomponente aktiv zu empfangen. Daher schränken konkrete Realisierungen der Vorprüfungskomponente die vorliegende Erfindung nicht ein.
  • 4 veranschaulicht schematisch ein Funktionsblockdiagramm eines Sicherheitsprüfungssystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • Wie in 4 dargestellt sendet der Client-Browser 11 eine HTTP-Anforderung an den Webanwendungsserver 13 und erhält eine entsprechende Antwort vom Webanwendungsserver 13. Die serverseitigen Schutzmittel 10 führen anhand der Menge vordefinierter Sicherheitsregeln gegenüber der Anforderung vom Benutzer eine Eingabeprüfung durch, um die Sicherheit des Webanwendungsservers 13 zu garantieren.
  • Die Schutzmittel 10 umfassen Folgendes: optionale Installationsmittel 101 zum Installieren einer Vorprüfungskomponente auf einem Client-Browser; Aktualisierungsmittel 102 zum Bereitstellen oder aktualisieren einer Teilmenge von Sicherheitsregeln für eine clientseitige Vorprüfungskomponente; Gültigkeitsprüfungsmittel 103 zum Durchführen einer Eingabeprüfung gegenüber einer Anforderung von einem Benutzer, wobei die Eingabeprüfung anhand einer vordefinierten Menge von Sicherheitsregeln durchgeführt wird; und Ermittlungsmittel 104 zum Ermitteln eine Klasse von regelverletzenden Benutzern, wobei „eine erste Klasse von Benutzern” als eher unschuldige Benutzer bzw. „eine zweite Klasse von Benutzern” als eher bösartige Benutzer einzuordnen ist.
  • Bei den Schutzmitteln 10 fügen die Installationsmittel 101 alternativ eine Javascript-Komponente in die Antwortseite einer Anwendung ein, indem die Antwortseite der Anwendung neu geschrieben und eine Vorprüfungskomponente 110 auf dem Client-Browser 11 installiert wird. Die Aktualisierungsmittel 102 senden oder aktualisieren in regelmäßigen oder unregelmäßigen Abständen eine Sicherheitsrichtliniendatei zur Vorprüfungskomponente 110 im Client-Browser 11, wobei eine in der Sicherheitsrichtliniendatei enthaltene Teilmenge von Sicherheitsregeln anhand der Statistik der von den Schutzmitteln 10 erkannten Regelverletzungsprotokolle aus der Gesamtmenge der Sicherheitsregeln in den Schutzmitteln 10 herausgefiltert wird.
  • Die Vorprüfungskomponente 110 wird auf dem Client-Browser 11 ausgeführt, erhält die Sicherheitsrichtliniendatei von den serverseitigen Schutzmitteln 10 und prüft anhand einer Sicherheitsregel in der Sicherheitsrichtliniendatei ein Benutzereingabefeld, um zu gewährleisten, dass eine Benutzereingabe die aktuelle Teilmenge von Sicherheitsregeln nicht verletzt. Der Client-Browser 11 sendet die HTTP-Anforderung des Benutzers an den Webanwendungsserver 13.
  • Die Prüfungsmittel 103 in den Schutzmitteln 10 prüfen anhand der vordefinierten Menge von Sicherheitsregeln alle Benutzereingabewerte in der HTTP-Anforderung vom Benutzer. Nach der Erkennung einer Regelverletzung bewerten die Ermittlungsmittel 104, ob die verletzte Sicherheitsregel der Vorprüfungskomponente im Client-Browser 11 aktualisiert wurde. Wenn die verletzte Sicherheitsregel der Vorprüfungskomponente 110 im Client-Browser 11 nicht aktualisiert wurde, ermitteln die Ermittlungsmittel 104 dann den Benutzer als zu „einer ersten Klasse von Benutzern” gehörig. Wenn die verletzte Sicherheitsregel der Vorprüfungskomponente 110 im Client-Browser aktualisiert wurde, ermitteln die Ermittlungsmittel 104 dann den Benutzer als zu „einer zweiten Klasse von Benutzern” gehörig. Die Schutzmittel können so konfiguriert sein, dass sie verschiedene sicherheitsorientierte Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und gegenüber der zweiten Klasse von Benutzern durchführen. Beispielsweise wird gegenüber der ermittelten ersten Klasse von Benutzern eine sicherheitsorientierte Schutzmaßnahme ergriffen, die der Aufrechterhaltung der guten Benutzererfahrung dient, z. B. das Neuschreiben der Anforderung (Anforderung neu schreiben); gegenüber der ermittelten zweiten Klasse von Benutzern wird eine sicherheitsorientierte Schutzmaßnahme ergriffen, die zwangsweise alle folgenden Anforderungen abblockt, z. B. das Blockieren der IP-Adresse.
  • Gemäß dem Sicherheitsprüfungsschema der vorliegenden Erfindung installieren die Schutzmittel auf der Seite des Webanwendungsservers eine Vorprüfungskomponente auf dem Client und stellen dieser Vorprüfungskomponente Vorprüfungssicherheitsregeln bereit und aktualisieren vorzugsweise dynamisch die Vorprüfungssicherheitsregeln. Daher können die Schutzmittel nach der Erkennung eines regelverletzenden Benutzereingabewertes durch die Entscheidung darüber, ob die verletzte Regel durch die clientseitige Vorprüfungskomponente geprüft wurde, ermitteln, ob der Benutzer zu „einer zweiten Klasse von Benutzern” gehört, d. h., der Benutzer sendet bösartigen Logikcode direkt auf den Webanwendungsserver, nachdem er den clientseitigen Vorprüfungsmechanismus mithilfe ungesetzlicher Mittel umgangen hat. Es ist gemäß der technischen Lösung der vorliegenden Erfindung offensichtlich möglich, wirksam zwischen „einer zweiten Klasse von Benutzern” und „einer ersten Klasse von Benutzern” zu unterscheiden, sodass die Schutzmittel so konfiguriert werden können, dass sie unterschiedliche Lösungen auf unterschiedliche Benutzer anwenden, d. h. unterschiedliche sicherheitsorientierte Schutzmaßnahmen durchführen. Gemäß einer Ausführungsform der vorliegenden Erfindung ist es möglich, die Benutzererfahrung „einer ersten Klasse von Benutzern” in Bezug auf eine Webanwendung so weit wie möglich zu gewährleisten und den nutzlosen Verbrauch von Systemleistung in einem maximalen Umfang zu vermeiden. Außerdem kann ein Teil des Prüfungsprozesses auf der Clientseite durchgeführt werden, indem ein Vorprüfungsmechanismus auf der Clientseite angeordnet wird, der dazu beiträgt, die Auslastung der serverseitigen Schutzmittel zu verringern und dementsprechend die Leistung des gesamten Gültigkeitsprüfungssystems zu erhöhen.
  • Wie für den Fachmann aus der vorstehenden Beschreibung konkreter Ausführungsformen ohne Weiteres ersichtlich ist, können das vorstehend genannte Verfahren, die vorstehend genannte Vorrichtung und entsprechende Systeme mithilfe von auf dem Computer ausführbaren Anweisungen und/oder mithilfe von Steuercode realisiert sein, der in einem Prozessor enthalten ist. Beispielsweise wird derartiger Code auf einem Trägermedium wie z. B. einer Magnetplatte, CD oder DVD-ROM, in einem programmierbaren Speicher wie z. B. einem Nur-Lese-Speicher (Firmware) oder auf einem Datenträger wie z. B. einem optischen oder elektronischen Signalträger bereitgestellt. Die Mittel und Einheiten in den Ausführungsformen der vorliegenden Erfindung können wie folgt realisiert werden: durch eine Hardwareschaltung wie z. B. durch ein VLSI- oder Gate-Array, durch Halbleiter wie z. B. durch einen Logikchip und einen Transistor oder durch eine programmierbare Hardwareeinheit wie z. B. durch ein vor Ort programmierbares Gate-Array und eine programmierbare Logikeinheit oder durch Software, die auf verschiedenen Arten von Prozessoren ausgeführt wird, oder durch eine Kombination der Hardwareschaltung und Software.
  • Die Beschreibung der vorliegenden Erfindung dient der Veranschaulichung und Beschreibung, ist jedoch nicht als erschöpfend oder einschränkend in Bezug auf die Erfindung in der beschriebenen Form gedacht. Vielen Abänderungen und Variationen sind für den Fachmann klar.
  • Daher wurden die Ausführungsformen ausgewählt und beschrieben, um die Grundgedanken und die praktische Anwendung der Erfindung auf bestmögliche Weise zu erklären und anderen Fachleuten das Verständnis dafür zu ermöglichen, dass alle Abänderungen und Umbauten keine Abweichung vom Geltungsbereich der vorliegenden Erfindung darstellen.

Claims (9)

  1. Verfahren zur Sicherheitsprüfung einer Benutzereingabe in einer Netzwerkanwendung, wobei das Verfahren die folgenden Schritte umfasst: Bereitstellen einer Sicherheitsregel-Teilmenge von Sicherheitsregeln serverseitiger Schutzmittel für eine auf einem Client installierte Vorprüfungskomponente, um die Sicherheitsprüfung einer Benutzereingabe auf der Clientseite zu ermöglichen, die von einer Vorprüfungskomponente anhand der bereitgestellten Teilmenge von Sicherheitsregeln durchgeführt wird; Prüfen der Benutzereingabe anhand einer Sicherheitsregel der Schutzmittel; als Reaktion auf die Erkennung einer regelverletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel nicht bereitgestellt wurde, dass Ermitteln des Benutzers als zu einer ersten Klasse von Benutzern gehörig; als Reaktion auf die Erkennung einer regelverletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel bereitgestellt wurde, dass Ermitteln des Benutzers als zu einer zweiten Klasse von Benutzern gehörig; Durchführen unterschiedlicher sicherheitsorientierter Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und gegenüber der zweiten Klasse von Benutzern; wobei der Schritt des Durchführens unterschiedlicher sicherheitsorientierter Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und gegenüber der zweiten Klasse von Benutzern Folgendes umfasst: gegenüber der zweiten Klasse von Benutzern das Durchführen einer sicherheitsorientierten Schutzmaßnahme in Form des zwangsweisen Abblockens aller folgenden Anforderungen; und gegenüber der ersten Klasse von Benutzern das Durchführen einer sicherheitsorientierten Schutzmaßnahme, die den Zugang zur Netzwerkanwendung aufrechterhält.
  2. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: asynchrones Durchführen einer dynamischen Aktualisierung einer der Vorprüfungskomponente bereitgestellten Teilmenge von Sicherheitsregeln; und wobei in dem Schritt, in dem die Teilmenge von Sicherheitsregeln der Sicherheitsregeln der serverseitigen Schutzmittel der Vorprüfungskomponente bereitgestellt wird, und in dem Schritt, in dem eine asynchrone dynamische Aktualisierung der der Vorprüfungskomponente bereitgestellten Teilmenge von Sicherheitsregeln durchgeführt wird, eine Teilmenge von Sicherheitsregeln aus einer Menge von Sicherheitsregeln der Schutzmittel herausgefiltert wird.
  3. Verfahren nach Anspruch 2, bei dem die Sicherheitsrichtlinie eines oder mehrere der folgenden Elemente enthält: Auswählen einer Sicherheitsregel mit einer hohen Regelverletzungsrate; Ausschließen aller Negativregeln in der Menge von Sicherheitsregeln; und Ausschließen risikoreicher Sicherheitsregeln in der Menge von Sicherheitsregeln.
  4. Verfahren nach Anspruch 3, das ferner das Erkennen eines onPropertyChange-Ereignisses in einem Eingabefeld und das Prüfen der Benutzereingabe durch die Vorprüfungskomponente auf der Clientseite anhand einer bereitgestellten Teilmenge von Sicherheitsregeln umfasst.
  5. Vorrichtung zur Sicherheitsprüfung einer Benutzereingabe in einer Netzwerkanwendung, die Folgendes umfasst: Mittel zum Bereitstellen einer Sicherheitsregel-Teilmenge von Sicherheitsregeln serverseitiger Schutzmittel für eine auf einem Client installierte Vorprüfungskomponente, um die Sicherheitsprüfung einer Benutzereingabe auf der Clientseite zu ermöglichen, die von einer Vorprüfungskomponente anhand der bereitgestellten Teilmenge von Sicherheitsregeln durchgeführt wird; Mittel zum Prüfen der Benutzereingabe anhand einer Sicherheitsregel der Schutzmittel; Mittel, um als Reaktion auf die Erkennung einer regelverletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel nicht bereitgestellt wurde, den Benutzer als zu einer ersten Klasse von Benutzern gehörig zu ermitteln; Mittel, um als Reaktion auf die Erkennung einer regelverletzenden Benutzereingabe und auf die Tatsache, dass der Vorprüfungskomponente eine verletzte Sicherheitsregel bereitgestellt wurde, den Benutzer als zu einer zweiten Klasse von Benutzern gehörig zu ermitteln; Mittel zum Durchführen anderer sicherheitsorientierter Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und gegenüber der zweiten Klasse von Benutzern; wobei die Mittel zum Durchführen unterschiedlicher sicherheitsorientierter Schutzmaßnahmen gegenüber der ermittelten ersten Klasse von Benutzern und gegenüber der zweiten Klasse von Benutzern Folgendes umfassen: Mittel, um gegenüber der zweiten Klasse von Benutzern eine sicherheitsorientierte Schutzmaßnahme in Form des zwangsweisen Abblockens aller folgenden Anforderungen durchzuführen; und Mittel, um gegenüber der ersten Klasse von Benutzern eine sicherheitsorientierte Schutzmaßnahme durchzuführen, die den Zugang zur Netzwerkanwendung aufrechterhält.
  6. Vorrichtung nach Anspruch 5, die ferner Folgendes umfasst: Mittel zum asynchronen Durchführen einer dynamischen Aktualisierung einer der Vorprüfungskomponente bereitgestellten Teilmenge von Sicherheitsregeln; und wobei die Mittel, um einer Vorprüfungskomponente auf einem Client eine Sicherheitsregel-Teilmenge von Sicherheitsregeln der serverseitigen Schutzmittel bereitzustellen, sodass auf der Clientseite durch die Vorprüfungskomponente anhand der bereitgestellten Teilmenge von Sicherheitsregeln eine Sicherheitsprüfung der Benutzereingabe durchgeführt werden kann, und Mittel zum asynchronen Durchführen einer dynamischen Aktualisierung einer der Vorprüfungskomponente bereitgestellten Teilmenge von Sicherheitsregeln anhand einer Sicherheitsrichtlinie die Teilmenge von Sicherheitsregeln aus einer Menge von Sicherheitsregeln der Schutzmittel herausfiltern.
  7. Vorrichtung nach Anspruch 5, bei der die Sicherheitsrichtlinie eines oder mehrere der folgenden Elemente enthält: Auswählen einer Sicherheitsregel mit einer hohen Regelverletzungsrate; Ausschließen aller Negativregeln in der Menge von Sicherheitsregeln; und Ausschließen risikoreicher Sicherheitsregeln in der Menge von Sicherheitsregeln.
  8. Vorrichtung nach Anspruch 7, die ferner das Erkennen eines onPropertyChange-Ereignisses in einem Eingabefeld und das Prüfen der Benutzereingabe durch die Vorprüfungskomponente auf der Clientseite anhand der bereitgestellten Teilmenge von Sicherheitsregeln umfasst.
  9. Computerprogramm, das Computerprogrammcode umfasst, um, wenn das Programm in ein Computersystem geladen und ausgeführt wird, alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 4 durchzuführen.
DE112010004605T 2009-11-30 2010-11-05 Verfahren und Vorrichtung zur Sicherheitsprüfung Pending DE112010004605T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200910247132.3A CN102082780B (zh) 2009-11-30 2009-11-30 安全验证的方法和装置
CN200910247132.3 2009-11-30
PCT/EP2010/066917 WO2011064081A1 (en) 2009-11-30 2010-11-05 Method and apparatus for security validation of input data

Publications (1)

Publication Number Publication Date
DE112010004605T5 true DE112010004605T5 (de) 2013-01-24

Family

ID=43805708

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010004605T Pending DE112010004605T5 (de) 2009-11-30 2010-11-05 Verfahren und Vorrichtung zur Sicherheitsprüfung

Country Status (6)

Country Link
US (1) US8826421B2 (de)
JP (1) JP5543611B2 (de)
CN (1) CN102082780B (de)
DE (1) DE112010004605T5 (de)
GB (1) GB2484879B (de)
WO (1) WO2011064081A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130085907A1 (en) * 2011-10-01 2013-04-04 Oracle International Corporation Calendar entry for mobile expense solutions
US20130085905A1 (en) * 2011-10-01 2013-04-04 Oracle International Corporation Mobile device for mobile expense solutions architecture
US20130085904A1 (en) * 2011-10-01 2013-04-04 Oracle International Corporation Mobile Expense Solutions Architecture
CN103139138B (zh) * 2011-11-22 2016-02-03 飞塔公司 一种基于客户端检测的应用层拒绝服务防护方法及系统
EP2806385A1 (de) * 2013-05-24 2014-11-26 Ubs Ag Einen Sollzustand von Klientenidentifikationsdaten (CID) respektierende computerausführbare Anwendungen
US9166995B1 (en) * 2013-09-23 2015-10-20 Symantec Corporation Systems and methods for using user-input information to identify computer security threats
US10063654B2 (en) 2013-12-13 2018-08-28 Oracle International Corporation Systems and methods for contextual and cross application threat detection and prediction in cloud applications
US9692789B2 (en) * 2013-12-13 2017-06-27 Oracle International Corporation Techniques for cloud security monitoring and threat intelligence
US9231938B2 (en) 2014-01-15 2016-01-05 International Business Machines Corporation Determination and classification of defense measures in web applications
CN104601540B (zh) * 2014-12-05 2018-11-16 华为技术有限公司 一种跨站脚本XSS攻击防御方法及Web服务器
EP3298746B1 (de) * 2015-08-06 2021-10-06 Huawei Technologies Co., Ltd. Offloading von web-sicherheitsdiensten zur client-seite
US10498762B1 (en) * 2015-10-22 2019-12-03 Versafe Ltd. Methods for hypertext markup language (HTML) input field obfuscation and devices thereof
US10693901B1 (en) * 2015-10-28 2020-06-23 Jpmorgan Chase Bank, N.A. Techniques for application security
US10536478B2 (en) * 2016-02-26 2020-01-14 Oracle International Corporation Techniques for discovering and managing security of applications
US10410008B2 (en) 2016-03-08 2019-09-10 Oracle International Corporation Thick client policy caching
KR101893518B1 (ko) * 2016-10-28 2018-10-04 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법
CN107204982B (zh) * 2017-06-13 2019-02-05 成都四方伟业软件股份有限公司 交互式数据系统通用安全防护系统
US11658995B1 (en) 2018-03-20 2023-05-23 F5, Inc. Methods for dynamically mitigating network attacks and devices thereof
WO2020136837A1 (ja) 2018-12-27 2020-07-02 三菱電機株式会社 アタックツリー生成装置、アタックツリー生成方法およびアタックツリー生成プログラム
US11689487B1 (en) * 2020-07-16 2023-06-27 Kynami, Inc. System and method for identifying and blocking trolls on social networks
CN112417391B (zh) * 2020-10-28 2023-12-19 深圳市橡树黑卡网络科技有限公司 信息数据安全处理方法、装置、设备及存储介质
US11934393B2 (en) 2021-01-12 2024-03-19 Sap Se Input validation API using machine learning and database input validation framework
US11256557B1 (en) 2021-03-16 2022-02-22 Coforge Business Process Solutions Private Limited Efficient processing of rule-based computing workflows

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6341359B1 (en) * 1998-12-14 2002-01-22 International Business Machines Corporation Self-diagnosing and self correcting data entry components
US6374254B1 (en) 1999-06-30 2002-04-16 International Business Machines Corporation Scalable, distributed, asynchronous data collection mechanism
US7225460B2 (en) * 2000-05-09 2007-05-29 International Business Machine Corporation Enterprise privacy manager
US20020029384A1 (en) 2000-07-20 2002-03-07 Griggs Theodore L. Mechanism for distributing content data
US7143143B1 (en) 2000-10-27 2006-11-28 Microsoft Corporation System and method for distributed caching using multicast replication
US6874025B2 (en) * 2000-12-22 2005-03-29 Intel Corporation System and method of application input validation
US20020133603A1 (en) * 2001-03-13 2002-09-19 Fujitsu Limited Method of and apparatus for filtering access, and computer product
US7590859B2 (en) * 2001-08-24 2009-09-15 Secure Computing Corporation System and method for accomplishing two-factor user authentication using the internet
JP4020912B2 (ja) * 2002-05-28 2007-12-12 富士通株式会社 不正アクセス検知装置、不正アクセス検知プログラムおよび不正アクセス検知方法
TWI244297B (en) * 2002-06-12 2005-11-21 Thomson Licensing Sa Apparatus and method adapted to communicate via a network
CA2547630A1 (en) 2003-11-26 2005-06-16 Hewlett-Packard Development Company, L.P. System and method for management and installation of operating system images for computers
US7398382B2 (en) 2004-12-29 2008-07-08 Intel Corporation Method and apparatus to enhance platform boot efficiency
JP2007047884A (ja) * 2005-08-05 2007-02-22 Recruit Co Ltd 情報処理システム
CN100571125C (zh) * 2005-12-30 2009-12-16 上海贝尔阿尔卡特股份有限公司 一种用于用户设备与内部网络间安全通信的方法及装置
US7434002B1 (en) 2006-04-24 2008-10-07 Vmware, Inc. Utilizing cache information to manage memory access and cache utilization
US7934253B2 (en) * 2006-07-20 2011-04-26 Trustwave Holdings, Inc. System and method of securing web applications across an enterprise
US8424073B2 (en) * 2006-11-13 2013-04-16 Microsoft Corporation Refreshing a page validation token
US9178705B2 (en) * 2007-04-13 2015-11-03 International Business Machines Corporation Method and system for stateless validation
US9262366B2 (en) 2007-09-21 2016-02-16 Microsoft Technology Licensing, Llc Software deployment in large-scale networked systems
US20090171903A1 (en) * 2007-12-29 2009-07-02 Aetna Inc. Business Rules Externalization System
JP2009181320A (ja) * 2008-01-30 2009-08-13 Toshiba Corp 情報処理システム、サーバ装置、クライアント装置および情報処理プログラム
US20090199175A1 (en) 2008-01-31 2009-08-06 Microsoft Corporation Dynamic Allocation of Virtual Application Server
CN101571858B (zh) * 2008-04-28 2013-06-19 国际商业机器公司 多个对象的安全性设定及检查的方法和装置
US8504693B2 (en) 2009-05-26 2013-08-06 Intel Corporation Method and apparatus for operating system streaming
US8918866B2 (en) * 2009-06-29 2014-12-23 International Business Machines Corporation Adaptive rule loading and session control for securing network delivered services

Also Published As

Publication number Publication date
CN102082780A (zh) 2011-06-01
US8826421B2 (en) 2014-09-02
US20120304249A1 (en) 2012-11-29
GB2484879B (en) 2012-08-15
JP2013512489A (ja) 2013-04-11
WO2011064081A1 (en) 2011-06-03
JP5543611B2 (ja) 2014-07-09
GB2484879A (en) 2012-04-25
GB201203407D0 (en) 2012-04-11
CN102082780B (zh) 2014-03-05

Similar Documents

Publication Publication Date Title
DE112010004605T5 (de) Verfahren und Vorrichtung zur Sicherheitsprüfung
DE112010002445T9 (de) Identifizierung von Bots
DE10249428B4 (de) Verfahren zum Definieren der Sicherheitsanfälligkeiten eines Computersystems
DE112012002718B4 (de) Erkennen von Sicherheitsschwachstellen in Web-Anwendungen
DE112010003454B4 (de) Bedrohungserkennung in einem Datenverarbeitungssystem
DE69838378T2 (de) Verfahren und gerät um sicherheit, für server die anwenderprogramme ausführen, die über&#39;s netzwerk empfangen wurden, zu gewährleisten
EP2966828B1 (de) Verfahren zum Erkennen eines Angriffs auf eine mit einem Kommunikationsnetzwerk verbundene Arbeitsumgebung
DE102012218704A1 (de) Erkennung von schwachstellen für dom-basiertes cross-site-scripting
DE60102555T2 (de) Verhinderung der map-aktivierten modulmaskeradeangriffe
DE112011101831B4 (de) Schutz vor websiteübergreifenden Scripting-Attacken
DE202013102441U1 (de) System zur Überprüfung digitaler Zertifikate
DE112012000279T5 (de) Ermitteln der Anfälligkeit von Computer-Software-Anwendungen gegenüber Rechteausweitungsangriffen
CN103166966A (zh) 识别对网站的非法访问请求的方法及装置
DE112018004408B4 (de) Identifikation von angriffsströmen in einer mehrschichtigen netzwerktopologie
CN103118035A (zh) 分析网站访问请求参数合法范围的方法及装置
CN104486320B (zh) 基于蜜网技术的内网敏感信息泄露取证系统及方法
DE102015101388A1 (de) Prüfsystem zur Prüfung eines Computers eines Computersystems in einem Prüfnetzwerk
DE112021004808T5 (de) Erkennen von malware durch analyse verteilter telemetriedaten
DE102020112592A1 (de) Anwendungsverhaltensbezogene Fingerabdrücke
DE102019209349A1 (de) Untersuchung von Web-Bedrohungen mithilfe von fortschrittlichem Web-Crawling
EP3695337B1 (de) Verfahren und bestätigungsvorrichtung zur integritätsbestätigung eines systems
DE112014006880T5 (de) Analysevorrichtung, Analyseverfahren und computerlesbares Speichermedium
CN117201273A (zh) 安全告警自动化分析降噪方法、装置及服务器
DE102011117855A1 (de) Verfahren zum Bewerten und Eindämmen von Risiken durch Smart-Phone-Applikationen.
DE102005061999B4 (de) Online-Banking-Verfahren zum sicheren, elektronischen Übertragen von Daten von einer ersten Datenverarbeitungseinrichtung an eine zweite Datenverarbeitungseinrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0021000000

Ipc: G06F0021550000

R016 Response to examination communication
R084 Declaration of willingness to licence