基于Rust和中间表示的跨语言二进制源代码匹配

Jiacheng Mao, Zukai Tang, Wenbi Rao
{"title":"基于Rust和中间表示的跨语言二进制源代码匹配","authors":"Jiacheng Mao, Zukai Tang, Wenbi Rao","doi":"10.1109/CCAI57533.2023.10201266","DOIUrl":null,"url":null,"abstract":"Binary-source code matching is a crucial task in computer security and software engineering, enabling reverse engineering by matching binary code with its corresponding source code and aiding vulnerability detection by searching for binary code given its source code. However, cross-language binary-source code matching remains largely unexplored, with existing research mostly focusing on C/C++ and Java due to a lack of suitable datasets. This paper attempts to address this gap by introducing a new language, Rust, and conducting experiments on it for the task. Rust offers several advantages, such as being commonly compiled to LLVM-IR and binary files, and its compiler performs various transformations during compilation to ensure memory safety, thread safety, and null safety of programs, resulting in an increased prevalence of function clones. Matching binary-source code across Rust and C/C++ poses greater challenges and research opportunities. Moreover, in this paper, we also re-trained the OSCAR model on the CodeNet dataset and evaluated its performance, which we call XLOSCAR. We designed a series of experiments to analyze cross-language binary-source code matching between Rust and C/C++, and compared XLOSCAR with the general OSCAR model.","PeriodicalId":285760,"journal":{"name":"2023 IEEE 3rd International Conference on Computer Communication and Artificial Intelligence (CCAI)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Cross-Language Binary-Source Code Matching Based on Rust and Intermediate Representation\",\"authors\":\"Jiacheng Mao, Zukai Tang, Wenbi Rao\",\"doi\":\"10.1109/CCAI57533.2023.10201266\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Binary-source code matching is a crucial task in computer security and software engineering, enabling reverse engineering by matching binary code with its corresponding source code and aiding vulnerability detection by searching for binary code given its source code. However, cross-language binary-source code matching remains largely unexplored, with existing research mostly focusing on C/C++ and Java due to a lack of suitable datasets. This paper attempts to address this gap by introducing a new language, Rust, and conducting experiments on it for the task. Rust offers several advantages, such as being commonly compiled to LLVM-IR and binary files, and its compiler performs various transformations during compilation to ensure memory safety, thread safety, and null safety of programs, resulting in an increased prevalence of function clones. Matching binary-source code across Rust and C/C++ poses greater challenges and research opportunities. Moreover, in this paper, we also re-trained the OSCAR model on the CodeNet dataset and evaluated its performance, which we call XLOSCAR. We designed a series of experiments to analyze cross-language binary-source code matching between Rust and C/C++, and compared XLOSCAR with the general OSCAR model.\",\"PeriodicalId\":285760,\"journal\":{\"name\":\"2023 IEEE 3rd International Conference on Computer Communication and Artificial Intelligence (CCAI)\",\"volume\":\"24 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-05-26\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 IEEE 3rd International Conference on Computer Communication and Artificial Intelligence (CCAI)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CCAI57533.2023.10201266\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2023 IEEE 3rd International Conference on Computer Communication and Artificial Intelligence (CCAI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CCAI57533.2023.10201266","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

二进制源代码匹配是计算机安全和软件工程中的一项重要任务,通过将二进制代码与其对应的源代码进行匹配,实现逆向工程,并通过查找给定源代码的二进制代码来辅助漏洞检测。然而,由于缺乏合适的数据集,现有的研究主要集中在C/ c++和Java上,跨语言的二进制源代码匹配在很大程度上仍未被探索。本文试图通过引入一种新的语言Rust来解决这一问题,并针对该任务对其进行实验。Rust提供了几个优点,例如通常被编译为LLVM-IR和二进制文件,并且它的编译器在编译期间执行各种转换,以确保程序的内存安全性、线程安全性和null安全性,从而导致函数克隆的增加。在Rust和C/ c++之间匹配二进制源代码带来了更大的挑战和研究机会。此外,在本文中,我们还在CodeNet数据集上重新训练OSCAR模型并评估其性能,我们称之为XLOSCAR。我们设计了一系列实验来分析Rust与C/ c++之间的跨语言二进制源代码匹配,并将XLOSCAR与通用OSCAR模型进行了比较。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Cross-Language Binary-Source Code Matching Based on Rust and Intermediate Representation
Binary-source code matching is a crucial task in computer security and software engineering, enabling reverse engineering by matching binary code with its corresponding source code and aiding vulnerability detection by searching for binary code given its source code. However, cross-language binary-source code matching remains largely unexplored, with existing research mostly focusing on C/C++ and Java due to a lack of suitable datasets. This paper attempts to address this gap by introducing a new language, Rust, and conducting experiments on it for the task. Rust offers several advantages, such as being commonly compiled to LLVM-IR and binary files, and its compiler performs various transformations during compilation to ensure memory safety, thread safety, and null safety of programs, resulting in an increased prevalence of function clones. Matching binary-source code across Rust and C/C++ poses greater challenges and research opportunities. Moreover, in this paper, we also re-trained the OSCAR model on the CodeNet dataset and evaluated its performance, which we call XLOSCAR. We designed a series of experiments to analyze cross-language binary-source code matching between Rust and C/C++, and compared XLOSCAR with the general OSCAR model.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信