1 Introduction

A common threat that webdevelopers face is a password-guessing attack known as a brute force attack. Abrute-force attack is an attempt to discover a password by systematicallytrying every possible combination of letters, numbers, and symbols until youdiscover
the one correct combination that works. If your web site requires userauthentication, you are a good target for a brute-force attack.

2 Solution

2.1 Enforce password strength

Complex password is veryhard to guess. Strong password is always a good way to protect from brute forceattack.

2.1.1 Advantage

We have implemented thelogic in our production. It doesn’t need any change in code.

2.1.2 Disadvantage

This needs PM to persuadeour customer to enforce the strong password policy which is controlled bypassword option in site admin. If some customers don’t want to use the strongpolicy of the password, we still need some other measure to protect brute forceattack.

This can only be used forrequest with password.

2.2 Answer a question

When a user signs up, userneeds choose or create a question or several questions.  Before user login, user need answer thequestion in advance.

2.2.1 Advantage

This can protect from bruteforce effectively if the answer of the question is long enough. It is equals tomake the password longer. It is also not hard to implement it.

2.2.2 Disadvantage

For the users which alreadyare in our system, there is no this kind questions. It needs PM to talk withthem to use this feature.

At the same time, it changesthe logic of login; this can cause changes for all modules that use login API.

2.3 Send code to mobile or mail

When user signs up, userneed provide a valid email or phone number. Each time, when user logins, systemwill send a code, which is 6 digits, to the registered email or phone number,user need enter the code before login. System need check the password and
thecode together. Only permit user to login or visit the object if both of themare correct.

2.3.1 Advantage

Attacker cannot brute forcethe password without the code which can only be accepted by mobile or email.Currently, some big companies, like google, have use this way, but not enforceit.

2.3.2 Disadvantage

For email, we can implementit easily. But, it is inconvenient.  Forexample, for mobile user, s/he need change screen to visit email to get thecode.

For mobile, currently, thereis no this function. We need implement a system to send message to mobile.

At the same time, it changesthe logic of login; this can cause changes for all modules/APIs that use thisto avoid brute force.

2.4 CAPTCHA

A CAPTCHA (an acronym for"Completely Automated Public Turing test to tell Computers and HumansApart") is a type of challenge-response test used in computing to determinewhether or not the user is human.

2.4.1 Advantage

There have already been manyimplementation can be used directly. It is also a common way for many web sitesto protect from brute force. As user can get the code from screen, it will notaffect user experience much.

2.4.2 Disadvantage

If the CAPTCH is complex, itis hard for user to read it. If the CAPTCH is not complex, it will be easy tobe guess by some tools. It is not easy to get an appropriate degree. But, wemay choose the CAPTCH to show a multi-choice question, server needs checkwhether
the answer of the question is correct. It will be much harder to bypass.

2.5 Lock out user

The most obvious way toblock brute-force attacks is to simply lock out accounts after a defined numberof incorrect password attempts. Account lockouts can last a specific duration,such as one hour, or the accounts could remain locked until manually unlockedby
an administrator. However, account lockout is not always the best solution,because someone could easily abuse the security measure and lock out hundredsof user accounts. In fact, some Web sites experience so many attacks that theyare unable to enforce a lockout
policy because they would constantly beunlocking customer accounts.

2.5.1 Advantage

It is easy to implement andwill not affect the current business logic much. It has no effect on themodules that use login API.

2.5.2 Disadvantage

An attacker can cause adenial of service (DoS) by locking out large numbers of accounts.

Because you cannot lock outan account that does not exist, only valid account names will lock. An attackercould use this fact to harvest usernames from the site, depending on the errorresponses.

An attacker can cause adiversion by locking out many accounts and flooding the help desk with supportcalls.

An attacker can continuouslylock out the same account, even seconds after an administrator unlocks it,effectively disabling the account.

Account lockout isineffective against slow attacks that try only a few passwords every hour.

Account lockout isineffective against attacks that try one password against a large list ofusernames.

Account lockout isineffective if the attacker is using a username/password combo list and guessescorrectly on the first couple of attempts.

Powerful accounts such asadministrator accounts often bypass lockout policy, but these are the mostdesirable accounts to attack. Some systems lock out administrator accounts onlyon network-based logins.

Even once you lock out anaccount, the attack may continue, consuming valuable human and computerresources.

3 Summary

After comparing the solutionabove, the best way is to enforce password strength, it is also need few effortsfrom engineer team.  But, this can onlybe used for request with password.

For request with or withoutpassword, we may choose CAPTCHA; it is still an effective way to against bruteforce attack.  For not impact the userexperience, we may choose show CAPTCHA after failed 3 times.

Brute force Attack的更多相关文章

  1. nginx 1.3.9/1.4.0 x86 Brute Force Remote Exploit

    测试方法: 本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负! #nginx 1.3.9/1.4.0 x86 brute force remote exploit # copyri ...

  2. DVWA之Brute Force教程

    ---恢复内容开始--- Brute Force暴力破解模块,是指黑客密码字典,使用穷举的方法猜出用户的口令,是一种广泛的攻击手法. LOW low级别的漏洞利用过程 1.使用burp suite工具 ...

  3. Brute Force(暴力(破解))

    一.攻击模块1:Brute Force(暴力破解) 暴力破解一般指穷举法,穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕.若某个情况 ...

  4. DVWA全级别之Brute Force(暴力破解)

    Brute Force Brute Force,即暴力(破解),是指黑客利用密码字典,使用穷举法猜解出用户口令. 首先我们登录DVWA(admin,password),之后我们看网络是否为无代理,: ...

  5. DVWA Brute Force:暴力破解篇

    DVWA Brute Force:暴力破解篇 前言 暴力破解是破解用户名密码的常用手段,主要是利用信息搜集得到有用信息来构造有针对性的弱口令字典,对网站进行爆破,以获取到用户的账号信息,有可能利用其权 ...

  6. DVWA之Brute Force

    DVWA简介 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,旨在为安全专业人员测试自己的专业技能和工具提供合法 ...

  7. DVWA(二): Brute Force(全等级暴力破解)

    tags: DVWA Brute Force Burp Suite Firefox windows2003 暴力破解基本利用密码字典使用穷举法对于所有的账号密码组合全排列猜解出正确的组合. LEVEL ...

  8. DVWA靶场之Brute Force(暴破)通关

    DVWA最经典PHP/MySQL老靶场,简单回顾一下通关流程吧 DVWA十大金刚,也是最常见的十种漏洞利用:Brute Force(暴破).Command Injection(命令行注入).CSRF( ...

  9. 小白日记46:kali渗透测试之Web渗透-SqlMap自动注入(四)-sqlmap参数详解- Enumeration,Brute force,UDF injection,File system,OS,Windows Registry,General,Miscellaneous

    sqlmap自动注入 Enumeration[数据枚举] --privileges -U username[CU 当前账号] -D dvwa -T users -C user --columns  [ ...

随机推荐

  1. No unique bean of type [net.shougongfang.action.paymoney.AlipayPayMoneyReturnObj] is defined: Unsat

    0 你把@Service放到实现类上吧.这个问题好像不止一个人在问啦 2013年10月25日 10:34 shidan66  30  0 1 1 加入评论 00 1,@service放到实现上  2. ...

  2. VMware虚拟机无法识别U盘解决方式

    1. 本机情况: Winxp操作系统(相同应该适用于win7),VMware虚拟机.虚拟机版本号:VMware 10.安装Ubuntu14.04.现要求在主机上插入U盘.在虚拟机中显示. 2. 遇到问 ...

  3. php中的self关键字和this关键字的区别和联系

    php中的self关键字和this关键字的区别和联系 面向对象编程(OOP,Object OrientedProgramming)现已经成为编程人员的一项基本技能.利用OOP的思想进行PHP的高级编程 ...

  4. WebRTC开源项目一览之二

    .Kurento视频直播系统4.1  应用实例搞视频会议就会涉及一对多.多对多.广播.转码.混音.合屏.录制,这就需要用到流媒体服务器,而kurento就具有这些功能.他主要用来作为webrtc的流媒 ...

  5. 动态连通性问题:union-find算法

    写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera  Algorithms Part1&2 本文 ...

  6. js滑动提示效果

    js代码 漂亮的动画效果:在靠右上角:背景颜色为红,字体颜色为白色  滑动 变大 上移  缓慢渐变消失 function tishi() { $("#tishi").attr(&q ...

  7. javascript中常用数组方法详细讲解

    javascript中数组常用方法总结 1.join()方法: Array.join()方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串.也可以指定可选的字符串在生成的字符串中来分隔 ...

  8. 指定的WSDL可能与所选的工具包不兼容

    使用LoadRunner在webservice协议下,import service的时候,报错: can not fetch WSDL,the specified WSDL datathe speci ...

  9. ZBrush中的实时遮罩

    在ZBrush®中有许多遮罩类型,包括柔滑遮罩.反转遮罩,实时遮罩等.其中,实时遮罩又包含很多种类,它不同于一般的遮罩是不显示的,实时遮罩是根据实时信息产生新的遮罩. 在“Brush”菜单下“Auto ...

  10. Python多进程原理与实现

    Date: 2019-06-04 Author: Sun 1 进程的基本概念 什么是进程? ​ 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成.我们编写 ...