Mission-critical embedded software is critical to our society's infrastructure but can be subject to new security vulnerabilities as technology advances. When security issues arise, Reverse Engineers (REs) use Software Reverse Engineering (SRE) tools to analyze vulnerable binaries. However, existing tools have limited support, and REs undergo a time-consuming, costly, and error-prone process that requires experience and expertise to understand the behaviors of software and vulnerabilities. To improve these tools, we propose $\textit{cfg2vec}$, a Hierarchical Graph Neural Network (GNN) based approach. To represent binary, we propose a novel Graph-of-Graph (GoG) representation, combining the information of control-flow and function-call graphs. Our $\textit{cfg2vec}$ learns how to represent each binary function compiled from various CPU architectures, utilizing hierarchical GNN and the siamese network-based supervised learning architecture. We evaluate $\textit{cfg2vec}$'s capability of predicting function names from stripped binaries. Our results show that $\textit{cfg2vec}$ outperforms the state-of-the-art by $24.54\%$ in predicting function names and can even achieve $51.84\%$ better given more training data. Additionally, $\textit{cfg2vec}$ consistently outperforms the state-of-the-art for all CPU architectures, while the baseline requires multiple training to achieve similar performance. More importantly, our results demonstrate that our $\textit{cfg2vec}$ could tackle binaries built from unseen CPU architectures, thus indicating that our approach can generalize the learned knowledge. Lastly, we demonstrate its practicability by implementing it as a Ghidra plugin used during resolving DARPA Assured MicroPatching (AMP) challenges.


翻译:关键任务嵌入软件对我们的社会基础设施至关重要, 但随着技术的进步, 可能会受到新的安全弱点。 当出现安全问题时, 逆向工程师( REs) 使用软件反向工程( SRE) 工具来分析脆弱的二进制。 但是, 现有工具的支持有限, 而 REs 则经历一个耗时、 昂贵和易出错的过程, 需要经验和专门知识来理解软件和脆弱性的行为。 为了改进这些工具, 我们建议 $\ textit{ cffg2vec}, 一个基于等级图表神经网络( GNNN) 的方法。 为了代表二进制, 我们建议使用软件反向工程( GOG) 工具来分析脆弱的二进制系统。 我们的结果显示, $\ text{ c2\ gev2c} 我们的每进制硬化系统功能, 可以用等级 GNNNNP( text_ fincreferation) 来显示我们现有的二进化工具的能力。 我们的结果显示, 需要不断的C- true- true- true- train_ train_ train_ train_ train_ train_ real_ real_ a lading lagment lax a mode lagment mode modustration.

0
下载
关闭预览

相关内容

VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
AIART 2022 Call for Papers
CCF多媒体专委会
1+阅读 · 2022年2月13日
【ICIG2021】Latest News & Announcements of the Plenary Talk1
中国图象图形学学会CSIG
0+阅读 · 2021年11月1日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Hierarchical Graph Capsule Network
Arxiv
20+阅读 · 2020年12月16日
Arxiv
13+阅读 · 2019年11月14日
Arxiv
11+阅读 · 2019年4月15日
Arxiv
23+阅读 · 2018年10月1日
VIP会员
相关资讯
VCIP 2022 Call for Demos
CCF多媒体专委会
1+阅读 · 2022年6月6日
AIART 2022 Call for Papers
CCF多媒体专委会
1+阅读 · 2022年2月13日
【ICIG2021】Latest News & Announcements of the Plenary Talk1
中国图象图形学学会CSIG
0+阅读 · 2021年11月1日
Hierarchically Structured Meta-learning
CreateAMind
27+阅读 · 2019年5月22日
Capsule Networks解析
机器学习研究会
11+阅读 · 2017年11月12日
相关论文
Hierarchical Graph Capsule Network
Arxiv
20+阅读 · 2020年12月16日
Arxiv
13+阅读 · 2019年11月14日
Arxiv
11+阅读 · 2019年4月15日
Arxiv
23+阅读 · 2018年10月1日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
Top
微信扫码咨询专知VIP会员