A defense method against browser cache poisoning is proposed, which comprises the following steps: when the browser sends a request page to the server through detection and discovery, and calls the local cache control key function, intercepting the cache control key function; obtaining all the request pages according to the cache control key function Uncached expired JavaScript files, and the JavaScript file hash value calculation; based on the calculation results to verify whether the JavaScript file has been tampered with, if so, its cache time is adjusted to earlier than the current time. Through the interactive verification between client and server, it can effectively defend against browser cache poisoning attack and protect user personal information security without affecting user experience. At the same time, a system for realizing the above method is provided.
【技术实现步骤摘要】
一种针对浏览器缓存投毒的防御方法及系统
本专利技术涉及计算机网络安全领域,用于对抗利用浏览器缓存机制实施的缓存投毒攻击,更具体地,是一种针对浏览器缓存投毒的检测方法及系统。
技术介绍
浏览器缓存投毒是指攻击者利用中间人等攻击手段将恶意JavaScript脚本植入到客户端浏览器缓存中,在缓存不被清除的前提下,用户每次访问网页,将会加载恶意JavaScript脚本,进而达到窃取用户账号密码、浏览记录,劫持、篡改流量等目的,严重威胁到用户个人信息安全。浏览器缓存机制的设计初衷是让浏览器将一些静态资源(如:图片、CCS、JavaScript文件等)存储在本地,从而减少网络延迟,降低Web服务器的负载,提升用户体验。其主要实现方式是通过HTTP协议与服务器进行缓存资源的协商与校验,服务器可在HTTP响应头中设置Expires、Cache-Control属性的值来控制资源的有效时间,设置Last-Modified、Etag属性的值来判断资源的版本。在有效时间内,浏览器可以直接从本地缓存中获取该资源,而不需要再向服务器发送请求。然而,浏览器缓存机制也为攻击者提供了机会,通过中间人等手段,攻击者可以用恶意的JavaScript脚本替换原始资源,并设置长久的缓存时间,使得恶意JavaScript脚本能驻留在浏览器缓存之中。JavaScript主要作为客户端脚本语言在客户端的浏览器上运行,能为网页添加各式各样的动态功能,增加交互性,为用户提供更流畅美观的浏览效果。随着浏览器技术的不断完善,以及Ajax、HTML5等Web技术的迅速发展,JavaScript得到了广泛应用,并可 ...
【技术保护点】
1.一种针对浏览器缓存投毒的防御方法,包括以下步骤:当通过检测发现浏览器向服务器发送请求页面,并调用本地的缓存控制关键函数时,拦截该缓存控制关键函数;根据缓存控制关键函数获取该请求页面中所有未缓存过期的JavaScript文件,并对JavaScript文件进行哈希值计算;根据计算结果校验JavaScript文件是否被篡改,如是,则将其缓存时间调整至早于当前时间。
【技术特征摘要】
1.一种针对浏览器缓存投毒的防御方法,包括以下步骤:当通过检测发现浏览器向服务器发送请求页面,并调用本地的缓存控制关键函数时,拦截该缓存控制关键函数;根据缓存控制关键函数获取该请求页面中所有未缓存过期的JavaScript文件,并对JavaScript文件进行哈希值计算;根据计算结果校验JavaScript文件是否被篡改,如是,则将其缓存时间调整至早于当前时间。2.如权利要求1所述的针对浏览器缓存投毒的防御方法,其特征在于,根据计算结果校验JavaScript文件是否被篡改包括:将JavaScript文件名与其哈希值组成的JSON数据;查找与JavaScript文件名对应的存储在本地的哈希值,将JSON数据中的哈希值与本地的哈希值进行比对,并生成校验值对,表示文件是否被篡改。3.如权利要求1所述的针对浏览器缓存投毒的防御方法,其特征在于,所述哈希值计算选用算法为MD5算法或SHA算法。4.如权利要求1所述的针对浏览器缓存投毒的防御方法,其特征在于,如JSON数据中的哈希值与本地的哈希值不一致,则生成{“文件名”:“Fail”}校验值对;若两者一致,则生成{“文件名”:“Success”}。5.一种针对浏览器缓存投毒的防御系统,包括:部署在客户端浏览器上的Hook模块,散列值生成模块及缓存更新模块;用以实现客户端与服务器数据传输的数据传输模块,部署在服务器上...
【专利技术属性】
技术研发人员:刘井强,尹捷,刘潮歌,刘奇旭,赵建军,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。