CN103514403A - 在js中主动进行安全保护的方法及装置 - Google Patents

在js中主动进行安全保护的方法及装置 Download PDF

Info

Publication number
CN103514403A
CN103514403A CN201210205221.3A CN201210205221A CN103514403A CN 103514403 A CN103514403 A CN 103514403A CN 201210205221 A CN201210205221 A CN 201210205221A CN 103514403 A CN103514403 A CN 103514403A
Authority
CN
China
Prior art keywords
safety
management module
engine
script
safety management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201210205221.3A
Other languages
English (en)
Other versions
CN103514403B (zh
Inventor
孙扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yi Mingchanghe Development In Science And Technology Co Ltd
Original Assignee
Beijing Yi Mingchanghe Development In Science And Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yi Mingchanghe Development In Science And Technology Co Ltd filed Critical Beijing Yi Mingchanghe Development In Science And Technology Co Ltd
Priority to CN201210205221.3A priority Critical patent/CN103514403B/zh
Publication of CN103514403A publication Critical patent/CN103514403A/zh
Application granted granted Critical
Publication of CN103514403B publication Critical patent/CN103514403B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Abstract

本发明公开一种在Java script中主动进行安全保护的方法,包括以下步骤:S1、通过浏览器调用JS引擎来处理JS脚本;S2、启动所述JS引擎后,生成JS安全管理模块;S3、在浏览器内核调用所述JS引擎执行所述JS脚本时,将当前执行的事件类型传入所述JS安全管理模块,以便JS引擎在此基础上提供主动保护;以及S4、所述JS引擎在执行正常脚本时,所述JS安全管理模块始终跟踪传入的所述事件类型,并在产生安全问题的时候进行保护。本发明提供的安全保护方法可以主动识别恶意Javascript脚本,发现后主动隔离。

Description

在JS中主动进行安全保护的方法及装置
技术领域
本发明涉及网络安全技术领域,尤其涉及一种在Java script中主动进行安全保护的方法及装置。
背景技术
Java script(JS、Js、js)是由Netscape开发的对象脚本语言,其特点是开发简单、功能灵活,目前已广泛应用于WEB页面及服务器应用程序中。HTML本身是静态的、不允许用户干预,但用Java script编写的脚本程序就可以在用户的浏览器端运行,可以同用户进行交互,从而实现动态页面。可以将Java script与嵌入WEB的大多数对象的事件(如鼠标点击、移动等)相关联,然后用自己的方式处理这些事件。Java script提供了丰富的内置函数及命令,能在浏览器中显示HTML、数值计算、多媒体播放、超级链接以及简单的交互窗口等,还可以使在浏览器中运行的小Java应用程序的性质改变从而很容易地改变控件或其它对象的行为而不必深入研究其本身的结构。
目前,浏览器主要由三大部分组成:DOM(文档对象模型)、Java script引擎和页面渲染。Java script的标准是ECMA-262,其最新版本已经是第5版。但不同浏览器支持的程度略有区别。引擎用于分析、编译和执行脚本或代码,并根据JS数据类型和对象的需要进行内存分配及释放操作。开源Java script引擎有chrome的V8引擎,Mozilla的Spider Monkey;闭源Java script引擎有微软的IE浏览器。常用浏览器都是使用了IE的内核和Chrome的内核,因此Java script引擎也都是由相应内核提供的,都要支持ECMA-262标准。
目前恶意脚本已成为互联网中主要的威胁。为应付这一威胁,浏览器只是采用黑名单的方式来拒绝访问已知含有恶意脚本的网页。对于未知是否含有恶意脚本的页面,浏览器只是提供了是否禁用脚本的选项。对于大部分网页来说,禁用脚本后多数都无法正常显示。
现有技术方案之一:浏览器利用黑名单的方式,收集已知的含有恶意脚本的页面,保存到黑名单里。在用户访问页面前,查看是否命中黑名单。如命中,则拒绝访问。如果没有命中,允许进行访问。该方案的缺点:只能预防已发现的含有恶意脚本的页面,因为只能防范已知且已加入黑名单里的恶意脚本网页,对于层出不穷的新产生的恶意脚本则无法防范。
现有技术方案之二:在浏览器控制选项里,禁止Java script脚本运行。该方案的缺点:禁用后所有脚本都不能运行,现在的网页,几乎或多或少都会用到Java script。禁止Java script脚本运行后,很多页面都无法正常显示。所以,这样的办法人们几乎都不会采用。
中国专利申请号201010525989.X公开一种widget应用安全保护方法。用于对widget进行保护,通过配置文件控制Java script API的访问权限。Java script API可以看作是由很多具体Java script脚本组成的功能代码。如果允许访问就会调用Java script引擎运行这些Java script代码;如果不允许访问,则连Java script引擎都不会调用。
中国专利申请号200810167839.9公开一种Java script对象的调用方法、系统和终端。该方法与上述方法类似,也是通过权限设置,在Java script引擎外确定什么可以调用什么不可以调用。
上述两种方法存在的问题是无法在执行Java script代码时进行实时保护,也就是说通过Java script引擎直接确定保护策略,从而对Java script代码进行主动保护。
有鉴于此,业界亟需一种在Java script中主动进行安全保护的方法,以主动识别恶意Java script,发现后主动隔离。这样可以保护用户浏览网页的安全,而且即使是已知含有恶意Java script脚本的页面,用户也可以正常浏览而不是拒绝访问。这样可以极大的提高浏览网页的用户体验。
发明内容
为了解决上述技术问题,本发明的目的之一在于提供一种在Javascript中主动进行安全保护的方法,应用于网页浏览器,包括以下步骤:S1、通过浏览器调用JS引擎来处理JS脚本;S2、启动所述JS引擎后,生成JS安全管理模块;S3、在浏览器内核调用所述JS引擎执行所述JS脚本时,将当前执行的事件类型传入所述JS安全管理模块,以便JS引擎在此基础上提供主动保护;以及S4、所述JS引擎在执行正常脚本时,所述JS安全管理模块始终跟踪传入的所述事件类型,并在产生安全问题的时候进行保护。
根据本发明的另一实施方式,所述步骤S2进一步包括如下步骤:S21、创建一个JS安全管理对象;以及S22、初始化创建成功的所述JS安全管理对象,并设置所述JS安全管理对象是否以受限方式运行。
根据本发明的另一实施方式,所述步骤S3进一步包括如下步骤:S31、所述浏览器调用所述JS安全管理模块,并将JS命令文本和事件类型提供给所述JS安全管理模块,其中:所述事件类型包括:安全信息和受限运行信息;S32、通过所述JS安全管理模块解释获取的所述JS命令文本;S33、通过所述JS安全管理模块逐条检测执行解释后的JS命令。
根据本发明的另一实施方式,所述安全信息包括:用户密码、cookie以及页面事件中的任意一种。
根据本发明的另一实施方式,所述步骤S3进一步包括如下步骤:S34、判断所述JS脚本是否为恶意脚本:如果“是”,则进行阻止或跟踪操作,并返回步骤S33;如果“否”,则进入步骤S35;S35、判断所述JS命令是否为受限命令:如果“是”,则返回步骤S33;如果“否”,则正常执行JS命令;S36、判断是否还有其他JS命令:如果“是”,则返回步骤S33;如果“否”,则释放所述JS安全管理模块申请的系统资源。
本发明的另一目的在于提供一种在Java script中主动进行安全保护的装置,应用于网页浏览器,包括:JS引擎,根据所述浏览器的调用来处理JS脚本;JS安全管理模块,当所述浏览器调用所述JS引擎时,由启动后的所述JS引擎生成;所述JS安全管理模块用于在浏览器内核调用所述JS引擎执行所述JS脚本时,接收传入的当前执行的事件类型,以便JS引擎在此基础上提供主动保护;以及所述JS安全管理模块用于在所述JS引擎执行正常脚本时,始终跟踪传入的所述事件类型,并在产生安全问题的时候进行保护。
根据本发明的另一实施方式,所述JS安全管理模块包括:第二一模块,用于创建一个JS安全管理对象;以及第二二模块,用于初始化创建成功的所述JS安全管理对象,并设置所述JS安全管理对象是否以受限方式运行。
根据本发明的另一实施方式,所述JS安全管理模块包括:第三一模块,用于在所述浏览器调用所述JS安全管理模块时,接收JS命令文本和事件类型,其中:所述事件类型包括:安全信息和受限运行信息;第三二模块,用于解释获取的所述JS命令文本;第三三模块,用于逐条检测执行解释后的JS命令。
根据本发明的另一实施方式,所述安全信息包括:用户密码、cookie以及页面事件中的任意一种。
根据本发明的另一实施方式,所述JS安全管理模块包括:第一判断模块,用于判断所述JS脚本是否为恶意脚本:如果“是”,则进行阻止或跟踪操作,并返回逐条检测执行解释后的JS命令;如果“否”,则进入下一判断步骤;第二判断模块,用于判断所述JS命令是否为受限命令:如果“是”,则返回逐条检测执行解释后的JS命令;如果“否”,则正常执行JS命令;第三判断模块,用于判断是否还有其他JS命令:如果“是”,则返回逐条检测执行解释后的JS命令;如果“否”,则释放所述JS安全管理模块申请的系统资源。
本发明提供的一种在Java script中主动进行安全保护的方法及装置可以主动识别恶意Java script脚本,发现后主动隔离。这样可以保护用户浏览网页的安全,而且即使是已知含有恶意Java script脚本的页面,用户也可以正常浏览而不是拒绝访问。这样可以极大的提高浏览网页的用户体验。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施方式的描述中将变得明显和容易理解,其中:
图1是根据本发明的一示例性实施方式的流程图;
图2是根据本发明的一示例性实施方式的流程图。
具体实施方式
现在参照附图来具体描述本发明的示例性实施方式。然而,本发明可以用许多不同形式来实施并且不应该认为局限于这里阐述的具体实施方式;相反,提供这些实施方式是为了使本发明的公开彻底和完整,并向本领域技术人员完整地传达本发明的思想、观念、目的、构思、参考方案和保护范围。附图中示例的具体示例性实施方式的详细描述中使用的术语并不是为了限制本发明。附图中,相同标号指代相同要素。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明的关键点是:Java script与浏览器内核紧密配合,在浏览器内核调用海铭安全Java script引擎执行脚本时,要传入当前执行的安全信息。安全信息包括但不限于如是否为用户密码、是否为cookie、执行的页面事件如按键事件等。海铭安全Java script引擎在执行正常脚本的同时,还会始终跟踪传递这些安全信息,并在产生安全问题的时候进行保护。其中包括的保护点有安全信息的传递、跟踪并依此判定在产生安全漏洞的时候进行安全保护。
如图1-2所示,为了解决上述技术问题,本发明的目的之一在于提供一种在Java script中主动进行安全保护的方法,应用于网页浏览器,包括以下步骤:S1、通过浏览器调用JS引擎来处理JS脚本;S2、启动所述JS引擎后,生成JS安全管理模块;S3、在浏览器内核调用所述JS引擎执行所述JS脚本时,将当前执行的事件类型传入所述JS安全管理模块,以便JS引擎在此基础上提供主动保护;以及S4、所述JS引擎在执行正常脚本时,所述JS安全管理模块始终跟踪传入的所述事件类型,并在产生安全问题的时候进行保护。从编程的角度来说,浏览器为了调用JS引擎来处理JS代码,必须先新建一个JS引擎需要的全局对象,然后通过这个对象去执行JS代码,最后在浏览器关闭页面时要释放这个对象。安全信息的传递是由数据结构实现的,比如说密码先被赋给一个变量,然后又由这个变量赋给了某个数组的一个元素。在这些过程中,安全信息要一直传递下去,以后无论是从最开始的变量,或是最后的数组元素向外发送内容,都会被及时制止。
根据本发明的另一实施方式,所述步骤S2进一步包括如下步骤:S21、创建一个JS安全管理对象;以及S22、初始化创建成功的所述JS安全管理对象,并设置所述JS安全管理对象是否以受限方式运行。受限运行信息用于完成如下功能:已知含有恶意JS脚本的页面,用户也可以正常浏览而不是拒绝访问,这样可以极大的提高浏览网页的用户体验”有关。这种情况常出现在搜索引擎中,用户搜索到的内容虽然有用,但因为在搜索引擎的结果页中提示“该页面含有恶意脚本”,结果用户不能打开这样的页面。而在JS安全管理模块的支持下,如果指定了现在以受限方式运行,JS安全管理模块在执行相关脚本时,普通脚本可以执行,页面内容设置也可以执行,但遇到其他无法确定是否会影响到系统安全的脚本时,如调用active对象,向第三方发出请求等则一概拒绝。这样用户可以最大程度的看到原始页面的内容,而又不用担心恶意脚本带来的危害。
根据本发明的另一实施方式,所述步骤S3进一步包括如下步骤:S31、所述浏览器调用所述JS安全管理模块,并将JS命令文本和事件类型提供给所述JS安全管理模块,其中:所述事件类型包括:安全信息和受限运行信息;S32、通过所述JS安全管理模块解释获取的所述JS命令文本;S33、通过所述JS安全管理模块逐条检测执行解释后的JS命令。JS命令文本就是网页中包含的JS语句。事件类型是指页面加载事件(onload)、keypress事件、mouse up事件等,这是网站开发中常用到的语言。由于相同的行为在不同的运行条件下,其安全性是不同的。基本原则就是“如果一些行为可能会有安全问题,这些行为至少应该由用户主动发出才是合理的”。比如说,如果用户点击下载并安装软件,这样的行为是应该允许的。但如果在页面加载的过程中就开始调用JS代码进行下载安装,这样的行为就非常可疑,是应该避免的。再考虑另外一种情况,如果代码是在keypress事件中,把用户输入信息记录到一个JS变量中,这样的行为就非常可疑。这个变量必须跟踪,如果后续代码要将这个变量的内容向第三方发送,必须制止。
根据本发明的另一实施方式,所述安全信息包括:用户密码、cookie以及页面事件中的任意一种。安全信息的由来是这样的,“海铭安全javascript引擎”必须知道有哪些数据是需要保护的,以及当前的运行条件,才能进行合理的保护。比如说,为了保护用户的密码不被恶意脚本盗取,在调用安全JS引擎时,浏览器需要告诉哪部分数据是用户密码。当恶意脚本要将用户密码向第三方服务器发送时,JS安全管理模块会进行阻止。当然安全参数可能还会包含其他内容,如注册成功后返回的认证信息会以cookie的形式保存下来,后续访问时会带上这个cookie,免得用户需要反复注册。这个认证信息肯定需要保护,它也需要在安全参数中进行指定。
根据本发明的另一实施方式,所述步骤S3进一步包括如下步骤:S34、判断所述JS脚本是否为恶意脚本:如果“是”,则进行阻止或跟踪操作,并返回步骤S33(意思是这条命令不允许执行,要跳过这条命令执行后面的命令);如果“否”,则进入步骤S35;S35、判断所述JS命令是否为受限命令:如果“是”,则返回步骤S33;如果“否”,则正常执行JS命令;S36、判断是否还有其他JS命令:如果“是”,则返回步骤S33;如果“否”,则释放所述JS安全管理模块申请的系统资源。在JS引擎中执行JS代码,都是分两步进行,先把JS代码解释出来然后再执行。在解释过程中如果遇到语法错误,会直接终止并返回错误。JS安全管理模块也要经过这样两步,只是在执行的过程中会按照前面介绍的那样,判断这样的语句是否有安全问题来决定是否运行执行。比如说把密码赋给一个变量,这句允许执行。但如果把这个变量作为一个ajax请求的参数发送出去,而请求的服务器非本网站,这样的命令就会被拒绝执行。
本发明的另一目的在于提供一种在Java script中主动进行安全保护的装置,应用于网页浏览器,包括:JS引擎,根据所述浏览器的调用来处理JS脚本;JS安全管理模块,当所述浏览器调用所述JS引擎时,由启动后的所述JS引擎生成;所述JS安全管理模块用于在浏览器内核调用所述JS引擎执行所述JS脚本时,接收传入的当前执行的事件类型,以便JS引擎在此基础上提供主动保护;以及所述JS安全管理模块用于在所述JS引擎执行正常脚本时,始终跟踪传入的所述事件类型,并在产生安全问题的时候进行保护。
根据本发明的另一实施方式,所述JS安全管理模块包括:第二一模块,用于创建一个JS安全管理对象;以及第二二模块,用于初始化创建成功的所述JS安全管理对象,并设置所述JS安全管理对象是否以受限方式运行。
根据本发明的另一实施方式,所述JS安全管理模块包括:第三一模块,用于在所述浏览器调用所述JS安全管理模块时,接收JS命令文本和事件类型,其中:所述事件类型包括:安全信息和受限运行信息;第三二模块,用于解释获取的所述JS命令文本;第三三模块,用于逐条检测执行解释后的JS命令。
根据本发明的另一实施方式,所述安全信息包括:用户密码、cookie以及页面事件中的任意一种。
根据本发明的另一实施方式,所述JS安全管理模块包括:第一判断模块,用于判断所述JS脚本是否为恶意脚本:如果“是”,则进行阻止或跟踪操作,并返回逐条检测执行解释后的JS命令;如果“否”,则进入下一判断步骤;第二判断模块,用于判断所述JS命令是否为受限命令:如果“是”,则返回逐条检测执行解释后的JS命令;如果“否”,则正常执行JS命令;第三判断模块,用于判断是否还有其他JS命令:如果“是”,则返回逐条检测执行解释后的JS命令;如果“否”,则释放所述JS安全管理模块申请的系统资源。
本发明提供的一种在Java script中主动进行安全保护的方法及装置可以主动识别恶意Java script脚本,发现后主动隔离。这样可以保护用户浏览网页的安全,而且即使是已知含有恶意Java script脚本的页面,用户也可以正常浏览而不是拒绝访问。这样可以极大的提高浏览网页的用户体验。
本技术领域技术人员可以理解,上文具体实施方式的某些部分可以是通过算法、程序、或软件模块的形式展现的,这些展现形式包括对于计算机存储器内存储的数据进行的操作。这些展现形式大体上是由完成所需结果的操作的指令化序列组成。这些操作需要或涉及到物理操控或物理量。通常,但不是必然,这些量采取电信号或磁信号的形式,这些信号能够被存储、传输、合并、比较和以其他方式受到操控。本领域技术人员可以理解的是,有时(主要是为了通常使用的原因),将这些信号称为位、值、元素、符合、字符、项、数等等表达方式。但应理解的是,这些以及类似术语是与适当的物理量相关联的,并且仅仅是应用于这些量的方便的标号。除非下文中明显地以其他形式另外说明外,整改说明书中使用诸如“处理”、“计算”、“判定”、或“显示”等术语所进行的说明可以指数据处理系统或类似电子装置进行的动作和处理,所述动作和处理操作计算机的寄存器和存储器内以物理(例如,电子)量表示的数据并将其转换成该系统的存储器、寄存器、或其他类似这些信息存储、传输、或显示的装置内类似地以物理量的形式表示的其他数据。
本技术领域技术人员可以理解,实现上述实施方式或方法所携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。此外,在本发明各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本技术领域技术人员可以理解,用于执行本发明的操作的计算机程序代码可以作为独立的软件包整体地在单个处理器上执行和/或作为另一个软件包的一部分在多个处理器上执行。
本技术领域技术人员可以理解,上面参照根据本发明的实施方式的方法、方法、系统以及计算机程序产品的结构图和/或框图和/或流图对本发明进行了描述。应该理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来生成机器,从而通过计算机或其他可编程数据处理方法的处理器来执行的指令创建了用于实现结构图和/或框图和/或流图的框或多个框中指定的方法。
本技术领域技术人员可以理解,这些计算机程序指令还可以被存储在计算机可读存储器中,所述计算机可读存储器可以指引计算机或其他可编程数据处理方法以特定方式运行,从而存储在计算机可读存储器中的指令生成这样的制品,所述制品包括结构图和/或框图和/或流图的框或多个框中指定的功能的指令方法。
本技术领域技术人员可以理解,这些计算机程序指令还可以被加载到计算机或其他可编程数据处理方法中,使得能够在计算机或其他可编程数据处理方法上执行一些列操作步骤,以生成计算机实现的处理,从而在计算机或其他可编程数据处理方法上执行的指令提供了用于实现结构图和/或框图和/或流图的框或多个框中指定的功能的步骤。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步而言,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步而言,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
附图和说明书中公开了本发明的示例性实施方式。尽管采用了特定术语,但是它们仅用于一般以及描述的意义,而并不是出于限制的目的。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本发明的保护范围应以本发明的权利要求书来限定。

Claims (10)

1.一种在Java script中主动进行安全保护的方法,应用于网页浏览器,其特征在于,包括以下步骤:
S1、通过所述浏览器调用JS引擎来处理JS脚本;
S2、启动所述JS引擎后,生成JS安全管理模块;
S3、在浏览器内核调用所述JS引擎执行所述JS脚本时,将当前执行的事件类型传入所述JS安全管理模块,以便JS引擎在此基础上提供主动保护;以及
S4、所述JS引擎在执行正常脚本时,所述JS安全管理模块始终跟踪传入的所述事件类型,并在产生安全问题的时候进行保护。
2.根据权利要求1所述的在Java script中主动进行安全保护的方法,其特征在于,所述步骤S2进一步包括如下步骤:
S21、创建一个JS安全管理对象;以及
S22、初始化创建成功的所述JS安全管理对象,并设置所述JS安全管理对象是否以受限方式运行。
3.根据权利要求1所述的在Java script中主动进行安全保护的方法,其特征在于,所述步骤S3进一步包括如下步骤:
S31、所述浏览器调用所述JS安全管理模块,并将JS命令文本和事件类型提供给所述JS安全管理模块,其中:所述事件类型包括:安全信息和受限运行信息;
S32、通过所述JS安全管理模块解释获取的所述JS命令文本;
S33、通过所述JS安全管理模块逐条检测执行解释后的JS命令。
4.根据权利要求3所述的在Java script中主动进行安全保护的方法,其特征在于,所述安全信息包括:用户密码、cookie以及页面事件中的任意一种。
5.根据权利要求4所述的在Java script中主动进行安全保护的方法,其特征在于,所述步骤S3进一步包括如下步骤:
S34、判断所述JS脚本是否为恶意脚本:如果“是”,则进行阻止或跟踪操作,并返回步骤S33;如果“否”,则进入步骤S35;
S35、判断所述JS命令是否为受限命令:如果“是”,则返回步骤S33;如果“否”,则正常执行JS命令;
S36、判断是否还有其他JS命令:如果“是”,则返回步骤S33;如果“否”,则释放所述JS安全管理模块申请的系统资源。
6.一种在Java script中主动进行安全保护的装置,应用于网页浏览器,其特征在于,包括:
JS引擎,根据所述浏览器的调用来处理JS脚本;
JS安全管理模块,当所述浏览器调用所述JS引擎时,由启动后的所述JS引擎生成;
所述JS安全管理模块用于在浏览器内核调用所述JS引擎执行所述JS脚本时,接收传入的当前执行的事件类型,以便JS引擎在此基础上提供主动保护;以及
所述JS安全管理模块用于在所述JS引擎执行正常脚本时,始终跟踪传入的所述事件类型,并在产生安全问题的时候进行保护。
7.根据权利要求6所述的在Java script中主动进行安全保护的装置,其特征在于,所述JS安全管理模块包括:
第二一模块,用于创建一个JS安全管理对象;以及
第二二模块,用于初始化创建成功的所述JS安全管理对象,并设置所述JS安全管理对象是否以受限方式运行。
8.根据权利要求6所述的在Java script中主动进行安全保护的装置,其特征在于,所述JS安全管理模块包括:
第三一模块,用于在所述浏览器调用所述JS安全管理模块时,接收JS命令文本和事件类型,其中:所述事件类型包括:安全信息和受限运行信息;
第三二模块,用于解释获取的所述JS命令文本;
第三三模块,用于逐条检测执行解释后的JS命令。
9.根据权利要求6所述的在Java script中主动进行安全保护的方法,其特征在于,所述安全信息包括:用户密码、cookie以及页面事件中的任意一种。
10.根据权利要求9所述的在Java script中主动进行安全保护的装置,其特征在于,所述JS安全管理模块包括:
第一判断模块,用于判断所述JS脚本是否为恶意脚本:如果“是”,则进行阻止或跟踪操作,并返回逐条检测执行解释后的JS命令;如果“否”,则进入下一判断步骤;
第二判断模块,用于判断所述JS命令是否为受限命令:如果“是”,则返回逐条检测执行解释后的JS命令;如果“否”,则正常执行JS命令;
第三判断模块,用于判断是否还有其他JS命令:如果“是”,则返回逐条检测执行解释后的JS命令;如果“否”,则释放所述JS安全管理模块申请的系统资源。
CN201210205221.3A 2012-06-18 2012-06-18 在js中主动进行安全保护的方法及装置 Expired - Fee Related CN103514403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210205221.3A CN103514403B (zh) 2012-06-18 2012-06-18 在js中主动进行安全保护的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210205221.3A CN103514403B (zh) 2012-06-18 2012-06-18 在js中主动进行安全保护的方法及装置

Publications (2)

Publication Number Publication Date
CN103514403A true CN103514403A (zh) 2014-01-15
CN103514403B CN103514403B (zh) 2017-02-08

Family

ID=49897109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210205221.3A Expired - Fee Related CN103514403B (zh) 2012-06-18 2012-06-18 在js中主动进行安全保护的方法及装置

Country Status (1)

Country Link
CN (1) CN103514403B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630526A (zh) * 2014-11-03 2016-06-01 阿里巴巴集团控股有限公司 脚本的加载控制方法及装置
CN106485148A (zh) * 2015-10-29 2017-03-08 远江盛邦(北京)网络安全科技股份有限公司 基于js‑bom结合的恶意代码行为分析沙箱的实现方法
CN109922065A (zh) * 2019-03-10 2019-06-21 北京亚鸿世纪科技发展有限公司 恶意网站快速识别方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150999A1 (en) * 2007-12-05 2009-06-11 International Business Machines Corporation System, method and program product for detecting computer attacks
CN101667230A (zh) * 2008-09-02 2010-03-10 北京瑞星国际软件有限公司 一种监控脚本执行的方法和装置
CN101977230A (zh) * 2010-10-21 2011-02-16 中兴通讯股份有限公司 一种widget应用安全保护方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150999A1 (en) * 2007-12-05 2009-06-11 International Business Machines Corporation System, method and program product for detecting computer attacks
CN101667230A (zh) * 2008-09-02 2010-03-10 北京瑞星国际软件有限公司 一种监控脚本执行的方法和装置
CN101977230A (zh) * 2010-10-21 2011-02-16 中兴通讯股份有限公司 一种widget应用安全保护方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630526A (zh) * 2014-11-03 2016-06-01 阿里巴巴集团控股有限公司 脚本的加载控制方法及装置
CN105630526B (zh) * 2014-11-03 2019-04-19 阿里巴巴集团控股有限公司 脚本的加载控制方法及装置
CN106485148A (zh) * 2015-10-29 2017-03-08 远江盛邦(北京)网络安全科技股份有限公司 基于js‑bom结合的恶意代码行为分析沙箱的实现方法
CN109922065A (zh) * 2019-03-10 2019-06-21 北京亚鸿世纪科技发展有限公司 恶意网站快速识别方法

Also Published As

Publication number Publication date
CN103514403B (zh) 2017-02-08

Similar Documents

Publication Publication Date Title
US11716348B2 (en) Malicious script detection
US10120997B2 (en) Code instrumentation for runtime application self-protection
Jang et al. An empirical study of privacy-violating information flows in JavaScript web applications
US8789178B2 (en) Method for detecting malicious javascript
Naseem et al. MINOS: A Lightweight Real-Time Cryptojacking Detection System.
US20160065613A1 (en) System and method for detecting malicious code based on web
US20110030060A1 (en) Method for detecting malicious javascript
CN105335655A (zh) 一种基于敏感行为识别的安卓应用安全性分析方法
CN104063673B (zh) 一种在浏览器中进行信息输入的方法和浏览器装置
Jonker et al. Fingerprint surface-based detection of web bot detectors
CN101964026A (zh) 网页挂马检测方法和系统
Shahriar et al. Effective detection of vulnerable and malicious browser extensions
Chen et al. Detecting filter list evasion with event-loop-turn granularity javascript signatures
Snyder et al. Who filters the filters: Understanding the growth, usefulness and efficiency of crowdsourced ad blocking
CN106250761B (zh) 一种识别web自动化工具的设备、装置及方法
Solomos et al. The dangers of human touch: fingerprinting browser extensions through user actions
CN111177727A (zh) 漏洞检测方法及装置
CN112016096A (zh) 一种xss漏洞的审计方法、装置
Hassanshahi et al. Gelato: Feedback-driven and guided security analysis of client-side web applications
CN103514403A (zh) 在js中主动进行安全保护的方法及装置
CN103390129B (zh) 检测统一资源定位符安全性的方法和装置
Cavalli et al. Design of a secure shield for internet and web-based services using software reflection
CN102446253A (zh) 一种网页木马检测方法及系统
CN103581321A (zh) 一种refer链的创建方法、装置及安全检测方法和客户端
Chen et al. Improving web content blocking with event-loop-turn granularity javascript signatures

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170208

Termination date: 20170618

CF01 Termination of patent right due to non-payment of annual fee