Valutazione della sicurezza del codice sorgente

Individuazione dei difetti di progettazione e implementazione del codice del software

Overview

Le ricerche dimostrano che risolvere i problemi di sicurezza nelle prime fasi del ciclo di sviluppo è più efficiente e conveniente che non seguire il tradizionale modello di penetrazione e l'eventuale inserimento successivo di patch. I consulenti per la sicurezza delle applicazioni di Foundstone utilizzano un'analisi rigorosa ed efficiente del codice sorgente per identificare i problemi di sicurezza software nei primi passaggi del ciclo di sviluppo.

Sebbene siano utilizzati gli strumenti di ispezione in commercio per automatizzare il processo, gli esperti di Foundstone convalidano manualmente qualsiasi problematica e analizzano il codice per ovviare ai limiti degli strumenti e delle tecniche automatici che li rendono poco efficaci. I nostri consulenti per la sicurezza delle applicazioni individuano le violazioni delle policy e delle best practice, come algoritmi di crittografia inadeguati e costrutti di linguaggio semantico comune che generano delle vulnerabilità.

Siamo esperti nell'uso dei linguaggi C, C++, C#, VB.NET Java, CFML, Perl, Classic ASP e PHP e di framework di sviluppo come J2EE e .NET, nonché nello sviluppo di piattaforme Win32 e UNIX.

Le competenze di Foundstone nella valutazione della sicurezza del codice sorgente sono dovute all'esperienza sul campo dei nostri consulenti SASS (Software and Application Security Service), che hanno eseguito verifiche sui codici sorgente di diverse applicazioni client, nonché dei loro stessi software. I nostri consulenti SASS hanno lavorato in passato come sviluppatori esperti di sistemi software di aziende commerciali, pertanto conoscono bene il processo di sviluppo di un software e sanno anche perchè e come si creano difetti di sicurezza. La nostra esperienza, abbinata all'implementazione di avanzati strumenti automatici che utilizzano l'analisi contestuale, ci permette di analizzare grandi volumi di codice in tempi rapidissimi ma anche in modo più accurato ed efficace rispetto ad altri servizi di consulenza per la sicurezza.

Vantaggi principali

I nostri report dettagliati forniscono informazioni specifiche sulle vulnerabilità che includono riga del codice, ubicazioni dei file, descrizione della problematica e soluzioni proposte. Presentiamo una panoramica e le statistiche sulle sezioni di codici, come la densità delle vulnerabilità (per 1.000 righe di codice) in aree specifiche È anche inclusa un'azione di rimedio strategica suggerita, come la creazione di componenti riutilizzabili o di librerie di sicurezza.

Methodology

Quando esaminiamo un'applicazione, per prima cosa creiamo un modello delle minacce insieme al team di sviluppo. Questo modello delle minacce ci è utile per comprendere la funzionalità delle applicazioni, la progettazione tecnica, le minacce per la sicurezza e le contromisure esistenti. I modelli delle minacce servono a gestire il grande volume della base di codice riducendo l'ambito di analisi, solitamente a una percentuale compresa tra il 40% e il 60% delle dimensioni originali.

Una volta completato il modello delle minacce e ottenuta una visione d'insieme dell'architettura delle applicazioni, utilizziamo degli strumenti automatici di Secure Software per verificare la presenza di difetti semantici e di sicurezza del linguaggio nel codice. In generale, vengono cercati due tipi di problemi: falle a livello di progettazione e difetti di implementazione. Le falle di progettazione comprendono concetti di progettazione scarsi, ad esempio la scelta di una sorgente di causalità inadeguata per la creazione delle chiavi di crittografia. I difetti d'implementazione sono solitamente costrutti di linguaggio sintattico o semantico che generano delle vulnerabilità di sicurezza. Software Magazine ha pubblicato più articoli riguardanti il nostro lavoro e la nostra metodologia di valutazione del codice.

Resources

White paper

ASP.Net Form Authentication - Best Practices for Software Developers (English)

Examine best practices associated with ASP.NET forms authentication.

Foundstone CodeScout (English)

This white paper details the features of CodeScout, a free tool from Foundstone that helps to automate a portion of the code review process.

Foundstone Hacme Bank v2.0 Software Security Training Application (English)

Hacme Bank teaches application developers, programmers, software architects, and security professionals how to create secure software by attempting to exploit vulnerabilities and implement remediations in a simulated online banking system.

Foundstone Hacme Books v2.0 Strategic Secure Software Training Application (English)

This user guide provides an overview of Foundstone Hacme Books, a learning platform for secure software development.

Foundstone Hacme Casino v1.0 Strategic Secure Software Training Application (English)

This user guide introduces Hacme Casino, a learning platform for secure software development.

Foundstone Hacme Shipping v1.0 Software Security Training Application (English)

This white paper provides an overview of Foundstone Hacme Shipping a learning platform for secure software development.

Foundstone Hacme Travel Software Security Training Application (English)

Hacme Travel teaches application developers, programmers, software architects, and security professionals how to create secure software by attempting to exploit vulnerabilities and implement remediations in a simulated travel reservation system.

Mobile Application Security Testing (English)

This white paper documents a step-by-step methodology for testing mobile application security.

Proof of Concept: A New Data Validation Technique for Microsoft ASP NET Web Applications (English)

This white paper examines Validator.net, a McAfee Foundstone data validation tool for ASP.NET developers.

Secure Application Development with Ajax (English)

A presentation on Ajax Security from the rich web experience.

Securely Registering Applications (English)

This white paper examines insecure registration vulnerabilities among applications, detailing the impact of this threat and how it is exploited by hackers.

Socket Hijacking (English)

This white paper looks at socket hijacking on Windows systems, the impact of the vulnerability, and how it is exploited.

Writing Effective Policies Part I: Dissecting an Email Use Policy (English)

This white paper details the characteristics of an effective information security policy.