最新消息:

业务系统异常行为检测

安全知识 admin 1206浏览 0评论

转自:http://www.youxia.org/yewu-yichang-jiance.html

针对近年流行的盗号扫号、灌水、恶意注册等业务安全威胁,本文提出基于用户行为的一些异常检测方法。

2011年12月21日下午,某著名IT社区后台数据库被恶意发布到互联网上,包含642万多个用户的帐号和明文密码信息。截至12月29日,国家 互联网应急中心(CNCERT)通过公开渠道获得疑似泄露的数据库有26个,涉及帐号、密码2.78亿条。其中,具有与网站、论坛相关联信息的数据库有 12个,涉及数据1.36亿条;无法判断网站、论坛关联性的数据库有14个,涉及数据1.42亿条。

2014年12月25日,某网站大量用户数据在互联网上售卖传播,包含13万余条账号密码、手机、身份证号、邮箱等私密信息。经公安证实,犯罪嫌疑 人蒋某某、施某某通过收集互联网某游戏网站及其他多个网站泄露的用户名加密码信息,尝试登录该网站等其他网站进行“撞库”,非法获取用户信息牟利。

上面这两个案例都与用户数据安全紧密结合,区别是:第一个案例是由于网站自身存在安全漏洞,数据被直接批量获取;第二个案例中的数据泄漏并非是网站自身漏洞导致,但作为网站运营方,也应当在攻击过程中尽早发现异常,及时阻断恶意行为。

要实现上述恶意行为的检测,需要构建一个用户异常行为检测系统,对用户的历史行为进行分析和学习,当系统识别到某次操作行为与历史数据有很大偏差后,能够向网站运营人员及时提供告警。

下面是该系统的一个典型应用:

某交易平台在处理客户海外信用卡支付申请时发现一笔交易可疑。客户使用信用卡支付,IP所在地是香港,而信用卡发卡地是美国加州,此信用卡前一天刚 在美国境内进行过网上支付。此次支付金额超过1000美元,而历史交易的平均金额都在100美元左右。此交易被系统判定是异常交易从而触发了告警,中断了 交易,客服随即通过电话联系持卡人,最后确认是一起信用卡被盗事件。

业务安全威胁

常见的业务层面安全威胁有以下几种:

盗号洗号:在经济利益驱使下,恶意用户使用木马等手段盗取帐号后,使用程序或者手工的方式,批量对盗取的帐号和密码的有效性进行检测,然后将账户内的资金转移。

扫号撞库:恶意用户在盗取了某网站的帐号密码信息后,使用这些数据再尝试登录其他网站,因为很多用户在各大网站的密码都相同,所以此方法可获得大量有效帐号密码。

垃圾信息:网上存在大量网络水军,受雇于网络公关公司,为他人发帖回帖造势,以发帖量来获取报酬,严重影响网站的正常运营。

抓取数据:很多网站为了商业目的,会使用程序批量抓取竞争对手的数据,例如商旅网站会抓取竞争对手的机票价格;文学网站会抓取其他网站的原创作品。

漏洞扫描:网络上存在大量未授权扫描行为,其中有些来自于蠕虫,也有些来自恶意用户,这些扫描会产生大量网络流量,可能会严重影响网速和网站稳定性。

点击欺诈:很多网站会开展投票或者点击广告赚金币的业务,有人为了拉选票,使用自动化程序,进行大量投票,这些行为会严重违反投票结果的公平性。

异常检测原理

设备指纹

客户端生成一个唯一的ID,此ID与客户端硬件绑定,用户访问时和其他业务数据一起提交给服务端,服务端保存有客户端ID与用户的历史映射关系。当系统检测到当前某一客户端ID与大量用户存在绑定关系,即某用户在同一台电脑上操作大量帐号,则增加异常行为的判定分数。

地理位置

分析平台会记录每次操作的来源IP,识别归属地,当系统检测到某次交易的来源IP归属地和历史数据偏差较大时,则增加异常行为的判定分数。

历史交易

分析平台会记录每次操作的时间、金额等信息,当系统检测到某次交易的数据与历史数据偏差较大时,则增加异常行为的判定分数。

用户属性

分析平台会记录并分析用户的IP、手机号、电子邮箱等信息,当系统检测到多个用户使用相同的手机号等信息时,则增加异常行为的判定分数。

用户画像

分析平台会记录用户访问时的键盘敲击频率、鼠标移动速度,点击位置偏好等信息,当系统检测到到某次交易的用户画像和数据库中不符时,则增加异常行为的判定分数。

代理检测

分析平台维护一张代理服务器IP列表,数据从互联网获取和定期更新,并可以在业内分享。当系统检测到某次交易的IP与代理服务器列表匹配,则增加为异常行为的判定分数。原因是正常用户使用代理服务器进行交易的情况不多见,很多情况下用户使用代理服务器的目的是隐藏自己。

失信名单

分析平台维护一张失信名单,包含频繁产生欺诈行为的设备ID、收货地址等信息,此列表可以在业内进行分享。当系统检测到某次交易的信息与失信名单中数据匹配,则增加异常行为的判定分数。

数据采集方式

应用程序日志

分析平台在web服务器上采集应用程序日志,其中包含用户属性、业务操作等信息,例如登录帐号、源IP、sessionid、操作结果等。

jinglingshu_2015-08-29_04-52-01

记录和保存应用程序日志可以使用log4开发框架,支持Java、.Net、PHP等多种主流语言,可以配置记录级别,输出格式和输出容器,如下图所示。

jinglingshu_2015-08-29_04-52-02

优点:此方法方便灵活,除了处理当前数据外,还可以处理任意历史数据。

缺点:由于需要采集应用程序日志,可能需要增加系统开发工作量。

javascript代码

需要在关键网页中引入javascript脚本,作用是将登录帐号、源IP、订单信息等关键数据通过ajax请求发送到分析平台的接口,采集过程中不会影响用户的页面显示和业务操作。

jinglingshu_2015-08-29_04-52-00

优点:数据收集灵活,不需要改动应用程序代码,对访问者追踪准确。

缺点:植入的javascript脚本可能会增加浏览器负荷。

流量镜像

在核心交换机上配置端口镜像,将所有用户访问数据发送到分析平台。

jinglingshu_2015-08-29_04-52-021

优点:数据采集方便,获取的原始用户访问数据,跨域监测方便。

缺点:建设初期成本较高,需要对大量数据进行实时处理。

数据处理流程

分析平台可以根据自己的实际情况,选择前面提到的三种方法之一,来采集了访问数据,数据处理流程如下图所示:

jinglingshu_2015-08-29_04-52-001

分析平台首先对采集到数据进行清洗,筛选出需要的部分,然后将数据放入消息队列,以减缓系统处理压力。实时计算模块从消息队列中取出数据后进行分 析,并将分析的结果存入数据库,最终运营人员可以通过控制面板查看到分析结果,进行下一步操作,例如取消一笔异常交易订单,将检测到的恶意IP加入防火墙 阻断列表。

交易异常判定

为了降低误报率,使用打分制判定交易异常,某次交易过程如下图所示:

jinglingshu_2015-08-29_04-52-002

用户提交订单后,分析平台会获取订单相关数据,例如订单金额、支付方式等,进行订单跟踪;当用户为订单支付时,分析平台会获取支付相关数据,例如卡 号、支付结果等,进行支付跟踪。通过对整个交易过程中多个环节的数据分析,系统会进行评分,商户可以根据系统评分来判定此交易是否是异常交易。例如异常指 数大于90时,系统建议拒绝订单;小于10时,系统建议通过订单。商户最终进行判定后,分析平台会获取订单结果,进行学习改进,为后续评分进行指导。

作者:绿盟科技 姚伟

转载请注明:jinglingshu的博客 » 业务系统异常行为检测

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址