Detecting application logic vulnerabilities via finding incompatibility between application design and implementation

8Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.

Abstract

Logic vulnerabilities are due to defects in the application logic implementation such that the application logic is not the logic that was expected. Indeed, such vulnerabilities pattern depends on the design and business logic of the application. There are no specific and common patterns for application logic vulnerabilities in commercial applications. In this study, a method named FINAD is introduced to detect application logic vulnerabilities using an activity flow graph (AFG) to find the incompatibilities of an implemented application with its design. In this work, the AFG, consisting of the activity diagram (AD) and control flow graph (CFG), is presented for the first time. Investigation of different common types of application logic vulnerabilities indicated that the majority of such vulnerabilities could be detected through conducting a static analysis on an AFG. The FINAD method is independent of the language and can be used for vulnerability detection for any programming language, provided that the AD is available, and the CFG of the program can be created. Implementation of FINAD for PHP language showed its effectiveness in detecting known logic vulnerabilities in CVE vulnerability database.

Cite

CITATION STYLE

APA

Ghorbanzadeh, M., & Shahriari, H. R. (2020). Detecting application logic vulnerabilities via finding incompatibility between application design and implementation. IET Software, 14(4), 377–388. https://doi.org/10.1049/iet-sen.2019.0186

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free