当前位置: X-MOL 学术Software Qual. J. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Towards supporting software assurance assessments by detecting security patterns
Software Quality Journal ( IF 1.9 ) Pub Date : 2020-05-05 , DOI: 10.1007/s11219-019-09492-z
Michaela Bunke , Karsten Sohr

Today, many tools exist that attempt to find possible vulnerabilities in Android applications, e.g., FlowDroid, Fortify, or AppScan. However, all these tools aim to detect vulnerabilities or (sometimes) tainted flows and present the reviewer detected possible issues of an analyzed Android application. None of these tools supports the identification of implemented security features in code, although this aspect is also relevant to developers as well as reviewers. To address this open problem, we present a program comprehension approach based on connected object process graphs (COPGs) containing interacting objects described by security patterns in this paper. The feasibility of our approach is evaluated qualitatively with 25 security-critical Android applications from Google Play with almost 7 million lines of code. We currently support 17 security pattern variants with about 199 correctly detected pattern instances in the apps. We also define a benchmark of non-trivial, security-critical Android apps, which can also be used for other security analysis tasks based on the static analysis framework Soot. With this benchmark, our analysis yields a precision of 99% and a recall of 80%. Finally, we discussed our approach and the developed tool with six software security experts from the SAFECode organization to obtain additional feedback.

中文翻译:

通过检测安全模式来支持软件保障评估

今天,有许多工具试图找出 Android 应用程序中可能存在的漏洞,例如 FlowDroid、Fortify 或 AppScan。然而,所有这些工具都旨在检测漏洞或(有时)受污染的流,并向审查者展示已分析的 Android 应用程序检测到的可能问题。这些工具都不支持在代码中识别已实现的安全功能,尽管这方面也与开发人员和审阅者有关。为了解决这个开放性问题,我们提出了一种基于连接对象过程图(COPG)的程序理解方法,其中包含本文中安全模式描述的交互对象。我们的方法的可行性通过来自 Google Play 的 25 个安全关键的 Android 应用程序进行了定性评估,其中包含近 700 万行代码。我们目前支持 17 种安全模式变体,其中大约有 199 个在应用程序中正确检测到的模式实例。我们还定义了一个非平凡的、安全关键的 Android 应用程序的基准,它也可以用于基于静态分析框架 Soot 的其他安全分析任务。使用这个基准,我们的分析产生了 99% 的准确率和 80% 的召回率。最后,我们与来自 SAFECode 组织的六位软件安全专家讨论了我们的方法和开发的工具,以获得更多反馈。我们的分析产生了 99% 的准确率和 80% 的召回率。最后,我们与来自 SAFECode 组织的六位软件安全专家讨论了我们的方法和开发的工具,以获得更多反馈。我们的分析产生了 99% 的准确率和 80% 的召回率。最后,我们与来自 SAFECode 组织的六位软件安全专家讨论了我们的方法和开发的工具,以获得更多反馈。
更新日期:2020-05-05
down
wechat
bug