随着企业逐渐将应用程序转移至云端,并通过应用程序编程接口(API)暴露各种功能,网络罪犯也纷纷快速转向利用这一新暴露出来的攻击界面。借助机器爬虫,黑客能够大幅增加其攻击的波及面和有效性。与许多新技术的情况类似,安全再一次滞后了。
管理咨询公司AArete技术实践总经理John Carey称,问题在于企业必须合理安排其安全预算。客户通常是看不到反机器爬虫技术方面的投入的。他说:“工具和技术稀缺,而且越来越贵。同时,由于是个有利可图的犯罪领域,威胁范围也正在扩大。”
针对API的机器爬虫攻击问题愈趋严峻
今年早些时候,安全公司Radware和研究公司Osterman Research发布了一份报告,指出2020年有98%的企业遭受过针对其应用程序的攻击,82%报告称遭到恶意程序攻击。最常见的攻击类型是拒绝服务(DoS),86%的企业都经历过;网络爬虫攻击次之,84%的企业遭遇过;账户劫持则有75%的企业报告过。
受访企业中55%将API安全当做“首要工作”,59%表示要在2021年“大力投资”API安全。仅四分之一的企业表示用过机器爬虫程序管理工具。至于明年,59%的企业计划大力投资API防护,51%打算投入Web应用防火墙,但仅32%考虑投资反爬虫管理工具。此外,仅52%的企业将安全完全集成进API持续交付,而集成进Web应用的比例则是63%。
情况只会越来越糟数字经济保护委员会(CSDE)、消费技术协会和美国电信协会(USTelecom)3月的一份报告指出,由于2025年物联网设备的数量预计可达到800亿,相当于全球人口数量的十倍,机器爬虫的破坏潜力也将随其利用物联网设备而呈指数级增长。API是很容易得手的目标,因为企业可以通过API将后端数据和功能暴露给可信合作伙伴、客户和公众。CSDE建议采用API网关来辅助抵御恶意机器爬虫。
根据安全公司GreyNoise Intelligence的数据,在过去三个月里,有超过6800个IP地址一直在扫描互联网上的ENV文件(用于存储数据库登录凭证、口令和API令牌的配置文件)。GreyNoise研究主管Nathan Thai透露,这些扫描流量中,1.4%已知呈良性。“一些安全公司会扫描这些文件,他们没有恶意,只是在做调查或者编撰报告。”
另外23%的流量就是恶意的了,因为相同的IP地址还参与了其他可疑行为。剩下75%归属未知类别,可能是无害的研究,也可能是网络罪犯在执行被动监视,好根据监视情况通过其他渠道做别的坏事。Thai称:“通常情况下,他们会一次做完,因为他们根本不在乎会不会被逮到。”最大的流量来源是哪儿呢?云托管提供商Amazon、Linode、微软、阿里巴巴和DigitalOcean。
而且这种活动还在升级。过去六个月来,执行机会性ENV爬取的机器爬虫的活动规模直接翻了个倍。Imperva的《2021恶意僵尸网络报告》揭示,恶意机器爬虫如今占据了所有网站流量的四分之一,相较于去年上升了6%,而且三分之一的登录尝试都是恶意的。
更糟糕的是,恶意爬虫程序还越来越智能了。Imperva应用安全战略总监Edward Roberts表示:“更难以检测和阻止的高级僵尸程序构成了去年恶意爬虫流量的主体。”这种恶意程序是造成API高速滥用、误用及攻击的根本原因。随着API数量每年成倍增长,恶意黑客也有了更多途径来入手敏感数据。
如何利用针对API的机器爬虫攻击
佛瑞斯特研究所首席分析师Sandy Carielli表示,爬虫程序常用于凭证填充攻击,也可用于库存囤积。她说:“当限量版运动鞋、音乐会门票或最新游戏系统等抢手商品开始发售时,机器爬虫会抢在合法人类用户之前一拥而上,瞬间抢光库存。”然后爬虫程序运营者就可以转售这些商品牟取暴利了。
Carielli表示,企业也会使用机器爬虫。“不道德的公司会用爬虫程序从竞争对手的网站上爬取价格,然后将自己的价格设得略低一点,或者爬取高端产品的产品信息和图片,再用在自己的网站上兜售假货。”
DDoS工具和Web应用防火墙防不住所有类型的爬虫程序攻击。企业需要专用的反爬虫程序管理解决方案。Carielli称:“注意,爬虫攻击合法业务逻辑。你不是要阻止所有人登录或购买产品,而是只阻止恶意爬虫。”
看一家银行是如何对抗恶意爬虫的
一家中型金融机构的网络安全技术经理Jeff表示,被阻止的流量中85%都来自恶意爬虫程序。其余15%要么是地理封禁的登录尝试,要么是合法人类用户尝试太多次登录,或者使用了过时代理或应用。
不是所有机器爬虫网络流量都会被阻止。有些流量来自良性爬虫程序。Jeff称:“我们与Quicken和Mint等其他金融机构和聚合器合作。从某种意义上讲,这些都是爬虫网络,因为这就是在多个站点执行多项功能的API。恶意爬虫程序则只要能切进来就可以造成大量破坏。最糟糕的情况是,恶意爬虫程序能够冒充用户,收集该用户的财务信息。”
网络罪犯也能以其他方式利用机器爬虫网络。例如,他们可以利用网页爬虫找出哪家银行提供最佳费率,然后创建账户用来洗钱。Jeff表示:“你会发现有机器爬虫网络不断利用真实账户转移资金,只不过是以自动化的方式转移。网络罪犯还会利用机器爬虫网络来绕过限制。他们可能位于受限制的国家,将机器爬虫网络设在不受限国家的云提供商处,从而绕开合规监管。”
为识别机器爬虫程序,Jeff所在的公司审查机器人程序的用户代理名称和IP地址。如果是已知恶意IP地址,就立即阻止。然后查看其与API的交互方式,查找cookie或会话重放、异常行为模式和其他可疑行为的迹象。
Jeff称:“如果请求的第一个页面是账户状态页而不是登录页面,那就不正常了。假设我们知道某账户持有者是个22岁的大学生,每两周周五会存入200美元,而现在开始每周几次存入大量现金,那事情就不对劲了。”
Jeff拒绝透露银行内部使用了什么工具来识别恶意行为。而在外围边缘,他们采用Salt Security。该工具的人工智能和机器学习大幅减轻了内部安全团队的工作量。
只要发现一起机器爬虫程序攻击,往往该攻击中的所有请求都有某种共性,比如相似的请求构造模式,或者共同的源地址,或者都使用同一个代理。Salt Security首席产品官Elad Koren称:“如果是合法请求,就会按一定顺序进来。”这样就可以使用通用参数识别同属于该攻击的其他流量,或者标记目标账户以加强安全防护。Koren表示:“机器爬虫网络通常只是攻击的一部分。加上账户劫持,一拿到登录凭证,他们就能借助更高级的工具深入进来,卷走资金。”
常用机器爬虫网络检测技术
Radware和Osterman Research的调查研究显示,Web应用防火墙(WAF)是检测机器爬虫流量最常用的技术,48%的企业都使用这种技术。此外,47%的企业查找已知恶意IP地址,43%使用全自动区分计算机和人类的图灵测试(CAPTCHA),34%采用速率限制,26%构建自有解决方案,仅24%使用专用反机器爬虫程序技术。
Constellation Research副总裁兼首席分析师Andy Thurai称:“只要实现得当,CAPTCHA非常有效。我们知道,抵御机器爬虫程序的成功率高达90%。一般说来,视觉处理挑战非常有效,需要人脑来解决。”
速率限制和WAF也很有效。Thurai表示:“实现得当的API安全应当按用户、位置和身份限制API使用的速率,或者阻止不受支持的协议、调用方式或可疑包头或内容。”专用机器爬虫程序防御解决方案还会监测规模、签名、地理频次和流量内容等流量特征。
区分良性机器爬虫程序和恶意机器爬虫程序很有必要。例如,大多数客户通信都迁移到了聊天机器人等机器人程序上了。所以,任意给定时间上都有大量良性机器人程序流量流经网络。模式识别有助于区分这二者。
反恶意爬虫供应商
佛瑞斯特研究所去年发布的相关报告显示,反机器爬虫程序管理领域的市场领导者是Netacea、PerimeterX、Akamai Technologies和Imperva。国内的主流厂商为大型公有云厂商,如阿里云、腾讯云,以及一些专注该细分领域的公司,如瑞数信息、星阑科技等。
参考阅读
API安全成企业当务之急
API安全测试:主动识别API漏洞
剑指API经济蓝海 星阑科技重磅推出API安全新品
瑞数信息完成C+轮1.3亿元融资 | 加大“AI+动态安全“投入布局千亿级中国信息安全市场