All requests come from a dozen IP addresses spread across German and
USA's Amazon AWS hostnames, but since query terms they are using are
not entirely unrelated (they are passing sequences of numbers and
weird full names) to our business I got to think if this is really an
attack.
A prima vista, sembra tipico di un attacco di inondazione che utilizza server proxy e pone richieste di tipo di azione ripetute o di martello sul server web che mirano a termini di ricerca che causano la maggior quantità di risultati di ricerca, consumando così l'utilizzo della CPU più elevato come possibile del server del database.
I numeri di sequenza potrebbero essere un esercizio di interruzione della cache in quanto il problema con l'utilizzo di server proxy è che molti di essi fanno il caching per l'attaccante e vogliono che ogni invio sia una richiesta effettiva sul server web.
Un esempio potrebbe essere www.yoursite.com/?searchword=aeroplanes&randomfieldname=100001
Mentre il server web ignorerà randomfieldname perché non lo sta cercando, prenderà il valore da searchword e applicherà la richiesta.
Un proxy di cache tuttavia vedrà il seguente
www.yoursite.com/?searchword=aeroplanes&randomfieldname=100001
www.yoursite.com/?searchword=aeroplanes&randomfieldname=100002
www.yoursite.com/?searchword=aeroplanes&randomfieldname=100003
www.yoursite.com/?searchword=aeroplanes&randomfieldname=100004
etc
poiché le nuove richieste passano quindi sempre la richiesta attraverso il tuo server anche se la parola di ricerca non è cambiata.
Questo è un esempio di un attacco a martello.
Generalmente, gli strumenti hammer sono fondamentali in quanto potrebbero non comprendere una convalida più avanzata di una richiesta legittima. Ad esempio, una richiesta di ricerca convalidata potrebbe significare utilizzare la convalida dell'immagine, o richiedere una risposta ai cookie, o persino richiedere al browser di visualizzazione di capire javascript per poter eseguire una richiesta di ricerca valida.
Questi extra controlli di sicurezza possono essere fastidiosi per i visualizzatori di siti legativi, ad esempio la convalida dell'immagine.
Dai un'occhiata alla classe CMS di Cafe Counter Intelligence Soap per idee su come l'autore utilizza una combinazione intelligente di sessioni e javascript per richiedere che il browser di visualizzazione capisca js prima di accettare la richiesta di pagina. Viene quindi avviato un contatore di richieste e l'accesso IP viene negato se le richieste sono troppo frequenti ... vale a dire. come spesso accade negli attacchi con martello.
Sebbene quella classe sia stata scritta circa dieci anni fa, i concetti in essa contenuti sono validi oggi come il giorno in cui sono stati scritti, anche se il loro bisogno di essere aggiornati ai più recenti standard di codifica PHP.