
the ability and accuracy of this earlier technique to
determine the presence of security checks in program
binaries. We anticipate that our work will greatly en-
hance automated and independent security analysis
of binary code, particularly for end-users who do not
have access to the source code.
REFERENCES
Abijah Roseline, S. and Geetha, S. (2021). A comprehen-
sive survey of tools and techniques mitigating com-
puter and mobile malware attacks. Computers & Elec-
trical Engineering, 92:107143.
Adhikari, A. and Kulkarni, P. A. (2022). Using the strings
metadata to detect the source language of the binary.
In Daimi, K. and Al Sadoon, A., editors, Proceedings
of the ICR’22 International Conference on Innova-
tions in Computing Research, pages 190–200, Cham.
Springer International Publishing.
Brooks, T. N. (2018). Survey of automated vulnerability
detection and exploit generation techniques in cyber
reasoning systems. In Science and Information Con-
ference, pages 1083–1102. Springer.
Cadar, C., Dunbar, D., Engler, D. R., et al. (2008). Klee:
unassisted and automatic generation of high-coverage
tests for complex systems programs. In OSDI, vol-
ume 8, pages 209–224.
Cha, S. K., Avgerinos, T., Rebert, A., and Brumley, D.
(2012). Unleashing mayhem on binary code. In Pro-
ceedings of the 2012 IEEE Symposium on Security
and Privacy, SP ’12, page 380–394, USA. IEEE Com-
puter Society.
CVE (2019). A buffer overflow vulnerability in whatsapp
voip stack.
Cybersecurity, U. and Agency, I. S. (2021). Top routinely
exploited vulnerabilities.
Database, N. N. V. (2021). Cvss severity distribution over
time.
De Lucia, A. (2001). Program slicing: methods and ap-
plications. In Proceedings First IEEE International
Workshop on Source Code Analysis and Manipula-
tion, pages 142–149.
Eschweiler, S., Yakdan, K., and Gerhards-Padilla, E.
(2016). discovre: Efficient cross-architecture identi-
fication of bugs in binary code. In NDSS, volume 52,
pages 58–79.
Galindo, C., Pérez, S., and Silva, J. (2022). Program slic-
ing techniques with support for unconditional jumps.
In Riesco, A. and Zhang, M., editors, Formal Meth-
ods and Software Engineering, pages 123–139, Cham.
Springer International Publishing.
Gao, D., Reiter, M. K., and Song, D. (2008). Binhunt: Au-
tomatically finding semantic differences in binary pro-
grams. In International Conference on Information
and Communications Security, pages 238–255.
Henning, J. L. (2006). Spec cpu2006 benchmark descrip-
tions. SIGARCH Comput. Archit. News, 34(4):1–17.
Howard, M. and Lipner, S. (2006). The Security Develop-
ment Lifecycle. Microsoft Press, USA.
Kuznetsov, V., Szekeres, L., Payer, M., Candea, G., Sekar,
R., and Song, D. (2014). Code-Pointer integrity. In
11th USENIX Symposium on Operating Systems De-
sign and Implementation (OSDI 14), pages 147–163,
Broomfield, CO. USENIX Association.
National Security Agency ghidra, N. (2019). Ghidra. https:
//www.nsa.gov/resources/everyone/ghidra/.
NIST (2022). National Vulnerability
Database. https://nvd.nist.gov/general/
visualizations/vulnerability-visualizations/
cvss-severity-distribution-over-time.
OpenSSF (2024). Open source security foundation
(openssf) best practices working group: Compiler op-
tions hardening guide for c and c++.
Pramanick, K. and Kulkarni, P. A. (2022). Detect compiler
inserted run-time security checks in binary software.
In Su, C., Gritzalis, D., and Piuri, V., editors, Infor-
mation Security Practice and Experience, pages 268–
286, Cham. Springer International Publishing.
Qasem, A., Shirani, P., Debbabi, M., Wang, L., Lebel, B.,
and Agba, B. L. (2021). Automatic vulnerability de-
tection in embedded devices and firmware: Survey
and layered taxonomies. ACM Comput. Surv., 54(2).
Sarda, S. and Pandey, M. (2015). LLVM Essentials. Packt
Publishing.
Serebryany, K., Bruening, D., Potapenko, A., and Vyukov,
D. (2012). Addresssanitizer: A fast address sanity
checker. In USENIX ATC 2012.
Szekeres, L., Payer, M., Wei, T., and Song, D. (2013). Sok:
Eternal war in memory. In Proceedings of the 2013
IEEE Symposium on Security and Privacy, SP ’13,
page 48–62.
Tice, C., Roeder, T., Collingbourne, P., Checkoway, S., Er-
lingsson, Ú., Lozano, L., and Pike, G. (2014). En-
forcing Forward-Edge Control-Flow integrity in GCC
& LLVM. In 23rd USENIX Security Symposium
(USENIX Security 14), pages 941–955, San Diego,
CA. USENIX Association.
Ucci, D., Aniello, L., and Baldoni, R. (2019). Survey of ma-
chine learning techniques for malware analysis. Com-
puters & Security, 81:123–147.
Weiser, M. (1981). Program slicing. In Proceedings of the
5th International Conference on Software Engineer-
ing, ICSE ’81, page 439–449. IEEE Press.
Wheeler, D. A. (2014). Preventing heartbleed. IEEE Com-
puter, 47(8):80–83.
Wired (2017). The reaper iot botnet has already infected a
million networks.
Zhang, Y. (2019). Sympas: Symbolic program slicing.
ICISSP 2025 - 11th International Conference on Information Systems Security and Privacy
408