APP下载

基于大数据平台的用户行为分析研究

2016-09-21李嘉彬施勇薛质

信息安全与通信保密 2016年4期
关键词:字段IP地址用户

李嘉彬,施勇,薛质

(上海交通大学电子信息与电气工程学院,上海200240)

基于大数据平台的用户行为分析研究

李嘉彬,施勇,薛质

(上海交通大学电子信息与电气工程学院,上海200240)

近年来,大数据分析已经成为了越来越多企业、政府和各类组织所钟爱的重要技术,通过对体量巨大的网络数据信息进行分析可以直观、有效地描绘出互联网个体的上网行为轨迹。本文介绍了一种基于对网络数据报文进行分析的大数据分析方法,进一步得到网络用户群体的行为方式以及行为趋势预测,从而为改善政府民生治理、企业商业运营以及网络安全管理等领域提供有价值的信息参考。

大数据;用户行为分析;网络数据报文;行为趋势预测;网络安全管理

0 引言

近年来,大数据分析已经成为了越来越多企业、政府和各类组织所钟爱的重要技术,通过对庞大的数据流量进行分析能够有效地描绘出用户的习惯、爱好、消费水平、上网的活跃时间等等信息,进一步构建出用户的行为模型,以更好地对消费者或用户行为进行预测、设计出更加优化、便利的系统。

大数据分析不仅在民生信息统计[1]、消费者行为预测等领域十分活跃,也是互联网安全领域的一大利器。安全部门可以通过对网络用户的日常上网行为进行分析,对异常流量进行实时辨别与监测、企业也可以通过分析用户对服务器的海量访问数据来归纳正常用户模型,进而对经常出现的恶意访问行为进行过滤或拦截;或对个人用户进行长时间的跟踪统计,进而研究出完整的单一用户行为模型,并对多个用户的模型进行比对,归纳出更为丰富的行为分析结果……因此,如何设计一套行之有效的基于大数据平台的用户行为分析方法与系统成为重中之重。

1 使用大数据平台的合理性分析

随着互联网应用的迅猛发展,网络、数据等概念已经十分紧密地耦合于人们的生活、学习和工作中。一个大学生使用移动设备一天产生的数据流量可能高达数百兆、一家中小型公司一天产生的网络日志动辄几十G、而似社交网站Facebook这类社交网站的用户每天发出的日志以及分享的资料更是不计其数,数据量已经达到PB级别……在这种超大体量的数据海洋面前,传统关系型数据库已经难以做到流畅地读写与存储数据、传统的单机数据分析系统也无法高效地完成数据分析工作。针对上述超大体量的数据,业界以4V特性——海量性(Volume)、多样性(Variety)、实时性(Velocity)和低密度性(Value)——对大数据进行了定义。

数据挖掘技术可用于对大量数据进行分析处理,并且已经发展了很长时间,但是并不能用于解决4V问题,主要原因在于海量数据的存储以及大规模的运算所需要的成本过于高昂。

在以前,解决一些跨学科的、极富挑战性的、人类急待解决的科研课题是非常困难的。其中较为著名的有:

1.解决较为复杂的数学问题,例如:GIMPS(寻找最大的梅森素数)。

2.研究寻找最为安全的密码系统,例如:RC-72(密码破解)。

3.生物病理研究,例如:Folding@home(研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。

4.各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效的药物)。

5.信号处理,例如:SETI@Home(在家寻找地外文明)。

这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的,需要解决这些问题应该且只能由超级计算机来解决。但是超级计算机的造价和维护非常昂贵,这不是一个普通的科研组织或者商业公司所能承受的。

为应对这类需求,分布式的思想应运而生,成为了一套行之有效的大数据解决方案。分布式思想主要包括分布式数据库以及分布式算法两个方面:

分布式数据库是指利用高速计算机网络将物理上分散的多个数据存储单元连接起来组成一个逻辑上统一的数据库。分布式数据库的基本思想是将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上,以获取更大的存储容量和更高的并发访问量。

分布式算法是局部算法的集合。在解决一个需要非常巨大的计算能力才能解决的问题时,首先将价格低廉的服务器(甚至是个人主机、笔记本电脑)的计算能力动态地聚合起来建立成一个庞大的计算集群,再通过分布式算法将问题划分成许多小的部分,然后把这些部分分配给集群中的各节点进行单独处理,最后把这些计算结果综合起来得到最终的结果。这套方法不仅在成本上比以往组建超级计算机或超级计算阵列等方式廉价许多,在时间开销上也由于超高的并发性得到了长足的优化。

现在,在大量成熟的第三方开源工具(如ElasticSearch、MongoDB、Hadoop等)的支持下,通过部署计算机集群、安装大数据分析工具并针对自身需求进行配置后,就可以得到一套基础的大数据分析平台。分布式的存储和计算可以确保数据的海量性与实时性得到完美解决,而非结构化的数据库存储则在提供可扩展性的同时也解决了数据多样性的问题。最后的低密度性,则需要通过人工地进行数据建模与定义以及制定数据查询策略来解决。

2 用户行为数据的分析方法

对于平台中用户的行为主要可以通过对网络数据包的数据字段进行分析、拆解与重组来刻画[2]。有用的常见字段如表1给出。

可以根据表1提供的信息,简单地描述一个数据包于何时从何处发往何处、请求或响应了什么样的数据,根据实际的需求,还可以对http包的正文内容进行进一步的采集和分析(如通过标签提取出访问页面的标题),从而使对用户的行为分析更加精细化[3]

表1 网络数据包中的常见字段与含义

根据上述数据定义,可以总结出归纳出如图1所示的关系模型:

图1 用户(群)行为分析关系模型

对于用户的分析总体分为两类,一类是用户属性描述,该类分析描述了用户的一些具体属性,如:消费水平、最关注内容等;另一类是用户行为描述,该类分析描述了用户的某类趋势或习惯,如:数据包的时间与空间分布、访问对象的群体分布等[4]。

第一类描述可以帮助分析师刻画用户(个体或群体)的形象,进而为用户(群)进行分类或归纳;第二类描述则动态地展示了用户(群)的阶段性特点,可以帮助分析师了解用户的行为模式。在具体的行为分析中,需要将两类描述相互结合,才能得到完整的用户行为刻画结果。以下给出基于表1定义的字段的行为分析方法。

2.1 面向整个网络平台的分析方法

面向全平台的分析,可以刻画出一个或多个用户群体的行为轨迹,或通过归纳众数群体的数据特征得出用户群体的行为模式。

2.1.1 主要被访问域名的群体分布

分析目的:通过对平台内用户访问的目标站点进行排序,得出最受用户欢迎的站点列表。

分析策略:通过对Host字段进行聚合,按照聚合结果降序排列,得到所有被访问的域名列表。可以通过该结果得到平台内全体用户最热门的访问站点。

2.1.2 移动终端设备

分析目的:通过对平台内用户使用的移动终端设备进行分析,得出当前用户普遍使用的设备品牌或类型。

分析策略:通过对User-Agent字段进行过滤,按照结果降序排列,得到结果。

2.1.3 页面访问内容

分析目的:通过对平台内用户总体访问的网页内容进行统计,得出当前用户群体最关注的热点内容。

分析策略:通过对Title字段聚合,结果按降序排列得到所有被访问页面的标题,并通过正则表达式过滤去除了结果中诸如“404 Not Found”、“302 Found”等于分析无意义的结果。

2.2 面向单一对象的行为刻画分析方法

除了面向整个平台进行群体性用户行为描述,还可以通过指定源、目的IP地址、源、目的MAC地址等方式将研究对象转为面向单一对象进行行为刻画。通过这种方式,可以精确、有效地描绘出具体的某个用户的完整行为模式,从而实现更加具有针对性、准确性的用户行为分析。

可以根据已有的攻击模型对用户行为进行进一步的比对:如在时间上周期性地对某对象进行访问、或持续性地对某对象进行访问、或大量的对某对象发出特定的(尤其是非标准的)网络数据请求等,则可将该源IP列为重点观测对象,查看是否确实存在网络攻击行为。

2.2.1 针对单一IP的网络流量在时间上的分布进行监测

分析目的:通过对某源IP地址发出的请求报文进行分析,检查数据流在时间分布上是否存在异常数据流,进而对可能存在的异常网络行为进行监测。比如,抓取用户在每周一的网络流量分布,如果某个周一的某时段网络流量远高于其他周一该时段的流量,则认为在这一天该用户的网络访问出现异常情况,可将该源IP列为观测对象,查看是否确实存在网络攻击行为。

分析策略:首先对时间戳字段timestamp按照Date Histogram方法进行聚合,将分组级别设置为周级(weekly),并设置观察的起讫时间区间(可选)。之后迭代一层聚合,继续对timestamp字段按照Date Histogram方式进行聚合,此时分组级别设置为小时(hourly),最后迭代一层过滤器,指定需要观察的用户。如,以src_ip字段作为过滤标志,最终得到从某源目的IP发出的所有网络数据请求按时间的分布结果。

2.2.2 针对单一IP的网络流量在空间上的分布进行监测

分析目的:通过对某IP地址的访问趋势进行对比,通过发现数据流在空间分布上是否存在异常数据流,进而对可能存在的异常网络行为进行监测。如,某IP的常规访问群体分布在某些IP地址组成的集合内,当某一次分析时突然出现了大量该集合之外的新IP地址或IP地址群,则可认为可能出现了由这些新IP地址(群)发起的对该IP地址的网络攻击。

分析策略:首先对时间戳字段timestamp按照Date Histogram方法进行聚合,将分组级别设置为周级(weekly),并设置观察的起讫时间区间(可选)。之后迭代一层聚合,继续对Host字段按照Terms方式进行聚合,筛选出统计结果前十的访问域名,最后迭代一层过滤器,指定需要观察的用户,本例以src_MAC字段作为过滤标志,最终得到了通过某源MAC地址发出的所有网络数据请求按空间的分布结果。

2.2.3 单一用户的搜索引擎使用偏好分析

分析目的:通过对用户的搜索引擎使用情况进行分析,了解用户的搜索引擎使用习惯与偏好。

分析策略:通过对常用搜索引擎的URL进行汇总,并在查询语句中利用Filter方法对Host字段进行过滤,并迭代筛选出指定用户的数据,得到结果。

2.2.4 单一用户的最关注的视频排序

分析目的:通过对某源IP地址对视频网站的访问进行统计,获得其最常浏览的视频网站或视频进行聚合,从而分析出其浏览习惯。

分析策略:首先对Title字段进行聚合,得到站点标题组成的结果集,在此基础上对Host字段迭代过滤器,筛选出来自视频网站的数据包,最后再次迭代过滤器筛选出制定用户的数据,得到结果。

3 基于大数据平台的用户行为分析方法与分析系统设计

3.1 基于大数据平台的用户行为分析方法

基于大数据平台的用户行为分析[5],指的是基于大数据平台的分布式存储与分析技术支持,通过对平台覆盖范围内的所有用户产生的海量网络数据报文或服务器产生的日志文件进行高效快速地采集、过滤、筛选和分析,并从分析结果中得到用户数据与用户行为之间的关系,从而总结出分析师所需要得到的行为模型或行为趋势。

图2 大数据分析步骤与大数据分析系统

行为模型可以包括用户的上网习惯、偏好、消费模式、作息规律等结果;行为趋势可以包括区域(平台)内数据流量走向趋势、某(或某些)网站(或应用)的使用率走势、异常行为发生总量变化趋势等。

3.2 基于大数据平台的用户行为分析系统设计

本文设计的基于大数据平台的用户分析系统通过对大数据平台提供的海量数据进行大规模数据处理,根据实际需求以及具体应用环境设计过滤条件与分析策略,最终实现对平台内所有用户发生的网络数据报文进行分析,提供有效、实用的可视化数据报表[6]。

系统通过抓包工具在各个节点处捕获数据流,并通过Hadoop平台进行分布式处理,将数据存入HBase数据库中。每一次在分析师指定的时间间隔后,分析系统开始运行,将HBase数据库中的数据利用转储工具进行格式转换为JSON格式文件。

将JSON文件批量导入开源的大数据处理工具并通过Web页面在前端进行可视化的结果展示。

图3 数据可视化呈现框架效果展示

4 用户行为分析系统测试与分析

4.1 实测:面向整个网络平台的结果分析

4.1.1 主要被访问域名的群体分布

图4 主要被访问域名群体分布分析结果

由上图可以看出,平台内用户访问最多的站点是“搜狐”,占比约40%。

4.1.2 移动终端设备

图5 移动终端设备使用情况分析结果

由上图可以看出,平台内用户使用最多的移动设备是iPhone,占比约46.45%,其次是小米,约占24.33%。

4.1.3 页面访问内容

图6 页面访问内容的分析结果

由上图可以看出,平台内整体流量中占比最高的页面内容是某购物网站的“客户订单产品”页面,其次是“订单出库”页面。

4.2 实测:面向单一对象的行为刻画

4.2.1 针对单一IP的网络流量在时间上的分布进行监测

图7 网络流量在时间上的分布情况分析结果

由上图可以看出,IP地址为“10.161.35.249”的用户在2016年1月17日(周日)至2016年1月24日(周日)的时间段内,工作日期间,上网最频繁的时间段是23时至次日6时左右,而在9~17时期间几乎没有网络数据流量产生。双休日时,在22时以前,网络数据流量都非常多,由此可见该用户应该运行着一些持续后台联网的程序或应用,并且用户的上网活跃期在午后。

4.2.1 针对单一IP的网络流量在空间上的分布进行监测

图8 网络流量在空间上的分布情况分析结果

由上图可以看出,MAC地址为XXXX的用户最常访问的站点是int.ott.greatv.cn、www.baidu.com、192.168.50.134等三个站点。1月18日出现了相对大量的对101.226.141.199的访问,可以对上述对象进行进一步分析,验证是否有针对10.226.141.199的网络安全事件发生。

4.2.3 单一用户的搜索引擎使用偏好分析

图9 搜索引擎使用情况分析结果

由上图可以看出,IP地址为10.226.141.199的用户最常使用的搜索引擎是百度搜索引擎,占比高达99.76%,其次是搜狗搜索引擎,占比0.15%。

4.2.4 单一用户的最关注的视频排序

图10 视频浏览情况分析结果

由上图可以看出,IP地址为“10.161.35.249”的用户最常观看的视频为“中经在线”。

5 结语

大数据的分析本质上可以划分为两种类型,一是对现在已发生的数据进行总结,发现规律;二是对过往的数据进行归纳,预测未来的发展趋势。大数据分析以其体量大、数据全、分析快等特性,已经成为行业共识,是未来发展的必然趋势[7]。

本文介绍了一种基于对网络数据报文进行分析的大数据分析方法,通过直观的图表展示方式进一步得到网络用户群体的行为方式以及行为趋势预测,从而为改善政府民生治理、企业商业运营以及网络安全管理等领域提供有价值的信息参考。

本文得到的结果可以广泛的运用于各类实际应用的场景中,并可以通过对数据报头以及非加密的数据报文进行较为准确的用户行为分析和统计结果,然而对加密传输的报文或者通过隐蔽信道进行传输的信息还缺乏合适的分析手段,这将是下一阶段尝试攻克的课题。

[1]张璐,李晓勇,马威等.政府大数据安全保护模型研究[J].信息网络安全,2014(5):63-67.

[2]姜开达,李霄,孙强.基于网络流量元数据的安全大数据分析[J].信息网络安全,2014(5):37-40.

[3]陈臣.基于大数据的图书馆个性化服务用户行为分析研究[J].图书馆工作与研究,2015(2):43-45.

[4]胡宇辰,郭宇.基于沙漏模型的移动互联网用户行为分析[J].管理世界,2013(7):184-185.

[5]任思颖,基于大数据的网络用户行为分析[D].北京邮电大学,2014.

[6]陶彩霞,谢晓军,陈康等,基于云计算的移动互联网大数据用户行为分析引擎设计[J].电信科学,2013(3):32-35。

[7]陈建昌.大数据环境下的网络安全分析[J].新聚焦,2013(17):13-16.

User Behavior Analysisbased on Big Data Platform

LI Jia-bin,SHI Yong,XUE Zhi
(School of Electronic Information and Electrical Engineering,Shanghai Jiao Tong University,Shanghai 200240,China)

Big data analysis becomes an important technology for more and more enterprises,governments and various associations.By analyzing the huge quantity of network data,the users’ internet behavior could be vividly and effectively traced out.A method of big data analysis method based on processing the network datagram is proposed,and the behavior of network users could be further acquired and the behavior trend also forecasted,thus providing valuable references for better governance of people’s livelihood,enterprise operating and security management.

big data; user behavior analysis; network datagram; behaviortrend forecast;network security management

TP309 [文献标志码]A [文章编号]1009-8054(2016)04-0087-05

2016-01-28

信息网络安全公安部重点实验室基金(No.C14612)

李嘉彬(1992—),男,硕士,主要研究方向为大数据分析、网络攻防;

施勇(1979—),男,博士,讲师,主要研究方向为网络安全、网络攻防;

薛质(1971—),男,博士,教授,主要研究方向为网络安全、网络攻防。

猜你喜欢

字段IP地址用户
图书馆中文图书编目外包数据质量控制分析
铁路远动系统几种组网方式IP地址的申请和设置
公安网络中IP地址智能管理的研究与思考
关注用户
关注用户
关注用户
《IP地址及其管理》教学设计
如何获取一亿海外用户
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述