Abbildung 1: WAF-Ereignisse, die in den letzten 6 Stunden aufgetreten sind.
2. Sehen Sie sich die Top 10 Regel-IDs an, die von diesem Datenverkehr ausgelöst werden. Regel-IDs sind eine hervorragende Möglichkeit, den Datenverkehr weiter zu filtern und die Payloads für verschiedene WAF-Ereignisse zu beobachten. Fangen Sie jedoch an, den Datenverkehr nacheinander nach diesen Regel-IDs zu filtern, um weitere Analysen durchzuführen.
Abbildung 2: Top 10 Regeln, die durch die WAF-Ereignisse ausgelöst wurden.
3. Prüfen Sie als Nächstes die Payload-Werte, die diese Regel ausgelöst haben, indem Sie das Feld „abgeglichener Wert“ prüfen.
Abbildung 3: Nutzlastwerte in der Spalte „Matched Value“ (übereinstimmender Wert).
4. Analysieren Sie die Nutzlastwerte, um festzustellen, ob sie böswillig sind. Sie sind sich nicht sicher, wie sie aussehen? Hier sind einige potenzielle schädliche Werte, die Sie in der Payload finden können.
- Pfadüberquerung: http://some_site.com.br/../../../../some Richtung/einige file¹ http://testsite.com/get.asp?f=/etc/passwd²
- LFI-Sicherheitsanfälligkeiten: Ein Angreifer versucht, auf vertrauliche Dateien auf dem Server zuzugreifen, wie .ini. Edgecast WAF blockiert diese und viele andere kritische Dateisystemerweiterungen standardmäßig.³
- Cross-Site-Scripting: http://testsite.test/<Skript>Alert(„TEST“);</Script>⁴ <Img src=”http://url.to.file.which/not.exist” onerror=Alert(document.Cookie);>⁵
- SQL-Injection: WÄHLEN SIE * AUS Elementen, WOBEI „a“=„a“;⁶ 1 AUSWÄHLEN;⁷
- Remotecodeausführung: eval(„\$$user = „$regdate“);⁸
- Zeitbasierte Angriffe: Select 1 und Sleep(2);⁹ select BENCHMARK(2000000,MD5(„A“));¹⁰
5. Wenn Sie immer noch nicht sicher sind, ob die Payload bösartig war, können Sie dies anhand der Liste der Client-IPs ermitteln, die die Anforderungen mit der entsprechenden Payload ausgelöst haben. Wenn die Client-IPs verteilt, d. h. variiert werden, besteht die Wahrscheinlichkeit, dass die Nutzlast falsch positiv ist. Wenn jedoch alle Client-IPs denselben Wert haben, würde dies auf einen potenziellen volumetrischen Angriff hinweisen und ihn somit als schädliche Payload klassifizieren. Um dies zu demonstrieren, gehen wir auf Schritt 3 zurück und wählen diesen übereinstimmenden Wert – {„iata“:[„TGZ“,”MEX“]} aus und verwenden ihn als Beispiel. Um die Liste der Client-IPs zu ermitteln, die diese Payload gesendet haben, fügen Sie den übereinstimmenden Wert wie folgt als Filter hinzu:
Abbildung 5: Client-IPs, die den Nutzlastwert gesendet haben: {„iata“:[„TGZ“,”MEX“]}.
In diesem Fall besteht angesichts der Vielfalt der IP-Adressen, die diese Anfrage stellen, eine hohe Wahrscheinlichkeit, dass diese Anfragen von echten Benutzern stammen, was dies zu einem guten Kandidaten für ein falsch positives Verhalten macht.
6. Nachdem ein False-positive identifiziert wurde, können Sie im Abschnitt „verwaltete Regeln“ eine Ausnahme dafür erstellen. Vorher müssen Sie jedoch herausfinden, wo diese Payload gefunden wurde: Abfragezeichenfolge, Anforderungsheader, URL oder ein anderer Speicherort. Dies lässt sich ganz einfach anhand der Spalte „Abgleich auf“ auf derselben Seite aus Schritt 5 durchführen. In diesem Anwendungsfall wurde die Payload im Abfrageargument „Data“ gefunden, wie unten gezeigt:
Abbildung 6: Position des Nutzlastwerts: {„iata“:[„TGZ“,”MEX“]}.
7. Eine gute Faustregel besteht darin, diese spezifischen übereinstimmenden Felder zu filtern, die die falsch-positive Payload enthalten, und dann zu überprüfen, ob es keine andere Anforderung mit diesem übereinstimmenden ON-Parameter gibt, die eine tatsächliche schädliche Payload enthält. Mit anderen Worten: Die Payload im Feld „Matched on“ (Abgleich auf) ist niemals bösartig. Dies wird durch Hinzufügen eines Filters für das entsprechende Feld erreicht. Wenn wir uns unseren Anwendungsfall ansehen, können wir bestätigen, dass in diesem Abfrageargument keine schädliche Payload gefunden wurde:
Abbildung 7: Alle Payload-Werte, die im Abfrageargument „Data“ gesendet werden.
8. Der letzte Schritt vor dem Erstellen einer Ausnahme besteht darin, die Regel-IDs zu finden, die durch das Feld „Abgleich am“ ausgelöst werden. Wir versuchen, alle Regeln (Regel-IDs) zu notieren, die durch dieses falsche positive ausgelöst wurden. Basierend auf unserem Anwendungsfall sind diese Informationen ab Schritt 5 auf derselben Seite verfügbar.
Abbildung 8: Liste der Regeln, die durch den Nutzlastwert ausgelöst werden: {„iata“: [„TGZ“,„MEX“]}.
9. Es ist an der Zeit, die Ausnahme zu schaffen. Gehen Sie zum Abschnitt „verwaltete Regeln“, und klicken Sie auf die verwaltete Regel, der Sie diese Ausnahmen hinzufügen möchten.
Abbildung 9: Vorhandene verwaltete Regeln, die für die WAF-Konfiguration erstellt wurden.
10. Gehen Sie zur Registerkarte Ausnahmen und klicken Sie auf neue Bedingung hinzufügen. Wählen Sie den Typ der Übereinstimmung in dem Feld, wie z.B. args, Request_Cookies oder URL, in der die Payload gefunden wurde. Geben Sie dann den Namen des Parameters ein, z. B. Abfrage oder Cookie. Geben Sie abschließend die Liste aller Regel-IDs ein, die die Payload ausgelöst hat.