Oshando Johnson, Goran Piskachev, Ranjith Krishnamurthy, Eric Bodden
{"title":"Detecting Security-Relevant Methods using Multi-label Machine Learning","authors":"Oshando Johnson, Goran Piskachev, Ranjith Krishnamurthy, Eric Bodden","doi":"10.1145/3643796.3648464","DOIUrl":null,"url":null,"abstract":"To detect security vulnerabilities, static analysis tools need to be configured with security-relevant methods. Current approaches can automatically identify such methods using binary relevance machine learning approaches. However, they ignore dependencies among security-relevant methods, over-generalize and perform poorly in practice. Additionally, users have to nevertheless manually configure static analysis tools using the detected methods. Based on feedback from users and our observations, the excessive manual steps can often be tedious, error-prone and counter-intuitive. In this paper, we present Dev-Assist, an IntelliJ IDEA plugin that detects security-relevant methods using a multi-label machine learning approach that considers dependencies among labels. The plugin can automatically generate configurations for static analysis tools, run the static analysis, and show the results in IntelliJ IDEA. Our experiments reveal that Dev-Assist's machine learning approach has a higher F1-Measure than related approaches. Moreover, the plugin reduces and simplifies the manual effort required when configuring and using static analysis tools.","PeriodicalId":513202,"journal":{"name":"ArXiv","volume":"86 6","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-03-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"ArXiv","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3643796.3648464","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
To detect security vulnerabilities, static analysis tools need to be configured with security-relevant methods. Current approaches can automatically identify such methods using binary relevance machine learning approaches. However, they ignore dependencies among security-relevant methods, over-generalize and perform poorly in practice. Additionally, users have to nevertheless manually configure static analysis tools using the detected methods. Based on feedback from users and our observations, the excessive manual steps can often be tedious, error-prone and counter-intuitive. In this paper, we present Dev-Assist, an IntelliJ IDEA plugin that detects security-relevant methods using a multi-label machine learning approach that considers dependencies among labels. The plugin can automatically generate configurations for static analysis tools, run the static analysis, and show the results in IntelliJ IDEA. Our experiments reveal that Dev-Assist's machine learning approach has a higher F1-Measure than related approaches. Moreover, the plugin reduces and simplifies the manual effort required when configuring and using static analysis tools.
要检测安全漏洞,静态分析工具需要配置与安全相关的方法。目前的方法可以使用二进制相关性机器学习方法自动识别此类方法。然而,这些方法忽略了安全相关方法之间的依赖关系,过度泛化,在实践中表现不佳。此外,用户还必须使用检测到的方法手动配置静态分析工具。根据用户的反馈和我们的观察,过多的手动步骤往往是乏味、容易出错和违背直觉的。在本文中,我们介绍了 Dev-Assist,它是一个 IntelliJ IDEA 插件,可使用多标签机器学习方法检测与安全相关的方法,并考虑标签之间的依赖关系。该插件可以自动生成静态分析工具的配置,运行静态分析,并在 IntelliJ IDEA 中显示结果。我们的实验表明,与相关方法相比,Dev-Assist 的机器学习方法具有更高的 F1-Measure。此外,该插件还减少并简化了配置和使用静态分析工具时所需的手动操作。