TechTarget Italy & 01net Network SearchCIO.it SearchNetworking.it SearchSecurity.it 01net 01netCIO 01netPMI 01netTRADE 01netNETS iTechStudio Digifocus Applicando CIO Club ProntoImprese IlSoftware
Cerca
in
I pericoli degli attacchi "application logic"
Approfondimenti
I pericoli degli attacchi "application logic"
Lo sviluppo di un'applicazione Web sicura ed efficace è un’operazione impegnativa e spesso scoraggiante. Tuttavia è fondamentale per evitare che gli attacker possano sfruttare le funzioni delle applicazioni stesse per dar vita a delle minacce.
07 Maggio 2007

Con il termine "application logic " vengono descritti i passaggi necessari per completare una particolare azione, secondo quanto previsto dallo sviluppatore di un'applicazione.

Un esempio di application logic potrebbe essere quello di un cliente che aggiunge un articolo a un carrello per lo shopping online; compiuta questa operazione gli viene chiesto di fornire il nome, l'indirizzo e i dettagli di pagamento prima di potere completare l'acquisto.

L'application logic (denominata anche business logic) non si riferisce alla funzionalità generale di un Web server, ma alle specifiche operazioni delle funzioni dell'applicazione, quali gli sconti sul prodotto, il tipo di pagamento e così via. Un attacco di application logic cerca di aggirare o di fare un uso improprio dell'ordine atteso delle operazioni all'interno delle caratteristiche dell'applicazione. Generalmente, tali attacchi sono indirizzati a un sito Web, ma possono anche essere destinati ai visitatori del sito o ai dati riservati dei clienti contenuti in tale sito.

Come funzionano gli attacchi di application logic
A differenza dei comuni attacchi alle applicazioni, come l'SQL injection, ogni attacco di application logic è solitamente unico, poiché deve sfruttare una funzione o una caratteristica che è specifica della singola applicazione. Ciò rende più difficile per i tool usati nei test di vulnerabilità automatica rilevare tali attacchi perché sono causati da difetti nella logica e non necessariamente nel codice attuale.

Quando gli attacchi di application logic riescono, solitamente è perché gli sviluppatori non creano un processo di validazione e controllo adeguato all'interno dell'applicazione. Questa mancanza di controllo nel flusso permette agli attacker di effettuare determinate operazione in modo non corretto o secondo una sequenza differente da quella prevista.

Per esempio, consideriamo un'applicazione di shopping online che può offrire uno sconto se viene comprato il prodotto A. Se l'applicazione non si accerta che il prodotto A sia ancora nel carrello della spesa quando viene effettuato il pagamento, un utente malintenzionato potrebbe aggiungere tale prodotto per ottenere lo sconto e quindi rimuoverlo per comprare il prodotto B a un prezzo erroneamente scontato.

Tipi di attacco di application logic
Un tipo differente di attacco si presenta quando un attacker usa ripetutamente una funzionalità di un'applicazione, quale la capacità di generare parecchie migliaia di nuovi account o la pubblicazione di messaggi ripetuti su forum di discussione. Questo tipo di attacco abusa di un'utile applicazione con poche o addirittura nessuna modifica alla funzione originale. Un esempio reale di un attacco di questo tipo si è avuto nell'agosto 2005 su un sito Web di scommesse online. Basandosi sui ritardi di tempo, alcuni giocatori hanno imparato come predire le mosse dei croupier che distribuiscono le carte. Questo difetto ha permesso di vincere parecchi soldi in un modo abbastanza legale! Alcuni attacchi application logic possono condurre anche al denial of service.

Attacchi di application logic: misure preventive
La chiave per impedire gli attacchi di application logic è di effettuare un controllo di qualità validando i processi di business e definendo i requisiti già dall'avvio del ciclo di sviluppo dell'applicazione. I programmatori Web devono inoltre sviluppare la sicurezza e il controllo di flusso nei diritti delle applicazioni sin dall'inizio. Purtroppo, molti evitano di eseguire le valutazioni della sicurezza e i test fino a quando l'applicazione non è stata generata.

Fino a quando un maggior numero di sviluppatori non rispetterà la codifica standard e testerà il codice non appena è stato scritto, gli attacchi di application logic continueranno a rappresentare per gli attacker un vettore molto vantaggioso.

Il Sole 24 ORE S.p.A.

Sede Legale in Milano, Via Monte Rosa, 91 - Sede Operativa: Via Carlo Pisacane, 1 - Pero (MI)

Partita Iva - Codice Fiscale 00777910159 - Dati societari