Modelling Binary Oriented Software Buffer-Overflow Vulnerability in Process Algebra

Software is ubiquitous in numerous industries, such as financial and commercial industries and military industries, playing the manager role to manipulate the data and equipment. Consequently, its vulnerabilities become great insecurity factors. To prevent the exploit of vulnerabilities, it is essential to study the characteristic of vulnerabilities, and a model to describe them is prerequisite. In this paper, a vulnerability modeling method BSVPA (Binary oriented Software Vulnerability in Process Algebra) is proposed. The concept of communication in Process Algebra is introduced to model the transition of data. Our method is binary oriented since the source code of most commercial software is unavailable, and it is more flexible with more concise presentation because of its fine-granularity. At last we give a case study to show more details about how BSVPA works.

[1]  Ravishankar K. Iyer,et al.  A data-driven finite state machine model for analyzing security vulnerabilities , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[2]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[3]  Amel Mammar,et al.  An advanced approach for modeling and detecting software vulnerabilities , 2012, Inf. Softw. Technol..

[4]  Rob J. van Glabbeek,et al.  Bounded Nondeterminism and the Approximation Induction Principle in Process Algebra , 1987, STACS.

[5]  Stefan Katzenbeisser,et al.  Detecting Malicious Code by Model Checking , 2005, DIMVA.

[6]  Wang Chunlei,et al.  An efficient control flow security analysis approach for binary executables , 2009, 2009 2nd IEEE International Conference on Computer Science and Information Technology.

[7]  Tao Wei,et al.  IntScope: Automatically Detecting Integer Overflow Vulnerability in X86 Binary Using Symbolic Execution , 2009, NDSS.

[8]  Wan Fokkink,et al.  Introduction to Process Algebra , 1999, Texts in Theoretical Computer Science. An EATCS Series.

[9]  Ricardo J. Rodríguez,et al.  Detection of Intrusions and Malware, and Vulnerability Assessment , 2016, Lecture Notes in Computer Science.

[10]  Roberto Gorrieri,et al.  The Compositional Security Checker: A Tool for the Verification of Information Flow Security Properties , 1997, IEEE Trans. Software Eng..

[11]  Jos C. M. Baeten,et al.  A brief history of process algebra , 2005, Theor. Comput. Sci..

[12]  Nahid Shahmehri,et al.  Modeling Software VulnerabilitiesWith Vulnerability Cause Graphs , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[13]  James D. Arthur,et al.  Modeling Security Vulnerabilities: A Constraints and Assumptions Perspective , 2006, 2006 2nd IEEE International Symposium on Dependable, Autonomic and Secure Computing.

[14]  Changzhen Hu,et al.  Binary Oriented Vulnerability Analyzer Based on Hidden Markov Model , 2010, IEICE Trans. Inf. Syst..

[15]  Mohammad Zulkernine,et al.  Using complexity, coupling, and cohesion metrics as early indicators of vulnerabilities , 2011, J. Syst. Archit..

[16]  Ravishankar K. Iyer,et al.  Security Vulnerabilities: From Analysis to Detection and Masking Techniques , 2006, Proceedings of the IEEE.

[17]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.