Git Product home page Git Product logo

snake's Introduction

SNAKE: State-based Network AttacK Explorer

Tool to automatically find attacks on unmodified implementations of transport protocols using a protocol state machine based search strategy

Details described in:

Samuel Jero, Hyojeong Lee, and Cristina Nita-Rotaru. Leveraging State Information for Automated Attack Discovery in Transport Protocol Implementations. 45th IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), June 2015, pp 1-12.

Preqs

  • Python 2.7

  • Perl 5.10

  • Qemu (Tested with 1.7.0 / 2.3.0)

  • pssh

  • bridge-utils (for brctl)

  • uml-utilities (for tunctl)

  • Limited sudo access. In particular, the ability to run the following commands:

      /usr/bin/tunctl -u [a-z]* -t tap*
      /usr/bin/tunctl -d tap*
      /bin/ifconfig tap* hw ether 00:00:00:*:*:*
      /bin/ifconfig tap* up
      /bin/ifconfig tap* 0.0.0.0 up
      /bin/ifconfig tap* 10.0.*.* netmask 255.255.*.* up
      /bin/ifconfig tap* down
      /bin/ifconfig br* up
      /bin/ifconfig br* 10.0.*.* netmask 255.255.*.* up
      /bin/ifconfig br* down
      /sbin/brctl addbr br*
      /sbin/brctl delbr br*
      /sbin/brctl addif br* tap*
      /sbin/brctl delif br* tap*
      /usr/local/sbin/restart-dhcpd
      /bin/ifconfig tap*
    

Usage

  • Configure Network:

      cd system/scripts/kvm_scripts/
      NetworkManager.pl dnsconf 1 <max>
      NetworkManager.pl dns 1 <max>
      NetworkManager.pl addall 1 <max>
    
  • Configure VMs:

      cd system/scripts/kvm_scripts/
      wget http://www.cs.purdue.edu/~sjero/snake_vm.tar.gz
      (or http://sjero.net/ds2/snake_vm.tar.gz)
      tar xf snake_vm.tar.gz
      for each vm:
      	ssh-copy-id [email protected].<id>
    

    For reference, the VM users are root and the password is Gat11ng in our default VMs

  • Configure and Build NS-3

      cd ns-3-dev
      ./waf configure --enable-examples
      cd system/messages/
      ./switchToSystem.sh tcp
    
  • In one terminal, run the global controller

      cd system/scripts/coordinator
      ./coordinator.py
    
  • In annother terminal, run an executor:

      cd system/scripts/
      ./gatling.pl
    

Samuel Jero [email protected]
3-30-2017

snake's People

Contributors

adrianswtam avatar dnlove avatar flaviokubota avatar francescomalandrino avatar gfriley avatar giachino avatar gilaras avatar gjcarneiro avatar gvub avatar ixce avatar joshpelkey avatar kimrhh avatar kulishah avatar lalithsuresh avatar mathieu-lacage avatar maxvonhippel avatar mkbanchi avatar moscow4gh avatar mtortonesi avatar qtse avatar rajb245 avatar sammydre avatar samueljero avatar sitbon avatar thehajime avatar tom5760 avatar tomgoff avatar tomhenderson avatar tommypec avatar vedranmiletic avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.