基于社交网络大数据线索分析平台研究及应用

2018-10-15 08:07钱汉伟吉文元
关键词:爬虫社交信息

钱汉伟, 袁 明, 吉文元

(1.江苏警官学院计算机信息与网络安全系, 南京 210031;2.南京市公安局浦口分局网络安全保卫大队, 南京 211899)

0 引言

随着互联网的广泛应用以及网络社交平台的迅速发展,越来越多的人通过微信、QQ等网络社交工具跟他人交流或分享自己的生活经历,结交认识更多的朋友。据统计,2017年上半年,微信月活跃用户达到了9.63亿[1],超过60%的用户每天使用时长达到90分钟以上。与此同时,越来越多的犯罪嫌疑人利用社交网站或者软件从事违法犯罪活动,网络犯罪受害人群数量逐年增加。依托网络实施传销违法犯罪活动多发,传销犯罪尤其是以“虚拟货币”“金融互助”“微商”“爱心慈善”等为幌子的新型网络传销犯罪活动成蔓延的势头。社交网络成为犯罪嫌疑人的重要工具和交流平台,互联网成为了打击犯罪的新的战场。因此采集公开的社交网络大数据信息,建立各类犯罪模型,挖掘数据潜在价值和规律,识别异常特征的可疑人群,实时跟踪分析犯罪嫌疑人活动对打击犯罪,维护社会稳定是非常必要的。

鉴于互联网社交网络大数据对警务实战的重要性,研究开发了一种基于社交网络大数据案件分析平台,目前该平台已在南京市公安局浦口分局等地公安机关上线使用,主要用于协助网络安全保卫部门侦查社交网络犯罪线索。平台的应用为充分利用公开社交网络数据,辅助公安机关办案,预防和打击犯罪问题提供了一种较为有效的解决方案。

1 平台总体方案

1.1 平台功能

(1)案件管理。案件管理可以提供案件和线索的管理功能。案件是组织线索的基本单元,文字、图像、视频、音频、位置等多种形式的线索通过案件串联起来。系统能够分析线索虚拟身份特征,发现串并案件,扩大线索来源,挖掘嫌疑人更多相关信息,在人工干预下将更多的线索与案件进行关联。线索展现提供可视化操作,能够更直观协助侦查人员对案件进行研判。

(2)嫌疑对象。嫌疑对象功能可以提供监控对象名单的增加和删除。系统将特定社交账户加入嫌疑对象列表里,系统对嫌疑对象进行重点监控实时跟踪。采集到嫌疑对象相关信息并且当嫌疑对象行为触发预警条件时,平台将展示预警提示。嫌疑对象支持LBS地理位置信息时,可以根据时间序列还原对象的活动轨迹。

(3)大数据采集。大数据采集提供数据抓取和抓取规则配置的功能。网页爬虫[2]根据论坛、贴吧等指定网络地址抓取网页内容,并抽取出需要的属性内容。社交APP爬虫按照指定规则加入各类的聊天群组,获取聊天信息和群组发布信息并保存。如果设置电子围栏,当社交APP在设定的电子围栏区域公开发布社交信息时,社交APP爬虫还可以获取其发布的日志、照片、位置等信息。

(4)综合查询。综合查询提供对采集数据进行智能搜索的功能。根据关键字、网络虚拟账号等条件对采集的大数据进行全文搜索,相关线索按照关联程度、数据采集时间等顺序用列表展示出来。用户还可以根据列表展示信息,进一步链接到抓取的原始详细数据。

(5)数据源管理。数据源管理提供外接数据源配置的功能。对本地人口库、本地车辆库,前科人员库、水、电、气等对外接入的社会面信息数据源进行数据新建、同步、修改和删除等管理维护。为跨平台的数据源设置ODBC、JDBC等统一的访问模式和接口。

(6)数据模型管理。数据模型管理提供大数据模型的增加、删除等功能。模型组件包括数据处理、数据转换和数据源等组件类。数据转换有数据字典、计算字段、数据筛选、格式转换等操作组件,数据处理支持数据集的并、交、统计等操作组件。新建模型时,通过拖拽基本组件图标,使其形成完整的数据处理流程。数据通过数据模型的处理,生成期望的分析结果。

(7)系统设置。系统设置提供配置系统参数和权限的功能。系统参数包括用户界面语言和风格模板,模块间心跳检测间隔和主机组网方式等配置。权限管理采用基于角色的访问控制,一个用户拥有若干角色,每一个角色拥有若干权限,用户通过角色与权限进行关联。界面根据用户的权限展示用户的菜单,系统能够满足用户展示定制风格、订阅消息等个性化需求。

1.2 平台架构

平台采用分层、分模块的设计原则,有利于系统的实现和维护,层次结构具体见图1,由下至上可以分5层:

(1)数据采集层主要负责数据的收集和分类。建立网址、社交APP应用账号知识库,利用爬虫对网页的请求获取大量的网页内容,抽取出网页特定属性的内容值并保存。利用社交APP爬虫获取公开聊天群组的聊天内容、社交群组发布的公开信息。采集过程中还使用过滤器技术实现对链接的过滤,防止相同链接的重复抓取。数据 采集过来后使用分词、排重等技术对数据进行初加工,实现排除主题重复项等功能。

图1 社交网络大数据平台体系架构图

(2)数据支撑层主要负责数据清洗和存储。设置数据字典,将采集的原始数据按照相关规范进行转换,重点监控数据发生触网时向上层进行预警,针对结构化、非结构化数据采用不同的底层存储方式。这一层实现了原始采集数据以及初加工后的数据存储和管理功能,屏蔽异构数据源的差异性,为实现可视化建模提供底层数据支撑。

(3)数据分析层主要提供数据的分析和建模服务。数据分析是实现数据价值的核心,数据模型能够支持朴素贝叶斯、决策树、Logistic回归、线性回归、最近邻算法(KNN)、支持向量机(SVM)等算法,可以根据公安业务实际需要建立各类模型对数据进行处理。同时支持全文搜索,将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,再对一定结构的数据进行搜索,使得用户查询关键字时能够相对较快搜索出结果。

(4)应用功能层主要负责公安业务和系统管理功能实现。这一层介于应用展现层和数据分析层中间,对下层实现大数据挖掘算法的调用和有用结果集的入库保存,对上层封装复杂的公安业务逻辑和系统管理功能实现。提供案件管理、线索关联、触网预警和虚拟人口档案等功能,支撑公安机关精确办案。

(5)应用展现层主要负责数据的展现和可视化。整合了平台的外部访问方式,完善了信息推送机制,提供统一的用户登录,支持应用系统的单点登陆,整合各类应用系统、数据访问和网络资源,统一集成一个通用的门户网站。主要包括线索数据展现、统计报表生成、地图数据展示、建模控件可视化等功能。

操作审计、安全管理、备份管理作为系统的功能模块,贯穿服务整个系统。

2 平台实现关键技术

2.1 数据采集

数据采集主要采用爬虫实现,主要包括网页数据和社交APP数据的抓取,分别使用网络爬虫技术和社交APP爬虫。

网络爬虫技术采用基于文字内容的启发式方法,按照预先定义的爬行主题[3],在给定初始URL种子集后,根据一定的分析算法,对爬行网页进行主题相关分析,过滤与主题不相关的网页,在不断抓取相关网页的过程中,当它们发现相关信息时,这些爬虫就沿链接方向继续寻找相关页面,寻找新的网页,将相关的链接放进待爬行队列中,若没有发现与主题相关的内容,爬虫便放弃当前链接。重复这个过程,直到爬行队列为空。

实现社交APP爬虫的一个关键点就是要能够“模仿”真实用户客户端向服务器发送请求,获取信息。社交APP爬虫通过“模仿”客户端,按照预设定的规则加入各类相关的聊天群组,采集聊天群组的公开聊天信息和聊天群组发布的图片,视频等文件。社交APP爬虫也可以模拟地理位置信息,可以虚拟到任何地方采集“附近的人”的社交账号相关数据,可以对设定区域内进行实时采集周边人员的相关信息,包括账户名称、昵称、签名、头像、朋友圈等信息。

实际上从爬虫实现的角度来说,爬虫技术和反爬虫技术处于不断的相互对抗和促进的状态。从登录验证码到禁用IP地址等反爬虫技术的升级促使爬虫实现更加智能。实现网络爬虫过程就是搜集必要信息的过程,在搜集信息的同时逐步完成爬虫的编写。以爬取社交网站信息为例,首先通过获取正常登录的数据包,然后对数据包的分析了解其登录方法。一般爬虫的自动化脚本在填写账号和密码之后执行模拟点击"登录"按钮可以实现登录,如果登录时遇见验证码的问题还需要爬虫识别验证码的图片,这时采集数据的难度将取决于网站识别验证码的难度。或者爬虫也可以使用登录所用cookie的方法,采用cookie绕过的方式来进行模仿登录。

每个网站和社交APP都有特定的爬虫实现,并且处于不断的升级状态中。通过多种不同的爬虫对不同的数据源进行采集,并将数据格式进行规范处理后进行统一存储分析。为了提高爬虫的工作效率,一般都采用多线程的方式同时进行爬取工作。

2.2 大数据处理

为了处理每天采集的新增近T级别的数据量,平台数据处理采用基于Hadoop的大数据解决方案,根据采集或者导入数据的结构和数量特点,分别使用Oracle数据库集群和HDFS存储管理数据。常用的结构化数据采用Oracle,并配置Memcache作为内存数据库缓存经常访问数据,如图2所示。其他非结构化数据存储在HDFS中,并在此基础之上建立数据仓库Hive和实时查询引擎Impala,实现各业务信息分析查询以及大数据的统计分析功能。Hadoop方案支持基于海量数据的存储计算,可以低成本进行扩展,使得平台具有较好的可扩张性、可靠性和灵活性。

图2 Hadoop大数据方案架构图

HDFS是开源的分布式文件系统,适用于海量数据的存储与计算[4]。存储文件时,它根据配置将文件分成固定大小的数据块存储到集群不同的主机中,并且每个数据块会被复制多份。通过集群的方式存储和访问数据,提高了文件并发访问速度和可靠性。HDFS支持集群负载均衡,如果某个主机节点的空闲空间低于设定的临界点,系统会将数据迁移到相对空闲的主机节点。当对某个文件的访问请求增加到设定阈值时,HDFS会创建该文件更多的副本,并存储到更多的集群主机中,分摊访问负载以满足应用的访问需要。ZooKeeper作为HDFS和HBase重要的基础组件,它是一个开源的分布式文件锁服务程序,部署在选定的集群种子节点上,起到监视着集群中各个节点的状态,保管集群全局配置文件等作用。HDFS集群中的负载均衡、命名服务、集群管理等功能均由ZooKeeper参与实现。

Impala和Hive是大规模并行处理查询引擎,使用HDFS作为底层存储,为业务系统提供数据统一的类SQL查询。Impala执行查询时,根据查询计划把查询请求分发到相应的主机节点进行并发查询,查询结果不断输出到客户端,直到查询完成。同时,Impala对结构化数据支持列式存储格式Parquet,对敏感信息进行统计分析,即SQL查询应用聚合函数时,列式存储比普通行式存储性能有显著的提升,有效提高了整个系统的数据处理能力和效率。Hive配合Impala使用,更多应用于处理复杂的批处理查询任务。

2.3 数据分析

数据分析是一个数据建模及分析运算的过程,首先准备好数据源,对数据的预处理,然后根据数据模型的需要选择合适的算子(包括格式转换、数据集并交等各类操作)放入主流程中,设置算子相关参数,进行算子连接,最后执行流程,以得到基础库和最终结果集。生成的可重用基础库和结果集,比如网络虚拟身份对应关系,可以作为公用的拓展库,进一步迭代优化模型。主要过程如图3所示。

图3 数据分析过程示意图

原始数据要进行预处理,因为通过数据采集过程存储了大量的论坛贴吧、群组聊天等原始数据,可能包含不一致、重复等问题。预处理主要包括数据标准化、数据类型转换、数据清洗等过程,如按照公安部的标准规范定义数据,按照一定规则补充缺失的属性值,获取社交APP的地理经纬度为负值需要进行修正。

除了采集的社交网络信息,还需要拓展重点人员、在逃人员等数据库进行关联碰撞,才能发现更多的有效线索,挖掘更多有用的信息,实现对可疑人物、重点目标、高危人群的信息获取和追踪。比如将重点人员、在逃人员等类别信息与采集的社交网络信息进行关联,发现涉毒、盗窃、传销、诈骗、涉恐等人员的信息时,聊天群组应当被贴上重点标签,便于进一步关注分析。根据通讯联系等社会面信息,把虚拟身份和真实身份能够对应上的关系补充完整。

数据加工通过数据模型来实现,整个流程类似流水生产线,输入原始数据,输出模型结果。算子是执行某种具体集合交、并等操作的函数,不同算子有不同的输入、输出特性。基于算子的组合,平台提供了大量的建模方法,用于解决不同情况下的回归和分类问题,包括常见的线性回归、决策树、神经网络和支持向量机等算法。通常利用社交网络聊天数据碰撞比对,可以分析出带有联系次数权重的关系网络。

基础库和结果集的分析结果往往将直接应用于辅助办案。例如多维度隐性涉毒人员挖掘模型中,排序比较靠前的社交账号,但是本身并未被贴涉毒标签人员账号,有可能是该类违法犯罪中存在嫌疑但未被发现或查获的人员。排序靠前且本身已被贴涉毒标签人员账号,则有可能成为某类违法犯罪中的核心人员或重点环节人员,应对该社交账号进行重点侦查或深挖线索。

3 平台应用案例

依托网络实施的新型网络传销犯罪活动成蔓延的势头,现以一个简单的网络传销犯罪侦查过程为例介绍平台的应用。

(1)网络巡查主动发现线索。针对传销人员多通过社交软件联系的特点,搜索“会员、项目、网络商城”等网络传销用语出现频率较高网络社交群组,社交软件账号及其相关信息加入嫌疑对象库。以嫌疑对象库为基础,搜索论坛、贴吧等包含嫌疑对象账号的网页内容,扩充线索信息来源。使用社交网络采集的嫌疑对象与前科劣迹、重点人员、涉警人员等数据进行碰撞筛查后,形成虚实关系基础信息库。在此基础上,通过通信关系人、人口信息和旅馆同住等数据对虚实关系基础库进行拓展,形成网络传销嫌疑人员的详细信息库。

(2)扩线深挖,摸清犯罪行为。从网络抓取的信息入手,调取大量数据分析研判,逐步摸清依托互联网进行的传销犯罪行为。参与人员以高额回报为诱饵广收会员,主要通过网上论坛和聊天工具相互勾联,发展下线关系。通过对传销网站抓取的积分历史数据进行分析,挖掘到网站运行的积分模式。利用网站下线人员数、下线资金总额数等条件的个性化设置,开展多维度分析,获取符合条件的会员结果,收集会员层级关系模型及其层级、积分等信息。

(3)犯罪网络数据整理,主要成员模型挖掘分析。利用已有的网络传销人员关系图,通过节点的介数中心度模型算法[5],分析传销人员关系网中具备控制能力的节点。如,业务员X与业务员Y中寻找一条最短的联系路径,需要经过总管B、老总A、总管C,同样业务员X与业务员W之间也需要经过总管B、老总A、总管C,因此B、A、C节点具有较大的节点介数中心度,即为核心节点。这些核心节点反映到网络传销团伙中就是骨干成员。

(4)嫌疑人轨迹追踪,适时实施抓捕。根据收集和分析的网络传销犯罪嫌疑人数据,将嫌疑人的网络活动按照时间序列展现出来。结合嫌疑人聊天记录、发帖记录等进行综合分析研判,锁定网络传销犯罪活动联系电话及所在区域。在能够获取APP精确地理位置信息时,可以将其活动区域通过"定位图"的形式展示在地图上,实现对嫌疑人动态化管控,找准时机动员警力主动出击,抓捕犯罪嫌疑人。

在整个侦破网络传销犯罪案件过程中,利用社交网络聊天记录主动发现网络传销犯罪线索,再到根据社交网络模型确定骨干成员,最后通过嫌疑人地理位置信息追踪嫌疑人。平台都起到了重要的作用。实际上利用数据模型分析和部分人工干预研判,结合公安机关信息资源分析网络传销组织管理层人员及轨迹情况,平台能够更加有效的提高研判打击精准度。

4 结语

鉴于犯罪的地域特点,影响犯罪发生的时间、距离、犯罪率、人口数量、警力部署、地理环境和被害人职业等因素具有更强的关联性[6],反映到社交网络中表现为区域范围的各类数据信息的关联和分析效率明显提高,因此,基层公安机关利用平台对所管辖区域公开社交网络信息进行“地毯式”全面搜查,能够发现更多有用线索。浦口分局等公安机关的实践表明,平台在主动发现犯罪线索,侦查案件收集线索过程中起到了重要的辅助作用,并且在基层公安机关办案中具有更好的适用性。目前,平台功能还在不断增强的过程中,利用社交网络中自然语言、语义分析人物用语习惯和情绪状态,利用性格特征法找出社交网络中多个虚拟身份的对应关系,采用人工智能技术识别、检索社交网络中图片,视频,语音文件中的信息,将是下一步的研究方向。

猜你喜欢
爬虫社交信息
利用网络爬虫技术验证房地产灰犀牛之说
社交牛人症该怎么治
聪明人 往往很少社交
基于Python的网络爬虫和反爬虫技术研究
社交距离
你回避社交,真不是因为内向
大数据背景下校园舆情的爬虫应用研究
订阅信息
大数据环境下基于python的网络爬虫技术
展会信息