Static Application Security Testing (SAST)
SAST or Static Application Security Testing is the process of testing the source code, binary or byte code of an application. In SAST you do not need a running system.
• SAST can pin point the code where the flaw is.
• you can detect vulnerabilities before it is deployed: SAST does not need a running application.
• Using SAST you can find vulnerabilities in an earlier phase of the Application’s development.
• SAST fails to find vulnerabilities located outside the code or in third party interfacing.
• SAST cannot find out vulnerabilities related to operational deployment.
• Business Logic vulnerabilities cannot be discovered by a typical SAST automated tool.
• SAST is more expensive and has higher overhead.
• you need to provide the source code or binaries for SAST.
Dynamic Application Security Testing (DAST)
DAST or Dynamic Application Security Testing is the process of testing an application during its running state. In DAST you do not need the source code or the binaries. It is a method to probe from outside just like a hacker.
• Can detect vulnerabilities related to operational deployment.
• Business Logic Flaws can be figured out by DAST if you are using Hybrid Testing (with manual augmentation).
• Does not need access to code.
• Easier to adopt, lower in cost and is more mature in terms of industry adoption.
• Can find vulnerabilities located outside the code or in third party interfacing.
• Cannot pin point the exact location of vulnerability in the code.
• Coding quality or adherence to coding guidelines cannot be understood easily.
(Read more: Can your SMART TV get hacked?)
DAST vs SAST: What should I choose?
#1 Step: Conduct DAST.
This is low hanging fruit, Easy to adopt, Less Expensive, More mature.
Exception: Choose SAST if your application needs to be installed and is not web-based (e.g. client based apps like Chat Client, VOIP Client etc)
#2 Step: Conduct SAST+DAST
Lower false negative, better coverage, more costly, higher overhead
Adapted from the original blog: http://www.ivizsecurity.com/blog/penetration-testing/sast-vs-dast-what-should-you-choose/