Giter VIP home page Giter VIP logo

sidechannel-timing-tool's Introduction

sidechannel-timing-tool

Small tool for measuring system latency during string comparison.

The tool supports three modes, in-vm and telnet (for use with GNS3 virtual routers).

The tool works by using a password that is known in advance. Starts by attempting to authenticate using the first letter of the password. Then increases the number of letters included in each authentication request over time. Each request produces some timing information that can be used to determine if the system is vulnerable or not.

The following examples are taken from an in-vm comparison, this proves that the data is available in the best conditions. As network equipment improves over time and cloud hosted machines has gained popularity over the last years, this is a real attack vector.

Sample of a measurement that does not leak any information, uses 1:1 byte comparison as implemented in openSSL. alt text

Sample of a measurement that leaks timing information, allows optimizations and returns early on first mismatching byte. alt text This could be used to incrementally guess the password one character by one.

This applies to passwords, even more so if the passwords are in plaintext or not salted appropriately. This method could probably also be used for tokens - where valid tokens are cached and not revalidated. This attack vector is very tempting in multi-tenant hosting solutions. If a vulnerable VM is running in the cloud, you could deploy your own VM to that cloud for a small fee. Depending on the network layout the jitter will be minimal. Jitter makes it harder to deploy this attack, attempts to induce random delays are probably very deterministic and easy to analyze.

For more information read the co-authored report.

sidechannel-timing-tool's People

Contributors

codingchili avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.