CN106856470A - 用于防范网络攻击的方法以及装置 - Google Patents
用于防范网络攻击的方法以及装置 Download PDFInfo
- Publication number
- CN106856470A CN106856470A CN201510902568.7A CN201510902568A CN106856470A CN 106856470 A CN106856470 A CN 106856470A CN 201510902568 A CN201510902568 A CN 201510902568A CN 106856470 A CN106856470 A CN 106856470A
- Authority
- CN
- China
- Prior art keywords
- address space
- heap
- randomly assigned
- space
- network attack
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了用于防范网络攻击的方法以及装置,涉及信息安全领域。该方法包括:接收空间分配请求信息;以及根据该空间分配请求信息随机分配堆的地址空间。当攻击代码尝试基于内存控制跳转到关键代码执行时,由于内存随机化破坏了堆内存线性增长、堆边界对齐和释放块复用等特性,跳转执行成功率大大降低,从而完成了攻击防护。本发明不依赖于网络攻击的检测发现技术,而且能作为基于特征库的检测与防护技术的有益补充;同时适用于已知漏洞和未知漏洞的攻击防护,并且无需对系统硬件进行改造,实现成本较低。
Description
技术领域
本发明涉及信息安全领域,特别涉及用于防范网络攻击的方法以及装置。
背景技术
当前的网络安全攻击威胁大量来自于Use-After-Free(释放后使用)、Type Confusion(类型混淆)、Heap Overflow(堆溢出)、Out-of-Bounds Access(越界访问)等类型的漏洞利用。目前针对漏洞利用型网络攻击威胁的防范,主要包括在网络层设置IPS(入侵防御系统)和在主机操作系统上安装恶意代码防护软件实现,这两种方法都极大地依赖于已知漏洞和利用程序的特征库,基于检测发现来进行防护。
发明内容
本发明的发明人发现,漏洞利用极大地依赖于对内存布局的控制和预测,特别是对堆内存的精确分配和控制。
本发明的一个实施例的目的是:提供一种用于防范网络攻击的方法。本发明的一个实施例的目的是:提供一种用于防范网络攻击的装置。
根据本发明的第一方面,提供了一种用于防范网络攻击的方法,包括:接收空间分配请求信息;以及根据所述空间分配请求信息随机分配堆的地址空间。
进一步,其中,所述地址空间的长度随机分配。
进一步,所述空间分配请求信息包括:请求的地址空间长度;其中,随机分配的地址空间的长度大于所述请求的地址空间长度。
进一步,根据所述空间分配请求信息随机分配堆的地址空间的步骤包括:随机分配所述地址空间的起始地址,并返回所述起始地址。
进一步,其中,两个相邻堆之间的距离随机分配。
根据本发明的第二方面,提供了一种用于防范网络攻击的装置,包括:接收单元,用于接收空间分配请求信息;以及分配单元,用于根据所述空间分配请求信息随机分配堆的地址空间。
进一步,其中,所述地址空间的长度随机分配。
进一步,所述空间分配请求信息包括:请求的地址空间长度;其中,随机分配的地址空间的长度大于所述请求的地址空间长度。
进一步,所述分配单元随机分配所述地址空间的起始地址,并返回所述起始地址。
进一步,其中,两个相邻堆之间的距离随机分配。
根据本发明的一些实施例的方法或者装置可以有效破坏堆内存线性增长、堆边界对齐和释放块复用等特性,从而可以有效防范已知的和未知的漏洞利用攻击,而且同时不影响正常程序的执行效率。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1是示出根据本发明一些实施例的用于防范网络攻击的方法的流程图。
图2是示出根据本发明另一些实施例的用于防范网络攻击的方法的流程图。
图3是示意性地示出根据本发明一些实施例的用于防范网络攻击的装置的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1是示出根据本发明一些实施例的用于防范网络攻击的方法的流程图。
在步骤S11,接收空间分配请求信息。例如,可以在操作系统运行或者应用模块运行的过程中,周期性地接收空间请求信息,也可以在操作系统启动或者应用模块启动时接收空间请求信息。
在步骤S12,根据空间分配请求信息随机分配堆的地址空间。
该实施例中,通过随机分配堆的地址空间,可以有效破坏堆内存线性增长、堆边界对齐和释放块复用等特性,从而可以有效抵御已知和未知的网络攻击,例如缓冲区溢出型漏洞攻击,同时不影响正常程序的执行效率。
在一些实施例中,地址空间的长度随机分配。例如,可以分配地址空间的长度为8字节或者16字节,等等。由于地址空间的长度随机分配,因此可以增强地址空间分配的随机性。通过随机分配地址空间的长度,而不是每次分配固定的长度,可以有效增强网络攻击的防范能力。
在一些实施例中,空间分配请求信息包括:请求的地址空间长度;其中,随机分配的地址空间的长度大于该请求的地址空间长度。例如,在请求分配地址空间时,请求的地址空间长度为8字节,而根据空间分配请求信息随机分配堆的地址空间时,所分配的地址空间的长度大于8字节,例如16字节。例如分配的一段地址空间为:0x100000-0x100010。
这样的随机分配长度的设置可以在网络攻击获取到空间分配请求信息时防止攻击方得到所分配的地址空间长度,从而降低网络攻击的成功率,并且由于所分配的地址空间的长度大于请求的地址空间长度,从而能够满足要求,不影响正常程序的执行效率。
在一些实施例中,根据空间分配请求信息随机分配堆的地址空间的步骤包括:随机分配地址空间的起始地址,并返回该起始地址。例如,可以将所分配的地址空间中任意值作为起始地址,例如可以是0x100000-0x100008之间的任意值。
在该实施例中,将随机分配的起始地址返回给请求方,例如操作系统发出分配地址空间的请求,则将该起始地址返回给操作系统。又例如,应用模块发出分配地址空间的请求,则将该起始地址返回给该应用模块。由于起始地址是随机分配的,网络攻击方不容易发现该地址空间,可以有效避免网络攻击。
在一些实施例中,两个相邻堆之间的距离随机分配。例如,先随机分配了第一堆的地址空间,再分配一个与该第一堆相邻的第二堆的地址空间,该第一堆与该第二堆之间的距离可以随机分配。这里,两个相邻堆之间的距离定义为:第一堆的结束地址与第二堆的起始地址的距离。由于两个相邻堆之间的距离不确定,使得网络攻击即使攻击到了一个堆,也很难攻击到另一个堆,大大增强了网络攻击的防护能力。
本发明的实施例实现了堆块分配的起始地址随机化、长度随机化,使得两个相邻堆的距离也变得不确定,破坏了堆内存线性增长、堆边界对齐和释放块复用等特性,深度影响了漏洞利用环境,使得精确控制和预测内存变为不可能,大大增加了漏洞利用的难度;解决了现有技术手段存在的极大程度依赖于已知漏洞和利用程序的特征库、防御效率低、无法防御未知漏洞攻击等问题,提升了安全攻击防御能力。
本发明的实施例中,在随机分配堆的地址空间时,可以在操作系统层面的内存管理模块进行,也可以在应用程序自身的内存管理模块进行,且与操作系统类型和应用程序类型无关,适用面广。或者,也可以在操作系统层或应用程序自身加载内存随机化模块,外部威胁发起依赖于对内存布局精确控制的攻击时,会由于无法控制内存布局而导致攻击失效,从而实现防护。
本发明的实施例中,可以基于抖动算法随机分配堆的地址空间。即,将抖动算法应用到内存管理领域,实现内存堆块分配的随机化,有效破坏堆内存线性增长、堆边界对齐和释放块复用等特性。本发明中,抖动算法可以采用本领域技术人员已知的一些算法,这里不再赘述。
图2是示出根据本发明另一些实施例的用于防范网络攻击的方法的流程图。
在步骤S21,接收空间分配请求信息。该空间分配请求信息可以包括:请求的地址空间长度,例如8字节。
在步骤S22,根据空间分配请求信息随机分配堆的地址空间。
在步骤S23,该地址空间的长度随机分配,且大于请求的地址空间长度。例如随机分配的地址空间长度可以为16字节,例如分配的一段地址空间为:0x100000-0x100010。
在步骤S24,随机分配该地址空间的起始地址,并返回该起始地址。例如可以是0x100000-0x100008之间的任意值。
当攻击代码尝试基于内存控制跳转到关键代码执行时,由于内存随机化破坏了堆内存线性增长、堆边界对齐和释放块复用等特性,跳转执行成功率大大降低,从而完成了攻击防护。
本发明实施例的用于防范网络攻击的方法不依赖于网络攻击的检测发现技术,而且能作为基于特征库的检测与防护技术的有益补充;同时适用于已知漏洞和未知漏洞的攻击防护;并且无需对系统硬件进行改造,实现成本较低。
图3是示意性地示出根据本发明一些实施例的用于防范网络攻击的装置的结构示意图。
如图3所示,用于防范网络攻击的装置30包括:接收单元31和分配单元32。
接收单元31用于接收空间分配请求信息。
例如,操作系统或者应用模块在运行的过程中,可以周期地发出空间请求信息,也即接收单元可以周期性地接收空间请求信息。这样可以周期性地防范网络攻击。
又例如,操作系统或者应用模块在启动时向接收单元31发出空间请求信息,也即接收单元在操作系统启动或者应用模块启动时接收空间分配请求信息。
分配单元32用于根据空间分配请求信息随机分配堆的地址空间。例如,分配单元32可以基于抖动算法随机分配堆的地址空间。
该实施例中,通过随机分配堆的地址空间,可以有效破坏堆内存线性增长、堆边界对齐和释放块复用等特性,从而可以有效抵御已知和未知的网络攻击,例如缓冲区溢出型漏洞攻击,同时不影响正常程序的执行效率。
在一些实施例中,地址空间的长度随机分配。例如,可以分配地址空间的长度为8字节或者16字节,等等。分配单元通过随机分配地址空间的长度,而不是每次分配固定的长度,可以有效增强网络攻击的防范能力。
在一些实施例中,空间分配请求信息包括:请求的地址空间长度;其中,随机分配的地址空间的长度大于该请求的地址空间长度。例如,在请求分配地址空间时,请求的地址空间长度为8字节,而根据空间分配请求信息随机分配堆的地址空间时,所分配的地址空间的长度大于8字节,例如16字节。例如分配的一段地址空间为:0x100000-0x100010。
在一些实施例中,分配单元32随机分配地址空间的起始地址,并返回该起始地址。例如,可以将所分配的地址空间中任意值作为起始地址,例如可以是0x100000-0x100008之间的任意值。
在该实施例中,将随机分配的起始地址返回给请求方,例如操作系统发出分配地址空间的请求,则分配单元将该起始地址返回给操作系统。又例如,应用模块发出分配地址空间的请求,则分配单元将该起始地址返回给该应用模块。由于起始地址是随机分配的,网络攻击方不容易发现该地址空间,可以有效避免网络攻击。
在一些实施例中,两个相邻堆之间的距离随机分配。例如,先随机分配了第一堆的地址空间,再分配一个与该第一堆相邻的第二堆的地址空间,该第一堆与该第二堆之间的距离随机分配。由于两个相邻堆之间的距离不确定,使得网络攻击即使攻击到了一个堆,也很难攻击到另一个堆,大大增强了网络攻击的防护能力。
本发明实施例的用于防范网络攻击的装置不依赖于网络攻击的检测发现技术,而且能作为基于特征库的检测与防护技术的有益补充;同时适用于已知漏洞和未知漏洞的攻击防护;并且无需对系统硬件进行改造,实现成本较低。
至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (10)
1.一种用于防范网络攻击的方法,其特征在于,包括:
接收空间分配请求信息;以及
根据所述空间分配请求信息随机分配堆的地址空间。
2.根据权利要求1所述用于防范网络攻击的方法,其特征在于,
其中,所述地址空间的长度随机分配。
3.根据权利要求2所述用于防范网络攻击的方法,其特征在于,
所述空间分配请求信息包括:请求的地址空间长度;
其中,随机分配的地址空间的长度大于所述请求的地址空间长度。
4.根据权利要求1或2所述用于防范网络攻击的方法,其特征在于,根据所述空间分配请求信息随机分配堆的地址空间的步骤包括:
随机分配所述地址空间的起始地址,并返回所述起始地址。
5.根据权利要求1或2所述用于防范网络攻击的方法,其特征在于,
其中,两个相邻堆之间的距离随机分配。
6.一种用于防范网络攻击的装置,其特征在于,包括:
接收单元,用于接收空间分配请求信息;以及
分配单元,用于根据所述空间分配请求信息随机分配堆的地址空间。
7.根据权利要求6所述用于防范网络攻击的装置,其特征在于,
其中,所述地址空间的长度随机分配。
8.根据权利要求7所述用于防范网络攻击的装置,其特征在于,
所述空间分配请求信息包括:请求的地址空间长度;
其中,随机分配的地址空间的长度大于所述请求的地址空间长度。
9.根据权利要求6或7所述用于防范网络攻击的装置,其特征在于,
所述分配单元随机分配所述地址空间的起始地址,并返回所述起始地址。
10.根据权利要求6或7所述用于防范网络攻击的装置,其特征在于,
其中,两个相邻堆之间的距离随机分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510902568.7A CN106856470A (zh) | 2015-12-09 | 2015-12-09 | 用于防范网络攻击的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510902568.7A CN106856470A (zh) | 2015-12-09 | 2015-12-09 | 用于防范网络攻击的方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106856470A true CN106856470A (zh) | 2017-06-16 |
Family
ID=59132939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510902568.7A Pending CN106856470A (zh) | 2015-12-09 | 2015-12-09 | 用于防范网络攻击的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106856470A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564098A (zh) * | 2004-04-09 | 2005-01-12 | 南京大学 | 一种防止缓冲区溢出攻击的动态堆栈内存管理方法 |
CN101286191A (zh) * | 2008-05-21 | 2008-10-15 | 华为技术有限公司 | 一种缓冲区溢出攻击的防护方法、装置及系统 |
CN101304320A (zh) * | 2008-06-16 | 2008-11-12 | 华为技术有限公司 | 一种地址处理方法和装置 |
CN101309149A (zh) * | 2008-06-30 | 2008-11-19 | 华为技术有限公司 | 一种地址处理方法和装置 |
US20090024679A1 (en) * | 2007-07-19 | 2009-01-22 | International Business Machines Corporation | Apparatus, system, and method for improving system performance in a large memory heap environment |
CN101621498A (zh) * | 2008-06-30 | 2010-01-06 | 成都市华为赛门铁克科技有限公司 | 防御网络攻击的方法、装置以及设备 |
CN102346823A (zh) * | 2010-08-03 | 2012-02-08 | 腾讯科技(深圳)有限公司 | 一种互联网中用户登录的方法及系统 |
CN102521143A (zh) * | 2011-12-14 | 2012-06-27 | 瑞斯康达科技发展股份有限公司 | 一种堆数据处理方法及装置 |
CN103995705A (zh) * | 2014-06-04 | 2014-08-20 | 中国科学院信息工程研究所 | 一种操作系统地址空间随机化分配系统及方法 |
-
2015
- 2015-12-09 CN CN201510902568.7A patent/CN106856470A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1564098A (zh) * | 2004-04-09 | 2005-01-12 | 南京大学 | 一种防止缓冲区溢出攻击的动态堆栈内存管理方法 |
US20090024679A1 (en) * | 2007-07-19 | 2009-01-22 | International Business Machines Corporation | Apparatus, system, and method for improving system performance in a large memory heap environment |
CN101286191A (zh) * | 2008-05-21 | 2008-10-15 | 华为技术有限公司 | 一种缓冲区溢出攻击的防护方法、装置及系统 |
CN101304320A (zh) * | 2008-06-16 | 2008-11-12 | 华为技术有限公司 | 一种地址处理方法和装置 |
CN101309149A (zh) * | 2008-06-30 | 2008-11-19 | 华为技术有限公司 | 一种地址处理方法和装置 |
CN101621498A (zh) * | 2008-06-30 | 2010-01-06 | 成都市华为赛门铁克科技有限公司 | 防御网络攻击的方法、装置以及设备 |
CN102346823A (zh) * | 2010-08-03 | 2012-02-08 | 腾讯科技(深圳)有限公司 | 一种互联网中用户登录的方法及系统 |
CN102521143A (zh) * | 2011-12-14 | 2012-06-27 | 瑞斯康达科技发展股份有限公司 | 一种堆数据处理方法及装置 |
CN103995705A (zh) * | 2014-06-04 | 2014-08-20 | 中国科学院信息工程研究所 | 一种操作系统地址空间随机化分配系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fei et al. | Security vulnerabilities of SGX and countermeasures: A survey | |
US11544070B2 (en) | Efficient mitigation of side-channel based attacks against speculative execution processing architectures | |
Irazoqui et al. | S $ A: A shared cache attack that works across cores and defies VM sandboxing--and its application to AES | |
EP3718004B1 (en) | Encoding of input to storage circuitry | |
Ren et al. | Design space exploration and optimization of path oblivious ram in secure processors | |
Irazoqui et al. | Wait a minute! A fast, Cross-VM attack on AES | |
CN101783801B (zh) | 一种基于网络的软件保护方法、客户端及服务器 | |
Anwar et al. | Cross-VM cache-based side channel attacks and proposed prevention mechanisms: A survey | |
US8826035B2 (en) | Cumulative integrity check value (ICV) processor based memory content protection | |
CN111417928A (zh) | 分支预测电路的输入的编码 | |
US11775177B2 (en) | Integrity tree for memory integrity checking | |
EP3270317B1 (en) | Dynamic security module server device and operating method thereof | |
US11042480B2 (en) | System, method and apparatus for secure functions and cache line data | |
US10185842B2 (en) | Cache and data organization for memory protection | |
CN111638913B (zh) | 一种基于随机化索引的处理器芯片分支预测器安全增强方法及电子装置 | |
US20180081825A1 (en) | Method for protecting security-relevant data in a cache memory | |
Levitin et al. | Security of separated data in cloud systems with competing attack detection and data theft processes | |
Tan et al. | The micro-architectural support countermeasures against the branch prediction analysis attack | |
Xiao et al. | Defending co‐resident attack using reputation‐based virtual machine deployment policy in cloud computing | |
US10942856B2 (en) | System, method and apparatus for secure functions and cache line data | |
Alawatugoda et al. | Countermeasures against Bernstein's remote cache timing attack | |
CN109039590A (zh) | 存储器、电子设备及其防止侧信道攻击的加解密方法 | |
Chen et al. | Lightweight and secure branch predictors against Spectre attacks | |
CN106856470A (zh) | 用于防范网络攻击的方法以及装置 | |
Irazoqui | Cross-core microarchitectural side channel attacks and countermeasures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170616 |
|
RJ01 | Rejection of invention patent application after publication |