Pagine

martedì 30 marzo 2010

ShimoonSEC su Twitter

Da oggi questo blog è anche su Twitter, seguimi a @ShimoonSec

lunedì 29 marzo 2010

Chrome indenne all'Pwn2Own

Il Pwn2Own si è finalmente concluso e tutti i principali browser sono stati exploitati, ad eccezione di Chrome, che è rimasto indenne.

Questo conferma la ottima reputazione che in questi anni ha ottenuto il browser. Ma questi risultati non significano che Chrome sia sicuro al 100%, ma soltanto che il prodotto di Google è sicuro, ma non infallibile. Va ricordato inoltre che al codifica degli exploit per Chrome richiede più tempo rispetto ad altri programmi, questo sarebbe significato impiegare del tempo che sarebbe potuto essere utilizzato per "bucare" altri programmi inquando il nel Pwn2Onw il tempo è denaro e altri premi.

giovedì 25 marzo 2010

Primi risultati Pwn2Own

Ormai il Pwn2Own è entrato nel vivo della manifestazione, e le aspettative non sono state tradite.

Come di consueto :-) Charlie Miller ha “bucato” Safari 4 su una macchina equipaggiata con OS X Snow Leopard, mentre l'olandese Peter Vreugdenhil è riuscito a baypassare le restrinzioni dei sistemi DEP e ASLR riuscendo così a bucare IE8 su Windows 7. Il tedesco Nills ha exploitato la versione 3 di Firefox su Windows 7 64-bit.

Il browser di casa google è passato indenne al contest, confermantosi ancora una volta un programma molto sicuro e difficile da exploitare, grazie alla sua SandBox.

domenica 21 marzo 2010

Web Security Scanner made in Google

La sicurezza sta diventando sempre di più in parametro cui dare importanza quando si parla di application, ed a maggior ragione quando si parla di web application.

In questo periodo Google ha dato alla luce il suo Web Security Scanner, nome in codice skipfish.

Il tool è scritto in puro C code, ed è ottimizzato per la gestione del HTTP. Sono stati inclusi algoritmi capaci di limitare i falsi positivi in modo da rendere più affidabili i controlli di sicurezza.

Chiunque fosse interessato può scaricare qui skipfish, mentre la documentazione è possibile trovarla qui.

Fonte: googleonlinesecurity

venerdì 19 marzo 2010

Intervista a Fabio Ghioni

Ecco a voi un interessante intervista il famoso hacker Fabio Ghioni incentrata sulla sicurezza informatica. Per chi non lo conoscesse Ghioni è l'autore di un 'interessantissimo libro, Hacker Republic, nonché esperto internazionale su tematiche come terrorismo informatico e spionaggio industriale.

parte 1



parte 2



parte 3

mercoledì 17 marzo 2010

DataBase non relazioniali, un diverso approccio

Noi tutti ormai siamo abituati a pensare al database come un insieme di tabelle messe in relazione fra di loro. Questo è il classico approccio di database dove tutti i dati sono rappresentati come relazioni e vengono manipolati con gli operatori dell'algebra relazionale.

La struttura base di un DB relazionale è il domino, caratterizzato da un insieme di valori noti come attributi il cui insieme è detto tupla.

Ma vediamo cosa rende questo tipo di DB, relazionale.

Per definizione, la relazione è una connessione che intercorre tra due o più elementi. Nel campo dei DB una relazione è la connessione che intercorre fra i valori inseriti in una tabella. Questa consta di una testata contenente un insieme di attributi, e di un corpo avente un insieme di tuple.

Espletiamo ora il concetto di database non relazionale.

Parlare di DB non relazionale è troppo vago in quanto è un "ecosistema" sviluppatosi da poco e la maggior parte dei suoi organismi sono in fase di sviluppo non stabile. Sussiste anche un altro aspetto che potrebbe portare confusione a che si avvicina per la prima volta al mondo dei DB non relazionali, ovvero la molteplicità degli approcci usati.

Vorrei soffermarmi sull'approccio che usano DB "collaudati" come Cassandra e CouchDb, due dei più utilizzati e performanti.

Questi DB sono di tipo document-oriented ed utilizzano la notazione JSON per la definizione degli schemi e creazione delle viste, tramite l'utilizzo dinamico dello JavaScript.

Per illustrare al meglio questo diverso approccio, vi mostro come sono rappresentati i dati negli oggetti JSON e come vengono inviati al server.

Ecco un esempio di struttura JSON prendendo in considerazione una semplice anagrafica universitaria;

var university = { "studente" : [ // "studente" è un array in "university"
                 { "nome"      : "Mario",  // First element
                   "cognome"   : "Rossi",
                   "matricola" : 547937 },

                 { "nome"      : "Enzo",   // Second element
                   "cognome"   : "Verdi",
                   "matricola" : 542456 }
               ] } // fine "university"
var server = university.toJSONString();       

Per quanto riguarda l'accesso ai dati, la procedura è ancora più semplice, difatti basterebbe soltanto stampare il valore dei vari campi dell’oggetto;

document.writeln(university.studente[0].nome);
document.writeln(university.studente[0].cognome);
document.writeln(university.studente[0].matricola);

Tutto veramente molto semplice.

lunedì 15 marzo 2010

Google Chart Tools

Oggi, grazie all'amico Giovdi, sono venuto a conoscenza di un servizio di Google che consente di creare grafici online utilizzando una semplice richiesta di URL a un server grafico di Google, questo servizio è Google Chart Tools ed offre un ottimo supporto a chiunque abbia bisogno di inserire nel proprio blog/sito un qualche grafico o formula matematica.

L'utilizzo è veramente semplice e consiste solamente nel variare i parametri passati ad un URL dinamico.

Ecco un esempio di URL basilare;

http://chart.apis.google.com/chart?cht=&chd=&chs=&...additional_parameters...

e rappresentano rispettivamente;
  • http://chart.apis.google.com/chart? E' l'URL base per utte le richieste di grafici.
  • cht=TipoGrafico Questo parametro indica il tipo di grafico che si intende utilizzare.
  • chs=Width x Height Dimensioni del grafico espresse con ampiezza x altezza, omettendolo si avrà una dimensione ottimizzata al grafico.
  • chd=t:K,Z Variabili del grafico espresse in caratteri.
  • chl=Nome1|Nome2 Nome delle variabili usate in chd.

Ecco un breve esempio utilizzando come variabili statistiche le percentuali di preferenze dei social network.
URL

http://chart.apis.google.com/chart?cht=p3&chs=250x100&chd=t:68,28,4&chl=FB|Twitter|LinkedIn
CHART



Come avete notato, l'utilizzo e veramente semplice.

Google sulla pagina ufficiale delle api mette a disposizione un ottima guida su come usare questo tool.

sabato 13 marzo 2010

Craccato RSA a 1024 bit

Dopo l'RSA codificato a 768 bit ecco che viene craccato quello a 1024 bit. A farlo sono stati 3 ricercatori dell‘Università di Michigan; Andrea Pellegrini, Valeria Bertacco e Todd Austin.

Lo scopo dei tre ricercatori era quello di estrarre la chiave privata RSA tramite la generazione di fault nel server producendo errori di calcolo della codifica. Per fare ciò si sono serviti di un loro algoritmo e del metodo di attacco fault-based riuscendo a bloccare il modulo che si occupava dell'elevamento a potenza su cui si basa la crittografia RSA.

Infine hanno utilizzato quanto ottenuto per sfruttare una falla in OpenSSL.

Il test è durato circa 104 ore ed il paper con tutto il lavoro svolto è reperibile a questo indirizzo.

Fonte: oneitsecurity

giovedì 11 marzo 2010

Prima falla per Opera 10.50

Ad affermarlo è la nota azienda Secunia che attraverso il suo blog porta alla luce il problema.

La vulnerabilità è stata segnalata come un integer overflow che durante l'elaborazione del "Content-Length" causa il riempimento della memoria e potrebbe essere sfruttata da malintenzionati per recare danno alla memoria.

C'è molta confusione dietro questa falla in quanto, pubblicata come zero-day, l'exploit non fornisce i risultati sperati ne la vulnerabilità viene attivamente sfruttata.

Agli utenti di Opera 10.xx non resta che attendere la prossima patch, ponendo nel frangente massima attenzione nella navigazione.

mercoledì 10 marzo 2010

Novità in OpenSSH 5.4



E'stato appena rilasicat0 OpenSSH 5.4, portando con se numerose novità e bug-fix.

Una delle nuove caratteristiche che OpenSSH porta con se, è il supporto all'autentificazione dei certificati di utenti e host. Questi certificati contengono una chiave pubblica e sono veicolati dai vincoli di integrità propri del protocollo SSH tramite public key.

E'stata implementata la funzionalità netcat, fruibile tramite comando  ssh-host W: door, cosi facendo ci si collega al client tramite una singola porta.

Altresì è stata aggiunta la possibilità di revocare le chiavi in sshd e ssh. Le chiavi possono essere revocate tramite il nuovo sshd_config con opzione RevokedKeys. Si rammenta che la chiave verrà eliminata tramite known_hosts e se utilizzata :-o attiverà un allarme (se attivo).

Per quanto riguarda al crittografia, le nuove chiavi RSA verranno generate da RSA_F4, mentre le passphrase, protette da protocollo SSH saranno protette con AES-128, invece di  3DES.

Fonte: OpenSSH

domenica 7 marzo 2010

Accounts Twitter vittime di hacker

Dilagano ormai i tentativi di fare di Twitter una fonte di spam. Questa la vittima è stata il "geek irritabbile" John C. Dvorak.

Dal suo account sono partiti tweet come "Check out this diet I tried, it works" con un TinyURL incluso.

L'utente ha ammesso di aver usato una password poco sicura ed è possibile che sia stato vittima di un attacco è stato di forza bruta.

Fonte: sophos

sabato 6 marzo 2010

Aggiornare Kernel Linux

Il kernel è la parte fondamentale di qualsiasi sistema operativo, ed è importante averlo sempre aggiornato e performante. Oggigiorno assistiamo, fortunatamente, ad una nuova versione del kernel praticamente ogni mese, questo a dimostrare la funzionalità della community che ci lavora sopra.

Talvolta potrebbe capitare di voler aggiornare manualmente il proprio kernel, senza l'ausilio di repository o aggiornatore di pacchetti. Ecco le procedure da seguire.

Prima di procedere si raccomanda di eseguire un backup completo dei propri dati.

I pacchetti del kernel sono reperibili a questo indirizzo.

Generalmente i pacchetti da scaricare e installare sono tre: un linux-image e due linux-headers, uno con suffisso _all  e due con suffisso _i386 o _amd64,  in base al vostro processore.

$: wget http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/v2.6.33/linux-headers-2.6.33-020633-generic_2.6.33-020633_i386.deb
$: wget http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/v2.6.33/linux-image-2.6.33-020633-generic_2.6.33-020633_i386.deb
$: wget http://kernel.ubuntu.com/%7Ekernel-ppa/mainline/v2.6.33/linux-headers-2.6.33-020633_2.6.30-020633_all.deb

Come notate, i primi due file hanno suffisso _i386, questo perché il kernel che si appresta a scaricare è ottimizzato per processori x86, nel caso invece di possieda un processore a 64 bit basterà sostituire il suffisso con _amd64.

Dopo aver scaricato i tre pacchetti, dovremo installarli tutti e tre contemporaneamente. Useremo il sistema di gestione dei pacchetti classico delle distribuzione Debian, il dpkg.

$: sudo dpkg -i linux*deb

Dopo l'istallazione è necessario riavviare.

reboot now

Al riavvio avremo automaticamente il nuovo kernel attivato.

venerdì 5 marzo 2010

Firefox 3.7a2 released



Mozilla Foundation ha appena reso disponibile la nuova versione di Firefox, la 3.7a2 aka 4.0, portando con se numerose novità, sopratutto gestionali.

Questa nuova versione implementa una nuova gestione delle tab e dei plugin, assomigliando in maniera impressionate a Chrome. Con questa nuova gestione infatti avremo un singolo processo per ogni singolo tab,  in maniera che se uno dovesse crashare, non comprometta la stabilità dell'intero programma. Questo accadrà anche per i plugin cui è stata introdotta la nuova funzionalità "out-of-process plugin".

Altri importanti miglioramenti sono stati apportati all’engine JavaScript. Al motore TraceMonkey verrà affiancato da un motore che riconosce e compila il codice ottimizzabile. Queste funzioni verranno gestite da JägerMonkey.

JägerMonkey è il threading per SpiderMonkey. Il suo obbiettivo quello di ottimizzare le prestazioni complessive del motore JS, e per fare ciò genera del codice nativo in assembly attraverso il motore Nitro per tenete traccia transizioni, i cambiamenti dell''interprete e dello stack.

martedì 2 marzo 2010

Opera 10.50 released



E'da oggi disponibile per i download la versione 10.50 di Opera, quello che si preannuncia essere "il browser più veloce al mondo"

Questa nuova versione ha il supporto nativo ai flussi Flash circolanti in formato Ogg Theora ma non l'H.264 e l'implementazione del private browsing. Un altra novità consiste nel nuovo motore di JavaScript, Carakan, che riesce a dare al browser una velocità notevole anche senza l'uso del "Turbo".

Di sotto il grafico che compara l'velocità dello JavaScript di Opera con quella di altri browser.

Per tutte la altre features visitare il sito.

Fonte:  lifehacker

lunedì 1 marzo 2010

Charlie Miller's interview

Sulle pagine di oneitsecurity è presente un'interessante intervista a Charlie Miller che a partire dal 24 marzo, per tre giorni, parteciperà al Pwn2Own 2010, famoso security contest. Charlie Miller è stato per 2 edizioni proclamato vincitore per aver "bucato" Safari su Mac OS X e l’iPhone di Apple.

L'intervista è disponibile qui.

Interview with Charlie Miller is also available in English at the following address.

Crederai a quello che vorrai

I “rootkit” di livello kernel, sono quelli che compromettono direttamente il sistema operativo. Visto che il livello kernel è il più elevato, e impossibile controllare un livello più alto, e quindi un antivirus (antirootkit) può essere facilmente eluso in quanto hanno li stessi privilegi. Qui ci troviamo al Ring 0.

Una soluzione a ciò è stata trovata da Joanna Rutkowska di ”the invisible things” ed è la sua “pillola blu” (alla matrix, cosa avete pensato).

Bluepill nasce nel 2006 come progetto di malware ed è capace di introdursi nel Ring -1. Questo livello non è propriamente esistente, ma è un strato foggiato dai costruttori di processori quando introdussero il concetto di virtualizzazione della CPU. Furono introdotte anche altre modalità operative come la root mode e la host mode. Questo per dimostrare che l'hypervisor ha più privilegi sul kernel del sistema operativo rispetto al Ring 0.

L’idea di bluepill non è propriamente originale, essa infatti prende spunto da un altro progetto, questa volta della Microsoft Research, che aveva creato uno rootkit VM-based chiamato “SubVert”. Questo rootkit era quasi impercettibili nel sistema, ma poteva essere facilmente individuato a causa di alcuni cambiamenti che apportava al hard disk.

Rutkowska ha portato questo archetipo più avanti.

Il compito di bluepill è di installarsi, in maniera silenziosa e senza riavvii, al disopra del kernel diventando così invisibile, lasciando intravedere a scanner e software specifici, soltanto il processo di virtualizzazione proprio della CPU. Cosi facendo non c'è modo di sapere l'hypervisor è stato compromesso o meno da bluepill perché non va a toccare nulla del kernel e non ha contatti attivi con quest'ultimo.

Tutto ciò è reso possibile grazie alla tecnologia di virtualizzazione di AMD chiamata SVM.

La dimostrazione è stata fatta la Black Hat (quale posto migliore) ed è stata eseguita su di una macchina equipaggiata di Vista X64. Ma potrebbe funzionare anche su altri SO basati su tecnologie a x64.