Quali sono le principali differenze tra Analisi del codice sorgente e Static Application Security Test (SAST)?

1

Queste 2 terminologie si riferiscono alla stessa cosa? link

link

Alcuni strumenti si sovrappongono. Ti fa meravigliare Se sono diversi, qualcuno può spiegarmi le differenze.

    
posta DoodleKana 13.08.2014 - 00:35
fonte

2 risposte

3

Spesso le persone usano queste informazioni in modo intercambiabile all'interno dell'industria della sicurezza.

Gli elenchi a cui si fa riferimento si riferiscono agli stessi tipi di strumenti / valutazione, con l'aggiunta che il secondo elenco è più ampio, inclusi gli strumenti di analisi statica non mirati alla sicurezza, come quelli utilizzati per verificare la qualità del codice problemi.

Alcuni tipi di SAST tecnicamente non esaminano la fonte, ma i binari, quindi può essere un po 'improprio chiamarlo SCA, in quella situazione.

Personalmente mi piace la nomenclatura DAST, SAST, MAST, perché delinea tra i vasti tipi di valutazione delle applicazioni per problemi di sicurezza: eseguendo test su un'applicazione in esecuzione (analisi dinamica), esaminando i componenti del codice o un modello di essi (analisi statica) o mediante ispezione e test da parte di esperti di strumenti (analisi manuale).

    
risposta data 19.08.2014 - 21:51
fonte
1

In un libro popolare sull'argomento, "L'arte della valutazione della sicurezza del software", le strategie per l'audit del codice (capitolo 4) derivano da tre concetti principali:

  1. Strategie di comprensione del codice, ad es. la tua "analisi del codice sorgente" in cui il codice viene letto dall'alto verso il basso, in pezzi / componenti, o a causa di tracce di runtime nel flusso di esecuzione coprono particolari aree di interesse come metodi, funzioni o blocchi di base
  2. Strategie di punti candidati, ad esempio, il "test di sicurezza delle applicazioni statiche" in cui il codice viene analizzato con uno strumento automatizzato, in genere analizzatori lessicali, scanner di sicurezza delle applicazioni dinamici, framework di test della sicurezza delle applicazioni e / o correttori di modellazione AST-analisi . Nota che tutti questi strumenti devono essere guidati da un esperto a livello di dominio per essere compresi e sintonizzati
  3. Strategie di generalizzazione del design, in parte radicate nell'analisi del codice sorgente, ma il codice, o la sua architettura sottostante, viene analizzato da un metodo (ad esempio, OOA & D) e / o tool (ad esempio doxygen, ctags, ecc.) - tipicamente per scoprire modelli software, framework, componenti e, se orientato agli oggetti, mappature di diagarm di classe. Tieni presente che questi metodi e questi strumenti devono essere nuovamente guidati da un esperto a livello di dominio per una corretta interpretazione e ottimizzazione
risposta data 13.08.2014 - 00:57
fonte

Leggi altre domande sui tag