Design and Implement an Accurate Automated Static Analysis Checker to Detect Insecure Use of SecurityManager

IF 2.6 Q2 COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS
Midya Alqaradaghi, Muhammad Zafar Iqbal Nazir, Tamás Kozsik
{"title":"Design and Implement an Accurate Automated Static Analysis Checker to Detect Insecure Use of SecurityManager","authors":"Midya Alqaradaghi, Muhammad Zafar Iqbal Nazir, Tamás Kozsik","doi":"10.3390/computers12120247","DOIUrl":null,"url":null,"abstract":"Static analysis is a software testing technique that analyzes the code without executing it. It is widely used to detect vulnerabilities, errors, and other issues during software development. Many tools are available for static analysis of Java code, including SpotBugs. Methods that perform a security check must be declared private or final; otherwise, they can be compromised when a malicious subclass overrides the methods and omits the checks. In Java, security checks can be performed using the SecurityManager class. This paper addresses the aforementioned problem by building a new automated checker that raises an issue when this rule is violated. The checker is built under the SpotBugs static analysis tool. We evaluated our approach on both custom test cases and real-world software, and the results revealed that the checker successfully detected related bugs in both with optimal metrics values.","PeriodicalId":46292,"journal":{"name":"Computers","volume":"46 1","pages":""},"PeriodicalIF":2.6000,"publicationDate":"2023-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computers","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3390/computers12120247","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS","Score":null,"Total":0}
引用次数: 0

Abstract

Static analysis is a software testing technique that analyzes the code without executing it. It is widely used to detect vulnerabilities, errors, and other issues during software development. Many tools are available for static analysis of Java code, including SpotBugs. Methods that perform a security check must be declared private or final; otherwise, they can be compromised when a malicious subclass overrides the methods and omits the checks. In Java, security checks can be performed using the SecurityManager class. This paper addresses the aforementioned problem by building a new automated checker that raises an issue when this rule is violated. The checker is built under the SpotBugs static analysis tool. We evaluated our approach on both custom test cases and real-world software, and the results revealed that the checker successfully detected related bugs in both with optimal metrics values.
设计并实施精确的自动静态分析检查器,检测不安全使用 SecurityManager 的情况
静态分析是一种在不执行代码的情况下对代码进行分析的软件测试技术。它被广泛用于检测软件开发过程中的漏洞、错误和其他问题。有许多工具可用于 Java 代码的静态分析,包括 SpotBugs。执行安全检查的方法必须声明为私有或最终;否则,当恶意子类覆盖这些方法并省略检查时,这些方法就会被破坏。在 Java 中,可以使用 SecurityManager 类执行安全检查。本文通过构建一个新的自动检查器来解决上述问题,该检查器可在违反该规则时提出问题。该检查程序是在 SpotBugs 静态分析工具下构建的。我们在自定义测试用例和实际软件上对我们的方法进行了评估,结果表明,检查器成功地检测出了两者中的相关漏洞,并取得了最佳指标值。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
Computers
Computers COMPUTER SCIENCE, INTERDISCIPLINARY APPLICATIONS-
CiteScore
5.40
自引率
3.60%
发文量
153
审稿时长
11 weeks
×
引用
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学术官方微信