Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

sem2vec: Semantics-aware Assembly Tracelet Embedding

Published: 27 May 2023 Publication History

Abstract

Binary code similarity is the foundation of many security and software engineering applications. Recent works leverage deep neural networks (DNN) to learn a numeric vector representation (namely, embeddings) of assembly functions, enabling similarity analysis in the numeric space. However, existing DNN-based techniques capture syntactic-, control flow-, or data flow-level information of assembly code, which is too coarse-grained to represent program functionality. These methods can suffer from low robustness to challenging settings such as compiler optimizations and obfuscations.
We present sem2vec, a binary code embedding framework that learns from semantics. Given the control-flow graph (CFG), 34 pages. of an assembly function, we divide it into tracelets, denoting continuous and short execution traces that are reachable from the function entry point. We use symbolic execution to extract symbolic constraints and other auxiliary information on each tracelet. We then train masked language models to compute embeddings of symbolic execution outputs. Last, we use graph neural networks, to aggregate tracelet embeddings into the CFG-level embedding for a function. Our evaluation shows that sem2vec extracts high-quality embedding and is robust against different compilers, optimizations, architectures, and popular obfuscation methods including virtualization obfuscation. We further augment a vulnerability search application with embeddings computed by sem2vec and demonstrate a significant improvement in vulnerability search accuracy.

References

[1]
[2]
2016. RapidJSON. Retrieved from https://rapidjson.org/.
[3]
[4]
[5]
[6]
[7]
2022. GMP. Retrieved from https://gmplib.org/.
[9]
2022. libtomcrypt. Retrieved from https://github.com/libtom/libtomcrypt.
[10]
2022. OpenSSL. Retrieved from https://www.openssl.org/.
[11]
2022. sem2vec Artifact repos. Retrieved from https://github.com/sem2vec.
[12]
2022. zlib. Retrieved from http://zlib.net/.
[13]
Miltiadis Allamanis, Marc Brockschmidt, and Mahmoud Khademi. 2017. Learning to represent programs with graphs. Retrieved from https://arXiv:1711.00740.
[14]
Uri Alon, Shaked Brody, Omer Levy, and Eran Yahav. 2018. code2seq: Generating sequences from structured representations of code. Retrieved from https://arXiv:1808.01400.
[15]
Uri Alon, Meital Zilberstein, Omer Levy, and Eran Yahav. 2019. Code2Vec: Learning distributed representations of code. Proc. ACM Program. Lang. 3, POPL (Jan.2019).
[16]
Roberto Baldoni, Emilio Coppa, Daniele Cono D’elia, Camil Demetrescu, and Irene Finocchi. 2018. A survey of symbolic execution techniques. ACM Comput. Surveys 51, 3 (2018), 1–39.
[17]
Sebastian Banescu, Christian Collberg, Vijay Ganesh, Zack Newsham, and Alexander Pretschner. 2016. Code obfuscation against symbolic execution attacks. In Proceedings of the 32nd Annual Conference on Computer Security Applications. 189–200.
[18]
Tiffany Bao, Jonathan Burket, Maverick Woo, Rafael Turner, and David Brumley. 2014. ByteWeight: Learning to recognize functions in binary code. InProceedings of the USENIX Security Conference.
[19]
Tal Ben-Nun, Alice Shoshana Jakobovits, and Torsten Hoefler. 2018. Neural code comprehension: A learnable representation of code semantics. InProceedings of the 32nd Annual Conference on Neural Information Processing Systems (NIPS’18).
[20]
David Brumley, Pongsin Poosankam, Dawn Song, and Jiang Zheng. 2008. Automatic patch-based exploit generation is possible: Techniques and implications. In Proceedings of the IEEE Symposium on Security and Privacy (SP’08). 143–157.
[21]
Cristian Cadar. 2015. Targeted program transformations for symbolic execution. In Proceedings of the 10th Joint Meeting on Foundations of Software Engineering. 906–909.
[22]
Cristian Cadar, Daniel Dunbar, Dawson R. Engler, et al. 2008. KLEE: Unassisted and automatic generation of high-coverage tests for complex systems programs. In Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI’08).
[23]
Silvio Cesare and Xiang Yang. 2012. Software Similarity and Classification. Springer Science.
[24]
Mahinthan Chandramohan, Yinxing Xue, Zhengzi Xu, Yang Liu, Chia Yuan Cho, and Hee Beng Kuan Tan. 2016. BinGo: Cross-architecture cross-OS binary search. In Proceedings of theFoundations of Software Engineering Conference (FSE’16).
[25]
Christian Collberg. 2021. The Tigress C Diversifier/Obfuscator—Virtualization. Retrieved from http://tigress.cs.arizona.edu/transformPage/docs/virtualize/index.html.
[26]
Yaniv David, Nimrod Partush, and Eran Yahav. 2016. Statistical similarity of binaries. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation(PLDI’16).
[27]
Yaniv David, Nimrod Partush, and Eran Yahav. 2017. Similarity of binaries through re-optimization. In Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’17). 79–94.
[28]
Yaniv David and Eran Yahav. 2014. Tracelet-based code search in executables. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’14). ACM, 349–360.
[29]
Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018. BERT: Pre-training of deep bidirectional transformers for language understanding. Retrieved from https://arxiv.org/abs/1810.04805.
[30]
S. H. Ding, B. M. Fung, and P. Charland. 2019. Asm2Vec: Boosting static representation robustness for binary clone search against code obfuscation and compiler optimization. In Proceedings of the IEEE International Symposium on Security and Privacy (S&P’19).
[31]
Yue Duan, Xuezixiang Li, Jinghan Wang, and Heng Yin. 2020. DEEPBINDIFF: Learning program-wide code representations for binary diffing.
[32]
Thomas Dullien and Rolf Rolles. 2005. Graph-based comparison of executable objects. In Proceedings of the Information and Communications Technology Security Symposiumsrites technologies de l’information et des communications (SSTIC’05).
[33]
Manuel Egele, Theodoor Scholte, Engin Kirda, and Christopher Kruegel. 2008. A survey on automated dynamic malware-analysis techniques and tools. ACM Comput. Surv. (2008).
[34]
Sebastian Eschweiler, Khaled Yakdan, and Elmar Gerhards-Padilla. 2016. discovRE: Efficient cross-architecture identification of bugs in binary code. In Proceedings of the Network and Distributed System Security Symposium (NDSS’16).
[35]
Halvar Flake. 2004. Structural comparison of executable objects. In Proceedings of the Conference on Detection of Intrusions and Malware Vulnerability Assessment (DIMVA’04).
[36]
Mark Gabel, Lingxiao Jiang, and Zhendong Su. 2008. Scalable detection of semantic clones. In Proceedings of the 30th International Conference on Software Engineering (ICSE’08). ACM, 321–330.
[37]
Debin Gao, Michael K. Reiter, and Dawn Song. 2008. BinHunt: Automatically finding semantic differences in binary programs. In Proceedings of the International Conference on Internet Computing for Science and Engineering (ICICSE’08).
[38]
Justin Gilmer, Samuel S. Schoenholz, Patrick F. Riley, Oriol Vinyals, and George E. Dahl. 2017. Neural message passing for quantum chemistry. In Proceedings of the International Conference on Machine Learning (ICML’17).
[39]
Irfan Ul Haq and Juan Caballero. 2019. A survey of binary code similarity. Retrieved from https://arXiv:1909.11424.
[40]
Jordan Henkel, Shuvendu K. Lahiri, Ben Liblit, and Thomas Reps. 2018. Code vectors: Understanding programs through embedded abstracted symbolic traces. In Proceedings of the 26th ACM Joint Meeting on European Software Engineering and Symposium on the Foundations of Software Engineering. 163–174.
[41]
Thong Hoang, Hong Jin Kang, David Lo, and Julia Lawall. 2020. Cc2vec: Distributed representations of code changes. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering. 518–529.
[42]
Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long short-term memory. Neural Comput. 9, 8 (1997), 1735–1780.
[43]
Xin Hu, Tzi-cker Chiueh, and Kang G. Shin. 2009. Large-scale malware indexing using function-call graphs. InProceedings of the ACM Conference on Computer and Communications Security (CCS’09).
[44]
Yikun Hu, Yuanyuan Zhang, Juanru Li, and Dawu Gu. 2016. Cross-architecture binary semantics understanding via similar code comparison. InProceedings of the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER’16).
[45]
Jiyong Jang, Maverick Woo, and David Brumley. 2013. Towards automatic software lineage inference. In Proceedings of the USENIX SecurityConference.
[46]
Kalervo Järvelin and Jaana Kekäläinen. 2002. Cumulated gain-based evaluation of IR techniques. ACM Trans. Info. Syst. 20, 4 (2002), 422–446.
[47]
Y. C. Jhi, X. Jia, X. Wang, S. Zhu, P. Liu, and D. Wu. 2015. Program characterization using runtime values and its application to software plagiarism detection. IEEE Trans. Softw. Eng. (2015).
[48]
Yoon-Chan Jhi, Xinran Wang, Xiaoqi Jia, Sencun Zhu, Peng Liu, and Dinghao Wu. 2011. Value-based program characterization and its application to software plagiarism detection. InProceedings of the International Conference on Software Engineering (ICSE’11).
[49]
W. Jin, S. Chaki, C. Cohen, A. Gurfinkel, J. Havrilla, C. Hines, and P. Narasimhan. 2012. Binary function clustering using semantic hashes. InProceedings of the IEEE International Conference on Machine Learning and Applications (ICMLA’12).
[50]
Pascal Junod, Julien Rinaldini, Johan Wehrli, and Julie Michielin. 2015. Obfuscator-LLVM: Software protection for the masses. InProceedings of the ACM Workshop on Software Protection (SPRO’15).
[51]
Dongkwan Kim, Eunsoo Kim, Sang Kil Cha, Sooel Son, and Yongdae Kim. 2020. Revisiting binary code similarity analysis using interpretable feature engineering and lessons learned. Retrieved from https://arXiv:2011.10749.
[52]
Per Larsen, Andrei Homescu, Stefan Brunthaler, and Michael Franz. 2014. SoK: Automated software diversity. In Proceedings of the IEEE International Symposium on Security and Privacy (S&P’14).
[53]
Quoc Le and Tomas Mikolov. 2014. Distributed representations of sentences and documents. In Proceedings of the International Conference on Machine Learning. PMLR, 1188–1196.
[54]
Xuezixiang Li, Qu Yu, and Heng Yin. 2021. PalmTree: Learning an assembly language model for instruction embedding.
[55]
Yujia Li, Chenjie Gu, Thomas Dullien, Oriol Vinyals, and Pushmeet Kohli. 2019. Graph matching networks for learning the similarity of graph structured objects. Retrieved from https://arxiv.org/abs/1904.12787.
[56]
Yujia Li, Daniel Tarlow, Marc Brockschmidt, and Richard Zemel. 2015. Gated graph sequence neural networks. Retrieved from https://arXiv:1511.05493.
[57]
Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. 2019. Roberta: A robustly optimized bert pretraining approach. Retrieved from https://arXiv:1907.11692.
[58]
Sifei Luan, Di Yang, Koushik Sen, and Satish Chandra. 2018. Aroma: Code recommendation via structural code search. Retrieved from http://arxiv.org/abs/1812.01158.
[59]
Lannan Luo, Jiang Ming, Dinghao Wu, Peng Liu, and Sencun Zhu. 2014. Semantics-based obfuscation-resilient binary code similarity comparison with applications to software plagiarism detection. In Proceedings of the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE’14).
[60]
Lannan Luo, Jiang Ming, Dinghao Wu, Peng Liu, and Sencun Zhu. 2017. Semantics-based obfuscation-resilient binary code similarity comparison with applications to software and algorithm plagiarism detection. IEEE Trans. Softw. Eng. 43, 12 (Dec.2017), 1157–1177.
[61]
Luca Massarelli, Giuseppe Antonio Di Luna, Fabio Petroni, Leonardo Querzoni, and Roberto Baldoni. 2019. SAFE: Self-attentive function embeddings for binary similarity. In Proceedings of the 16th Conference on Detection of Intrusions and Malware Vulnerability Assessment (DIMVA’19).
[62]
Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S. Corrado, and Jeff Dean. 2013. Distributed representations of words and phrases and their compositionality. Adv. Neural Info. Process. Syst. 26 (2013).
[63]
Jiang Ming, Dongpeng Xu, Yufei Jiang, and Dinghao Wu. 2017. BinSim: Trace-based semantic binary diffing via system call sliced segment equivalence checking. InProceedings of the USENIX Security Symposium (USENIX’17).
[64]
Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An efficient SMT solver. InProceedings of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’08).
[65]
Ginger Myles and Christian Collberg. 2004. Detecting software theft via whole program path birthmarks. InProceedings of the Industrial Simulation Conference (ISC’04).
[66]
Feiping Nie, Wei Zhu, and Xuelong Li. 2017. Unsupervised large graph embedding. In Proceedings of the 31st AAAI Conference on Artificial Intelligence.
[67]
Kexin Pei, Zhou Xuan, Junfeng Yang, Suman Jana, and Baishakhi Ray. 2020. TREX: Learning execution semantics from micro-traces for binary similarity. Retrieved from https://arXiv:2012.08680.
[68]
Sebastian Poeplau and Aurélien Francillon. 2019. Systematic comparison of symbolic execution systems: Intermediate representation and its generation. In Proceedings of the 35th Annual Computer Security Applications Conference. 163–176.
[69]
David A. Ramos and Dawson Engler. 2015. Under-constrained symbolic execution: Correctness checking for real code. InProceedings of the USENIX Security Symposium (USENIX’15).
[70]
Nils Reimers and Iryna Gurevych. 2019. Sentence-bert: Sentence embeddings using siamese bert-networks. Retrieved from https://arXiv:1908.10084.
[71]
Xiaolei Ren, Michael Ho, Jiang Ming, Yu Lei, and Li Li. 2021. Unleashing the hidden power of compiler optimization on binary code difference: An empirical study. In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. 142–157.
[72]
Andreas Sæbjørnsen, Jeremiah Willcock, Thomas Panas, Daniel Quinlan, and Zhendong Su. 2009. Detecting code clones in binary executables. InProceedings of the International Symposium on Software Testing and Analysis (ISSTA’09).
[73]
David Schuler, Valentin Dallmeier, and Christian Lindig. 2007. A dynamic birthmark for Java. InProceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE’07).
[74]
E. J. Schwartz, T. Avgerinos, and D. Brumley. 2010. All you ever wanted to know about dynamic taint analysis and forward symbolic execution (but might have been afraid to ask). In Proceedings of the IEEE Symposium on Security and Privacy (S&P’10).
[75]
Yan Shoshitaishvili, Ruoyu Wang, Christopher Salls, Nick Stephens, Mario Polino, Audrey Dutcher, John Grosen, Siji Feng, Christophe Hauser, Christopher Kruegel, and Giovanni Vigna. 2016. SoK: (State of) the art of war: Offensive techniques in binary analysis. In Proceedings of the IEEE Symposium on Security and Privacy (S&P’16).
[76]
Fang-Hsiang Su, Jonathan Bell, Gail Kaiser, and Baishakhi Ray. 2018. Obfuscation resilient search through executable classification. In Proceedings of the 2nd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages. 20–30.
[77]
Kozo Sugiyama, Shojiro Tagawa, and Mitsuhiko Toda. 1981. Methods for visual understanding of hierarchical system structures. IEEE Trans. Syst., Man, Cybernet. 11, 2 (1981), 109–125.
[78]
Yifan Sun, Changmao Cheng, Yuhan Zhang, Chi Zhang, Liang Zheng, Zhongdao Wang, and Yichen Wei. 2020. Circle loss: A unified perspective of pair similarity optimization. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 6398–6407.
[79]
Aarne Talman, Anssi Yli-Jyrä, and Jörg Tiedemann. 2019. Sentence embeddings in NLI with iterative refinement encoders. Natural Lang. Eng. 25, 4 (2019), 467–482.
[80]
David Trabish, Andrea Mattavelli, Noam Rinetzky, and Cristian Cadar. 2018. Chopped symbolic execution. In Proceedings of the 40th International Conference on Software Engineering. 350–360.
[81]
Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Advances in Neural Information Processing Systems. MIT Press, 5998–6008.
[82]
Oriol Vinyals, Samy Bengio, and Manjunath Kudlur. 2015. Order matters: Sequence to sequence for sets. Retrieved from https://arXiv:1511.06391.
[83]
Ke Wang and Zhendong Su. 2020. Blended, precise semantic program embeddings. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation. 121–134.
[84]
Shuai Wang and Dinghao Wu. 2017. In-memory fuzzing for binary code similarity analysis. In Proceedings of the IEEE/ACM International Conference on Automated Software Engineering (ASE’17).
[85]
Wendong Wang, Joshua Giltinan, Svetlana Zakharchenko, and Metin Sitti. 2017. Dynamic and programmable self-assembly of micro-rafts at the air-water interface. Sci. Adv. 3, 5 (May2017), e1602522. DOI:
[86]
X. Wang, Y. C. Jhi, S. Zhu, and P. Liu. 2009. Detecting software theft via system call based birthmarks. In Proceedings of the Annual Computer Security Applications Conference (ACSAC’09).
[87]
Zhihao Wang, Jian Chen, and Steven C. H. Hoi. 2019. Deep Learning for Image Super-resolution: A Survey. Retrieved from http://arxiv.org/abs/1902.06068. cite arxiv:1902.06068.
[88]
Thomas Wolf, Lysandre Debut, Victor Sanh, Julien Chaumond, Clement Delangue, Anthony Moi, Pierric Cistac, Tim Rault, Rémi Louf, Morgan Funtowicz, Joe Davison, Sam Shleifer, Patrick von Platen, Clara Ma, Yacine Jernite, Julien Plu, Canwen Xu, Teven Le Scao, Sylvain Gugger, Mariama Drame, Quentin Lhoest, and Alexander M. Rush. 2020. Transformers: State-of-the-art natural language processing. In Proceedings of the Conference on Empirical Methods in Natural Language Processing: System Demonstrations. Association for Computational Linguistics, 38–45. Retrieved from https://www.aclweb.org/anthology/2020.emnlp-demos.6.
[89]
Zhang Xinyi and Lihui Chen. 2018. Capsule graph neural network. In Proceedings of the International Conference on Learning Representations.
[90]
Dongpeng Xu, Jiang Ming, and Dinghao Wu. 2017. Cryptographic function detection in obfuscated binaries via bit-precise symbolic loop mapping. In Proceedings of the IEEE Symposium on Security and Privacy (SP’17). IEEE, 921–937.
[91]
Keyulu Xu, Weihua Hu, Jure Leskovec, and Stefanie Jegelka. 2018. How powerful are graph neural networks? Retrieved from https://arXiv:1810.00826.
[92]
Xiaojun Xu, Chang Liu, Qian Feng, Heng Yin, Le Song, and Dawn Song. 2017. Neural network-based graph embedding for cross-platform binary code similarity detection. In Proceedings of the ACM Computer and Communications Security Conference (CCS’17).
[93]
Zeping Yu, Rui Cao, Qiyi Tang, Sen Nie, Junzhou Huang, and Shi Wu. 2020. Order matters: Semantic-aware neural networks for binary code similarity detection.
[94]
Zeping Yu, Wenxin Zheng, Jiaqi Wang, Qiyi Tang, Sen Nie, and Shi Wu. 2020. CodeCMR: Cross-modal retrieval for function-level binary source code matching. Adv. Neural Info. Process. Syst. 33 (2020).
[95]
Insu Yun, Sangho Lee, Meng Xu, Yeongjin Jang, and Taesoo Kim. 2018. QSYM: A practical concolic execution engine tailored for hybrid fuzzing. In Proceedings of the USENIX Security.
[96]
Seongjun Yun, Minbyul Jeong, Raehyun Kim, Jaewoo Kang, and Hyunwoo J. Kim. 2019. Graph transformer networks. Adv. Neural Info. Process. Syst. 32 (2019).
[97]
Chuxu Zhang, Dongjin Song, Chao Huang, Ananthram Swami, and Nitesh V. Chawla. 2019. Heterogeneous graph neural network. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 793–803.
[98]
Fangfang Zhang, Yoon-Chan Jhi, Dinghao Wu, Peng Liu, and Sencun Zhu. 2012. A first step towards algorithm plagiarism detection. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA’12).
[99]
Fei Zuo, Xiaopeng Li, Patrick Young, Lannan Luo, Qiang Zeng, and Zhexin Zhang. 2019. Neural machine translation inspired binary code similarity comparison beyond function pairs. In Proceedings of the Network and Distributed System Security Symposium (NDSS’19).

Cited By

View all
  • (2024)BinAug: Enhancing Binary Similarity Analysis with Low-Cost Input RepairingProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623328(1-13)Online publication date: 20-May-2024
  • (2024)A Semantics-Based Approach on Binary Function Similarity DetectionIEEE Internet of Things Journal10.1109/JIOT.2024.338901411:15(25910-25924)Online publication date: 1-Aug-2024
  • (2024)Are We There Yet? Filling the Gap Between Binary Similarity Analysis and Binary Software Composition Analysis2024 IEEE 9th European Symposium on Security and Privacy (EuroS&P)10.1109/EuroSP60621.2024.00034(506-523)Online publication date: 8-Jul-2024
  • Show More Cited By

Index Terms

  1. sem2vec: Semantics-aware Assembly Tracelet Embedding

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Software Engineering and Methodology
    ACM Transactions on Software Engineering and Methodology  Volume 32, Issue 4
    July 2023
    938 pages
    ISSN:1049-331X
    EISSN:1557-7392
    DOI:10.1145/3599692
    • Editor:
    • Mauro Pezzè
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 27 May 2023
    Online AM: 28 October 2022
    Accepted: 06 October 2022
    Revised: 21 September 2022
    Received: 09 February 2022
    Published in TOSEM Volume 32, Issue 4

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Symbolic execution
    2. embedding
    3. graph neural network
    4. binary code similarity

    Qualifiers

    • Research-article

    Funding Sources

    • CCF-Tencent Open Research Fund

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)589
    • Downloads (Last 6 weeks)43
    Reflects downloads up to 12 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)BinAug: Enhancing Binary Similarity Analysis with Low-Cost Input RepairingProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3623328(1-13)Online publication date: 20-May-2024
    • (2024)A Semantics-Based Approach on Binary Function Similarity DetectionIEEE Internet of Things Journal10.1109/JIOT.2024.338901411:15(25910-25924)Online publication date: 1-Aug-2024
    • (2024)Are We There Yet? Filling the Gap Between Binary Similarity Analysis and Binary Software Composition Analysis2024 IEEE 9th European Symposium on Security and Privacy (EuroS&P)10.1109/EuroSP60621.2024.00034(506-523)Online publication date: 8-Jul-2024
    • (2024)BinCodex: A comprehensive and multi-level dataset for evaluating binary code similarity detection techniquesBenchCouncil Transactions on Benchmarks, Standards and Evaluations10.1016/j.tbench.2024.1001634:2(100163)Online publication date: Jun-2024
    • (2024)UniBin: Assembly Semantic-enhanced Binary Vulnerability Detection without DisassemblyInformation Sciences10.1016/j.ins.2024.121605(121605)Online publication date: Oct-2024

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    Full Text

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media