Сравнение методов
Просматривайте выбранные методы рядом; строки с различиями подсвечены.
| Символьное исполнение× | Статическое тестирование безопасности приложений× | Тейнт-анализ× | |
|---|---|---|---|
| Область | Криптография | Криптография | Криптография |
| Семейство | Machine learning | Machine learning | Machine learning |
| Год появления≠ | 1976 | 2000s | 2005 |
| Автор метода≠ | James C. King | Various researchers | James Newsome |
| Тип≠ | formal verification technique | source code vulnerability detection | data flow tracking technique |
| Основополагающий источник≠ | King, J. C. (1976). Symbolic execution and program testing. Communications of the ACM, 19(7), 385-394. DOI ↗ | Chess, B., & West, J. (2007). Secure Programming with Static Analysis. Addison-Wesley Professional. ISBN: 978-0321424778 | Newsome, J., & Song, D. X. (2005). Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In Network and Distributed System Security Symposium (NDSS 2005). link ↗ |
| Другие названия | symbolic execution, symbolic analysis, concolic execution | SAST, white-box testing, source code analysis | taint analysis, information flow, data tainting |
| Связанные | 3 | 3 | 3 |
| Сводка≠ | Symbolic execution is a program analysis technique that executes programs using symbolic (non-concrete) values instead of actual inputs, tracking how symbolic values flow through the program. Introduced by James C. King in 1976, symbolic execution builds mathematical constraints on program variables and can determine which inputs cause specific program behaviors, enabling automatic test generation and vulnerability detection. Modern symbolic execution tools like KLEE, S2E, and Z3 have become powerful instruments for finding subtle bugs and security vulnerabilities. | Static Application Security Testing (SAST) is a security analysis technique that examines source code or compiled binaries without executing the program to identify vulnerabilities, code quality issues, and security flaws. Developed in the 2000s, SAST analyzes code structure, data flow, and control flow to detect potential bugs such as SQL injection, buffer overflows, and insecure cryptographic usage. SAST is widely integrated into development workflows as a shift-left security practice, enabling early detection of vulnerabilities before code reaches production. | Taint analysis is a data flow analysis technique that tracks how untrusted (tainted) input flows through a program to identify vulnerabilities where tainted data reaches dangerous operations (sinks). Formalized by Newsome and Song in 2005, taint analysis marks input data as tainted and propagates taint labels through the program, alerting when tainted data reaches sensitive operations like SQL queries or system calls. Taint analysis is fundamental to detecting injection vulnerabilities and is widely used in dynamic analysis tools and security monitoring systems. |
| ScholarGateНабор данных ↗ |
|
|
|