APP下载

【网站遭骇情势日益恶化,助长利用外泄账号密码而成的自动化攻击】账号填充攻击乘势而起

消息来源:baojiabao.com 作者: 发布时间:2024-05-12

报价宝综合消息【网站遭骇情势日益恶化,助长利用外泄账号密码而成的自动化攻击】账号填充攻击乘势而起

【何谓账号填充攻击?】账号填充攻击(Credential Stuffing)手法的基本定义,就是骇客利用在已经遭骇的网站中,所取得的账号与密码,尝试在另一个网站上登入,借此取得账号的控制权。(图片来源/OWASP)

大约在3年前,许多名人的社群网站账号遭骇,引起轩然大波。其中不乏政治人物、知名艺人,以及知名的企业等,甚至是科技公司的首席执行官或创办人,也身受其害──包含了脸书首席执行官Mark Zuckerberg、推特创办人Jack Dorsey,以及Google首席执行官Sundar Pichai等。

探究其原因,就是他们在多个社群网站里,使用了相同的账号和密码。因此,骇客组织OurMine利用了LinkedIn于2012年外泄的使用者账号资料后,不仅成功登入这些名人的脸书或推特账号,而且还用被害人的账号发文,嘲笑他们的资安意识不足。

当时,所有的资安专家,都极力呼吁使用者必须自保,应该使用像是Have I Been Pwned(HIBP)网站,确认自己的账号可能受到那些资料外泄事件影响,并落实在各个网站的账号中,使用不同的密码,以防范骇客以此手法取得我们在网站上的身份。而这种透过已经被骇网站所流出的账号资料,尝试登入另一个服务的手法,被称为账号填充攻击(Credential Stuffing)。

简单来说,这种攻击能够奏效的原因,就是许多使用者会以相同的账号和密码,到处运用于不同的服务中,只要其中一个网站的使用者数据库遭到外流,他们其他网站服务的账号,骇客便能透过上述的手法,轻易取得账号的控制权。

时至今日,不光是使用者应该保护自己,面临大规模资料外泄事件频传,导致骇客想要大量取得这种攻击所需账号资料,变得更加容易。

根据Gemalto推出的2018上半年度报告,该年度的前6个月,就累计超过33亿笔个资遭到外泄;而今年年初,提供HIBP查询网站的资安研究员Troy Hunt,揭露了史上最大的资料外泄事件Collection#1,总计逾7.7亿名用户的个资被公开。

这样的情况,使得网站的经营者也开始倍感威胁,若是骇客在自家的网站上进行相关攻击,非但会严重影响服务营运,一旦攻击者得手,网站的安全性还可能遭到用户质疑,导致公司的信誉大幅受损。虽然问题的根源,起因于使用者的密码管理不当,但是网站经营者显然已经无法坐视不管,势必要正视这样的问题并加以因应。

自动化执行是账号填充攻击常见做法

骇客所取得被骇网站的使用者账号数据库里,往往包含了成千上万笔资料,采用自动化的尝试登入措施,也是账号填充攻击普遍存在的特性,因此,企业想要侦测出这种攻击行为,能否识别登入请求是由机器人还是真实使用者发出,便成为关键。图片来源/F5

资安专家再度强调账号填充攻击所带来的威胁不容小觑

从去年中到今年初,许多资安厂商发表的年度报告里,特别提到这种威胁的现象,其中,Akamai不仅专门针对这种攻击手法推出报告,同时,他们也资助研究机构Ponemon Institute,调查亚太地区的情况。

Akamai在自己的报告里指出,于去年的5月到6月间,该公司总共在全球网络上,侦测到83亿次由机器人执行的恶意登入行为,而且于1个小时内,每个僵尸网络平均发出30万次这种登入请求。在这份报告中,Akamail也强调,骇客为了隐藏他们的账号填充攻击迹象,会采取登入频率极低的策略进行。

另一方面,由Ponemon Institute所做的访查中,该公司调查了538位负责公司网站安全的亚太地区IT人员,高达86%的受访者认为,合法使用者与账号填充攻击的登入行为难以区分,而表示相关攻击行为不易察觉,或是遭到攻击后难以恢复的IT人员,比例也都超过8成。

至于账号填充攻击对公司所带来的冲击,受访者普遍认为,主要有3大危机:首先,是网页应用程序因大量攻击连线而停止运作;其次,则是处置遭骇的使用者账号,涵盖了资安事件的调查,以及客服部门所增加的工作量;接着,对于公司长期带来的影响,则是使用者的满意度下降。

在此同时,使用者疏于管理密码的现象,依旧相当严重。F5指出,平均每4个人里,就有3个会在多个网站采用相同的密码。提供身份验证系统业者SailPoint,去年也在有关使用者资安意识的调查里,提出类似的看法,并指出2018年采用单一密码的情况,远比2014年要来得普遍,若是网站经营者还要寄望使用者自律,显然是缘木求鱼。

但如果你以为滥用相同账号和密码组合的做法,只有一般使用者缺乏资安意识才会这么做,那可就大错特错。根据去年Lastline公司在一场伦敦资安会议上,对于306位与会的资安人士进行调查,竟有45%的受访者会在多个网站共用密码。即使是这种投身于资讯安全的专业人士,还是可能会抱持投机的心理,采用这种密码设置策略。

密码猜测攻击手法演进的4种型态

攻击者在尝试猜测出账号密码,进而取得账号控制权的方式,依据方法的精细程度,可区分成4种──从早期的暴力破解和字典攻击,后来为了避免被受害单位察觉,并遭到系统锁定,陆续出现了密码泼洒与账号填充攻击手法。资料来源:ForceShield,iThome整理,2019年5月

攻击手法 定义
暴力破解(Brute Force) 使用所有可能的密码组合,尝试登入系统。
字典攻击(Dictionary Attack) 收集常见的密码纳入猜测字典,然后用来尝试登入系统。
密码泼洒(Password Spraying) 只使用单一弱密码,对所有账号进行测试。
账号填充(Credential Stuffing) 利用外泄账号数据库的密码组合,尝试登入系统。

 

借由遭骇网站账号资料搭配,密码测试攻击得手概率大幅增加

在论及账号填充手法的前身,大多数人或许能够想到的类似攻击手法,就是暴力破解密码(Brute Force),使用各种可能的密码组合,尝试登入系统。但从现在的角度来看,这种做法会在短时间内频繁地大量存取网站,不仅会造成网站营运阻断(DoS),同时攻击也因密码错误次数太多,容易被发现,而遭到网站系统封锁。

暴力破解密码这种完全毫无头绪的做法,要成功的概率其实并不高,因此,骇客便开始收集可能常被使用的密码字串,缩小测试的范围,也就是所谓的字典攻击(Dictionary Attack)。

不过,即使采取了密码字典进行登入测试,攻击者还是避免不了大量存取网站,而被封锁的命运,于是,他们后来就再度调整,只使用其中一组简易密码的策略,尝试登入不同的使用者账号,这种做法称为密码泼洒(Password Spraying)。由于每个账号只尝试登入一次,不致触发系统锁定账号的规则,因此不若前述2种手法会容易被发现,但实际上,这么做还是盲目碰运气,看看这个网站是否有人真的使用这组密码。

直到骇客留意到许多使用者会在多个网站服务里,设定相同的账号和密码,较有效率的密码猜测手法──账号填充攻击,也因应而生。与密码泼洒相同的是,攻击者不会重复尝试登入相同的账号,但借由被外泄的密码字串,大幅增加得手概率。

透过账号填充攻击的做法效果如何?防范自动化攻击的Shape Security公司指出,根据他们的统计,骇客能得手账号控制权的比例,大约是0.2%到3%不等,也就是平均每测试1,000个账号,就至少会有2个账号沦陷。

网站账号资料遭骇事件频传,助长账号填充攻击蔓延

若要发动账号填充攻击,骇客首先要取得的工具,就是可用来填入的账号和密码。而根据Gemalto的统计,光是去年上半传出遭到外泄的资料量,就多达33亿笔之多,这种现象,使得骇客想要拿到已经泄露的账号资料,变得更为容易。图片来源/Gemalto

可供使用者查询帐密安全状态的网站

使用者想要得知自己账号和密码的安全性,是否在资料外泄事件中流出,Have I Been Pwned网站共收录365个被骇网站、逾78亿笔账号,让使用者输入用来做为账号的电子邮件信箱查询。图片来源/Have I Been Pwned

攻击手法趋于隐密,找出异常存取情事极为不易

至于管理者要从何做起,才能拦截账号填充攻击呢?首先,站方应该试图从找出这种尝试登入的行为着手。然而,在账号填充攻击里,骇客往往已经规避了现有的防范暴力破解机制。

其中,为了避免账号遭到锁定,或是被站方发现异常登入的现象,攻击者很可能针对网站的政策,采取减缓攻击的措施。例如,某个网站在30分钟内,使用者输入5次错误的账号和密码之后,就会停止该名用户存取,那么骇客可能会改用每30分钟尝试4次的频率,就能避免被判为异常。而现在,有些骇客甚至做到更为精细的攻击手法──每个数据库里的账号和密码,只测试一次,而且还会逐次采用不同的IP地址,尝试登入系统。

在现行网站防护系统中所采取的保护措施,主要还是在指定的时间间隔之内,某个使用者账号里,输入错误密码的事件达到一定次数之后,将账号暂时停用一段时间。然而,面临上述的低频率攻击手法,即使攻击者将所有使用者的账号都尝试登入过一轮,在这种防护政策之下,企业只会将其视为用户不小心输入错误密码,而无从发现背后可能是大规模的猜测密码行为。要是攻击者刚好试出可用的账号和密码组合,系统更不会察觉有异。

同时,这些防护机制拦截可能有害的登入来源对象,长期以来也是透过IP地址黑名单作为判断依据。面临骇客会不断更换IP地址的做法,管理者若是单纯倚靠黑名单的内容,不只会有新增不完的IP地址列表,一旦骇客使用了黑名单以外的IP地址做为跳板,这种识别措施形同虚设。

过去对于使用者的环境探测,企业的目的首重于改善使用者浏览体验,因此可能读取浏览器的使用者代理字串(User Agent)内容,得知使用者所执行的浏览器、电脑的操作系统,以及偏好的语言等,若是攻击者采用无界面(Headless)模式的浏览器,企业难以从上述的字串中得知这种情况,察觉登入请求是出自于自动化攻击。

考量到资安系统营运的成本等因素,企业监控使用者的对象,普遍是内部的员工,提供外部一般社会大众能够存取的的网页应用程序,也难以要求执行严格的身份验证流程,生怕影响使用者采用自家网站服务的意愿,时至今日,还是不少网页应用程序,并未提供双因素验证机制。基于这些已被骇客绕过的现行防护措施,企业想要侦测出账号填充攻击的行为,可说是难上加难。

仍有缓解相关攻击的做法与原则,OWASP提出具体的对策

虽然这种猜测密码的攻击手法更加隐密,但拜骇客采用自动化填入大量账号和密码之赐,也不是全然没有因应之道。长期专注于网页应用程序安全的网络社群OWASP,便针对账号填充攻击的威胁,提出可以缓解的因应措施。依据这些方法的重要性,他们区隔成主要和次要(进阶措施)等2种,不过,从实行的面向来看,我们也可以重新归纳为如何识别出机器人,以及防堵机器人自动化攻击存取的方法。

在侦测是否为机器人发出登入请求的做法上,OWASP建议,透过采集端点电脑的指纹(Fingerprint),从装置所执行的浏览器、操作系统、屏幕分辨率、鼠标操作行为,以及端点电脑所在的地理位置等资讯,识别出是真实使用者或是机器人所为。

而从防堵的角度来看,OWASP列出的做法又可以再加以区分为两种,分别是防止自动化存取和事前预防的措施。为了杜绝机器人锁定字段的网页程式码段落,自动化填入账号和密码,就可能得以4登入系统,采用双因素验证或CAPTCHA人机验证的机制,都有助于减缓网站受到这类攻击的现象。此外,时下网站服务采用电子邮件信箱作为账号名称的情况相当普遍,容易让使用者设定出完全相同的账号和密码情况发生,因此,在OWASP的建议事项里,也认为网站账号名称的规则里,企业应该舍弃使用电子邮件信箱的格式。

至于在增加身份验证流程的复杂程度之外,也有其他进阶的保护措施,让机器人难以重复填入账号和密码,但又不会影响一般使用者操作的流程。那就是将网页的部分或是全部程式码,进行混淆,甚至有些防护措施的机制中,只要用户端重新载入网页,便又重新传送再次处理过的程式码,使得机器人想要在相同的网页程式码字段中,填入账号与密码的位置,变得无从执行,而达到防范的效果。

若是要从预防的角度下手,除了IP地址的黑名单之外,企业也可以收集外泄账号的情资,及早发现可能处于被骇危机的使用者账户。

OWASP建议网站缓解账号填充攻击的方式

在防范账号填充攻击的做法上,OWASP提出了具体的建议措施,并依据可行性区分成主要和次要等2种,该单位也指出,部分措施与防治暴力猜测密码的方法有交集之处,因此企业并非完全没有防范账号填充攻击的能力。

重要性 可用的建议措施
主要作法

1. 采用多因素验证
2. 使用CAPTCHA验证
3. 封锁IP地址黑名单
4. 采集装置指纹
5. 弃用电子邮件信箱做为账号名称

次要做法

1. 采用多重步骤登入程序
2. 封锁无使用者界面(Headless)浏览器
3. 禁用已被骇的密码
4. 出现异常存取时通知使用者

资安厂商已有意识,但真正在商用产品纳入相关防护者却少之又少

上述由OWASP提出的各种做法,究竟要如何落实?或许,网站管理者可以从现有的防护措施中,加强网站存取的监控,或是采用双因素验证等措施,强化网站防护能力,而我们询问开源软件的专家,他们也提供了一些建议。

我们也向企业级的资安厂商询问,要求他们提出因应账号填充攻击的方法,诡异的是,许多厂商却避而不谈,只有少数业者真正将账号填充攻击视为重要的防护项目,且推出商用产品或是纳为解决方案重要功能,令我们感到相当意外。面对这样的局面,也使得企业无所适从,因为,就算想要采买能够防御账号填充攻击的资安产品,实际可选择的厂牌并不多。

因此,有关的资安业者应该要加紧脚步,赶快研发有关的防护机制,并实际在产品中提供这些功能,而非让资安厂商的沉重呼吁成为纸上谈兵,不能继续让企业网站的维护者只能采取东拼西凑的做法,自行想办法土法炼钢,打造出各种保护措施。

2019-06-07 09:56:00

相关文章