Trovare un consulente per la sicurezza per fare una revisione approfondita del codice?

9

Abbiamo un'applicazione PHP che sappiamo avere scarse pratiche di programmazione (perché gli sviluppatori non avevano una buona conoscenza dei fondamenti di programmazione / PHP). Ciò potrebbe portare allo scenario in cui abbiamo gravi difetti di sicurezza nel nostro codice anche a livello "logico".

Come / dove trovo un team di consulenti che farebbe una revisione del codice manuale per capire veramente cosa stavamo provando a fare e poi vedere dove siamo andati storto / come il processo potrebbe essere aggirato? Abbiamo provato un consulente che ha fatto quello che sembrava essere solo una scansione automatica del codice, e questo non ha aggiunto assolutamente alcun valore.

Questa domanda si basa su Ottenere una revisione manuale del codice di sicurezza fatta - A cosa fare attenzione? - Sono la stessa persona, ma non posso più accedere alla mia precedente sessione basata su cookie.

    
posta siliconpi 02.12.2010 - 03:13
fonte

3 risposte

8

La revisione del codice può essere un uso costoso del tempo di un consulente e, di conseguenza, del tuo budget, per assicurarti di ottenere un buon rapporto qualità / prezzo che potresti cercare di fare quanto segue;

  1. Trialge il codice che desideri venga rivisto . In questo modo potresti scoprire che puoi concentrarti sul codice che completa ruoli specifici quali autorizzazione / gestione delle sessioni / logica aziendale specifica ecc. Di cui sei preoccupato. Se hai un budget residuo puoi passare ad altre aree di codice meno importanti.

  2. Stima il tempo e lo sforzo richiesti Come stima molto approssimativa puoi utilizzare le righe di codice da 1 k = un giorno intero di revisione (escluso il rapporto). Diverse lingue e complessità del codice lo cambieranno, ma fornisce un buon punto di partenza quando si esaminano i requisiti di budget.

  3. Automazione come aiuto La scansione automatica del codice ha il suo posto, ma aggiunge valore solo se il consulente sa come configurare lo strumento e lo usa come aiuto nella revisione manuale. L'utilizzo di un approccio automatizzato manuale combinato può accelerare il coinvolgimento e portare a un costo ridotto. Il consulente dovrebbe essere abbastanza esperto nella lingua da rivedere per comprendere i problemi di sicurezza e per rimuovere eventuali falsi positivi e per assicurare che non passino falsi negativi.

  4. minaccia modella l'applicazione se puoi comprendere la logica aziendale e il modo in cui gli aggressori possono interagire con la tua applicazione a un livello che ti consente di modellare i potenziali vettori di attacco, allora questo aiuterà a definire un revisione del codice più specifica e mirata. Questo livello di dettaglio può quindi essere trasmesso al consulente per garantire che siano a conoscenza di come funziona l'applicazione e questo consentirà loro di fornire consigli e guida su misura piuttosto che un generico - ecco alcuni rischi.

  5. Posiziona i risultati nel contesto dell'applicazione Alla fine della giornata dovrai effettuare una chiamata su quali problemi correggere e in quale ordine di priorità. Sfidare il consulente a fornire raccomandazioni chiare e fornire prove per aiutare a capire se i risultati della revisione del codice sono in realtà una minaccia, ovvero il codice trovato vulnerabile si trova nel back-end e non è un percorso per l'interazione dell'utente, quindi si tratta di un rischio inferiore rispetto a quando il codice vulnerabile si trova nel codice di autorizzazione principale presentato all'utente finale. Questo dovrebbe ridurre il tempo internamente e quindi diventare un risparmio sui costi che può essere compensato con il costo della revisione del codice.

risposta data 03.12.2010 - 09:23
fonte
3

Dipende dal paese in cui ti trovi. Ma ci sono alcune cose che dovresti fare attenzione.

Per prima cosa, definisci chiaramente e documenta cosa vuoi ora. Vuoi una revisione approfondita della sicurezza, vuoi una recensione di qualità (in-?)? Vuoi consigli / raccomandazioni dal consulente per quanto riguarda il processo di sviluppo? Vuoi consigli riguardo alla scelta di una società di sviluppo? Assicurati di rendere esplicito ALL l'aspettativa e di documentarlo in dettaglio.

Inoltre, assicurati di scegliere una ditta competente. Richiedi riferimenti e dedica un po 'di tempo a trovarne uno buono. Preparati a spendere dei soldi per farlo, la revisione manuale del codice richiede MOLTO tempo. Non andare per quelli molto economici, dal momento che non possono fornire una soluzione reale semplicemente perché tempo = denaro e hai bisogno del tempo per eseguire una revisione manuale approfondita.

In questo caso hai bisogno di una società di consulenza molto tecnica, non prendere una società di consulenza gestionale che fornisca anche servizi tecnici.

    
risposta data 02.12.2010 - 23:07
fonte
1

Devi considerare sia l'ampiezza che la profondità della recensione. Per ampiezza, intendo quale gamma di rischi / attacchi / minacce saranno trattati nella revisione. Dovresti iniziare con lo standard di verifica della sicurezza delle applicazioni di OWASP per avere un'idea di ciò che dovrebbe essere coperto qui. Con profondità, intendo quanto bene il consulente verificherà che ogni area sia stata adeguatamente difesa. Nella fascia bassa, una scansione automatizzata degli strumenti fornisce poche garanzie. All'estremità alta, un'ispezione manuale o un caso di test effettivo dovrebbe essenzialmente dimostrare che le difese corrette sono state predisposte, sono state progettate correttamente e utilizzate ovunque debbano essere.

Non pensare che la revisione del codice richieda necessariamente più tempo di altri approcci. In molti casi è a mani libere il modo più efficace per verificare la sicurezza in modo rapido, accurato e con la migliore copertura possibile.

Verifica con alcune delle aziende coinvolte con OWASP. Hanno una vasta esperienza nel verificare la sicurezza delle applicazioni web in modo economico.

    
risposta data 03.12.2010 - 19:22
fonte

Leggi altre domande sui tag