Bandingkan kaedah
Semak kaedah pilihan anda secara bersebelahan; baris yang berbeza akan diserlahkan.
| Analisis Taint× | Fuzzing× | Eksekusi Simbolik× | |
|---|---|---|---|
| Bidang | Kriptografi | Kriptografi | Kriptografi |
| Keluarga | Machine learning | Machine learning | Machine learning |
| Tahun asal≠ | 2005 | 1990 | 1976 |
| Pengasas≠ | James Newsome | Barton Miller | James C. King |
| Jenis≠ | data flow tracking technique | random input-based testing technique | formal verification technique |
| Sumber perintis≠ | 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 ↗ | 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 ↗ | King, J. C. (1976). Symbolic execution and program testing. Communications of the ACM, 19(7), 385-394. DOI ↗ |
| Alias | taint analysis, information flow, data tainting | fuzz testing, fuzzer, mutation testing | symbolic execution, symbolic analysis, concolic execution |
| Berkaitan | 3 | 3 | 3 |
| Ringkasan≠ | 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. | 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. | 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. |
| ScholarGateSet data ↗ |
|
|
|