March 2006 Blog Posts

Dall'india con amore ;-S

Il vantaggio di non riuscire a dormire.. o per lo meno quello di dormire in media 5 ore al giorno, è quello di avere il tempo di leggere tranquillamente i digest dei maggiori newsgroup sulla sicurezza il mattino prima di andare a lavorare. Mentre sfogliavo IT-Sec-NSE ho trovato un interessante post che inizia con un Security News Update dal "Centro di ricerca e prevezione dei Crimini Informatici India"; Ho trovato molto interessante questa serie di suggerimenti. Instigatea 'time out' feature on the log-in form. This will slow down a brute force attack to such an extent that it will render it...

posted @ Thursday, March 23, 2006 10:25 AM | Feedback (55)

[Security 21] System.Security.Cryptography.X509Certificates

Con il post [Security 21] entriamo nella zona Certificati Digitali.Come si vedrà più avanti, la classe X509Certificate non crea certificati, ma si limita unicamente ad analizzarli. Tuttavia, per avere un certificato su cui lavorare non è per forza necessario avere una CA (Certification Authority). NET viene distribuito con il Certificate Creation tool (makecert.exe).Creiamo quindi il nostro certificato su cui andremo a lavorare più avanti makecert "c:\IMieiCertificatiSonBelli\UgiCert.cer" Prestate attenzione al fatto che makecert dispone di una considerevole quantità di opzioni di esecuzione disponibili. Possiamo creare i certificati con quasi tutte le informazioni che vogliamo. Per esempio è possibile specificare il Subject Name con il l'opzione di...

posted @ Tuesday, March 21, 2006 5:43 PM | Feedback (5335)

Rilasciare applicazioni VSTO

Ne avevo sentito parlare da qualche parte in azienda, ed oggi mi ci sono "finalmente" scontrato. Se da una parte, lo sviluppo è abbastanza semplice ed immediato, il deploy è veramente un casino. Per chi non lo sapesse VSTO sta per "Visual Studio Tools for Office". Avendo abbandonato la vendita diretta dei miei software, non sono più aggiornato sui sistemi di final user deploy. Ai tempi di .NET 1.1 avevo trovato un ottimo alleato in InstallShield (Macrovision) X, la domanda è che ora mi faccio.. "Esisterà da qualche parte un tool per il deploy veloce e professionale di applicazioni VSTO?" Nell'attesa...

posted @ Tuesday, March 21, 2006 3:28 PM | Feedback (5392)

I Sims amano i Depeche Mode.. e gli piacciono anche ;)

L'ho sempre detto che sono avanti.. l'ho sempre detto "I Depeche Mode sono sempre stati aperti alla possibilità di sperimentare nuovi modi di proporre la propria musica” ha sottolineato il cantante dei Depeche Mode, David Gahan “e registrare una versione in Simlish di 'Suffer Well' ci è subito sembrato molto interessante e originale. Ovviamente, questo è stato il motivo per cui non abbiamo potuto resistere”. Dal 3 marzo il videoclip della canzone in Simlish, con la colonna sonora della musica originale dei Depeche Mode, tratto da The Sims 2 Funky Business, sarà disponibile sui siti ufficiali www.thesims.it e www.depechemode.com. “Così...

posted @ Monday, March 20, 2006 5:56 PM | Feedback (19)

[Security 20] Codifica Decodifica dei Dati

Per codificare\decodificare informazioni, vengono utilizzati i metodi CreateEncryptor() o CreateDecryptor() della classe SymmetricAlgorithm. Esistono due versioni di questi metodi: uno senza alcun tipo di parametro richiesto (parameterless) ed un secondo che richiede due byte di array, i quali, rappresentano il IV e la chiave per il processo di codifica. In entrambe i casi, il valore di ritorno è una interfaccia ICryptoTransform. Al netto di ciò, come segue, possiamo usare direttamente CryptoStream per rendere il nostro lavoro più facile. 1  String adPath = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;2  FileStream fin = new FileStream(adPath + @"\jcfileIN.txt",3     FileMode.Open, FileAccess.Read);4  MemoryStream mout = new MemoryStream();5  byte[] finData = new byte[fin.Length];6  7  SymmetricAlgorithm rijn = Rijndael.Create();8  CryptoStream coutenc = new CryptoStream(mout, rijn.CreateEncryptor(),9     CryptoStreamMode.Write);10  fin.Read(finData, 0, (int)fin.Length);11  coutenc.Write(finData, 0, (int)fin.Length);12  coutenc.FlushFinalBlock();13  14  FileStream fdec = new FileStream(adPath + @"\jcfileOUT.txt",15      FileMode.OpenOrCreate, FileAccess.Write);16  17  CryptoStream coutdec = new CryptoStream(fdec, rijn.CreateDecryptor(),18      CryptoStreamMode.Write);19  coutdec.Write(mout.GetBuffer(), 0, (int)(mout.Length));20  coutdec.Close();21   Ok parliamoci chiaro, questo codice può sembrare molto simile a quello postato in uno dei precedenti post, tuttavia c'è un particolare che dovrebbe...

posted @ Thursday, March 16, 2006 4:34 PM | Feedback (5408)

E' uscito il mio libro

Pocket ASP.NET Versione 2.0 Dalla Copertina : "ASP.NET è un insieme di tecnologie di sviluppo di software per il web, commercializzate dalla Microsoft.Utilizzando queste tecnologie gli sviluppatori possono realizzare applicazioni e servizi web. Questo pocket accompagna il lettore alla conoscenza e all'uso del framework, con particolare attenzione alle novità introdotte dalla versione 2.0, e spiega le ragioni tecniche che permettono di scrivere meno codice e aumentare la produttività. Pensato come guida tascabile per lo sviluppatore alle prime armi che vuole avvicinarsi all'ambiente Microsoft, per la sua struttura questo testo è utile anche come guida di riferimento per chi ha già confidenza con...

posted @ Thursday, March 16, 2006 10:32 AM | Feedback (5428)

sp_who2, come organizzare i dati restituiti con utenze non amministrative

E' mai capitato di aver la necessità di visualizzare le connessioni attive su un determinato SQL Server via mmc o Query Analizer? A me si. Per far questo è necessario avviare la stored procedure sp_who2. Essendo una stored procedure di sistema non è possibile modificarla a patto di non avere credenziali di tipo amministrativo.  E questo è proprio quello che è sucecesso anche ad un mio collega ("Open" Skinny). Da grande appassionato di Transact SQL mi ha proposto una soluzione al problema davvero geniale. Query su tabella virtuale popolata dai dati provenienti dalla stored. CREATE TABLE #WHO2(SPID INT,Status VARCHAR(50),Login VARCHAR(100),HostName VARCHAR(255),BlkBy VARCHAR(100),DBName VARCHAR(100),Command VARCHAR(100),CPUTime FLOAT,DiskIO...

posted @ Wednesday, March 8, 2006 11:28 AM | Feedback (5417)

Quiz : Cosa è questo listato? e a cosa serve?

<CN="OVERXPOSED39" l="3" t="1" /> <CN="MALEDETTODOTNET" l="3" t="1" /> La uso la mattina di ogni giorno.

posted @ Wednesday, March 8, 2006 10:28 AM | Feedback (50)

La scrivania del sistemista e i suoi post-it

C'è chi mi ha definito un teppista, chi mi ha definito un pazzo o semplicemente una persona a cui piace sfruttare la potenza della propria auto al solo fine di divertirsi. Resta di fatto che nessuno mi ha mai dedicato un post it sulla sua personale scrivania. Quello che vedete è un post-it sulla scrivania del sistemista dell'azienda in cui sto svolgendo servizi di consulenza (sicurezza e sviluppo). Prometto che non andrò più a 210 in autostrada..Prometto che rispetterò i limiti di velocità..Prometto che non mi farò prendere troppo da John The Revelator..

posted @ Monday, March 6, 2006 4:36 PM | Feedback (4)

Nozioni di base sulla tecnica Diffing – Parte 1

Il Diffing è una delle tecniche di hacking più semplici da applicare. Consiste nel confrontare un programma, una libreria o un altro file prima e dopo una singola serie di operazioni. Viene utilizzato spesso nella ricerca della sicurezza, talmente spesso da essere ritenuto un processo a parte. Può essere svolto a livello del disco, di un file o di un database per scoprire quali elementi sono stati modificati; il livello dei file indica i byte, il livello del database specifica i record. In questo modo, è possibile vedere come manipolare i dati all’esterno...

posted @ Thursday, March 2, 2006 9:58 AM | Feedback (7)

10 Immutable Laws of Security

Se una persona disonesta ti convince ad eseguire il suo programma sul tuo computer, quello non è più il tuo computer Se una persona disonesta riesce a modificare il sistema operativo del tuo computer, quello non è più il tuo computer Se una persona disonesta ottiene l’accesso fisico illimitato al tuo computer, quello non è più il tuo computer. Se consenti ad una persona disonesta di caricare programmi sul tuo sito Web, quello non è più il tuo sito Web. Le password deboli hanno la meglio su una sicurezza robusta. Una macchina è sicura quanto l’attendibilità del suo...

posted @ Thursday, March 2, 2006 9:22 AM | Feedback (28)

E riparto con altri due

Dopo aver finito la precedente coppia di libri stamane ho effettuato un altro (ennesimo) ordine su amazon. Mi ero promesso di riuscire leggere 5 libri sulla sicurezza in 3 mesi. Magari ci riesco davvero Cmq i titoli che ho scelto questa volta sono : Exploting Software : How to Break Code (Greg Hoglund, Gary McGraw) The Shellcoders's Handbook : Discovering and Exploiting Security Holes (Jack Koziol, David Litchfield, Dave Aitel, Chris Anley, Sinan "noir" Eren, Neel Mehta, Riley Hassel)     Entrambe approfondiscono argomenti interessanti che ho trovato in Hack Proofing.

posted @ Wednesday, March 1, 2006 3:33 PM | Feedback (13)