APP下载

基于大数据技术的电信网络诈骗案件分析实验设计

2020-12-16芦天亮涂君奥杜彦辉刘颖卿

实验技术与管理 2020年10期
关键词:命令类别派出所

芦天亮,涂君奥,杜彦辉,刘颖卿

(1. 中国人民公安大学 警务信息工程与网络安全学院,北京 100038;2. 中国移动通信有限公司研究院,北京 100053)

电信网络诈骗是造成用户经济损失的主要犯罪形式之一,虽然公安部门将其作为侦破打击的重点,但是仍然呈现高发态势。近些年,电信网络诈骗手段不断翻新,改号软件及AI 语音合成[1]等技术大大提高了诈骗的成功率。电信网络诈骗具有非接触、跨地域、资金转移快、犯罪链条分工明确等特点[2],这也加大了公安机关侦查取证及跨地域甚至跨境抓捕的难度,因此相比其他类型案件,电信网络诈骗案件的破案成功率偏低。根据公安部 “净网2019” 行动通报数据,截至2019 年10 月31 日,共侦破网络诈骗类案件21 933起[3]。目前,全国多地出现利用新冠肺炎疫情实施电信网络诈骗的案件,常见手段包括假借疫情募捐、售卖口罩、冒充医疗机构及航空铁路人员等,截至2020年4 月11 日,全国公安机关网安部门共抓获利用疫情实施网络诈骗嫌疑人6 329 名[4]。

公安机关掌握着庞大的数据资源,大数据技术能够充分发挥数据的潜在价值[5-6]。美国早在2008 年便开展了预测警务的探索,应用大数据技术进行犯罪情报分析,提高预测和防范犯罪的能力[7-8]。

2018 年,全国公安厅局长会议指出,要大力实施公安大数据战略,着力打造数据警务、建设智慧公安[9]。2019 年,全国公安工作会议指出要把大数据作为推动公安工作创新发展的大引擎[10]。近年来,全国各地公安机关在推进大数据系统建设和应用方面做了大量工作,利用数据驱动的侦查模式,实现了对各类违法犯罪活动的快速精准打击。

随着大数据技术在公安工作中发挥越来越重要的作用,全国各地公安院校纷纷加强学生的大数据知识的学习和技能培养,训练学生掌握大数据环境搭建、大数据分析和建模、数据爬取以及可视化等能力[11]。为了进一步推动公安院校大数据课程体系建设,提升公安院校学生在大数据方向的技能和职业素养,各类大数据培训和技能竞赛相继开展,2019 年10 月,首届 “智警杯” 全国公安院校大学生大数据技能竞赛举行,36 支队伍参加了决赛。

公安院校通过开设大数据相关课程,使学生掌握大数据基础知识与核心技术,尤其是通过实验实训等方式加强学生对案件数据分析的能力[12-13]。利用大数据技术对电信网络诈骗案件进行侦查和防控是当前研究的热点也是公安工作的重要内容[14],因此,为了吸引学生兴趣和贴近公安实战,本文选择了对电信网络诈骗案件数据进行分析,主要使学生掌握大数据集群环境搭建和数据仓库构建的过程,以及对数据进行处理分析和可视化展示的能力。

1 实验流程设计

基于大数据的电信网络诈骗案件分析流程如图1所示。

图1 实验总体流程

1)搭建大数据环境。

搭建包含1 个主节点和2 个从节点的大数据集群,完成关闭防火墙、免密登录、时间同步等配置,安装并开启Zookeeper、Hadoop、Spark 等服务;搭建数据仓库,包括安装并配置MySQL、Hive 等。

2)数据导入和数据分析。

在Hive 中建立与电信网络诈骗案件相对应的表,将文件中的案件数据导入数据表中,然后对数据进行分析。

3)数据可视化。

利用ECharts 对Hive 的数据分析结果进行可视化展示,可以通过绘制的饼图、折线图、柱状图等直观展示案件类别比例、案件损失程度频次及破案率对比等信息。

2 搭建大数据环境

2.1 搭建大数据集群

搭建拥有3 个节点的大数据集群实验环境,如图2所示。

图2 大数据集群

主节点 master:充当 NTP 服务器,Zookeeper的 follower 以 及 Hadoop 集 群 的 NameNode 、ResourceManager 和SecondaryNameNode。

从节点slave1:充当NTP 客户端,Zookeeper 的leader 以及Hadoop 集群的DataNode 和NodeManager。

从节点 slave2:充当 NTP 客户端,Zookeeper的 follower 以及 Hadoop 集群的 DataNode 和NodeManager。

首先,集群所用的节点都位于同一个局域网并关闭各个机器的防火墙;其次,配置host 文件,设置master、slave1 和slave2 的IP 地址;再次,为了保证数据的同时性和同步性,设定master 为NTP 服务器,slave1 和slave2 为NTP 客户端,以此让时间同步更为精确;最后,从节点上配置SSH 无密码登录。

然后,完成下面软件的安装与配置。

1)安装JDK。

把JDK 解压到/usr/lib/java 目录,命令如下:

sudo tar -zxvf /opt/soft/jdk-8u171-linux-x64.tar.gz-C /usr/java

配置并生效JAVA_HOME 等环境变量。

2)安装并启动Zookeeper。

把Zookeeper 解压到/usr/zookeeper 目录,命令如下:

sudo tar -zxvf /opt/soft/zookeeper-3.4.10.tar.gz -C/usr/zookeeper/

配置并生效ZOOKEEPER_HOME 等环境变量,修改zoo.cfg 和myid,其中zoo.cfg 配置如下:

tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata

clientPort=2181

dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdat alog

server.1=master:2888:3888

server.2=slave1:2888:3888

server.3=slave2:2888:3888

3 个节点均启动Zookeeper,执行如下命令:

bin/zkServer.sh start

3)安装并启动Hadoop。

把Hadoop 解压到/usr/hadoop 目录,命令如下:

sudo tar -zxvf /opt/soft/ hadoop-2.7.3.tar.gz -C/usr/hadoop/

配置并生效HADOOP_HOME 等环境变量,修改core-site.xml、hadoop-env.sh、mapred-site.xml、hdfs-site.xml、yarn-site.xml 等文件[15],其中core-site.xml 配置如下:

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://Master:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>file:/usr/local/hadoop/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

</configuration>

启动Hadoop 之前先进行格式化,在master 上执行格式化命令:

hadoop namenode -format

启动Hadoop,在master 上执行命令:

/usr/hadoop/hadoop-2.7.3/sbin/start-all.sh

4)安装Scala。

把Scala 解压到/usr/scala 目录,命令如下:

sudo tar -zxvf /opt/soft/scala-2.11.12.tgz -C /usr/scala/

配置并生效SCALA_HOME 等环境变量。

5)安装并启动Spark。

把Spark 解压到/usr/spark 目录,命令如下:

sudo tar -zxvf /opt/soft/spark-2.4.0-bin.hadoop2.7.tgz -C /usr/spark

配置并生效SPARK_HOME 等环境变量,修改spark-env.sh 和slaves 文件,其中spark-env.sh 中添加内容如下:

export SPARK_MASTER_IP=master

export SCALA_HOME=/usr/scala/scala-2.11.12

export SPARK_WORKER_MEMORY=8g

export JAVA_HOME=/usr/java/jdk-1.8.0_171

export

HADOOP_HOME=/usr/hadoop/hadoop-2.7.3

export HADOOP_CONF_DIR=/usr/hadoop/hadoop-

2.7.3 /etc/Hadoop

主节点启动Spark,执行如下命令:

/usr/spark/spark-2.4.0-bin/sbin/start-all.sh

2.2 搭建数据仓库

1)安装并启动MySQL。

安装MySQL,执行如下命令:

sudo apt-get install mysql-server

启动服务:

systemctl start mysqld

完成MySQL 配置操作,包括:获取初始密码,为root 用户设置密码,配置允许远程连接,以及刷新权限。

2)安装并启动Hive。

把Hive 解压到/usr/hive 目录,命令如下:

sudo tar -zxvf /opt/soft/apache-hive-2.1.1-bin.tar.gz-C /usr/hive

配置并生效 HIVE_HOME 等环境变量,修改hive-site.xml 和hive-env.sh 等文件,其中hive-env.sh修改如下:

#Hadoop 路径

HADOOP_HOME=/usr/hadoop/hadoop-2.7.3

#Hive 配置文件路径

export HIVE_CONF_DIR=/usr/hive/apache-hive-2.1.1-bin/conf

解决版本冲突问题与jar 包依赖问题,最后启动Hive。

3)安装Sqoop。

把Sqoop 解压到/usr/sqoop 目录,命令如下:

sudo tar -zxvf sqoop-1.4.7.bin.tar.gz -C /usr/sqoop

配置并生效SQOOP_HOME 等环境变量,然后拷贝 MySQL 驱动到$SQOOP_HOME/lib 目录,拷贝hive-site.xml 到$SQOOP_HOME/conf 目 录 , 修 改sqoop-env.sh 中 的 HADOOP_COMMON_HOME 、HADOOP_MAPRED_HOME 、 HIVE_HOME 及ZOOCFGDIR 等参数。

3 数据分析

3.1 数据介绍

实验采用模拟的有关网络电信诈骗案件的数据,共有1 万条。表1 中显示了6 条案件的示例数据,案件属性包含:状态、副类别、经济损失、损失程度、作案手法、案件来源、发案时间上限、发案时间下限、发案地点、受理单位、报案时间和警员等。

表1 电信网络诈骗部分数据

3.2 数据导入

1)将电信网络诈骗数据转换成utf-8 编码格式,转码后数据保存到文件data.txt 中。在Linux 命令行中,执行命令如下。

iconv -f gb2312 -t utf8 test_data.txt -o data.txt 2)创建Hive 数据库,执行命令如下。

create database hive;

use hive;

3)在Hive 中建立与数据相对应的表,执行命令如下。

create table final(id int, state string, class string,loss int, degree string, mode string, source string,uppertime timestamp, lowertime timestamp, place string,accept_unit string, take_time timestamp, police string)row format delimited fields terminated by ' ';

4)将本地数据导入表中,执行命令如下。

load data local inpath '/home/data.txt' overwrite into table final;

3.3 数据分析

运用Hive 对电信网络诈骗数据进行处理和分析并得出结果,本部分设计了3 个典型的题目。1)题目1:统计所有案件副类别发生频次。执行如下命令:

select class,count(*) from final group by class;

运行结果如图3 所示,电话诈骗类别发生991 次,短信诈骗类别发生563 次,网络诈骗类别发生8 446 次。

图3 案件类别发生频次统计结果

2)题目2:统计2016 年各案件经济损失程度的频次。

执行如下命令:

select degree,count(*) as total from final where year(take_time)=2016 group by degree order by total;

运行结果如图4 所示,经济损失特别巨大类案件145 起,巨大类案件414 起,较大类案件1 461 起。

图4 2016 年经济损失程度频次统计结果

3)题目3:统计A 派出所2019 年案件受理情况。

执行如下命令:

select state,count(*) as total from final where year(take_time)=2019 and accept_unit="A 派出所"group by state order by total;

运行结果如图5 所示,A 派出所受理案件200 起,其中立案状态40 起,破案状态160 起。

图5 A 派出所2019 年案件受理情况

4 数据可视化

运用ECharts 对数据分析结果进行可视化

1)题目1:绘出所有案件副类别比例图。要求:

(1)图形类别为饼状图;

(2)标题为 “案件副类别比例图”;

(3)标签依次为:电话诈骗,短信诈骗,网络诈骗。

绘图代码如下:

option={

title:{

text:'案件副类别比例图',

x:'center'

},

legend:{

orient:'vertical',

data:['电话诈骗','短信诈骗','网络诈骗'],

left:'78%',

y: '50%',

},

series:[

{

type:'pie',

name:'案件副类别',

data:[

{value:991,name:'电话诈骗'},

{value:563,name:'短信诈骗'},

{value:8446,name:'网络诈骗'},

],

}]

};

使用ECharts 绘制出的饼状图,如图6 所示。

图6 所有案件副类别比例图

2)题目2:绘出每年的案件经济损失程度频次随年份变化图。要求:

(1)图形类別为折线图;

(2)标题为 “每年的案件损失程度频次图”;

(3)标签依次为较大、巨大、特别巨大;

(4)横坐标顺序依次为:2015—2019 年。

绘图代码如下:

option = {

tooltip: {

trigger: 'axis'

},

legend: {

data: ['较大', '巨大', '特别巨大']

},

xAxis: {

type: 'category',

boundaryGap: false,

data: ['2015', '2016', '2017', '2018',

'2019'],

name:'年份',

nameLocation:'middle',

nameGap:30,

},

yAxis: {

type: 'value',

name:'频次/件',

nameLocation:'middle',

nameGap:30,

},

series: [

{

name: '较大',

type: 'line',

data: [1616,1461,1563,1529,1037]

},

{

name: '巨大',

type: 'line',

data: [477,414,409,478,261]

},

{

name: '特别巨大',

type: 'line',

data: [182,145,153,168,107]

}]

};

使用ECharts 绘制出的折线图,如图7 所示。

图7 案件经济损失程度频次随年份变化

3)题目3:绘出2017-2019 年A 派出所与B 派出所的破案率对比图。要求:

(1)图形类别为柱状图;

(2)标题为 “2017-2019 年A 派出所与B 派出所的破案率对比图”;

(3)标签依次为:A 派出所,B 派出所。

绘图代码如下:

option={

tooltip:{

trigger:'axis',

axisPointer:{

type:'shadow'

}

},

legend:{

data:['A 派出所','B 派出所'],

orient: 'vertical',

x: '70%',

y: '53%',

},

xAxis:{

type:'value',

boundaryGap:[0,0.01],

name:'破案率',

nameLocation:'middle',

nameGap:30,

},

yAxis:{

type:'category',

data:['2017','2018','2019'],

name:'年份',

nameLocation:'middle',

nameGap:30,

},

series:[

{

name:'A 派出所',

type:'bar',

data:[0.82,0.78,0.8]

},

{

name:'B 派出所',

type:'bar',

data:[0.67,0.70,0.78]

}]

使用ECharts 绘制出的柱状图,如图8 所示。

图8 A 派出所与B 派出所的破案率对比

5 结语

公安院校大数据人才培养是落实公安大数据战略的重要内容。为了提高学生使用大数据技术分析案件的能力,激发学生的学习兴趣,本实验选取了基于大数据的电信网络诈骗案件分析的内容。首先,使学生掌握搭建大数据集群和数据仓库的过程,能够熟练安装和配置Zookeeper、Hadoop、Hive 等软件;其次,使学生掌握在Hive 中创建数据表、数据导入及数据分析的能力;最后,训练学生利用ECharts 对数据进行可视化的能力。本文内容与公安工作紧密结合,通过实验训练,学生能够掌握大数据技术及应用技能,为其走上公安岗位从事大数据相关案件分析工作打下坚实基础。

猜你喜欢

命令类别派出所
对党忠诚 服务人民
只听主人的命令
2022.3上榜派出所名录
上榜派出所统计表
上榜派出所统计表
壮字喃字同形字的三种类别及简要分析
移防命令下达后
西夏刻本中小装饰的类别及流变
这是人民的命令
多类别复合资源的空间匹配