Giter Site home page Giter Site logo

caomw / stopguessing Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microsoft/stopguessing

0.0 2.0 0.0 888 KB

A system for protecting password-based authentication systems from online-guessing attacks.

License: Other

C# 98.98% HTML 1.02%

stopguessing's Introduction

StopGuessing

A system for protecting password-based authentication systems from online-guessing attacks.

Purpose

Services that employ passwords to authenticate users are subject to online-guessing attacks. Attackers can pick a common password and try to login to the user's account with that password. If services don't do anything to stop this attack, attackers can issue millions of guesses and compromise many accounts. Some services block user accounts after a few failed guesses, but if attackers are trying to login to all user accounts this will cause all users to be locked out. Thus, more advanced systems to prevent online-guessing attacks block IP addresses engaged in guessing, rather than the accounts targeted by guessers.

StopGuessing is a reference implementation of an IP reputation framework. It provides two unique features not present in previous system. First, StopGuessing identifies frequently-occuring passwords in failed login attempts to identify which passwords are being frequently guessed by attackers. It can provide stronger protection to users whose passwords are among those being guessed frequently, and provide faster blocking to IP addresses that guess these passwords. To detect frequently-occuring incorrect passwords, it uses a new data structure called a binomial ladder filter. Second, StopGuessing is able to identify which login attempts have failed due to typos of the users' password, and be less quick to conclude that an IP that submitted the typo is guessing than for a failure that is not caused by a typo.

For more information about the motivation for this approach, the underlying algorithms, and for simulations that measure the efficacy of StopGuessing against different attacks, see the following papers:

The Binomial Ladder Filter: https://research.microsoft.com/... StopGuessing: https://research.microsoft.com/...

Project Structure

Contributing

There are many opportunities to contribute to the StopGuessing project. You might want to help the system use additional IP reputation information, or information about the geographic location or other features of IPs. You might want to make it easier to use StopGuessing on other platforms. You might want to port part or all of the code to be native to other languages. You might want to build support for the binomial ladder filter into memory databases. If you'd like to contribute, the best way to get started is to reach out to us at [email protected].

stopguessing's People

Contributors

msftgits avatar uppajung avatar yuansweet avatar

Watchers

 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.