Thursday, August 19, 2010

Intellipass - A behavior based password lockout mechanism

I am pleased to announce Intellipass (a behavior based password lockout mechanism). Most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password lockout mechanism today are static, which means, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y lock a user out after a certain number of incorrect password attempts. This feature is implemented to prevent brute force attempts against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 login functionality. Even though this feature does what it’s supposed to, it has its own shortcomings too.
From a security point of view, this feature can be abused by a bad guy to lock most or all of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 users by writing a script with all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 possible permutations and combinations for a username (which are mostly alphabets, if not alphanumerical), resulting in a denial of service.
From usability point of view, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is always a debate as to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of attempts to be allowed before locking a user account. Most websites allow 3 attempts while some (very few) allow 5 or sometimes 7. What is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right number for this feature is a subject of debate or at least a different blog post. However, It is a big inconvenience for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user if he is locked out.

Till now, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r option but to implement a static password lockout mechanism, which has become a de-facto standard for almost every website. Intellipass tries to bridge cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 gap between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 usability aspect of this feature. By storing every login attempt of a user, Intellipass can intelligently understand user’s past behavior and act accordingly. For ex. If a user locks himself out every time, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n Intellipass will dynamically increase cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of attempts from 3 to 5 or from 5 to 7. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, if a user logs in first or second time every time he or she tried to login in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past, but for some reason has taken 3 attempts this time, Intellipass will automatically reduce cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of attempts from 7 to 5 or 5 to 3. The second component of Intellipass is throwing in a random captcha or insert a time delay between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 login attempts to prevent automated attacks.

Initial release will be in JAVA. We are requesting for everyone to send in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir suggestions and ideas as to what can be done to make Intellipass usable by various companies. More details on Intellipass can be found here.

4 comments:

Unknown said...

Hi cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, thanks for your post.

I've read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 specs doc, but i can't find any mention of what constitutes a 'user'. Would it be a given submitted username? The user's source IP address? A unique cookie assigned to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's HTTP session? A combination of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above?

I'm asking this because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 logic used by your software to build a unique identity could have an impact on whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r or not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lockout mechanism can be bypassed.

A classic example is an app that limits cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of invalid passwords *per username*. The attacker can often get over this logic by trying a very simple/common password - e.g. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 weakest one that would comply with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password complexity requirements - and simply try that one password against a huge list of usernames. This is what I like to call 'reverse password cracking'. In a sense, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker is not cracking passwords, but usernames instead.

Would your software prevent this type of attack? i.e.: try a given password against many usernames, as opposed to many passwords for a given username

It's amazing how many apps I've seen vulnerable to this logic flaw, including financial ones.

Anurag Agarwal said...

Hi ap - I know a lot of websites are vulnerable to that kind of DoS attack. This release of Intellipass won't prevent against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reverse password cracking, at least not in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current version. Maybe this kind of feature can be added later on.
Currently it will take cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 username and also account for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ip address too.

Jicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ndra said...

Good Idea Anurag and thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 post.

is it possible to dynamically increase cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 password tryouts when incorrect password is close to correct password.

Some times user will try to press anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r key instead of correct key or forget cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case sensitivity . exmaple :

if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original password is helLo ,and user tries hello , HeLlo, heLlo for 3times... since those wrong passwords close to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original password we can dynamically increase tries from 3 to 5 like that ..

don't know whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r my idea works or it will violate security policy, correct me if I am wrong.

Anurag Agarwal said...

Hi Jicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ndra - The challenge with this approach is that it could be a legitimate user or an automated script. It's hard to find that automatically.