本发明专利技术公开了一种主动防御XSS攻击的数据防御组件生成方法及其装置,方法包括形成简单数据传输对象并加入防御标识;定制防御编译器组件代码;将防御编译器组件代码插入到标准编译器组件序列;形成数据防御组件等步骤;本装置包括数据结构读取模块、防御代码标识模块、防御编译器、标准编译器、防御代码管理模块,其中数据结构读取模块、防御代码标识模块、防御编译器、标准编译器依次连接,防御代码管理模块与防御编译器连接;本发明专利技术能够对防御代码及时调整扩展,使网站快速、实时地应对不断变化的XSS攻击,通用性强,大大提升了网站的开发效率,提升了网站的安全性。
【技术实现步骤摘要】
主动防御XSS攻击的数据防御组件生成方法及其装置
本专利技术属于网站安全领域,特别是一种主动防御XSS攻击的数据防御组件生成方 法及其装置。
技术介绍
在各种网站安全漏洞中,跨站脚本攻击(Cross Site Script,即XSS攻击)是危 害比较严重的。跨站脚本攻击是指攻击者在有漏洞的网站中插入恶意的可执行脚本(包含 javascript, flash, css等)以欺骗用户执行。一旦用户浏览了此页面,嵌入其中的恶意脚 本就会执行,攻击者通过这种方式达到恶意危害用户目的,如盗取各类用户帐号,控制企业 数据,包括具有读取、篡改、添加、删除企业敏感数据的能力,盗窃企业重要的、具有商业价 值的资料,非法转账,强制发送电子邮件,控制受害者机器向其它网站发起攻击等。针对XSS攻击,目前提出了一些检测XSS攻击方法,在这方面有专利“一种检测数 据库是否遭到跨站脚本攻击的方法及装置”(专利申请号200910085040. X),通过捕获提交 到数据库服务器的数据包,从中提出SQL语句,如果提出的SQL语句为包含修改数据库字段 内容的语句,则判断此SQL语句中是否含有跨站脚本攻击行为,如果有则判定数据库被跨 站脚本攻击,从而检测出数据库所遭受的XSS攻击。专利“应用遗传算法自动生成XSS跨站 点脚本漏洞检测参数的方法”(专利申请号201010242794. 4),设计了一套检测参数集、编 码解码策略和攻击参数数据库,以及XSS模拟攻击操作,使用遗传算法的交叉、变异、选择, 通过模拟攻击操作的反馈结果和基因编码策略,不断生成新的父代和子代,循环执行算法 直到达到预期的代数,通过这种方法自动生成有效的XSS攻击检测参数。这2个专利提出的方法都是用于对XSS攻击的检测,而没有提出有效的针对XSS 攻击的防御方法。在防御XSS攻击方面,在这方面发表的主要文献有在《计算机系统应用》2010年 第19卷第2期发表的《客户端跨站脚本攻击的分层防御策略》,此文献提出的分层防御策 略是建立在客户端,并且带有一个XSS信息数据库,首先将来自服务器端的数据接收到客 户端浏览器后,不立即进行编译,而是把数据发送到一个分析模块,在此模块中,分层防御 策略会使用4个层次的筛选对网页内容的安全性进行分析和比对,对其中存在安全风险网 页,将把其IP地址发送到XSS信息数据库中保存,并同时通知用户,避免恶意Script代码 的执行,从而保证用户安全。由于这种方法把分析模块和XSS信息数据库植入到本地计算 机,因此需要时常保持对XSS数据库的更新,否则就不能有效防御新的XSS攻击,而且这种 防御方式属于被动防御,XSS信息数据库更新时间差有可能导致XSS攻击得逞,不能主动进 行防御。对于大型网站来说,日访问量是相当大的,如果不能实现事先主动防御XSS攻击, 而留在事后处理的话,对网站的访问者造成了潜在的威胁。因此,对XSS攻击进行主动防御是非常必要的。
技术实现思路
本专利技术的目的在于提供一种能够主动防御,能够对防御代码及时调整扩展,使网站快速、实时地应对不断变化的XSS攻击,通用性强,大大提升了网站的开发效率,提升了网站的安全性的主动防御XSS攻击的数据防御组件生成方法及其装置。实现本专利技术目的的技术解决方案为 一种主动防御XSS攻击的数据防御组件生成方法,包括以下步骤 步骤一数据结构读取模块访问数据库服务器,读取网站的数据库表结构,形成简单数据传输对象,并用防御代码标识模块在简单数据传输对象中加入防御标识; 步骤二 用防御编译器定制防御编译器组件代码; 步骤三将防御编译器组件代码插入到标准编译器组件序列; 步骤四在标准编译器中进行编译,防御编译器组件会被执行,形成数据防御组件,其中包含有防御代码以及防御代码执行的触发条件,保存在数据传递器的防御配置子单元中。步骤一包括以下具体步骤 (1)通过数据结构读取模块,访问数据库服务器,读取网站的数据库表结构; (2)利用代码生成组件,将读取的网站数据库表结构生成简单数据传输对象; (3)防御代码标识模块自动选择类型为文本字符串的属性,加入防御标识; 其中,所述的代码生成组件是以插件的形式提供,用来形成表述的简单数据传输对象的代码;所述的简单数据传输对象本身通过代码的形成存在,用来映射网站的数据库表结构,其中包含数据部分和数据获取部分;所述防御标识是指在简单数据传输对象中的文本属性中加入能够为编译器所理解的标志,用以在编译程序时指定嵌入防御代码的位置。步骤二包括以下具体步骤 (1)编写防御代码,将编写好的防御代码存入到防御代码管理模块中,防御代码的作用是检测用户输入的内容中是否含有可执行脚本,如果有,就对这些可执行脚本代码进行转义处理,使其输出内容为单纯的普通字符串; (2)编写防御代码触发条件,判断运行环境是否是渲染HTML状态,如果是渲染HTML状态,则执行预定义好的防御代码; (3)防御编译器在简单数据传输对象中寻找防御标识,找到防御标识后,将防御编译器组件代码插入到数据获取方法中;其中防御编译器组件代码是指增强标准编译器的编译行为,可根据安全期望,独立定制的具有防御能力的最终执行程序的行为,包含有防御代码和防御代码触发条件; 一种数据防御组件生成器,包括数据结构读取模块、防御代码标识模块、防御编译器、标准编译器、防御代码管理模块,其中数据结构读取模块、防御代码标识模块、防御编译器、标准编译器依次连接,防御代码管理模块与防御编译器连接。本专利技术与现有技术相比,其显著优点1、XSS攻击防御编码被植入到在数据实体的数据获取部分的可执行程序中,在页面进行渲染时,植入的防御代码会自动执行,起到了服务器主动防御的作用。2、扩展性强。方便增加新的防御标识,从而增加与之对应的新防御代码,有利于防御方法的调整扩展。3、通用性强,这种防御XSS攻击方法与业务处理程序是相互独立的,可以方便应用到各种第三方网站中,与研发所使用语言以及工具无关。4、无需编码人员对网站每个页面进行防御处理,也无需测试人员每次对防御处理编码进行测试,减少了人工处理可能出错或者是偶尔缺漏的风险,提升了网站的开发效率,减少人员的投入,提升网站的安全性。下面结合附图对本专利技术作进一步详细描述。附图说明图1为本专利技术方法的流程图。图2为本专利技术数据防御组件生成器的结构示意图。图3为不进行XSS攻击防御处理。图4为进行XSS攻击防御处理。图5为数据实体的组成示意图。图6为服务器主动防御XSS攻击的过程结构示意图。。具体实施例方式如图1和图2所示,本专利技术一种主动防御XSS攻击的数据防御组件生成方法,包括以下步骤 步骤一数据结构读取模块访问数据库服务器,读取网站的数据库表结构,形成简单数据传输对象,并用防御代码标识模块在简单数据传输对象中加入防御标识; 步骤二 用防御编译器定制防御编译器组件代码; 步骤三将防御编译器组件代码插入到标准编译器组件序列; 步骤四在标准编译器中进行编译,防御编译器组件会被执行,形成数据防御组件,其中包含有防御代码以及防御代码执行的触发条件,保存在数据传递器的防御配置子单元中。步骤一包括以下具体步骤 (1)通过数据结构读取模块,访问数据库服务器,读取网站的数据库表结构; (2)利用代码生成组件,将读本文档来自技高网...
【技术保护点】
一种主动防御XSS攻击的数据防御组件生成方法,其特征在于,包括以下步骤:步骤一:数据结构读取模块访问数据库服务器,读取网站的数据库表结构,形成简单数据传输对象,并用防御代码标识模块在简单数据传输对象中加入防御标识;步骤二:用防御编译器定制防御编译器组件代码;?步骤三:将防御编译器组件代码插入到标准编译器组件序列;步骤四:在标准编译器中进行编译,防御编译器组件会被执行,形成数据防御组件,其中包含有防御代码以及防御代码执行的触发条件,保存在数据传递器的防御配置子单元中。
【技术特征摘要】
【专利技术属性】
技术研发人员:杨昕,葛亮,
申请(专利权)人:焦点科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。