论文标题
SEMA:扩展和分析故事板以开发安全的Android应用程序
SeMA: Extending and Analyzing Storyboards to Develop Secure Android Apps
论文作者
论文摘要
移动应用程序提供各种关键服务,例如银行,通讯和医疗保健。为此,他们可以访问我们的个人信息,并有能力代表我们执行行动。因此,确保移动应用程序对于确保用户的隐私和安全至关重要。 最近的研究工作集中在开发解决移动生态系统(即应用程序平台,应用程序和应用商店)的解决方案,特别是在检测Android应用中漏洞的情况下。尽管有这种关注,但在移动应用程序中通常会发现已知的漏洞,因此恶意应用程序可以利用这些漏洞来损害用户。此外,在开发应用程序后修复漏洞在时间,资源,用户不便和信息丢失方面存在缺点。 为了解决这一问题,我们开发了SEMA,这是一种移动应用程序开发方法,该方法基于现有的移动应用设计工具,例如故事板。使用SEMA,安全是应用程序设计中的一流公民 - 应用程序设计师和开发人员可以协作以抽象级别的应用程序的安全性来指定和推理,而不会被实施级别的详细信息分散注意力。我们使用Android Studio工具对SEMA的实现证明了该方法与现有的设计和开发实践互补。对SEMA有效性的评估表明,该方法可以检测并有助于预防49个已知在Android应用中发生的漏洞。此外,对涉及十个现实世界开发人员的方法的可用性研究表明,该方法可能会减少开发时间,并帮助开发人员在设计应用程序时发现并防止已知漏洞。
Mobile apps provide various critical services, such as banking, communication, and healthcare. To this end, they have access to our personal information and have the ability to perform actions on our behalf. Hence, securing mobile apps is crucial to ensuring the privacy and safety of its users. Recent research efforts have focused on developing solutions to secure mobile ecosystems (i.e., app platforms, apps, and app stores), specifically in the context of detecting vulnerabilities in Android apps. Despite this attention, known vulnerabilities are often found in mobile apps, which can be exploited by malicious apps to harm the user. Further, fixing vulnerabilities after developing an app has downsides in terms of time, resources, user inconvenience, and information loss. In an attempt to address this concern, we have developed SeMA, a mobile app development methodology that builds on existing mobile app design artifacts such as storyboards. With SeMA, security is a first-class citizen in an app's design -- app designers and developers can collaborate to specify and reason about the security properties of an app at an abstract level without being distracted by implementation level details. Our realization of SeMA using Android Studio tooling demonstrates the methodology is complementary to existing design and development practices. An evaluation of the effectiveness of SeMA shows the methodology can detect and help prevent 49 vulnerabilities known to occur in Android apps. Further, a usability study of the methodology involving ten real-world developers shows the methodology is likely to reduce the development time and help developers uncover and prevent known vulnerabilities while designing apps.