使用字节码比较分析工具识别代码篡改

Young Lee, Arlen P. McDonald, Jeong Yang
{"title":"使用字节码比较分析工具识别代码篡改","authors":"Young Lee, Arlen P. McDonald, Jeong Yang","doi":"10.1109/SERA57763.2023.10197775","DOIUrl":null,"url":null,"abstract":"The issues related to SolarWinds attacks point out a large concern with modern software development projects in that there are fundamental flaws with existing security infrastructure. The purpose of this research is to investigate to what extent can the SootDiff analysis tool, a bytecode comparison tool, be used to determine if an application has been tampered with by comparing a known good version with a version that is unknown. The compiled and decompiled bytecodes as Jimple representations were compared to analyze the unique differences in identifying code tempering. The results showed that the scope of the variable is important in whether the change was detected. Variables with a scope that was entirely contained within one method could have their names changed without triggering a warning, but global variables to objects could not. The parameter variable and the local variable behave differently. Since the parameter is in the publicly available part of the method Java treats it the same way as it does the global variable. The local variable is strictly private to the method and not made available to the outside. Such findings can support the analysis tool which is useful for identifying potential breaches to detect meaningful changes in code even if it is decompiled.","PeriodicalId":211080,"journal":{"name":"2023 IEEE/ACIS 21st International Conference on Software Engineering Research, Management and Applications (SERA)","volume":"216 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Identifying Code Tampering Using A Bytecode Comparison Analysis Tool\",\"authors\":\"Young Lee, Arlen P. McDonald, Jeong Yang\",\"doi\":\"10.1109/SERA57763.2023.10197775\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The issues related to SolarWinds attacks point out a large concern with modern software development projects in that there are fundamental flaws with existing security infrastructure. The purpose of this research is to investigate to what extent can the SootDiff analysis tool, a bytecode comparison tool, be used to determine if an application has been tampered with by comparing a known good version with a version that is unknown. The compiled and decompiled bytecodes as Jimple representations were compared to analyze the unique differences in identifying code tempering. The results showed that the scope of the variable is important in whether the change was detected. Variables with a scope that was entirely contained within one method could have their names changed without triggering a warning, but global variables to objects could not. The parameter variable and the local variable behave differently. Since the parameter is in the publicly available part of the method Java treats it the same way as it does the global variable. The local variable is strictly private to the method and not made available to the outside. Such findings can support the analysis tool which is useful for identifying potential breaches to detect meaningful changes in code even if it is decompiled.\",\"PeriodicalId\":211080,\"journal\":{\"name\":\"2023 IEEE/ACIS 21st International Conference on Software Engineering Research, Management and Applications (SERA)\",\"volume\":\"216 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2023-05-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2023 IEEE/ACIS 21st International Conference on Software Engineering Research, Management and Applications (SERA)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SERA57763.2023.10197775\",\"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/ACIS 21st International Conference on Software Engineering Research, Management and Applications (SERA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SERA57763.2023.10197775","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

与SolarWinds攻击有关的问题指出了现代软件开发项目的一个大问题,即现有安全基础设施存在根本缺陷。本研究的目的是调查在多大程度上可以使用sotdiff分析工具(一种字节码比较工具)通过比较已知的良好版本和未知的版本来确定应用程序是否已被篡改。将编译后的字节码和反编译后的字节码作为简单的表示形式进行比较,分析它们在识别代码调质方面的独特差异。结果表明,变量的范围对是否检测到变化很重要。范围完全包含在一个方法中的变量可以更改其名称而不会触发警告,但对象的全局变量不能。参数变量和局部变量的行为不同。由于该参数位于方法的公共可用部分,因此Java将其视为与全局变量相同的方式。局部变量对方法来说是严格私有的,外部不能使用。这样的发现可以支持分析工具,这对于识别潜在的漏洞以检测代码中有意义的更改非常有用,即使它是反编译的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Identifying Code Tampering Using A Bytecode Comparison Analysis Tool
The issues related to SolarWinds attacks point out a large concern with modern software development projects in that there are fundamental flaws with existing security infrastructure. The purpose of this research is to investigate to what extent can the SootDiff analysis tool, a bytecode comparison tool, be used to determine if an application has been tampered with by comparing a known good version with a version that is unknown. The compiled and decompiled bytecodes as Jimple representations were compared to analyze the unique differences in identifying code tempering. The results showed that the scope of the variable is important in whether the change was detected. Variables with a scope that was entirely contained within one method could have their names changed without triggering a warning, but global variables to objects could not. The parameter variable and the local variable behave differently. Since the parameter is in the publicly available part of the method Java treats it the same way as it does the global variable. The local variable is strictly private to the method and not made available to the outside. Such findings can support the analysis tool which is useful for identifying potential breaches to detect meaningful changes in code even if it is decompiled.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
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学术官方微信