How exercise of independent third party secure source code review is
different from penetration testing?
La revisione del codice protetto è una metodologia white-box in cui il revisore del codice utilizzerà strumenti automatici e / o un approccio manuale per identificare i problemi di sicurezza nel codice sorgente dato mentre, il test di penetrazione è principalmente una metodologia black-box in cui l'organizzazione fornirà solo l'indirizzo IP o il nome / URL dell'applicazione in prova. Nel test di penetrazione l'analista della sicurezza di solito inizia con la raccolta di informazioni e quindi identifica le vulnerabilità nel sistema. Successivamente, l'analista attaccherà il sistema in prova e cercherà di penetrare sempre più in profondità per identificare più problemi di sicurezza e valutare l'impatto delle vulnerabilità identificate.
What are limitations of independent third party secure source code
review and penetration testing and do they cover each other where they
are limited?
Dipende esclusivamente dal tipo di coinvolgimento con il fornitore. Per lo più, non si coprono l'un l'altro. Personalmente raccomando sia il test di penetrazione che la revisione sicura del codice sull'applicazione. La revisione sicura del codice è più di un approccio statico. Sebbene i moderni strumenti di revisione del codice di sicurezza offrano funzionalità dinamiche come l'analisi della contaminazione in cui vengono analizzati anche i dati in movimento, ma ancora una volta la mia esperienza personale afferma che la revisione sicura del codice non può mai portare a termine i test di penetrazione e viceversa.
What areas independent third party secure source code review covers
which penetration testing doesn't and vice versa?
Come già affermato, entrambi gli approcci possono essere utilizzati per ottenere risultati migliori. Spero di poterlo spiegare meglio usando un esempio. Per un'istanza, la revisione del codice protetto sul lato server includerà i controlli di gestione delle password. Nello scenario in cui viene utilizzato un algoritmo di hashing debole come MD5 per hash la password dell'utente. Questo problema di sicurezza sarà identificato nella revisione del codice sicuro in cui il problema potrebbe non essere identificato in un test di penetrazione se l'accesso al server / codice non viene raggiunto.