Sono nuovo di zecca nel campo della sicurezza, quindi mi dispiace se questa domanda ti sembra stupida.
Quali sono le principali differenze tra livello di rete e livello di applicazione per quanto riguarda la sicurezza delle informazioni?
Un modo semplice per pensarlo è in termini di dispositivi che hai nella tua cucina; microonde, tostapane, frullatore. Il "livello di rete" è la connessione. Forse l'elettricità che alimenta i dispositivi nel nostro esempio. Il "livello di applicazione" è specifico per la cosa, forse riguarda ciò che inserisci nel dispositivo o i pulsanti che premi.
Quindi nel nostro esempio, un "attacco a livello di rete" sarebbe qualcosa come tagliare la potenza o inviare la tensione sbagliata. Un "attacco a livello di applicazione" sarebbe qualcosa come mettere la carta stagnola nel microonde.
Se il nostro dispositivo era un server web, un attacco a livello di applicazione sarebbe simile all'iniezione SQL. Un attacco a livello di rete sarebbe qualcosa come un avvelenamento ARP.
Spesso la distinzione non ricade direttamente su queste linee e la gente ama il "Modello OSI standard" dell'astrazione di rete quando descrive il comportamento.
Il modello OSI descrive la connessione, quindi tecnicamente è "rete" in entrambi i casi. Ma è spesso utile parlare di alcuni aspetti della rete, piuttosto che considerarla semplicemente una cosa opaca.
In quel modello, l'applicazione (HTTP, FTP, SMTP, IRC) è il livello 7 (e talvolta 6, il modello OSI non mappa direttamente un'implementazione real-world). È la lingua che i tuoi programmi parlano una volta stabilita una connessione. Un attacco a questo livello potrebbe coinvolgere buffer di flooding o bypass di autenticazione.
I livelli da 2 o 3 a 5 o 6 descrivono come ottenere i dati con successo su Internet. Coinvolge IP, TCP, SSL e tutti i bit fondamentali che normalmente descriviamo come "la rete". Un attacco qui potrebbe comportare la riproduzione di pacchetti, il reindirizzamento del traffico o l'attacco alla crittografia del flusso.
I livelli 1 e talvolta 2 descrivono la tua connessione fisica; 1 è la tensione effettiva sul cavo Ethernet o la modulazione radio su wifi o bluetooth, mentre 2 è il modo in cui i dati vengono codificati per essere eseguiti correttamente dalla macchina al router. Un attacco a questo livello potrebbe comportare il taglio del filo, la forzatura bruta delle chiavi WEP o l'intercettazione MITM del traffico non elaborato.
In genere, quando parli di livelli applicazione / rete, parli di protocolli sovrapposti nel modello OSI di un sistema di comunicazione in rete. Il livello di rete è il livello 3 e si occupa di come inviare pacchetti su una rete (sia routing che inoltro). Il protocollo di livello di rete principale attualmente in uso è il protocollo Internet (IP), in particolare IPv4 (sebbene IPv6 stia guadagnando più uso). Quando il tuo computer al tuo indirizzo IP vuole inviare i pacchetti a un altro indirizzo IP, questo e tutti i router intermedi usano il protocollo internet per capire a quale intermediario deve essere inviato il tuo pacchetto, in modo che si muova verso la sua destinazione.
Il livello dell'applicazione si trova nella parte superiore dello stack di protocolli sovrapposti ed è il protocollo a cui le applicazioni sono conformi. Questo è il tuo browser web che comprende e parla HTTP, HTTP è un protocollo a livello di applicazione.
Concesso in una discussione sulla sicurezza in cui si differenziano i problemi di sicurezza della rete dai problemi di sicurezza delle applicazioni, si possono semplicemente dividere i problemi di "applicazione" (c'è un bug sfruttabile in questa applicazione) rispetto ai problemi di "rete" (un utente malintenzionato sulla rete può origliare, manomettere o provocare il rifiuto del servizio tramite i servizi di rete). In questo senso più ampio, "rete" conterrebbe eventuali problemi di sicurezza derivanti dai livelli 1-4 1 . Ad esempio, attacchi come l'intercettazione pubblica del wifi (basata sul livello fisico dell'ascolto delle onde radio), lo spoofing ARP (livello di collegamento) o l'alluvione SYN (livello di trasporto) sarebbero tutti attacchi di rete.
Gli attacchi a livello di applicazione sarebbero cose come l'iniezione SQL, l'overflow dello stack / buffer, in cui l'applicazione prende input in modo sfruttabile a causa di una cattiva logica (o controlli di sicurezza insufficienti) da parte dello sviluppatore dell'applicazione e non ha nulla a che fare con le reti di computer.
1 I livelli importanti per Internet sono:Livello 1 - Livello fisico: come codificare 1s e 0s utilizzando processi fisici in un supporto specifico (ad es., wifi, ethernet, ecc.). Può trattare problemi relativi alla rilevazione / prevenzione delle collisioni.
Layer 2 - Link layer - Come fornire una connessione affidabile tra due computer direttamente collegati l'uno all'altro utilizzando lo stesso protocollo fisico. (Ad esempio, router e laptop wifi o due computer con un cavo Ethernet tra di loro.) Gli indirizzi MAC sono utilizzati per l'indirizzamento a livello di collegamento.
Livello 3 - Livello di rete - Come inviare un pacchetto su Internet potenzialmente attraverso diversi computer e possibilmente attraversando molti diversi tipi di livelli di collegamento. (Ad esempio, Wi-Fi a casa tua, via cavo, in fibra ottica dal tuo ISP, via cavo, a un centro dati con fibre ottiche). Gli indirizzi a livello di rete sono indirizzi IP.
Layer 4 - Transport Layer - Come raggruppare molti pacchetti inviati attraverso la rete in un segmento e assicurare che il segmento sia stato trasportato in modo appropriato. Ad esempio, con TCP assicuratevi che all'inizio vi fosse un handshake SYN / ACK (che convalida gli indirizzi IP di origine / destinazione) e quindi assicuratevi che tutti i pacchetti siano stati inviati in ordine, assicuratevi di non inviare ad una velocità inappropriata che congesta la rete e chi invia i mittenti invia nuovamente i pacchetti mancanti in un modo appropriato. (UDP è lo strato di trasporto alternativo a TCP, ma non offre praticamente garanzie ma è più appropriato per dire VoIP in tempo reale). L'indirizzamento al livello di trasporto è il numero di porta (un numero compreso tra 0 e 65535).
Livello 7 - Livello applicazione: i dati dalla rete che l'applicazione deve generare e analizzare.
I livelli 5/6 (Sessione / Presentazione) sono generalmente integrati nel livello applicazione per il modello TCP / IP. (Ad esempio, lo sviluppatore dell'applicazione astrae il livello di presentazione e il cookie di sessione è incluso nel livello applicazione).
C'è una bella presentazione su questo che puoi trovare qui .
La sicurezza della rete parla più delle vulnerabilità a livello IP. Ad esempio:
Mentre la sicurezza delle applicazioni parla di:
as simple as a single message that is “longer then expected”, or as complex as a long dialogue where an unexpected list/order of otherwise correct messages are exchanged.
Leggi altre domande sui tag terminology network web-application