APP下载

基于KMP算法的网页敏感信息审查系统

2013-10-19付为民

河南科技 2013年17期
关键词:网页子系统编码

米 淳 李 翔 付为民 梅 彬

(中国人民公安大学 网络安全保卫学院,北京 102623)

1 研究背景

1.1 选题目的及意义

随着网络突飞猛进的发展,网络媒体已发展为继报纸、广播、电视之后的“第四媒体”,08年初中国网民数量更是超过了美国成为世界第一。如此惊人的发展速度使得网络已经成为信息的主要载体,每天都会有大量良莠不齐的信息产生于网络并广泛传播,网络也成为一些不法分子用来实施犯罪行为或者传播违法信息的重要工具。在此背景下,公安部门对于网络信息的掌握显得尤为重要。随着公安部门“实施科技强警战略、建立公安情报信息系统”的目标提出,公安网络信息分析系统的建设需求空前迫切。本文在分析公安部门对网络信息分析系统需求和相关技术的基础上,结合公安部门已有的“公安情报信息综合平台”探讨研究了网页信息分析系统的设计与实现。

1.2 本课题的研究方向及创新点

1.2.1 本文的研究方向:本文以互联网信息过滤与定位系统的设计和实现为目标,深入分析了一个高效的互联网敏感信息审查系统的系统架构和基本工作流程等方面的问题。本文的主要工作如下:(1)结合国内外有关搜索与模式匹配的技术,设计了互联网信息审查系统的整体架构;(2)介绍并分析了系统中三个重要的系统子模块:信息收集模块,信息预处理模块和关键词发现模块的设计实现;(3)通过实验证明了该设计中系统架构的可行性及高效性。

1.2.2 本论文的创新点:(1)采用KMP快速匹配算法对网页内容进行定位,效率相对于其他一般模式匹配算法大幅提高;(2)运用爬虫思想及算法从网络获取信息源,较人工查找方式实现了工作自动化及高效化。

2 系统的设计与实现

2.1 设计目标与思路

根据《计算机信息网络国际联网安全保护管理办法》中的第五条规定:任何单位和个人不得利用国际联网制作、复制、查阅和传播下列信息:煽动抗拒、破坏宪法和法律、行政法规实施的;煽动颠覆国家政权,推翻社会主义制度的;煽动分裂国家、破坏国家统一的;煽动民族仇恨、民族歧视,破坏民族团结的;捏造或者歪曲事实,散布谣言,扰乱社会秩序的;宣扬封建迷信、淫秽、色情、赌博、暴力、凶杀、恐怖,教唆犯罪的;公然侮辱他人或者捏造事实诽谤他人的;损害国家机关信誉的;其他违反宪法和法律、行政法规的。

因此,开发敏感信息过滤系统旨在实现网络安全监察人员在虚拟复杂的网络世界中及时有效地发现有关情报信息与违法犯罪信息,为打击网络违法犯罪及时提供有力的依据和线索,推动监控网络违法犯罪的信息化与自动化。

该敏感信息过滤系统主要实现以下功能。

(1)多级网页链接获取

一个网站一般包含了多级目录,即拥有多个超链接,呈树形结构。而本系统中网页链接获取子系统针对该结构,采用“网络爬虫”。“网络爬虫”是一个自动提取网页的程序,是搜索引擎的重要组成。本系统中,网页链接获取子系统,根据一定的网页分析算法过滤并保留指定类型的链接,并将其放入等待抓取的URL队列。然后,它将根据广度优先的搜索策略,从队列中的上级站点页面逐级往该站点的下级页面抓取网页URL,并可根据用户的需求重复上述过程,直到达到系统中设定的某一条件时停止。

(2)网页内容分析

1)网页编码格式分析

在当今网页设计中,包含中文的编码格式主要有四种,其分别是:GB2312、BIG5、GBK以及UTF-8格式。其中GB2312是简体中文编码,其一个汉字占用2字节,是大陆的主要编码方式。但当网页中包含繁体中文、日文、韩文等等时,这些内容可能无法被正确编码;

很多国内网页指定的编码都是GB2312的,它是对ASCII的一种扩展,而ASCII—GB2312—GBK之间是向下兼容的,但Unicode中的 UTF-8与 ASCII、GB2312、GBK之间并不兼容,如果用UTF-8处理其他格式或者其他格式处理UTF-8的中文字符均会出现乱码。因此,对页面关键字分析之前需要对网页编码格式进行检测与转换。

在UTF-8格式的页面中,一般包含如下标记:

其中HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容。该标记即在发送文档前通知浏览器该网页采用UTF-8格式的编码,提前进行编码以实现正常的浏览。该网页内容分析子系统通过分析如上标记中的编码格式,并提前通过WideCharToMultiByt()函数进行转换,以达到关键词准确搜索的目的。

2)基于KMP算法的敏感信息关键词分析

关键词的搜索操作,即字符串的模式匹配,是各种串处理系统中最重要的操作之一。其定位函数为Index(S,T,pos),其中S为目标串,T为模式串,pos表示第N个字符开始匹配。KMP算法是一种改进的字符串匹配算法,其关键是根据给定的模式串定义一个next函数,next函数包含了模式串局部匹配的信息。此算法可以在O(m+n)的时间数量级上完成串的模式匹配操作,其改进在于:每当一趟匹配过程中出现的字符比较不相等时,不需要回溯i指针,而是利用已经得到的“部分匹配”的结果将模式串向右“滑动”尽可能远的一段距离后,继续进行比较,极大的缩短的对复杂网页的搜索时间。KMP算法的匹配过程如下:

2.2 基于KMP算法的敏感信息过滤系统软件的实现

软件在VC++6.0集成开发环境中编写实现。其主要由用户界面进程以及负责下载与分析的工作者线程组成。其包含了以下子系统:

(1)网页获取子系统:其对指定URL的缓存文件进行读取分析,由于一般的HTML网页中,标签的href属性用于指定超链接目标的 URL,因此,获取中的引号中内容即可获得URL地址。

(2)网页格式转换子系统:其首先判断网页编码格式,即读入网页源代码的1个字节,检测如下内容:“”如果存在,则进行编码格式转换,即将UTF-8转换至Unicode,再由Unicode转换至ANSI。其实现关键代码如下:

(3)基于KMP算法的网页内容搜索子系统:该系统首先对用户输入的关键词进行分析或拆分操作,获取NEXT[J]列表。随后根据NEXT[J]列表对网页内容进行关键词的模式匹配操作。其实现的关键代码如下:

3 总结

本文在充分考虑基层网监民警业务需求的基础上,针对网页敏感信息隐藏难以发现的问题,开发了一种基于KMP模式匹配算法的网页敏感信息检索及URL提取应用软件。使用本软件能够高速地对网页敏感信息进行精确或者模糊检索,使民警在进行网络监察时,面对海量网页信息是不再 “束手无策”,对敏感信息“一览无余”。

[1]孙鑫.VC++深入详解[M].北京:电子工业出版社,2012

[2]吴伟民,严蔚敏[M].北京:清华大学出版社,2009

[3]《计算机信息网络国际联网安全保护管理办法》,1997年12月

猜你喜欢

网页子系统编码
不对中转子系统耦合动力学特性研究
基于SAR-SIFT和快速稀疏编码的合成孔径雷达图像配准
GSM-R基站子系统同步方案研究
《全元诗》未编码疑难字考辨十五则
子带编码在图像压缩编码中的应用
Genome and healthcare
驼峰测长设备在线监测子系统的设计与应用
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于URL和网页类型的网页信息采集研究