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

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 securi...

Full description

Bibliographic Details
Main Authors: Midya Alqaradaghi, Muhammad Zafar Iqbal Nazir, Tamás Kozsik
Format: Article
Language:English
Published: MDPI AG 2023-11-01
Series:Computers
Subjects:
Online Access:https://www.mdpi.com/2073-431X/12/12/247
Description
Summary: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.
ISSN:2073-431X