Vulnerabilità
Da Wikipedia, l'enciclopedia libera.
Una vulnerabilità è una componente implicita di un sistema che ne rappresenta un punto debole. Ne esistono principalmente di due tipi:
- Vulnerabilità software (bug software): Sono causati dalla negligenza dei programmatori che hanno a che fare con una programmazione sempre più complessa e riguardano principalmente mediazione incompleta dei dati forniti in input direttamente dall'utente e mancanza di controlli di sistema; un esempio classico è il buffer overflow, un bug che permette ad un attaccante di inserire un volume di dati superiore alla dimensione prestabilita e riversare i dati in eccesso nello stack, sovrascrivendo l' instruction pointer che potrebbe puntare ad un programma (tipicamente uno Shellcode) opportunatamente creato per compiere effetti indesiderati.
- Vulnerabilità dei protocolli: Presenti in quanto i protocolli della famiglia TCP/IP non contemplano il problema legato alla sicurezza perchè nati negli anni 80 (prima dell'avvento di Internet); l'esempio classico di vulnerabilità consiste nel permettere una connessione in chiaro (non crittografata) consentendo a possibili malintenzionati di origliare le informazioni scambiate(eavesdropping). Inoltre la documentazione (RFC) che descrive come questi protolli debbano essere implementati è di dominio pubblico quindi anche di possibili attaccanti che ne vogliono sfruttare le debolezze.
Le vulnerabilità quindi non compromettono un sistema, ma se utilizzate da quella che viene definita una minaccia ( azione indesiderata ) possono trasformarsi in un evento indesiderato.