基于Node.js的XSS和CSRF防御研究与实现

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:ana504
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
如今越来越多的应用程序依靠Web这一平台发展为由用户主导的内容互联网模式。Web应用已经成为了当前最流行的计算机应用程序,但是随着Web应用的越来越火热,安全问题也随之而来,跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是两种最流行的Web应用攻击方式。而Node.js作为一种新兴的Web应用开发平台,并没有为在其上开发及部署的Web应用提供XSS和CSRF防御功能。本文从Node.js的运行机制出发,对开发及部署在Node.js上的Web应用的性能方面进行综合考虑,设计实现了一个为Node.js Web应用提供XSS防御功能和CSRF防御功能的防御系统。该防御系统通过运行在Node.js的子进程中为Web应用提供防御服务,通过高度的解耦合,对于已开发及部署在Node.js平台上的Web应用来说,并不需要改动太多的代码就可以开启防御系统为其提供防御服务。防御系统分为六个模块,包括XSS防御模块、CSRF防御模块、会话管理模块、日志管理模块、通信接口模块以及初始化模块。而防御系统设计实现的中心是XSS防御模块,因为只有Web应用在没有XSS安全漏洞的前提下,针对CSRF设计的防御措施才能够正常的进行防御。XSS的防御有四个步骤,分别为检测、解析、过滤及输出编码。首先对数据进行检测来判断其类型。接下来使用本文设计实现的HTML解析器对HTML数据进行解析,同时在解析过程中会利用污点标记算法对解析出的HTML标签进行污点标记。过滤过程分为两部分,包括HTML标签属性的过滤,以及HTML属性值的过滤;为了提高过滤效率,使用红黑树存储白名单及黑名单;并利用字符串信息熵以及攻击特征正则匹配算法来提高属性值过滤的准确性。最后通过追踪污点标记对原始字符串进行安全值替换,编码输出合法数据。在实现XSS防御的基础上,根据Anti CSRF Token防御策略实现了CSRF防御模块,同时实现了基于Redis数据库存储的Session模块来为Web应用提供会话管理。Web应用与防御系统之间的通信以IPC通道为主,同时使用Redis数据库作为第三方数据存储区,以数据共享的方式进行数据交换。本文搭建了测试环境对防御系统进行测试。测试主要包括功能测试和性能测试。通过对测试结果进行分析,证明防御系统能够对XSS和CSRF攻击进行有效防御,并且在为Web应用提供防御服务的同时,防御系统并没有对Web应用的响应时间造成太大的影响,符合性能需求。
其他文献
<正>中国特色社会主义道路理论的创立是中国共产党对马克思主义理论宝库的重大贡献,邓小平是这一理论的主要创立者之一。新中国成立后,党对中国社会主义改造道路进行了艰辛的
会议
近十年,不断发生的一件事情就是,越来越多的应用开始在浏览器里运行,就是说越来越多的桌面应用、手机应用也会在Web上安家。随之带来的问题就是Web访问量的急剧上升及并发访
目的:应用流式细胞仪检测并分析乳腺癌前哨淋巴结(Sentinel lymph nodes,SLN)及非前哨淋巴结(non-Sentinel lymph node ,NSLN)中淋巴细胞亚群发生癌转移和未发生癌转移时的变化。
分配机制是企业内部经营机制的重要方面,国有企业的活力大小,很重要的在于内部分配机制是否合理,是否有利于调动职工的积极性,是否增加企业的市场竞争能力、技术创新能力。而其核
目的探讨拉米夫定联合替诺福韦与依非韦伦治疗艾滋病的临床效果。方法选取2016年1月至2017年12月我院40例艾滋病患者为研究对象,所有患者均采用拉米夫定联合替诺福韦与依非韦
<正>中国高铁海外所斩获的成果,多是政府竭力推动的结果。除了成本优势以及技术转让,外界青睐中国高铁的一个重要原因是国家财政支撑下的超强融资能力。作为周边互联互通的一
期刊
建立了QuEChERS-HPLC分离检测猕猴桃中氯吡脲残留量的方法。样品经乙腈超声提取、N-丙基乙二胺(PSA)为分散固相萃取剂净化后,进行HPLC检测。氯吡脲在0.025 0~50μg/mL范围内