一种适应于电力行业的网站监控系统及方法与流程

文档序号:11138308阅读:来源:国知局

技术特征:

1.一种适应于电力行业的网站监控系统,其特征是,包括:交互层、数据层、调度层、检测引擎;

交互层,用于与用户进行交互;

数据层,用于存储用户资料、检测数据、配置数据以及配置文件;

调度层,用于调度检测引擎对用户下达的任务进行周期性自动化检测,并且在检测结束后,将检测结果汇总至数据层;

检测引擎,用于接受调度层下达的检测命令,对目标网站进行检测,识别Web安全漏洞,对网站进行深度安全体检;同时实时监测网站运行的安全状态,识别网页非法篡改、网页被嵌入恶意代码、域名被劫持、访问页面被拒绝和网页中出现敏感信息;并利用漏洞扫描设备和漏洞检测工具,到现场采集内网安全信息,排查漏洞隐患和深层安全事件,采集网站安全体检结果、网站运行安全状态和现场安全检查结果,并传送到数据库中进行保存。

2.如权利要求1所述的一种适应于电力行业的网站监控系统,其特征是,

所述交互层包括:权限控制模块、网站发现模块、检测任务添加模块、各类数据查看模块、API接口、设置模块、用户管理模块、日志管理模块、关键词管理模块和其他外部服务模块;

所述权限控制模块,用于根据设置的安全规则或者安全策略,限制用户访问的权限,限制用户只能访问自己被授权的资源;

所述网站发现模块,用于使用扫描技术对目标网站进行分析、扫描探测、服务查点、扫描对方漏洞和查找目标网站的IP地址;

所述检测任务添加模块,用于供用户添加检测任务;

所述各类数据查看模块,用于供用户查看各类数据信息,包括检测任务和检测结果;

所述API接口,是一组定义、程序及协议的集合,用于实现计算机软件之间的相互通信,API接口还可以作为二次开发使用;

所述设置模块,用于实现用户管理、日志管理、关键词管理以及提供其他外部服务;

所述用户管理模块,用于负责用户的添加、修改、删除操作;

所述日志管理模块,用于记录用户已执行的网站检测任务;

所述关键词管理模块,用于存储敏感关键词;

所述网站发现模块,还分别与Memcache数据库和网站发现扫描引擎连接;

所述Memcache数据库,用于存放加密狗信息;

所述网站发现扫描引擎,用于接收用户下达的检测指令,对网站进行检测,检测完毕后,将检测结果存入MongoDB数据库。

3.如权利要求1所述的一种适应于电力行业的网站监控系统,其特征是,

所述其他外部服务模块,包括:远程维护服务单元、备份服务单元、SNMP服务单元、集群服务单元、SSH服务单元、升级服务单元、邮件服务单元、短信接口单元和二次开发接口;

所述远程维护服务单元,通过开启远程服务端口实现远程维护服务;

所述备份服务单元,用于采用手工或者自动方式定期备份数据;

所述SNMP服务单元,用于从网络上的软硬件设备中收集网络管理信息,将信息呈现给系统网络管理员查看;

所述集群服务单元,用于对服务器做出优化,使检测程序充分利用所有资源;

所述SSH服务单元,用于为远程登录会话和其他网络服务提供安全性的协议,利用SSH协议防止远程维护过程中的信息泄露问题;所述其他网络服务包括FTP、POP、PPP;

所述升级服务单元,用于网站监控系统后期版本升级;

所述邮件服务单元,用于提供邮件服务,当监测到网站异常或发现高危安全事件后,将立即发邮件给任务对应的管理员或操作员;

所述短信接口单元,用于提供短信服务,当监测到网站异常或发现高危安全事件后,将立即发短信给任务对应的管理员或操作员;

所述二次开发接口,用于网站监控系统后期进行二次开发使用。

4.如权利要求1所述的一种适应于电力行业的网站监控系统,其特征是,

所述数据层包括:MongoDB数据库、MySQL数据库和其他系统配置文件;

所述MongoDB数据库,用于存储发现的网站、添加的检测任务、数据查看任务以及检测信息;

所述MySQL数据库,用于存储用户信息、系统日志以及关键词信息;

所述其他系统配置文件,包括:用户登录时定义系统加载所需环境的设置和文件的集合。

5.如权利要求1所述的一种适应于电力行业的网站监控系统,其特征是,

所述调度层,包括:任务分发模块、任务获取模块、Redis数据库和work子进程;

所述任务分发模块,任务分发进程taskd轮询MongoDB数据库,从MongoDB数据库中获取任务组信息;根据任务组的预约检测时间、检测优先级及检测周期判断目标网站任务是否需要调度,达到检测周期后会生成单次检测任务实例,并拆分成单个网站检测实例存入Redis数据库;

所述任务获取模块,任务获取进程jobd定期从Redis数据库中获取单个网站检测实例,创建work子进程;

所述Redis数据库,用于存放任务队列供调度组件使用网站;

所述work子进程,由任务获取模块创建用于检测的子进程;

所述work子进程,包括:统计组件单元和告警单元;

所述统计组件单元,用于对调度组件检测的任务进行统计;

所述告警单元,用于对检测到的异常或者安全事件发出告警。

6.如权利要求1所述的一种适应于电力行业的网站监控系统,其特征是,

所述检测引擎,负责接受调度层下达的检测命令,对目标网站进行检测;包括:配置文件、可用性探测模块、安全事件及漏洞检测模块、网页变更检测模块、网站信息获取模块和安全事件及漏洞检测结果存储文件;

所述配置文件,用于存储用户登录时定义系统加载所需环境的设置和文件的集合;

所述可用性探测模块,用于探测目标网站是否存活、响应时间、域名是否被劫持;

所述安全事件及漏洞检测模块,用于检测安全事件中的网页挂马、暗链、关键词及所有的漏洞;安全事件及漏洞检测是分开调度的,采用不同的深度、URL数上限;

所述网页变更检测模块,用于监测目标网站的网页变更情况,以防出现遗漏的网页篡改事件;

所述网站信息获取模块,用于探测网站标题、Web容器信息;

所述漏洞检测结果存储文件,用于存储漏洞检测结果。

7.一种适应于电力行业的网站监控方法,其特征是,包括:

步骤(1):接收检测配置信息,并将检测配置信息存储到MongoDB数据库中;

步骤(2):包括如下三个并列步骤:

步骤(2-1):对目标网站进行分析、扫描探测、服务查点、漏洞扫描,查找目标网站IP地址,进而发现要监控的网站;将检测结果存储到MongoDB数据库;检测结果包括SQL注入、XSS、网页挂马、暗链、敏感信息泄露的网站信息;

步骤(2-2):采用漏洞扫描工具对网站进行扫描检测,实时监控检测结果;根据需求,利用API接口进行二次开发,完善监控功能;将任务配置信息存储到MongoDB数据库;

步骤(2-3):将用户信息、系统日志以及关键词信息存储到MySQL数据库;

步骤(3):任务分发模块每间隔设定时间就从MongoDB数据库中获取任务信息,将获取的任务信息存储到Redis数据库中;

步骤(4):任务获取模块从Redis数据库中获取任务信息并创建第一work子进程、第二work子进程、第三work子进程和第四work子进程;每个子进程执行不同的任务,从而实现对网站的监控;

步骤(5):告警组件每间隔设定时间就从MongoDB数据库中获取信息,发现异常就进行告警。

8.如权利要求7所述的一种适应于电力行业的网站监控方法,其特征是,所述第一work子进程,用于对目标网站的可用性进行探测,所述可用性包括网站是否存活、响应时间以及域名是否被劫持;将探测结果存储到MongoDB数据库;

所述第二work子进程,用于获取网站信息,所述网站信息包括网站标题和WEB容器;

所述第三work子进程,用于对网页变更与否进行检测;将检测结果存储到MongoDB数据库;

所述第四work子进程,用于对安全事件及漏洞进行检测,生成检测结果文件,所述安全事件包括:SQL注入、XSS、网页挂马、暗链和敏感关键词。

9.如权利要求7所述的一种适应于电力行业的网站监控方法,其特征是,步骤(4)中,SQL注入检测插件工作步骤如下:

步骤(4a-1):发送URL请求:将SQL参数加载到页面请求的查询字符串中,采用GET、POST或Cookie方式发送URL请求;

步骤(4a-2):页面响应:根据提交的SQL参数,页面做出相应的回应;

步骤(4a-3):判断SQL参数是否可以SQL注入;若可以就获取数据库有效载荷payload信息,利用数据库服务端SQL分析引擎进行分析,获取网站对应的敏感数据,检测结束,若不可以就进入步骤(4a-4);所述敏感数据包括后台数据库信息,用户信息,表结构信息;

步骤(4a-4):判断payload是否把会导致SQL注入的所有情况都全部尝试进行检测,若是就检测结束,若否就测试不同的payload,返回步骤(4a-1);

或者,

步骤(4)中,SQL注入普通模式盲注检测工作步骤如下:

步骤(4b-1):请求原始页面:将SQL参数加载到页面请求的查询字符串中,采用GET、POST或Cookie方式发送URL请求;

步骤(4b-2):判断页面是否动态变化,若是就设定基准HTML,然后进入步骤(4b-3),若否就直接进入步骤(4b-3);

步骤(4b-3):判断SQL参数是否动态可变,若是就尝试注入特殊字符,使数据库报错以识别数据库类型或者版本信息;进入步骤(4b-4);若否就结束;所述特殊字符包括下划线、单引号、百分号或方括号;

步骤(4b-4):判断是否报错,若是就利用后台规则识别数据库类型或者版本;尝试进行payload匹配,进入步骤(4b-5);若否就根据整数类型、字符串类型以及搜索类型依次判断是否存在SQL注入,尝试进行payload匹配,进入步骤(4b-5);所述后台规则包括:用语句查询当前数据库或查询数据库版本信息;

步骤(4b-5):根据整数类型、字符串类型以及搜索类型判断是否匹配成功,若否就进入专家检测模式流程,采用SSQLInjection、Sqlmap、Pangolin、Havij自动化工具进行渗透测试,结束;若是就进行逻辑为真判断,将响应页面与原始页面对比,判断是否相同;若不相同就结束,若页面相同则接着进行逻辑为假判断,将响应页面与原始页面对比,进入步骤(4b-6);

步骤(4b-6):进行逻辑为假判断,判断响应页面和原始页面是否相同,若是就结束,若否就进行逻辑为真判断,将响应页面与原始页面对比,进入步骤(4b-7);

步骤(4b-7):进行逻辑为真判断,判断响应页面和原始页面是否相同,若否就结束,若是就确认漏洞存在,进入尝试获取数据库信息阶段,获取数据库敏感信息;所述数据库敏感信息包括数据库名称、数据库表名和表信息。

10.如权利要求7所述的一种适应于电力行业的网站监控方法,其特征是,步骤(4)中,XSS检测工作步骤如下:

步骤(4c-1):发送URL请求:发送GET/POST或Headers请求,得到页面资源;

步骤(4c-2):判断页面是否因网络原因造成故障,若是就返回步骤(4c-1);若否就向待测参数提交正常测试字符串,进入步骤(4c-3);

步骤(4c-3):判断返回页面中是否可以检测到参数值,若是就定位参数在页面DOM结构的位置,根据上下文环境加载XSS攻击载荷,进入步骤(4c-4);若否就结束;

步骤(4c-4):XSS分析引擎判断返回页面是否存在XSS攻击载荷,若是就确定XSS漏洞,结束,若否就进入步骤(4c-5);

步骤(4c-5):判断是否需要提交变形代码,若是就提交变形测试代码,若否就结束;所述变形代码包括:将部分小写变换为大写、填入空白字符;所述空白字符包括:空格、制表符和换行符;

或者,

步骤(4)中,网页挂马检测工作步骤如下:

步骤(4d-1):判断URL自身是否在黑名单内;

步骤(4d-2):网页内嵌的链接是否在黑名单内;

步骤(4)中,暗链检测工作步骤如下:

步骤(4e-1):接收爬虫传入URL及HTML信息;

步骤(4e-2):脚本解析:对网页源代码模拟执行脚本代码;

步骤(4e-3):HTML解析:将利用js脚本动态输出的HTML,归并到HTML代码中;

步骤(4e-4):对隐藏区域检测:包括对HTML隐藏特征检测、脚本隐藏特征检测及CSS隐藏特征检测;

步骤(4e-5):对带有隐藏属性的代码块进行结构检测;若有暗链代码块则进入步骤(4e-6),有可疑代码块则进入步骤(4e-7);

步骤(4e-6):对暗链代码块进行分析,判断暗链代码块是文字还是链接;如果是文字进入步骤(4e-9),如果是链接进入步骤(4e-10);

步骤(4e-7):将可疑代码块与特征检测模块词进行对比分析,再次与暗链代码块对比,循环比较判断;进入步骤(4e-8);

步骤(4e-8):特征检查模块;由用户设置特征词,特征词包含用户关心的敏感词;进入步骤(4e-6);

步骤(4e-9):分词模块对暗链代码块中的文字进行分词;从而生成暗链关键词库;根据特征词生成暗链词汇库;进入步骤(4e-8),若循环比较结束,则进入步骤(4e-10);

步骤(4e-10):暗链链接库与暗链词汇库对比分析,输出暗链链接或关键词。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1