Vulnerability analysis of networks to detect multiphase attacks using the actor-based language Rebeca

https://doi.org/10.1016/j.compeleceng.2008.04.009Get rights and content

Abstract

Increasing use of networks and their complexity make the task of security analysis more and more complicated. Accordingly, automatic verification approaches have received more attention recently. In this paper, we investigate applying of an actor-based language based on reactive objects for analyzing a network environment communicating via Transport Protocol Layer (TCP). The formal foundation of the language and available tools for model checking provide us with formal verification support. Having the model of a typical network including client and server, we show how an attacker may combine simple attacks to construct a complex multiphase attack. We use Rebeca language to model the network of hosts and its model checker to find counter-examples as violations of security of the system. Some simple attacks have been modeled in previous works in this area, here we detect these simple attacks in our model and then verify the model to find more complex attacks which may include simpler attacks as their steps. We choose Rebeca because of its powerful yet simple actor-based paradigm in modeling concurrent and distributed systems. As the real network environment is asynchronous and event-based, Rebeca can be utilized to specify and verify the asynchronous systems, including network protocols.

Introduction

As computer networks grow in size and complexity, their security analysis becomes more complicated. The evolution of computer networks on one hand and their distributed nature on the other hand, creates opportunities for insiders and outsiders to violate the system security. Many services are perfectly secure when offered in isolation, but when combined with other services, result in an exploitable vulnerability. For example, the file transfer protocol (ftp) and the hypertext transfer protocol (http) offered simultaneously in the same host, may allow the attacker to write in a web directory using the ftp service which causes the web server to execute a program written by the attacker.

Accordingly, security evaluation has become an important requirement in design and management of computer networks. When evaluating the security of a network, it is not enough to consider the single vulnerabilities without considering the other hosts, their relationships, and interactions as well as their network infrastructure. Many of the attacks exploit the global weaknesses in network introduced by interconnections. Nevertheless, the analysis of network security is a complex and error prone task by hand. Thus, the automatic analysis has been considered. Some people have modeled the network in order to analyze and detect different attacks [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13]. They could analyze the network model to show some simple attacks. Because of the lack of expressive and simple modeling languages, the complex and distributed attacks have not been considered widely.

In this paper, we use a model based approach to show that how an attacker may use simple attacks to construct a complex attack and reach her/his goals, which were not possible using simple attack methods. We use an abstract model of a network in order to find the complex multiphased attack, named Mitnick attack. To the best of our knowledge, this attack has not been modeled.

Multiphase attacks usually are performed using interaction of different network agents. Such environment is well fitted in actor-based computation paradigm. We use Rebeca [14], [15], [16] to model a system consisting of a server, a client, an attacker and their TCP protocol stack layer.

Rebeca (Reactive Objects Language) is an actor-based language with a formal foundation, presented in [14], [15], [16]. A model in Rebeca consists of a set of reactive objects (called rebecs) which are concurrently executing and asynchronously communicating. Rebeca can be considered as a reference model for concurrent computation, based on an operational interpretation of the actor model [20], [21], [22]. It is also a platform for developing object-based concurrent systems in practice. Formal verification approaches are used to ensure correctness of concurrent and distributed systems. The Rebeca Verifier tool, as a front-end tool, translates Rebeca code into languages of existing model checkers, allowing verification of their properties[23], [24]. There is also an ongoing project on developing a direct model checker for Rebeca using state space reduction techniques [25], [26], [27].

We choose Rebeca because of its powerful yet simple actor-based paradigm in modeling concurrent and distributed systems, and easy to use Java-like syntax for software engineers in modeling, and also the naturally decomposable model and independent modules which is exploited in formal verification and model checking as well as in modeling. The network environment is asynchronous and thus is well fitted in fully asynchronous model of Rebeca. Moreover, the object-oriented nature of Rebeca facilitates the modeling in comparison to other languages such as Promela [31].

The next section surveys the related works that have been done in this field; the third section briefly describes Rebeca. Section 4 presents the model, and its analysis is shown in Section 5 and finally we conclude in Section 6.

Section snippets

Related work

The works published on related topics include a set of works which focus on using model checking to verify and analyze the security of systems and other approaches to analyze network vulnerabilities. The CSP process algebra and its model checker FDR have been widely used to verify the security protocols [10]. It belongs to class of formalisms which combine programming languages and finite state machines. Shahriari and Jalili [1] used CSP to model and analyze the Transmission Control Protocol

Rebeca modeling language

Rebeca [15], [23] is an actor-based language, with independent reactive objects, communicating by asynchronous message passing, and using unlimited buffers for messages. The actor model was originally introduced by Hewitt [20] as an agent-based language. It was later developed by Agha [21], [22] into a concurrent object-based model. The actor model is proposed as a model of concurrent computation in distributed and open systems. Objects are reactive and self-contained and are called rebec,

The Mitnick attack

The Mitnick attack is a multiphase attack, which includes SYN-flood attack, TCP sequence number predication, and IP spoofing. This attack uses SYN-flood to deny the service of host, which has a trust relationship to another host. In Mitnick attack scenario, host trusts another host, and attacker tries to compromise this trust. Fig. 3 shows the attack steps. In this figure, Bob (on host B) has trusted to the Alice (on host A) address.

The following scenario describes the attack [32]:

  • 1.

    Eve (the

The model

In this section, the Mitnick attack environment is described and then a Rebeca model to describe and analyze it is presented.

Analysis of the model

To analyze the model, we use Rebeca Verifier to convert it to Promela and model check it using Spin [31]. To verify the model, we should specify some security goals. Generally these goals are extracted from security policy of an organization. As a result of verification some counter-examples may be achieved. Each counter-example determines a situation in which the specified properties are violated. First we check for simple security goals and try to obtain simple attack scenarios to violate

Conclusions and future works

In this paper, we presented a model of communicating hosts. In this model, some hosts get service from the server according to the server trust. An attacker tries to exploit this trust to get service from the server. We modeled the environment using an actor-based language Rebeca, and verified it to find attack scenarios. Rebeca helped us to have a detailed model of hosts and verify it to find complex attack scenarios. First, we found simple attacks to violate simple security properties. In the

Acknowledgement

This research was in part supported by a Grant from IPM (No. CS1383-4-04).

Hamid Reza Shahriari is currently an Assistant Professor at the Department of Computer Engineering and Information Technology in Amir-kabir University of Technology in Tehran, Iran. He received his Ph.D. in computer science from Sharif University of Technology in 2007. His research interests include information security, vulnerability analysis and formal methods in security.

References (34)

  • G. Rohrmair et al.

    Using data-independence in the analysis of intrusion detection systems

    Theor Comput Sci

    (2005)
  • H.R. Shahriari et al.

    Vulnerability take-grant (VTG): an efficient approach to analyze network vulnerabilities

    Comput Security

    (2007)
  • Shahriari HR, Jalili R. Using CSP to model and analyze transmission control vulnerabilities within the broadcast...
  • Zakeri R, Shahriari HR, Jalili R, Sadoddin R. Modeling TCP/IP networks topology for network vulnerability analysis. In:...
  • Shahriari HR, Sadoddin R, Jalili R, Zakeri R, Omidian AR. Network vulnerability analysis through vulnerability...
  • C.R. Ramakrishnan et al.

    Model based analysis of configuration vulnerabilities

    J Comput Security

    (2002)
  • P. Ryan et al.

    Modeling and analysis of security protocols: a CSP approach

    (2001)
  • Rohrmair G, Lowe G. Using CSP to detect insertion and evasion possibilities within the intrusion detection area. In:...
  • S. Jajodia et al.

    Topological analysis of network attack vulnerability

  • Noel S, Robertson E, Jajodia S. Correlating intrusion events and building attack scenarios through attack graph...
  • P. Ryan et al.

    Modeling and analysis of security protocols: a CSP approach

    (2001)
  • Zerkle D, Levitt K. NetKuang – a multihost configuration vulnerability checker. In: Proceedings of the sixth USENIX...
  • Dacier M, Deswarte Y. Privilege graph: an extension to the typed access matrix model. In: Proceedings of third european...
  • Ritchey RW, Ammann P. Using model checking to analyze network vulnerabilities. In: Proceedings of IEEE symposium on...
  • Sirjani M, Movaghar A. An actor-based model for formal modeling of reactive systems: Rebeca. Technical Report...
  • M. Sirjani et al.

    Modeling and verification of reactive systems using Rebeca

    Fundamenta Informaticae

    (2004)
  • Sirjani M, Movaghar A, Mousavi M. Compositional verification of an object-based reactive system. In: Proceedings of the...
  • Cited by (0)

    Hamid Reza Shahriari is currently an Assistant Professor at the Department of Computer Engineering and Information Technology in Amir-kabir University of Technology in Tehran, Iran. He received his Ph.D. in computer science from Sharif University of Technology in 2007. His research interests include information security, vulnerability analysis and formal methods in security.

    Mohammad Sadegh Makarem received his MS in Software Engineering from Department of Computer Engineering, Sharif University of Technology in 2005 and his BS in Computer Engineering from University of Tehran in 2003. His research interests include formal modeling and verification of component based systems and software architecture analysis. He is currently working on software development process and team software process.

    Marjan Sirjani is an Assistant Professor at School of Electrical and Computer Engineering at University of Tehran, Iran. She is also a senior researcher at School of Computer Science at IPM. She received her Ph.D. in Computer Engineering from Sharif University of Technology, Tehran, in December 2004. Her fields of interests are applying formal methods in Software Engineering and System Design, Object-Oriented Modeling, Component-Based Modeling, Formal Verification, Abstraction and Compositional Verification.

    Rasool Jalili received his Ph.D. in Computer Science from The University of Sydney, Australia in 1995. He then joined the Department of Computer Engineering, Sharif University of Technology, Tehran, Iran. He is now an Associate Professor, doing research in the areas of Distributed Computing and Information Security in his network security laboratory; nsc.sharif.edu.

    Ali Movaghar is currently a Professor at the Department of Computer Engineering in Sharif University of Technology in Tehran, Iran. He received his Ph.D. in computer, information and control engineering from the University of Michigan in 1985. His research interests include the evaluation and verification of distributed real-time systems.

    View full text