Wiki source for TesineMarangon


Show raw source

<<[[Didattica]]<<======FONDAMENTI DI SICUREZZA INFORMATICA======

>>Anno scolastico: **2009/2010**
Autore: [[methos1990@hotmail.it Matteo Marangon]]
Classe: **5BI**>>//==Sommario==
Indice
Introduzione
Che cos’è un sistema informatico?
Che cos’è una rete informatica?
Storia
Perché è importante la sicurezza nelle reti informatche?
Da chi è necessario proteggersi?
Cracker Lamer Hacker
Da cosa è necessario proteggersi?
Buffer Overflow ""DoS"" Shellcode Spoofing Port Scanning Malware Keylogger Trojan Virus Spyware SQL Injection Cross Site Scripting (XSS) Eavesdropping Jamming
Bibliografia
Sitografia//

====Introduzione====
==Che cos’è un sistema informatico?==
Un sistema informatico è un insieme di computer, composti da una parte fisica (hardware) e una parte logica (software) che elaborano dati e informazioni per trasmettere ad altri dati utili.
Internet, ad esempio, è il più noto sistema informatico.

Anche il Personal Computer può essere considerato un sistema in quanto il suo funzionamento è vincolato da una perfetta combinazione tra hardware e software.

==Che cos’è una rete informatica?==
Un grosso problema dei sistemi è quello di potersi collegare con altri sistemi, quasi sempre diversi e incompatibili sia dal lato hardware che dal lato software.
Per ovviare a questo problema si utilizzano una serie di regole, dette protocolli, che rendono compatibili le diverse interfacce di rete, permettendo così una connessione tra qualsiasi sistema.

Una rete informatica è un sistema che permette la condivisione di dati e risorse tra più calcolatori.
La costruzione di reti nasce in seguito alla necessità di condividere le risorse di calcolatori potenti e molto costosi (mainframe).

La tecnologia delle reti, e in seguito l'emergere dei computer personali a basso costo, ha permesso rivoluzionari sviluppi nell'organizzazione delle risorse di calcolo.

Una rete di calcolatori ha principalmente tre pregi:
- fault tolerance (resistenza ai guasti): il guasto di una macchina non blocca tutta la rete, ed è possibile sostituire il computer guasto;
- economicità: i componenti per i computer costano meno di quelli per i mainframe;
- scalabilità: il miglioramento e l’espansione di una rete sono semplici e poco costosi.

Tuttavia una rete mostra anche alcuni punti deboli:
- scarsa sicurezza: un malintenzionato può avere accesso facilmente ad una rete di computer. Inoltre, una volta che un worm ha infettato un sistema della rete, questo si propaga rapidamente a tutti gli altri e l'opera di disinfezione è molto lunga e difficile;
- alti costi di manutenzione: con il passare del tempo e degli aggiornamenti la struttura di rete tende a espandersi e a diventare sempre più complessa, e i computer che ne fanno parte sono sempre più eterogenei, rendendo la manutenzione sempre più longeva e costosa.

====Storia====
Sebbene i primi Hacker risalgano agli anni ’50, il problema della sicurezza informatica è molto più recente.
È nata negli anni ’80, periodo in cui le reti informatiche cominciavano a estendersi oltre al semplice edificio raggiungendo, inizialmente grazie ad ARPANET e in seguito grazie all’avvento di Internet, distanze di migliaia di chilometri su territori internazionali.

Con un tale collegamento se un computer connesso alla rete veniva infettato da un virus, tutti gli altri computer collegati rischiavano fortemente di fare la stessa fine.
Per questo si rese necessario iniziare a progettare delle difese contro attacchi sia da parte di malware sia da parte dei primi cracker che s’intrufolavano nella rete.

La diffusione dei malware che sfruttavano mezzi non più fisici come i floppy disk ma digitali come le email e il Web, iniziò ad aumentare parallelamente alla nascita di queste piattaforme.

Il boom è iniziato però nel 2001 e, tra gennaio e agosto 2008, sono stati individuati una quantità di malware pari alla somma degli ultimi 17 anni.
Noti centri di sviluppo di antivirus hanno previsto per i prossimi anni un incremento simile a quello riscontrato nel 2008, che causerà forti disagi nel mondo digitale.
Le aziende necessiteranno quindi di una maggiore cura nei riguardi della sicurezza, settore attualmente fortemente sottovalutato.

====Perché è importante la sicurezza nelle reti informatiche?====
Quasi ogni azienda, grande o piccola che sia, ora possiede una rete di computer connessa a Internet e, in questi computer, si è soliti archiviare qualsiasi dato, anche le informazioni più sensibili per l’azienda.

Ciò che molti non sanno però è che ogni rete connessa al web è a rischio di violazioni da parte di aziende avversarie o persone interessate a danneggiare altre persone o società per semplice divertimento o per trarne un profitto.

Si rende quindi d’obbligo fornire la propria rete di adeguate protezioni che possono variare dai semplici firewall software a basso prezzo a soluzioni //su misura// create da società specializzate.

Lo scopo di queste società è di offrire una serie di servizi di test della sicurezza della rete chiamati //Penetration test// e, in base ai risultati, proporre varie soluzioni più o meno approfondite per immunizzare il sistema.

Purtroppo l’Italia è una nazione che sottovaluta quest’aspetto del mondo virtuale, ignorando quasi totalmente i rischi di spionaggio industriale digitale.

====Da chi è necessario proteggersi?====
È possibile riconoscere tre categorie di persone in grado di eseguire un’attacco ad un sistema informatico:

==Cracker==
è una persona con delle elevate capacità informatiche che tenta di eludere qualsiasi blocco allo scopo di danneggiare l’obbiettivo e, spesso, di trarne un guadagno.

Ha le capacità di bypassare i più comuni blocchi di sicurezza, come firewall e antimalware, sfruttando delle falle che altri programmi - come i browsers - possono presentare.

==Lamer==
è un aspirante cracker con conoscenze informatiche limitate.
Il termine inglese, usato in genere in senso dispregiativo, significa letteralmente "zoppo" ma si potrebbe interpretare come imbranato o rozzo.
ll lamer, come il cracker,si differenzia dall'hacker perché il suo scopo non è esplorare, imparare e migliorare, ma creare danni, a puro divertimento personale.
I lamer vengono tradizionalmente disprezzati dagli hacker perché sono individui presuntuosi che credono di saperne molto sui computer, mentre in realtà, il più delle volte, hanno solo delle scarse nozioni di informatica base. 

==Hacker==
è una persona che si impegna nell'affrontare sfide intellettuali per aggirare o superare creativamente le limitazioni che gli vengono imposte.
Il termine “Hacker” viene utilizzato in varie situazioni ed è possibile riassumerle in quattro principali categorie:
- Persona che conosce un modello d’interfaccia di programmazione abbastanza bene da essere in grado di scrivere un software nuovo e utile senza troppa fatica, in una giornata o comunque rapidamente.
- Persona che riesce ad inserirsi in un sistema o in una rete per aiutare i proprietari a prendere coscienza di un problema di sicurezza.---Anche detti "white hat hacker" o "sneaker".---Molte di queste persone sono impiegate in aziende di sicurezza informatica e lavorano nella completa legalità.---I cracker vengono definiti invece //black hat hacker// per sottolineare la completa discrepanza tra le due categorie.
- Persona che, attraverso l’esperienza, modifica un software esistente in modo tale da ampliarne le funzionalità.---Lo scambio di modifiche sui software tra i diversi Hacker è visto come un'occasione di collaborazione e non di competizione.
- Un "Reality Hacker” (origine: MIT) è una persona che si addentra nei meandri più nascosti di una città, spesso mettendo a segno "scherzi" elaborati per il divertimento della comunità.

Il termine cracker viene spesso confuso con quello di hacker, il cui significato, pur utilizzando tecniche simili, è tuttavia notevolmente diverso.
- Hacker è colui che sfrutta le proprie capacità per esplorare, divertirsi, apprendere, senza creare reali danni.
- Al contrario, cracker è colui che sfrutta le proprie capacità al fine di distruggere, ingannare e guadagnare.

====Da cosa è necessario proteggersi?====
Hackers, crackers e lamers, per giungere ai propri obbiettivi, si avvalgono di varie tecniche molto diverse tra loro,capaci di sfruttare tutte le debolezze dei software.
Di seguito propongo i metodi maggiormente utilizzati:

==Buffer Overflow==
a volte un programma non possiede il controllo della lunghezza dei dati in arrivo, confidando che l’utente non immetta più dati di quanti esso ne possa contenere.
Quando vengono inviati più dati di quanto il buffer possa sostenere, il codice in eccesso va a sovrascrivere le variabili interne del programma permettendo al cracker di sfruttare il codice extra per bloccare il sistema o prendere il controllo di altri computer collegati in rete.

==""DoS""==
è la sigla di “Denial of Service”, negazione del servizio.
In questo tipo di attacco si cerca di sovraccaricare un sistema che fornisce un servizio, ad esempio un sito web in modo da rendere tale servizio inagibile.---Per aumentare l’efficacia dell'attacco solitamente i crackers utilizzano un gran numero di computer, i cui proprietari restano inconsapevoli di tutto, sui quali precedentemente è stato inserito un programma che, una volta attivato dal cracker, inizia ad utilizzare tali computer in contemporanea per inviare continue richieste al obbiettivo.---I metodi più semplici per proteggere i server da questo tipo di attacco sono:
- Implementazione di filtri negli apparati di rete (router, firewall): con questo metodo non sarà possibile bloccare l’attacco ""DoS"" ma si potrà facilmente ricostruire ed analizzare il codice maligno in tempi brevi, per permettere all’ISP di agire tempestivamente.
- Limitazione della quantità di banda tramite il router: molti router consentono di gestire la quantità di banda da assegnare ai singoli servizi, in modo da evitare un eventuale sovraccarico.
- Utilizzare sistemi di riconoscimento degli attacchi DoS: è possibile utilizzare appositi software (spesso gratuiti) che permettono di identificare l’attacco e i relativi computer coinvolti, permettendo di distinguere il cracker tra i vari computer usati come pedine.

==Shellcode==
sono programmi scritti in assembly che sfruttano la tecnica del Buffer Overflow per permettere all’attaccante (cracker o hacker che sia) di prendere il controllo del terminale.
È molto difficile identificare questa tecnica in quanto chi lo utilizza (solitamente solo persone con una certa esperienza) sa che per mascherare l’attacco è conveniente crittografare le stringhe rintracciabili.

==Spoofing==
è il sistema che permette di creare un pacchetto IP nel quale viene falsificato l'indirizzo IP del mittente.
Durante lo spoofing l'attaccante si connette alla rete dell’obbiettivo usando i pacchetti falsificati che la vittima riconoscerà come provenienti da un host "sicuro".

==Port Scanning==
consiste nell’esaminare tutte le porte per trovare quelle attualmente utilizzate (aperte).
Una porta è costituita da un numero utilizzato per identificare ogni connessione attiva tra un software e la rete.
Se queste porte sono “chiuse”, il software non ha la possibilità di comunicare con l’esterno.
Se invece le porte sono aperte ogni software può utilizzarla per comunicare con la rete e, a sua volta, essa può utilizzare quella porta per comunicare con il software.
Eseguendo una scansione delle porte, l’attaccante può capire quali applicazioni “online” l’utente stia utilizzando e programmare un attacco sfruttando un’eventuale falla presente in uno di questi software.

==Malware==
sono software creati appositamente per arrecare danni ai computer su cui vengono eseguiti.
Questi programmi si dividono in una moltitudine di categorie tra le quali spiccano Keylogger, Trojan, Virus, Spyware e Rootkit.
Una panoramica di questi principali metodi è presentata a seguire.

==Keylogger==
sono degli strumenti (hardware o software) che permettono di intercettare tutto ciò che un utente digita sulla tastiera.
I keylogger hardware sono piccoli apparecchi che possono essere inseriti o all’interno della tastiera o tra la tastiera e il computer.
L’efficienza è elevata in quanto il sistema non riesce ad accorgersi della loro presenza.
Hanno la capacità di intercettare anche le password inserite prima del caricamento del sistema operativo in quanto è completamente indipendente dal software del computer.
I keylogger possono sia memorizzare i tasti digitati in una memoria interna, sia inviare il contenuto tramite connessione wireless.
I keylogger software sono programmi che restano in esecuzione in background captando ogni tasto digitato.
Possono, ad esempio, essere situati tra il browser e il Web per intercettare le password che vengono inserite.

==Trojan==
sono software che, all’apparenza, si mostrano come benigni ma che al loro interno nascondono del codice maligno che l’utente non è in grado di riconoscere.
Generalmente con //Trojan// ci si referisce nello specifico a strumenti di accesso remoto che permettono all’attaccante di prendere il possesso del computer della vittima acquisendone i privilegi di amministratore.
Per difendersi basta un semplice antivirus aggiornato, che eliminerà senza problemi la minaccia.
Alcuni trojan però possono passare inosservati all’analisi degli antivirus e, nei casi peggiori, possono contenere delle istruzioni che li disabilitano.

==Virus==
sono i malware più comuni; consistono in software che si diffondono nel sistema moltiplicandosi autonomamente, senza farsi rilevare dall’utente.
I virus meno pericolosi si possono riconoscere, una volta attivi nel sistema, da un’anomalo sovraccarico di CPU, RAM e spazio sull’Hard Disk.
Essi infatti si moltiplicano in continuazione restando attivi in background, occupando quindi sempre più risorse di sistema.
Generalmente però un virus tende a causare danni più marcati, come la cancellazioni di parti di file, la rimozione di file importanti per la stabilità del sistema e, in alcuni casi, si può arrivare ad una formattazione parziale o totale del disco.
In casi estremi un virus è in grado di manipolare le soglie di temperatura dei vari componenti nel BIOS, operando successivamente un overclock dei componenti per portare ad un drastico innalzamento delle temperature fino alla loro rottura.

==Spyware==
sono software creati per raccogliere informazioni relative all’attività online di un utente senza che esso ne sia a conoscenza per trarne un profitto, generalmente tramite la pubblicità.
Gli spyware non causano danni al computer ma costituiscono una minaccia per la privacy dell’utente.
Per liberarsi di tali //ospiti// è necessario eseguire una scansione con un antivirus aggiornato o, meglio, con un programma antispyware.

==SQL Injection==
la SQL Injection consiste nell'inserire e modificare query nelle pagine dinamiche, così da far compiere all'applicazione un'azione non prevista.
Se un form di log-in non gestisce le eccezioni, è possibile, tramite l’inserimento di caratteri speciali, immettere codice (generalmente ASP) che permetta all’attaccante di accedere e gestire tutte le informazioni contenute in un Database.
Con alcune query specifiche è possibile, ad esempio, risalire ai dati di log-in di un amministratore, o modificare i privilegi di un utente normale o, ancora, eliminare l’intero DB.
Il metodo migliore per prevenire questo genere di attacchi non è impegnativo: il programmatore deve solo avere l’accortezza di gestire ogni eccezione non prevista dal linguaggio come i caratteri apostrofo, punto e virgola, doppio trattino…

==Cross Site Scripting (XSS)==
il concetto è simile a quello visto per la SQL Injection, ma più pericoloso in quanto non colpisce solo i Database ma qualsiasi dato contenuto nel sito.
Se un parametro GET o POST non gestisce le eccezioni, è possibile inserire del codice di ogni linguaggio supportato da quel sito (PHP, HTML, JavaScript …).
Il sito interpreterà i dati non come testo ma come vero e proprio codice che andrà a modificare la pagina.
Se ad esempio inseriamo un semplice tag ##<B>##, tutto il testo successivo a quel tag diventerà in grassetto.
Se si inserisce uno script del tipo ##<script>alert(document.cookie)</script>## si otterrà una popup contenente tutti i dati contenuti nel cookie salvato dal forum.

==Eavesdropping==
si tratta di una semplice tecnica di intercettazione di pacchetti in una rete wireless.
Una scheda wireless può essere configurata anche solo per ricevere senza trasmettere alcun pacchetto.
In questo modo è possibile rilevare ogni pacchetto che viaggia nella rete wireless, a patto che questa non sia protetta.

==Jamming==
è una tecnica utilizzata per dirottare l’accesso ad internet di un host da un Access Point ad un altro, ad esempio il PC dell’attaccante.
Per fare ciò si utilizza un dispositivo, detto “jammer”, che crea delle interferenze nella connessione portando a svariati errori nel collegamento.
Durante queste interferenze è quindi possibile sostituirsi all’Access Point originale senza farsi notare.
Questa tecnica non è unicamente informatica, ma è utilizzata nei campi più svariati.
In ambiente militare viene utilizzata per generare disturbi ai radar di navi, aerei, torrette…
Nel mondo civile è utilizzato, ad esempio, per alterare la lettura dei radar stradali utilizzati per rilevare la velocità dei veicoli.

==Bibliografia==
S. ""McClure"", J. Scambray, G. Kurtz
**Hacker! 4.0**
2003

==Sitografia==
- http://it.wikipedia.org/wiki/Portale:Sicurezza_informatica
- http://sicurezza.html.it/
- http://www.justice.gov/criminal/cybercrime
- http://www.pcworld.it/
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki