Home
La sempre maggiore diffusione all'interno di realtà aziendali di qualsiasi dimensione di applicazioni web disponibili sulla rete extra-aziendale, con tutte le problematiche legate alla sicurezza e all'integrità dei dati e delle informazioni sensibili, nonché alla stabilità e alla disponibilità dei servizi, ha fatto aumentare in modo esponenziale la richiesta di figure in grado di fornire conoscenze e strumenti per l'individuazione delle potenziali fonti di rischio derivanti da tali applicazioni.
Lo scopo di questa azienda è fornire consulenza specifica, strumenti e metodi per l'individuazione e possibilmente l'eliminazione delle vulnerabilità del software con cui le aziende si presentano sulla rete.
Abbiamo considerato come punto di partenza l'analisi delle applicazioni con l'utilizzo di strumenti di verifica noti come Web Application Penetration Test (WAPT).
Tra gli obiettivi futuri ci sono lo studio di sistemi per il monitoraggio delle intrusioni, l'individuazione di strutture modulari standardizzate e lo sviluppo di meccanismi per l'accesso ai dati che rendano le applicazioni sempre più semplici da verificare, più sicure e stabili dal punto di vista aziendale e sempre piu affidabili dal punto di vista dell'utente.
Chi Siamo
Siamo un gruppo di liberi professionisti con esperienza più che decennale durante la quale abbiamo svolto attività di consulenza, analisi, progettazione e sviluppo su diverse piattaforme operative dai sistemi mainfraime MVS/OS in realtà bancarie, assicurative e legate alla pubblica amministrazione, alle reti intranet Windows in realtà aziendali internazionali e allo sviluppo di applicazioni web quali siti di e-commerce e portali.
Abbiamo sviluppato con linguaggi di diversa generazione dalla programmazione procedurale del Cobol alla programmazione ad oggetti, eventi ed aspetti di Java e .NET, acquisendo competenze che vanno dalle problematiche di interfacciamento con le fonti di dati, alla definizione ottimale delle logiche di business, all'individuazione dei criteri di design e implementazione di interfacce utente intuitive, affidabili e robuste e non ultimo allo studio di soluzioni WEB 2.0 accattivanti per l'utente.
Abbiamo avuto modi di confrontarci con la gestione di progetti in ambito validato, che prevede forti vincoli di qualità e una documentazione puntuale e precisa fin dalla definizione dei requisiti utente e quindi per tutto il processo di analisi progettazione sviluppo e ultimo, ma certo non meno importante, test e rilascio.
In questo contesto abbiamo approfondito le tematiche di progettazione di basi dati di media grandezza e con necessità di interfacciamento a sottosistemi esterni tramite web services piuttosto che dblink o analoghi metodi di connessione a livello di base dati, abbiamo inoltre maturato una notevole competenza nel testing automatico di interfacce e sistemi.
Grazie a questa pluriennale esperienza di progettazione e gestione dati su database Oracle, SqlServer, MySql e PostgreSQL e su application server quali IIS, WebSphere e Tomcat possiamo vantare un ampio spettro di competenze riguardo le problematiche relative all'accessibiltà e alla sicurezza dei dati.
Strumenti
Analisi dei Sistemi L'uso di una applicazione web all'interno di una realtà aziendale può causare rischi dal punto di vista della sicurezza. Un'analisi dettagliata delle funzionalità consente di evitare problemi e perdite di dati.
Le applicazioni web interagiscono con l'utente ricevendo dati in ingresso che vengono forniti a tecnologie sottostanti quali application server, database relazionali, servizi web e cosi via.
La fase di elaborazione del dato deve prevedere una fase di verifica dell'input fornito dall'utente onde evitare l'insorgere di vulnerabilità.
WAPT (web application penetration test) è un meccanismo di studio della sicurezza del sistema basato sull'individuazione e valutazione delle potenziali falle nel sistema tramite una serie di test aventi lo scopo di determinare e possibilmente "forzare" i limiti sulla disponibiltà delle informazioni sensibili definiti dal software oltre che i meccanismi di validazione e blocco di utenti non autorizzati.
Metodologia di Verifica Il penetration test può essere eseguito in ambito black box (o a conoscenza zero) o white box (piena conoscenza del sistema). La differenza prevede un approccio differente per il tester (ovvero colui che effettuerà i test).
Il testing è principalmente una forma di analisi dinamica della implementazione di un sistema, esso rivela la presenza di errori ma non garantisce la loro assenza, il suo scopo principale consiste nel far funzionare il sistema in situazioni con dati in input realistici e osservare output inattesi.
Sebbene tecniche formali di analisi statica si stiano diffondendo, il test rimane la tecnica predominate di verifica e validazione.
Assegnare il test del software ad un programmatore che non appartenga al gruppo di sviluppo può portare dei benefici in quanto gli errori commessi durante la stesura del codice spesso non sono dovuti ad una distrazione dei programmatori ma a convinzioni errate durante lo sviluppo, soprattutto per quanto concerne la sicurezza.
• Approccio di verifica del tipo black box In questa fase vengono analizzate le risposte del web server mediante l'inserimento di pattern d'attacco nei punti d'accesso, con input adeguati il tester si rende capace di sovvertire le funzionalità dell'applicazione.
Questo tipo di test possono essere eseguiti utilizzando tool per la scansione del web tipo Watchfire ora Rational Appscan, per mezzo di questi strumenti si possono scoprire le vulnerabilità più comuni come la SQL INJECTION e il CROSS SITE SCRIPTING, questi tool sono però limitati in quanto non conoscono la logica di business delle applicazioni testate tralasciando aspetti importanti che possono essere sfruttati per ottenere informazioni dal sistema.
• Approccio di verifica del tipo white box Per ottenere risultati migliori bisogna accedere al codice sorgente. In questo caso i tecnici devono osservare il comportamento dell'applicazione e far congetture circa la situazione interna del sistema.
Anche questi test possono essere automatizzati attraverso tool come quelli di Fortify software che offrono la possibilità di analizzare grandi quantità di codice in un tempo accettabile, va sottolineato il fatto che anche questi sistemi sono limitati in quanto non riescono ad estrarre le logiche di business dal codice.
Clienti
Abbiamo lavorato per: