一种适用于web组态的脚本控制方法技术

技术编号:16547143 阅读:41 留言:0更新日期:2017-11-11 11:54
本发明专利技术公开了一种适用于web组态的脚本控制方法,特点是分别根据各类脚本的特征以自学习的方式生成对应的脚本特征库,在web组态软件加载脚本时,对脚本进行实时拦截和校验,防止恶意脚本运行,威胁web组态软件的安全,从根源上阻断对工控系统的威胁。优点是采用了学习模式,能够自动提取脚本的特征,对脚本文件进行识别和分类,摆脱了传统模式上针对特定文件格式进行特定解析的文件解析方法,在加快脚本文件识别速度的同时,也方便了后期的扩展和维护。

A script control method for web configuration

The invention discloses a method for web configuration script control method is characterized respectively according to the script feature library features of various scripts to generate the corresponding self-learning way, in the web configuration software loading script, real-time interception and check to prevent malicious script, running script, web configuration software security threats, blocking the threat from the source control system. Advantages of using a learning mode, the script can automatically extract features, identification and classification of the script file from the file, the traditional analytical method model for a specific file format for specific analysis, to speed up the script recognition speed at the same time, also is convenient for later expansion and maintenance.

【技术实现步骤摘要】
一种适用于web组态的脚本控制方法
本专利技术涉及计算机安全技术和计算机软件技术,特别是利用人工智能提供的机器学习方法,来识别和分类脚本文件,并通过白名单机制对脚本文件进行有效拦截。
技术介绍
随着计算机和互联网技术的飞速发展,自动化和智能化技术不断提高,大量智能芯片和智能传感器也不断出现,推动了工业控制领域的迅速发展。当今时代,工控控制覆盖了包括航海航空、制造业、电力、交通等各个领域,影响着人们的生产和生活。web组态软件作为人机交互的媒介,能够自动监控工业控制系统的运行,以网页形式为用户提供可配置的工业系统控制功能,目前已经逐渐成为工业控制系统的重要组成部分。然而,近年来计算机系统尤其是网络系统,面临的威胁是层出不穷。最近发生的勒索病毒攻击使全球100多个国家、多达10万台计算机遭到攻击,波及到金融、医疗、校园、政府等众多领域和机构,给人民的财产和生活带来巨大损失。2010年发生的震网攻击也曾使伊朗的离心机运行失控,造成整个核电站网络的瘫痪。面对计算机和网络面临的攻击,众多专家和学者做了不懈的努力,研究出了一系列针对计算机网络防护的方法:如防病毒软件的监控、账户的安全管理等,这都在一定程度上保障了计算机网络系统的安全,但是无法从根源上阻挡病毒的攻击。白名单机制通过将可靠的文件放在白名单数据库中,在运行前会对加载的程序文件进行校验,能够从根本上阻断非法程序的运行,目前被认为能够在很大程度上能够保证运行程序的安全。但是由于系统运行环境的复杂性,文件格式的多样性,难以实现对所有运行程序的管控。目前常见的白名单安全机制也仅仅是对系统中的可执行程序进行安全性检查,而对于系统中常见的PHP脚本、JSP脚本、SHELL脚本等脚本文件并没有有效的安全控制方法。针对web组态软件自身的安全性,本专利技术提出了一种基于白名单机制的脚本控制方法,通过自学习的方法,学习包含PHP、JSP、SHELL脚本文件在内的脚本的特征,根据脚本特征来识别脚本文件。并在这些脚本运行之前进行拦截,运用白名单机制对将要加载的脚本进行校验,拦截匿名脚本和被破坏脚本的运行,保障web组态软件自身的可靠运行。
技术实现思路
为解决上述问题,本专利技术提出了一种适用于web组态的脚本控制方法。在本专利技术中,通过自学习的方式,学习PHP脚本、JSP脚本、SHELL脚本的特征,通过脚本特征来判断系统中存在的文件是否属于脚本。在系统运行PHP、JSP、SHELL脚本时,会拦截待运行的脚本,并对拦截到的脚本进行验证,任何未知的、被非法篡改的脚本都将受到控制,并可以由用户自主决定是否允许其运行,保障了运行脚本的安全性和可靠性。采用自学习模式学习脚本特征的方法打破了针对特定文件格式进行特定解析的传统文件解析模式,并且所有的脚本特征都是从大量的样本文件中提取出来,由系统根据脚本中关键字出现的规律和频率自主判定,避免在解析文件时加入人们的主观判定意识。该方法不仅使用于脚本文件,还容易扩展到其他类型的文件解析,为后期的扩展和维护也增加了便利。为实现上述目的,本专利技术采用的技术方案为一种适用于web组态的脚本控制方法,实现该方法脚本控制系统包括脚本解析系统、脚本拦截系统和白名单数据库,脚本拦截系统和白名单数据库连接,白名单数据库和脚本解析系统连接。脚本解析系统学习样本文件的特征,来识别系统中的脚本文件,并将符合脚本特征的文件放入白名单数据库中;脚本拦截系统负责拦截运行的脚本,并通过白名单数据库对拦截的脚本进行校验,阻止非法脚本的运行。样本文件包括:PHP脚本、JSP脚本、SHELL脚本和除以上三类之外的其他文件;脚本文件是指:PHP脚本、JSP脚本、SHELL脚本;脚本特征包括:脚本中的关键字、脚本中关键字间的关联关系、非脚本关键字;脚本特征分为三个级别:高、中、低,高级别表示满足该特征的脚本一定属于该类脚本,中级别表示满足该特征的脚本可能属于该类脚本,低级别表示满足该特征的脚本一定不属于该类脚本;白名单数据库包含一系列条目的列表,每个条目包含一个脚本文件的唯一标识和身份认证信息,唯一标识能够标识该脚本文件,使该脚本文件与其他脚本文件区别开,身份认证信息能够标识该脚本文件的身份,防止该脚本文件被篡改;脚本解析系统包括学习模块和工作模块:学习模块通过样本文件分析脚本特征,工作模块根据脚本特征区分文件是否是脚本,以及该文件属于何种脚本;脚本拦截系统部署在安装了web组态软件的系统上,在PHP脚本文件的加载位置、JSP脚本文件的加载位置、SHELL脚本的加载位置拦截脚本的运行;该方法的具体步骤如下所述:步骤1.1采集PHP脚本、JSP脚本、SHELL脚本以及上述三类脚本之外的其他文件,并将这些文件根据脚本类型分为:PHP脚本、JSP脚本、SHELL脚本和其他脚本;步骤1.2学习模块根据PHP脚本和非PHP脚本学习PHP脚本特征,生成PHP脚本特征库;步骤1.3学习模块根据JSP脚本和非JSP脚本学习JSP脚本特征,生成JSP脚本特征库;步骤1.4学习模块根据SHELL脚本和非SHELL脚本学习SHELL脚本特征,生成SHELL脚本特征库;步骤1.5工作模块采用遍历的方式访问系统中的所有文件,根据PHP脚本特征库、JSP脚本特征库、SHELL脚本特征库将文件分类,将PHP脚本、JSP脚本、SHELL脚本添加到白名单数据库中;步骤1.6脚本拦截系统拦截web组态软件中脚本的运行,并计算脚本文件的唯一标识和身份认证信息;步骤1.7脚本拦截系统根据脚本文件的唯一标识在白名单数据库中查询脚本文件对应的身份认证信息,并和步骤1.6中计算的脚本文件的身份认证信息进行校验,验证通过则允许脚本加载运行,否则禁止脚本文件加载;由上述的技术方案可见,本专利技术提供了适用于web组态的基于学习模式和白名单机制的脚本控制方法;其中脚本解析系统的学习模块可运行在任意系统平台上,对脚本文件进行学习,提取其脚本特征,将获取的脚本特征库提供脚本解析系统的工作模块即可。脚本解析系统的工作模块工作在安装了web组态软件的系统上,负责收集识别系统上的脚本文件。获取的脚本特征库可多次反复利用,在脚本文件格式发生变化时仅需重新生成脚本特征库即可,对工作模块的工作流程无任何影响,方便了脚本控制系统在实际中的应用使用以及后期的管理和维护。附图说明图1为本专利技术的一实施例的系统结构原理图;图2为本专利技术的一实施例的PHP脚本学习的流程图;图3为本专利技术的一实施例的脚本扫描的流程图;图4为本专利技术的一实施例的PHP脚本拦截的流程图。图5为本方法结构示意图。具体实施方式以下结合附图,对本专利技术的实施用例进行详细描述:如图1所示,是本专利技术的一个实施例的系统结构原理图,该专利技术是一种针对web组态软件实施的脚本控制系统,包括web组态软件、脚本解析系统、脚本拦截系统、样本库和白名单数据库。其中web组态软件是采用web技术实现的用于对工控系统进行监控和控制的组态软件,在web组态软件环境需要运行大量的PHP脚本、JSP脚本和SHELL脚本。样本库负责收集样本文件,并分类存储,包括:PHP脚本文件、JSP脚本文件、SHELL脚本文件和不属于以上三类的其他文件。脚本解析系统包括学习模块、工作模块、特征库,学习模块采用文本分类算法学习脚本的特征,工作模块负本文档来自技高网
...
一种适用于web组态的脚本控制方法

【技术保护点】
一种针对web组态软件实施的脚本控制系统,其特征在于:该脚本控制系统包括脚本解析系统、脚本拦截系统和白名单数据库,脚本拦截系统和白名单数据库连接,白名单数据库和脚本解析系统连接;脚本解析系统学习样本文件的特征,来识别系统中的脚本文件,并将符合脚本特征的文件放入白名单数据库中;脚本拦截系统负责拦截运行的脚本,并通过白名单数据库对拦截的脚本进行校验,阻止非法脚本的运行;样本文件包括:PHP脚本、JSP脚本、SHELL脚本和除以上三类之外的其他文件;脚本文件是指:PHP脚本、JSP脚本、SHELL脚本;脚本特征包括:脚本中的关键字、脚本中关键字间的关联关系、非脚本关键字;脚本特征分为三个级别:高、中、低,高级别表示满足该特征的脚本一定属于该类脚本,中级别表示满足该特征的脚本可能属于该类脚本,低级别表示满足该特征的脚本一定不属于该类脚本;白名单数据库包含一系列条目的列表,每个条目包含一个脚本文件的唯一标识和身份认证信息,唯一标识能够标识该脚本文件,使该脚本文件与其他脚本文件区别开,身份认证信息能够标识该脚本文件的身份,防止该脚本文件被篡改;脚本解析系统包括学习模块和工作模块:学习模块通过样本文件分析脚本特征,工作模块根据脚本特征区分文件是否是脚本,以及该文件属于何种脚本;脚本拦截系统部署在安装了web组态软件的系统上,在PHP脚本文件的加载位置、JSP脚本文件的加载位置、SHELL脚本的加载位置拦截脚本的运行。...

【技术特征摘要】
1.一种针对web组态软件实施的脚本控制系统,其特征在于:该脚本控制系统包括脚本解析系统、脚本拦截系统和白名单数据库,脚本拦截系统和白名单数据库连接,白名单数据库和脚本解析系统连接;脚本解析系统学习样本文件的特征,来识别系统中的脚本文件,并将符合脚本特征的文件放入白名单数据库中;脚本拦截系统负责拦截运行的脚本,并通过白名单数据库对拦截的脚本进行校验,阻止非法脚本的运行;样本文件包括:PHP脚本、JSP脚本、SHELL脚本和除以上三类之外的其他文件;脚本文件是指:PHP脚本、JSP脚本、SHELL脚本;脚本特征包括:脚本中的关键字、脚本中关键字间的关联关系、非脚本关键字;脚本特征分为三个级别:高、中、低,高级别表示满足该特征的脚本一定属于该类脚本,中级别表示满足该特征的脚本可能属于该类脚本,低级别表示满足该特征的脚本一定不属于该类脚本;白名单数据库包含一系列条目的列表,每个条目包含一个脚本文件的唯一标识和身份认证信息,唯一标识能够标识该脚本文件,使该脚本文件与其他脚本文件区别开,身份认证信息能够标识该脚本文件的身份,防止该脚本文件被篡改;脚本解析系统包括学习模块和工作模块:学习模块通过样本文件分析脚本特征,工作模块根据脚本特征区分文件是否是脚本,以及该文件属于何种脚本;脚本拦截系统部署在安装了web组态软件的系统上,在PHP脚本文件的加载位置、JSP脚本文件的加载位置、SHELL脚本的加载位置拦截脚本的运行。2.利用权利要求1所述系统进行的一种适用于web组态的脚本控制方法,其特征在于:该方法的具体步骤如下,步骤1.1采集PHP脚本、JSP脚本、SHELL脚本以及上述三类脚本之外的其他文件,并将这些文件根据脚本类型分为:PHP脚本、JSP脚本、SHELL脚本和其他脚本;步骤1.2学习模块根据PHP脚本和非PHP脚本学习PHP脚本特征,生成PHP脚本特征库;步骤1.3学习模块根据JSP脚本和非JSP脚本学习JSP脚本特征,生成JSP脚本特征库;步骤1.4学习模块根据SHELL脚本和非SHELL脚本学习SHELL脚本特征,生成SHELL脚本特征库;步骤1.5工作模块采用遍历的方式访问系统中的所有文件,根据PHP脚本特征库、JSP脚本特征库、SHELL脚本特征库将文件分类,将PHP脚本、JSP脚本、SHELL脚本添加到白名单数据库中;步骤1.6脚本拦截系统拦截web组态软件中脚本的运行,并计算脚本文件的唯一标识和身份认证信息;步骤1.7脚本拦截系统根据脚本文件的唯一标识在白名单数据库中查询脚本文件对应的身份认证信息,并和步骤1.6中计算的脚本文件的身份认证信息进行校验,验证通过则允许脚本加载运行,否则禁止脚本文件加载。3.根据权利要求1所述的一种针对web组态软件实施的脚本控制系统,其特征在于:脚本控制系统包括web组态软件、脚本解析系统、脚本拦截系统、样本库和白名单数据库;其中web组态软件是采用web技术实现的用于对工控系统进行监控和控制的组态软件,在web组态软件环境需要运行大量的PHP脚本、JSP脚本和SHELL脚本;样本库负责收集样本文件,并分类存储,包括:PHP脚本文件、JSP脚本文件、SHELL脚本文件和不属于以上三类的其他文件;脚本解析系统包括学习模块、工作模块、特征库,学习模块采用文本分类算法学习脚本的特征,工作模块负责解析和判定文件的类型,特征库用来存储从学习模块学习到的脚本特征,包括PHP脚本特征库、JSP脚本特征库、SHELL脚本特征库;脚本特征是由脚本文件中存在的脚本关键字、脚本文件中关键词出现的频率,脚本关键字间的关联关系、以及一定不属于脚本文件的关键字等共同决定,共分为三个级别:高、中、低;高级别代表满足该特征的文件一定属于该类脚本,中级别代表满足该特征的文件可能属于该类脚本,低级别代表满足该类特征的文件一定不属于该脚本;表1PHP脚本特征库的内容表2JSP脚本特征库的内容表3SHELL脚本特征库的内容脚本拦截系统负责...

【专利技术属性】
技术研发人员:赵勇詹静
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1