So sánh phương pháp
Xem các phương pháp đã chọn cạnh nhau; những hàng khác biệt được làm nổi bật.
| Fuzzing× | Kiểm thử bảo mật ứng dụng động× | Thực thi ký hiệu× | |
|---|---|---|---|
| Lĩnh vực | Mật mã học | Mật mã học | Mật mã học |
| Họ | Machine learning | Machine learning | Machine learning |
| Năm ra đời≠ | 1990 | 2000s | 1976 |
| Người khởi xướng≠ | Barton Miller | Various researchers | James C. King |
| Loại≠ | random input-based testing technique | runtime vulnerability detection | formal verification technique |
| Công trình gốc≠ | Miller, B. P., Fredriksen, L., & So, B. (1990). An empirical study of the reliability of UNIX utilities. Communications of the ACM, 33(12), 32-44. DOI ↗ | Kals, S., Kirda, E., Kruegel, C., & Jovanovic, N. (2006). Secubat: A web vulnerability scanner. In Proceedings of the 15th International Conference on World Wide Web (WWW 2006), pp. 247-256. DOI ↗ | King, J. C. (1976). Symbolic execution and program testing. Communications of the ACM, 19(7), 385-394. DOI ↗ |
| Tên gọi khác | fuzz testing, fuzzer, mutation testing | DAST, black-box testing, runtime security testing | symbolic execution, symbolic analysis, concolic execution |
| Liên quan | 3 | 3 | 3 |
| Tóm tắt≠ | Fuzzing is a software testing technique that inputs large numbers of random or semi-random test cases to a program to find bugs, crashes, and security vulnerabilities. Pioneered by Barton Miller in 1990, fuzzing has become a primary method for discovering zero-day vulnerabilities in complex software. Modern fuzzing tools like libFuzzer, AFL, and HoneyPot combine coverage-guided mutation with instrumentation to efficiently explore program paths and trigger vulnerabilities. Fuzzing has discovered thousands of critical vulnerabilities in major software including browsers, compilers, and cryptographic libraries. | Dynamic Application Security Testing (DAST) is a security analysis technique that tests a running application by sending various inputs and observing responses to identify vulnerabilities and security flaws. Developed in the 2000s as a complement to static analysis, DAST exercises the application at runtime, finding vulnerabilities that only manifest during execution such as authentication bypass, insecure redirects, and logic flaws. DAST is commonly used for web application testing and is considered a black-box testing approach since the tester requires no knowledge of internal code structure. | 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. |
| ScholarGateBộ dữ liệu ↗ |
|
|
|