Archive

Posts Tagged ‘sicurezza’

Sicurezza e GNU/Linux (11): l’hardening, ovvero come a livello di sistema si prevengono le vulnerabilità – 1

6 dicembre 2011 4 commenti

Riprendo il discorso Sicurezza e GNU/Linux con un post riassuntivo sulle misure che permettono di prevenire le vulnerabilità dei programmi. Per capire di che parliamo, prima è necessario rileggere i primi post di questa categoria: 1 e 2 .

Riassumendo: un programma vulnerabile è un software che, a causa di un mancato controllo sui dati in ingresso, permette ad un malintenzionato di confezionare un insieme di dati (ad esempio in un file oppure in un pacchetto spedito via rete) che inducono il programma a comportamenti non previsti. Leggi tutto…

Sicurezza e GNU/Linux (parte 3): vulnerabilità/2

8 aprile 2011 17 commenti

"Non sono cattiva, è che mi disegnano così"

Vulnerabilità “by design”

E’ piuttosto difficile definire una vulnerabilità “by design”, cioè un “errore di progettazione”. Prendendo alla lettera l’espressione, praticamente tutti i programmi e i sistemi operativi, se considerati dal punto di vista della sicurezza, contengono svariati “errori” di progettazione. In realtà questo dipende molto da due principi della sicurezza informatica: a) la sicurezza è inversamente proporzionale alla facilità d’uso; b) la sicurezza è un concetto relativo. Leggi tutto…

Sicurezza e GNU/Linux (parte 1): tipologie di attacco

27 marzo 2011 13 commenti

Un viaggio a puntate sulle tematiche legate alla sicurezza, ai sistemi Unix e al software libero.

Le tipologie di attacco

Prima di parlare di come proteggere un software, è bene capire da cosa un software va protetto. Possiamo distinguere grossolanamente i tipi di attacco informatico in tre categorie:

1. Attacchi che sfruttano la “buona fede” dell’utente (social engineering);

2. Attacchi che sfruttano una falla (vulnerabilità) involontaria del software;

3. Attacchi che sfruttano un difetto di progettazione del software, di un protocollo di comunicazione o di un formato dati (by design);

4. Attacchi che sfruttano una configurazione debole (o persino del tutto errata) del software.

La prima tipologia parte dall’assunto che l’utente è l’anello più debole di un sistema informatico. Sebbene a prima vista possa sembrare una banalità, in realtà si tratta di una vera filosofia, il cui postulato (corretto, ma non scontato) è che l’utente fa parte del sistema informatico stesso. Oggi l’ingegneria sociale è senza dubbio la metodologia preferita negli attacchi informatici a causa della larghissima diffusione dei computer presso utenti del tutto privi di ogni nozione fondamentale sulla sicurezza informatica. Inoltre, dal punto di vista tecnico, sfruttare l’ingenuità dell’utente è decisamente più semplice di studiare in modo approfondito un software per scoprire i suoi punti deboli.

La seconda tipologia di attacco si basa invece proprio sulla scoperta di errori di programmazione all’interno del software.

La terza tipologia invece non si appoggia su un vero e proprio errore di programmazione, ma su un errore di progettazione. La differenza a volte è sottile, ma ha (in certi casi) delle conseguenze pratiche molto rilevanti. Mentre una falla dovuta ad un errore di programmazione può essere facilmente corretta nelle versioni successive del programma, una falla dovuta ad un difetto di progettazione può voler dire dover riscrivere parti molto consistenti del software, disattivare funzionalità o realizzarle in modo differente, perdendo a volte la compatibilità verso il passato. Nel casi peggiori, la falla non potrà mai venire corretta, ma eventualmente si dovranno tamponare le conseguenze. Si tratta quindi di un caso più grave rispetto alla tipologia 2.

Per capire la differenza, possiamo fare questo esempio: in una partita di calcio, l’allenatore decide di usare lo schema 4-4-2. La partita va bene ma ad un certo punto un giocatore dà un pugno in faccia ad un avversario in area: il giocatore viene espulso, la sua squadra subisce un rigore e perde il confronto. Questo non significa che lo schema 4-4-2 sia errato: semplicemente un fattore contingente ha determinato la sconfitta. Nelle partite successive l’allenatore eviterà di schierare il giocatore troppo violento per risolvere il “bug”.

Un altro allenatore invece decide di adottare lo schema (assurdo, si intende) 1-1-8. La squadra perde tutte le partite allo stesso modo. In questo secondo caso, c’è poco da cambiare giocatori o intimare loro di adottare il fair play: è lo schema ad essere totalmente sbagliato, chi deve andarsene è semmai l’allenatore.

Vulnerabilità relative ad una cattiva progettazione possono riguardare anche protocolli o formati di dati. In questo caso, qualsiasi implementazione software, dovendo rispettare le specifiche del protocollo o del formato di dati, può potenzialmente essere affetta dalla vulnerabilità.

Infine, è frequente in caso di attacchi rivolti a sistemi la cui configurazione in termini di sicurezza è debole o errata.  Il caso più comune è quello di assegnare permessi eccessivi a script o eseguibili binari, contravvenendo alla regola aurea dei “permessi minimi”.

Bisogna sottolineare che spesso gli attacchi vengono condotti con tecniche miste: ad esempio, sapendo che un browser ha una certa falla, si deve però indurre l’utente a visitare il sito appositamente creato per sfruttarla. Per farlo tornano quindi utili le tecniche di social engineering.

Nella prossima puntata vedremo cos’è concretamente una vulnerabilità, analizzando le più comuni tipologie.

Niente di serio…

29 luglio 2010 16 commenti

Cito testualmente da punto-informatico.it:

Adobe e Microsoft insieme per la sicurezza

il che mi fa venire nuovi e divertenti titoli:

Erode e Annamaria Franzoni insieme per l’infanzia

Jack lo squartatore e Rodney Alcala insieme per le donne

Berlusconi e Verdini insieme per la legalità

Buone notizie, un altro trojan per GNU/Linux :)

14 giugno 2010 27 commenti

La notizia è di quelle che faranno davvero discutere.

Gli utenti GNU/Linux (o forse dovrei dire, gli amministratori di server) che, da novembre del 2009, hanno installato UnrealIRCd (un server di chat IRC molto diffuso) si sono beccati insieme ad esso un trojan. Il trojan nel caso specifico è anche piuttosto pericoloso, perché permette l’esecuzione, da remoto, di qualsiasi comando con i privilegi dell’utente che esegue il demone. I bravi amministratori creano un utente apposta, come si deve sempre fare in questi casi. I dementi invece usano root. Nel caso migliore insomma, il massimo che potrebbe succedere è che l’attaccante remoto cambi la configurazione del demone o legga i log delle connessioni e, probabilmente, possa acquisire informazioni sugli utenti. Nel caso peggiore, l’attaccante potrebbe fare qualsiasi cosa su quel server.

Leggi tutto…

Categorie:GNU/Linux Tag:, , ,

Mac OS avrà un antivirus integrato. Ma non proprio un vero antivirus

27 agosto 2009 22 commenti

Ebbene sì, anche Mac avrà il suo antivirus. Di fabbrica. E’ una delle novità di Mac OS X versione 10.6 in uscita a brevissimo.

Ma come, avevi detto che non esistono virus per Mac e GNU/Linux!

Sì, infatti non è un vero antivirus 😀

Leggi tutto…

Sicurezza: ma davvero il problema è l’utente?

25 agosto 2009 23 commenti

bmw-no-windows

Spesso leggo: “il maggiore problema di sicurezza è tra il monitor e la sedia”. Ma è davvero così?

Leggi tutto…

%d blogger hanno fatto clic su Mi Piace per questo: