lunedì 5 settembre 2011

Costruire un web più sicuro con ASafaWeb


Nel caso in cui non è già abbastanza evidente, ormai, ci sono un sacco di siti web là fuori che hanno alcune vulnerabilità piuttosto vistosamente grandi di loro. O almeno ha avuto, poi sono stati violati in modo spettacolare e sicurezza divenne improvvisamente importante per loro. Ma ovviamente abbiamo solo sentito parlare di quelli più grandi, mentre orde di piccoli attacchi passare non dichiarata e non molto spesso, inosservato.
La cosa su web app di sicurezza è che può essere un argomento complesso. E 'piuttosto giusto dire che si tratta di una disciplina del tutto particolare nell'ambito dello sviluppo software e può essere uno specializzato a questo. Anche il "frutto a portata di mano", come XSS e SQL injection - quelli che sono facili da difendere contro con quadri moderni - sono spesso poco conosciute.
A tal fine, nell'ultimo anno e un po 'ho scritto circa la OWASP Top 10 specificatamente destinati a sviluppatori. NET . L'idea è stata quella di prendere il grande lavoro fatto dalla gente di OWASP e contestualizzare nella mia lingua preferita in modo che gli sviluppatori hanno in realtà una guida pratica alla sua applicazione. Come un'indicazione approssimativa della profondità dietro alcuni di questi argomenti, ho sfornato quasi sette e mezzo di mille parole solo per descrivere stoccaggio insicuro crittografici . Come ho detto, la sicurezza può essere complessa.
Perché voglio aiutare. NET facilmente costruire un web più sicuro, mi si avvicinò con ASafaWeb.

Cosa c'è ASafaWeb?

E 'un acronimo di A utomated S icurezza A nalyser F o A SP.NET Web siti con alcune lettere in maiuscolo implicare intenti. Ok, è un po 'lungo, ma sapete quanto sia difficile in questi giorni per trovare un nome che è disponibile sia come. Com e un account Twitter e ha effettivamente una certa importanza significativa per esso?! Comunque, ora hoASafaWeb.com e @ ASafaWeb .
Vorrei iniziare affrontando ciò che non è proprio davanti: non è un dinamico strumento di analisi di sicurezza del calibro di Netsparker o Burp Suite . Strumenti di questa classe sono molto avanzati e offrono funzioni per eseguire tutti i tipi di attacchi contro le applicazioni basate su tutta una serie di piattaforme. Inoltre costano denaro (a volte un sacco di soldi), e mentre i prodotti eccellenti, di solito richiedono un certo impegno da parte dell'operatore per imparare le loro sfumature.
ASafaWeb legato alla progettazione, uno strumento di base. Lo scopo è quello di guardare ai problemi più comuni di configurazione della sicurezza specificamente all'interno di siti web ASP.NET quindi fornire risorse per aiutare indurire il sito. In realtà per molti versi è comeWCSA , l'analizzatore di sicurezza Web.config.
Il punto di differenza con ASafaWeb è che funziona direttamente contro un sito vivo -qualsiasi sito online - e non richiede altro che un URL. Non eseguire alcuna scansione potenzialmente rottura e l'intero processo sarà finito in pochi secondi al massimo. E sarà gratis:)

Perché preoccuparsi?

Anche se questo è un modo inequivocabile uno strumento di base, sarà ancora trovare i difetti di configurazione in molti siti web. In realtà alcuni di questi siti probabilmente vi sorprenderà, ma lascio li senza nome per ora ...
Il tipo di difetti di cui sto parlando sono cose come errori personalizzati di essere fuori,YSODs con tracce di stack da restituire, tracciando ancora, eseguire il debug mode abilitato e molti, molti altri non entrerò nel dettaglio in questo momento. Si tratta prevalentemente di problemi di configurazione e anche se non proprio il buco che un vero e proprio difetto SQL injection è, possono essere utilizzati per sfruttare altre vulnerabilità all'interno del software.Chiamiamoli la droga di passaggio di ASP.NET vulnerabilità app.
Uno dei problemi con la configurazione problemi relativi alla sicurezza è che è facile per i difetti di scivolare attraverso. Un giorno si sta facendo qualche test locale con gli errori personalizzati via e poi l'analisi su prossima cosa sapete (o spesso non si sa), è stato distribuito l'applicazione senza le giuste impostazioni di configurazione di produzione (molte persone sono ancora la distribuzione sbagliata e che non utilizzano config trasforma).
Ma l'altra ragione che sto facendo questo - e questo è quello puramente egoistiche - è che mi dà la possibilità di giocare con una tecnologia molto interessante che ho voluto fare qualcosa di pratico, con un po '. Ne parlo un po 'in su pagina del sito corrente (non molto c'è oggi), ma il livello applicazione è MVC 3, EF, jQuery e alcune librerie molto cool via NuGet.L'hosting è cortesia di AppHarbor e se non avete sentito parlare di questi ragazzi prima, è fondamentalmente la cosa più bella dopo il pane affettato.
In realtà, che ultimo paragrafo non è del tutto egoista come fa darmi un sacco di materiale per scrivere e condividere con la comunità. In realtà ho una mezza dozzina di blog in corso in questo momento e penso che ci sono alcune cose molto interessanti in là. Aiuta che mi piace lavorare con questi strumenti e in realtà la produzione di qualcosa per un cambiamento che non è qualcosa che faccio di solito su base regolare in questi giorni.

Come funziona?

Funzionerà un po 'come questo:
Mockup dell'interfaccia utente ASafaWeb
Dietro le quinte è semplicemente fare una serie di richieste HTTP e l'uso di alcuni regole contro le risposte di accertare come il sito di destinazione è configurato. Si spiegherà lo scopo di ogni scansione, come è eseguita e quindi come sistemare la configurazione se qualcosa è rotto.
Ho una versione molto alpha di farlo funzionare già e sono abbastanza contento dei risultati.La parte difficile è che c'è un sacco di varianza nel modo in cui diverse configurazioni risponde, per esempio quando si parla moduli web contro MVC o si sta guardando le intestazioni delle risposte che tendono a variare a seconda della configurazione dell'host.

E poi?

Mi sto avvicinando al punto di chiedere qualche input da persone che sanno qualcosa su ASP.NET e / o di sicurezza web app quindi se siete una di queste persone e hai cinque minuti liberi per provare qualche tiro URL a lui, mi calo una linea . Ovviamente il lato funzionale è abbastanza critica e non voglio finire la produzione di uno di quegli strumenti che sputa sempre fuori falsi positivi alla gente.
L'altra cosa è che ho fatto assolutamente nulla sulla UI ancora. Presentazione visiva è molto importante per me, più io voglio la cosa bella di giocare su diverse piattaforme e dispositivi quindi c'è un po 'di investimenti necessari ancora arrivati. Una volta che il lato sinistro del cervello ha bisogno di un po 'di esercizio farò uscire Photoshop e mettersi al lavoro su questo.
Devo dire anche che prenderà il via con una base di scansioni utile, ma che certamente non sarà la fine di esso. Ho un bel prodotto backlog 'di scansioni vorrei aggiungere ma non voglio mettere tutto in attesa solo per il gusto di erogare 100% completezza il primo giorno.Iterativo di consegna, vi ringrazio molto.
Infine, ho un sacco di altre idee in cantiere circa potenziali punti di integrazione e automazione mi piacerebbe esplorare più una volta che il nucleo del sistema è letti in giù. In realtà, credo che alcune delle potenziali è piuttosto fresco.

Quando tutta questa bontà magico venire?

Come ho detto prima, se sei felice di giocare crash test dummy poi di niente per dare un'occhiata a quel primo rilascio alpha. In caso contrario, mi aspetto che ci sarà qualcosa che posso aprire pubblicamente nei prossimi due mesi. Voglio essere sicuro di cogliere l'occasione di scrivere su alcune delle esperienze positive (in particolare con artisti del calibro di AppHarbor), durante il processo di sviluppo, mentre i pensieri sono freschi.
Quindi, in sintesi, ASafaWeb sarà intenzionalmente base, ma anche facilmente consumabile senza le barriere della conoscenza sia o di costo. Se si riesce a costruire una. NET applicazione web, questo avrà un senso a voi e speriamo che in realtà le cose un po 'più sicuro là fuori.

Nessun commento:

Posta un commento