APP下载

一种面向网站内容安全的分布式监控系统的设计与实现

2023-03-24田柳龚光军林黄智

电脑知识与技术 2023年4期
关键词:图像识别分布式

田柳 龚光军 林黄智

关键词:内容安全;图像识别;分布式;自动化监控

1 引言

计算机网络技术的发展为人类信息与科技的传播提供了前所未有的方便与速度,然而飞速发展的技术是一把双刃剑,也为网上各类不良信息的传播、滋生内容安全隐患的温床创造了条件。

内容安全包括两个方面[1-3],第一个方面是对网页内容的保护,例如防范对网站内容的篡改,第二个方面是指网页内容需要符合各类政治、法律、道德等方面的要求。特别是防止网站中出现色情、赌博、恐暴、反动及垃圾广告等影响国家安全、社会民生、个人生活的风险内容。仅2020年上半年,国家计算机网络应急技术处理协调中心通过监测发现我国境内出现篡改现象的网站数量已达147682个,监控网站内容、肃清互联网环境、保障内容安全是我们刻不容缓的艰巨任务。

大量中小网站因为架构单薄、不具备有效的安全防护措施或维护人员技术水平有限等,頻繁出现网站内容失效或被改动等质量问题,存在容易被篡改及遭受黑客攻击等安全隐患。对于这一类中小网站,传统的人工监控手段无法及时发现这些质量问题及安全隐患,使其更容易成为黑客攻击的重要目标。因此高效准确的网站自动化监控系统,是确保中小网站内容安全的“必备良药”。

2 常用自动化网站监控手段介绍

自动化网站监控常用爬虫技术或接口技术来实现[4-5],爬虫技术是对需要监控的网站,针对性地根据网站特点编写Python 爬虫程序或使用现有爬虫工具,获取网站数据并进行网站对比,进行网站内容监控,监控网站是否存在无法打开或发生篡改的现象。这种方法节省时间、维护成本低、抓取的数据量远超手动收集的数据量。但是这种方法也存在一些问题,比如抓取工具较为依赖于外部网站,无法控制该网站何时更改其结构或内容,因此需要在抓取工具过时,重新进行抓取,更新维护工作量较大;此外大量网站使用多种不同的方法(例如IP阻止)来阻止爬虫工具抓取其内容,所以有可能被阻止访问,从而造成无效监控或误报问题。

另一种最常见的监控技术是接口监控,这种监控的效率最高,而且最容易发现问题,但是接口的监控并不能准确地反应用户看到的前端页面状态,比如数据异常、空白页面、部分内容加载异常等,这些情况不能通过自动化获取接口数据来实现全方位监控,所以需要使用页面级别的图像化监控。

3 分布式监控系统设计与实现

本文旨在针对现有网站自动化监控技术存在的问题,基于图像识别的原理,设计一种面向网站内容安全的自动化监控系统,为了避免单点监控时存在的系统稳定性差、告警误报率高等问题,构建分布式架构的监控系统。

3.1 系统整体设计

系统设计的基本思路是,构建分布式系统,在多个分布式监控终端上部署监控任务,利用计算机视觉处理技术,运用图像识别的原理[6],模拟人工访问分发网站,获取网站内容并自动进行识别、对比和分析,实时监测网站能否打开,内容有无异常,并将结果汇总到分布式系统的主监控终端上,进行综合判断,可以在问题发生的第一时间内,及时发现网站无法登录、网站被恶意篡改现象,及时推送告警,基于多个监控终端结果,从而排除偶发性网站打开失败或错误、监控终端或监控程序本身的问题,使得结果更准确。

3.2 系统功能实现

3.2.1 构建分布式监控系统

构建分布式监控系统,采用一个主监控终端及多个分布式监控终端的模式。其中,主监控终端负责对网站资源访问及监控任务进行调度并触发任务执行,向分布式监控终端部署采集任务,并分配给多个监控线程;启动监控线程后,分布式监控终端从队列资源获取URL,根据监控任务指定的目标网站打开对应的页面,下载并获取页面数据,各分布式监控终端通过对获取的页面内容自动进行识别分析,实时监测网站是否能打开,内容有无异常。各分布式监控终端实时将监测结果发送至主监控终端,并定期进行监控任务同步,监控任务由主监控终端下发至各监控终端。

当不同监控终端对某网站的监控结果不同时,需通过对多次测试结果的分析来排除偶发性网站无法打开或错误、监控终端或监控程序本身的问题,以保证监控结果的准确性,避免误报告警。此外,在排除偶发性网站打开失败或错误、监控终端或监控程序本身的问题后,应考虑是否为部分区域发生恶意DNS劫持或用户请求非法重定向等问题。

3.2.2 基于图像识别的原理进行网站内容监控

本文所述的网站内容监控的基本功能是通过图形化编程工具Sikuli实现,它由MIT开发,以python为基础,通过搭建Java环境来运行,不需要写一行行代码,这使得程序员编写代码工作大大简化,可以直接使用截图替代代码。它使用该工具来实现最基本的监控功能,并以网站中的典型图标、图片及文字等为参照物,实时监测网站是否能打开,内容有无异常。

在基本的网站打开和典型图标对比的基础上,为进一步提升监控准确率,对于监控的对象网站进行图像特征,包括网站所包含的典型图标、图片及文字等,对图像的特征进行提取及学习,建立特征标识,在监控的过程中,将获取的网站内容与特征标识进行比对,并通过差异的大小来判断网站内容是否存在异常;针对部分网站内容经常有变动的情况,将网站内容进行动静内容划分,对于变化较大的动态部分,多次采集网站的页面图像,计算动态部分的变化范围,当监控对象网站的动态部分变化超过这一范围时,判断网站内容存在异常。

4 测试验证

为了验证本文提出的系统在实际网站监控中的应用情况,进行了实验系统的搭建,并完成了若干测试验证。实验系统使用了5台电脑,组成文中所述分布式监控系统,其中1台电脑为主监控终端,其余作为各分布式监控终端,将监控的目标设置为TOP100网站。系统功能测试目标、过程及最终结果如表l所示。经过对系统测试证明,系统的运行情况和结果符合设计要求,单个网站的测试及判断时间不超过47秒,可以在39分钟内完成TOP100网站的一轮监控任务,能及时告警,告警准确率达到100%。

5 总结

本文设计并实现了一种面向网站内容安全的分布式自动化监控系统,系统基于图像识别的原理,及时发现网站打开失败或错误、网站域名被劫持、网站内容被篡改等现象,并通过实验进行了验证。此外,系统的分布式架构还有效避免了单点监控时存在的系统稳定性差、告警误报率高等问题。

猜你喜欢

图像识别分布式
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
基于预处理MUSIC算法的分布式阵列DOA估计
浅谈模式识别在图像识别中的应用
基于多组合内容的图像识别机制
西门子 分布式I/O Simatic ET 200AL
家庭分布式储能的发展前景