Versione Stampabile Versione Stampabile

Curriculum Vitae

DATI ANAGRAFICI

Nome: Andrea
Cognome: Fabrizi
Luogo e data di nascita: Anagni (FR) - 10 Aprile 1983
Residenza attuale: Roma


ALTRI DATI

Web: http://www.andreafabrizi.it
E-Mail: andrea.fabrizi@gmail.com
Patente: Si
Disponibilità ad effettuare trasferte: Si
Disponibilità a lavorare all'estero: Si


STUDI CONSEGUITI

ESPERIENZE PROFESSIONALI

Business-e S.p.A. [da Febbraio 2010 ad oggi]
Ruolo: ICT Security Consultant

STM Italia S.p.A. - EDS Italia S.p.A. [da Giugno 2008 a Gennaio 2010]
Ruolo: ICT Security Consultant

Telecom Italia S.p.A - Unidata S.p.A [da Maggio 2007 a Giugno 2008]
Ruolo: ICT Security Consultant
  • Ethical Hacking.
  • Penetration test sui sistemi interni e su applicazioni intranet ed internet in Telecom Italia e TIM.
  • Vulnerability assessment.
  • Progetto e sviluppo software in ambito sicurezza.
  • Sviluppo di tool utili nei penetration test.

Hypergolica Webworks Studio [Referenze] [da Marzo 2005 ad oggi]
Ruolo: Sistemista/Programmatore
  • Progettazione e Sviluppo software
  • Progettazione e Sviluppo applicazioni Web
  • Amministrazione di Sistemi, Sicurezza e Hardening
Da più di 4 anni lavoro come sistemista/programmatore per questa società Americana che opera nel campo web/multimedia. Ho sviluppato Software, applicazioni web, siti internet, CMS e soft ware gestionali di ogni genere.


Monforte srl [Aprile 2007]
Ruolo: Programmatore
  • Progettazione e Sviluppo applicazioni per sistemi Linux Embedded
Ho collaborato con questa società per la progettazione e realizzazione di un dispositivo embedded (destinato a PosteItaliane) in grado di interfacciarsi ed operare con i lettori ottici (datamatrix/codici a barre) di macchine smistatrici.


Omeofarma srl [2006]
Ruolo: Programmatore
  • Sviluppo applicazioni di controllo remoto Mac OS<->IBM AS400
  • Sviluppo applicativi per sistemi Macintosh

InfoByte S.p.A. [2006]
Ruolo: Programmatore
  • Sviluppo software
  • Sviluppo applicativi web
  • Progettazione Database

MondoWeb srl [2004]
Ruolo: Sistemista
  • Installazione/Configurazione server Web/Mail/Database
  • Attività sistemistiche


SKILL

Sistemi Operativi:
  1. Solida conoscenza di UNIX/GNU Linux
  2. SUN Solaris
  3. HP-UX
  4. TRU64
  5. AIX
  6. Mac OS X
  7. MS Windows


Linguaggi di Programmazione:
  1. C
  2. ASSEMBLER (x86/MIPS/MIPSEL)
  3. ASSEMBLER PIC (Serie PIC16F della Microchip)
  4. JAVA
  5. J2ME (Java Micro Edition per dispositivi mobili)
  6. OBJECTIVE-C ( + Cocoa Framework)
  7. BASH SCRIPTING
  8. PHP
  9. SQL
  10. JAVASCRIPT
  11. BASIC (anche per PICAXE)
  12. VISUAL BASIC
  13. PASCAL (Il primo linguaggio che ho imparato!)
  14. Conoscenze poco approfondite di altri linguaggi


Linguaggi di markup ed altri:
  1. HTML/XHTML
  2. CSS
  3. XML
  4. UML


Sistemi Embedded:
  • Progettazione e sviluppo di applicazioni per sistemi linux embedded
    • Sia per lavoro che per hobby ho avuto l'opportunità di sviluppare applicazioni destinate a sistemi Linux embedded.
  • Esperienze su architetture MIPS, MIPSEL e x86
  • Interfacciamento dispositivi embedded con microcontrollori e dispositivi esterni
    • Ad esempio ho interfacciato un dispositivo linux embedded con dei sensori di temperatura digitali, al fine di monitorare le variazioni di temperatura all'esterno. Inoltre i dati venivano elaborati direttamente in grafici, fruibili attraverso un server web sulla scheda stessa.
  • Interfacciamento dispositivi embedded con PC


Sicurezza:
  • Penetration Test
    • Esecuzione di penetration test Sistemistici e Applicativi (applicazioni standalone, web appications e web services) in modalità black-box, white-box, gray-box in base alle esigenze del cliente. Stesura di un rapporto finale esaustivo e professionale.
  • Vulnerability Assessment
    • Analisi delle vulnerabilità a livello di Rete, Sistema, Dati e Applicazione con attacchi sia dall'interno (intranet) che dall'esterno (internet).
  • Security Audit
    • Identificazione e valutazione del livello di sicurezza e di rischio.
  • Code Review
    • Revisione di codice sorgente al fine di verificarne la sicurezza. Messa a punto di patch o semplicemente suggerimenti per lo sviluppatore al fine di correggere le eventuali falle riscontrate.
  • Cracking
    • Studio e cracking di sistemi di sicurezza proprietari. Ho avuto esperienze anche con cracking di chiavi Hardware, Smartcard, Token RSA e normali sistemi di sicurezza software.
  • Reverse engineering
    • Uno dei campi che più mi interessa e mi stimola. Attraverso il reverse engineering ho individuato una gravissima vulnerabilità in un sistema di videosorveglianza remota prodotto da EverFocus.
      Ho avuto esperienze di reverse engineering anche su processori MIPS e MIPSEL.
  • Hardening
    • Hardening soprattuto di sistemi Linux. In particolare Hardening del sistema operativo, server web, database, ftp, firewall, etc.


Elettronica:
  1. Buone competenze nel campo pratico
    • Fin da quando ero molto piccolo ho sempre avuto una grande passione per l'elettronica, sono stato sempre curioso del funzionamento di qualsiasi dispositivo e negli ultimi anni mi sono appassionato anche alla robotica.
  2. Conoscenza reti logiche combinatorie/sequenziali
    • Ho fatto alcuni 'esperimenti' nella realizzazione di reti logiche attraverso software di simulazione.
  3. Progettazione e realizzazione di circuiti elettronici analogici e digitali
  4. Interfacciamento circuiti elettronici con PC / Sistemi linux embedded
    • Ho realizzato per esempio un circuito di gestione per un display LCD alfanumerico, interfacciandolo al pc (os linux) attraverso un bus seriale sincrono utilizzando 2 linee della porta parallela e un semplice protocollo da me ideato.
  5. Programmazione PIC Microchip
  6. Conoscenza protocollo HD44780 per la gestione di display LCD Hitachi e compatibili
  7. Conoscenza protocollo I2C, realizzazione e controllo di BUS sia IC-IC che PC-IC
    • Ho sviluppato un'applicazione per sistemi Macintosh (portatili ibook e powerbook g4) in grado di pilotare il controller del sistema di raffreddamento attraverso un bus I2C, al fine di risolvere un problema intrinseco di surriscaldamento che affligge da sempre la serie di portatili G4. (G4FanControl)
  8. Buone competenze nella riparazione di dispositivi elettronici in generale
  9. Realizzazione circuiti stampati


Programmazione:

Ho avuto esperienze in vari campi dello sviluppo e in diversi linguaggi, tra i quali comunque continuo a preferire il C in ambiente Linux.
  1. Programmazione Client/Server
  2. Esperimenti con reti neurali e fuzzy logic
  3. Sviluppo software per Smartphone e Nokia Communicator
  4. Sviluppo CMS/Gestionali/Applicazioni Web
  5. Sviluppo Web con tecnologia AJAX
  6. Realizzazione di interfacce grafiche con GTK+ 2 (Linux), libCairo (Linux) e Cocoa (Mac OSX)
  7. Sviluppo software con particolare attenzione alla sicurezza
  8. Sviluppo software di cifratura dati
  9. Modifica di numerosi software opensource per adeguarli alle mie esigenze
  10. Conoscenza di numerose librerie (libxml2, libdb, libgtk2, libcurl, libsqlite, libfam, libinotifytools e altre…)
  11. Altri


Hobbies:
  1. Robotica amatoriale
  2. Elettronica
  3. Hacking/Cracking
  4. Giardinaggio e coltivazione di piante carnivore
  5. Programmazione


Elenco sintetico di tutti i progetti realizzati o a cui ho partecipato nel corso degli anni:
  • software di controllo del sistema di raffreddamento di mac g4 (linguaggio C) Maggiori info
  • sviluppo vari CMS (linguaggio PHP)
  • software per mailing list avanzato (linguaggio PHP)
  • mySQLenum, software per penetration test (linguaggio C)
  • dnsproxy, richieste dns via http proxy (linguaggio C)
  • slogd, software per la certificazione dei log in base alla legge 48/2008 (linguaggio C)
  • smartone, software per penetration test distribuito (linguaggio C e JAVA)
  • software per il trasferimento di file da Mac verso AS400 (linguaggio JAVA)
  • software per dispositivi linux embedded di controllo lettori datamatrix (linguaggio C)
  • applicazione di trainig per penetration tester
  • sistema di monitoraggio della temperatura su dispositivo linux embedded (linguaggio C + BASH)
  • realizzazione di piccoli robot autonomi (Assembler su PIC)
  • sistema di backup automatico e cifratura (BASH)
  • software di emulazione pop3 per alcune webmail (sia in C che in JAVA)
  • software che mostra l'attività del disco utilizzando il led del CAPS (per i portatili, come il mio, non dotati di led dedicato)
  • sistema di risoluzione automatica di alcuni tipi di CAPTCHA (linguaggio C)
  • software per la gestione sicura delle credenziali di accesso al DB per applicazioni PHP (linguaggio C)
  • alcune backdoor con funzionalità avanzate
  • software di hashing e verifica dell'integrità di un sistema (BASH)
  • software che consente di inviare sms da riga di comando sfruttando alcuni servizi di sms gratuiti (linguaggio C)
  • libreria per importare da PHP i file DBX di Outlook
  • sistema di controllo LCD esterno (linguaggio C)
  • sistema di scambio dati attraverso uscita/entrata audio (linguaggio C)
  • software di controllo remoto pc per smartphone (J2ME)



FABRIZI ANDREA


Autorizzo il trattamento dei dati personali ai sensi del D. lgs. 196/03