当前位置:文档之家› 软件漏洞分析的八大技巧汇总

软件漏洞分析的八大技巧汇总

软件漏洞分析的八大技巧汇总
软件漏洞分析的八大技巧汇总

0day

JS IE

CVE-2011-0027 Microsoft Data Access Pwn2Own 2010 IE8

localxmlid1 = document.getElementById('xmlid1').recordset; // xml xmlid1 recordset

localxmlid1.CacheSize = 0x40000358; //

IE IDA msado15.dll “Function name” “Alt + T” “cachesize”

“Ctrl+T”

CRecordset::put_CacheSize(long *)

CRocordset::get_CacheSize(long)

CRecordset::put_CacheSize Windbg IE poc.html put_CacheSize poc.html CacheSize 0×40000358 CRecordset::put_CacheSize CacheSize

0:005> g

Breakpoint 1 hit

eax=40000358 ebx=04bdcfd8 ecx=6e61d340 edx=00000000 esi=01fbf144 edi=00000000 eip=6e6ac957 esp=01fbeb58 ebp=01fbf040 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 msado15!CRecordset::put_CacheSize:

6e6ac957 8bff mov edi,edi

0:005> dd esp

01fbeb58 6e62f3ec 04bdcfd8 40000358 00000000

01fbeb68 01fbf074 04bdcfd8 11000011 00000000

01fbeb78 03570ae8 004ad070 00538a30 00000088

01fbeb88 00470000 00000002 03570760 01fbec84

01fbeb98 76fc3193 00470138 76fc316f 764736b8

01fbeba8 00000000 00470000 03570768 00518a78

01fbebb8 004767b8 004768e4 00559258 00476db8

01fbebc8 76f8d74d 0051d968 00472a98 01fbedc0

CRecordset::put_CacheSize Windbg IE poc.html put_CacheSize poc.html CacheSize 0×40000358 CRecordset::put_CacheSize CacheSize

windows 2000 DPH(Debug Page Heap)

CVE-2013-0077 DirectShow (gflags) gflags.exe –i player.exe +hpa

hpa

(4b8.358): Access violation - code c0000005 (first chance)

First chance exceptions are reported before any exception handling.

This exception may be expected and handled.

eax=000000c3 ebx=003fac98 ecx=00000003 edx=000000f7 esi=001bbdd4 edi=003fb000 eip=7d0706d0 esp=02a5f650 ebp=02a5f658 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00010202 quartz!ParseSequenceHeader+0x114:

7d0706d0 f3a5 rep movs dword ptr es:[edi],dword ptr [esi]

(4c8.6bc): Access violation - code c0000005 (first chance)

First chance exceptions are reported before any exception handling.

This exception may be expected and handled.

eax=41414141 ebx=003f0000 ecx=41414141 edx=03128e40 esi=03128e38 edi=00000012 eip=7c930efe esp=0465f998 ebp=0465fbb8 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246 ntdll!RtlAllocateHeap+0x653:

7c930efe 8b39 mov edi,dword ptr [ecx] ds:0023:41414141=????????

CVE-2011-0027 Microsoft Data Access Pwn2Own 2010 Peter Vreugdenhil Win7 IE8

poc.html

(7b8.278): Access violation - code c0000005 (first chance)

First chance exceptions are reported before any exception handling.

This exception may be expected and handled.

eax=0000036b ebx=0000035b ecx=00000000 edx=00000001 esi=088c8000 edi=00000000 eip=6887746f esp=044dee84 ebp=044dee88 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010202 mshtml!CImpIRowset::HRowNumber2HROWQuiet+0x23:

6887746f 8906 mov dword ptr [esi],eax ds:0023:088c8000=???????? 0:005> !heap -p -a 088c8000

address 088c8000 found in

_DPH_HEAP_ROOT @ 8821000

in busy allocation ( DPH_HEAP_BLOCK: UserAddr UserSize

- VirtAddr VirtSize)

88227ec: 88c7298 d64- 88c7000 2000 72eb8e89 verifier!AVrfDebugPageHeapAllocate+0x00000229

77034ea6 ntdll!RtlDebugAllocateHeap+0x00000030

76ff7d96 ntdll!RtlpAllocateHeap+0x000000c4

76fc34ca ntdll!RtlAllocateHeap+0x0000023a

730d975d MSDART!MpHeapAlloc+0x00000029

6e5406e7 msado15!CRecordGroup::AllocateHRowRange+0x00000085

6e540650 msado15!CRecordset::PrepareForFetch+0x000000e2

6e5d44ae msado15!CRecordset::MoveAbsolute+0x000003e3

6e5680a5 msado15!CRecordset::_MoveFirst+0x0000007d

6e5d7957 msado15!CRecordset::MoveFirst+0x00000221

6e54fde6 msado15!CRecordset::Invoke+0x00001560

71dcdb38 jscript!IDispatchInvoke2+0x000000f0

71dcda8c jscript!IDispatchInvoke+0x0000006a

71dcd9ff jscript!InvokeDispatch+0x000000a9

71dcdb8a jscript!VAR::InvokeByName+0x00000093

71dcd8c8 jscript!VAR::InvokeDispName+0x0000007d

71dcd96f jscript!VAR::InvokeByDispID+0x000000ce

71dce3e7 jscript!CScriptRuntime::Run+0x00002b80

71dc5c9d jscript!ScrFncObj::CallWithFrameOnStack+0x000000ce

71dc5bfb jscript!ScrFncObj::Call+0x0000008d

71dc5e11 jscript!CSession::Execute+0x0000015f

71dbf3ee jscript!NameTbl::InvokeDef+0x000001b5

71dbea2e jscript!NameTbl::InvokeEx+0x0000012c

71db96de jscript!NameTbl::Invoke+0x00000070

685aaa7b mshtml!CWindow::ExecuteTimeoutScript+0x00000087

685aab66 mshtml!CWindow::FireTimeOut+0x000000b6

685d6af7 mshtml!CStackPtrAry::GetStackSize+0x000000b6

685d1e57 mshtml!GlobalWndProc+0x00000183

770e86ef USER32!InternalCallWinProc+0x00000023

770e8876 USER32!UserCallWinProcCheckWow+0x0000014b

770e89b5 USER32!DispatchMessageWorker+0x0000035e

770e8e9c USER32!DispatchMessageW+0x0000000f

0x88c7298 0xd64 !heap CRecordset::MoveFirst MpHeapAlloc CRecordGroup::AllocateHRowRange

Breakpoint 0 hit

eax=00000001 ebx=40000358 ecx=76fc316f edx=096f2d34 esi=09759d70

edi=40000358eip=69da06be esp=0446eeec ebp=0446eef8 iopl=0 nv up ei pl zr na pe nc

cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 msado15!CRecordGroup::AllocateHRowRange+0x5e:

69da06be 85ff test edi,edi0:005> p

eax=00000001 ebx=40000358 ecx=76fc316f edx=096f2d34 esi=09759d70 edi=40000358 eip=69da06c0 esp=0446eeec ebp=0446eef8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x60:

69da06c0 0f8e34380200 jle msado15!CRecordGroup::AllocateHRowRange+0x62 (69dc3efa) [br=0]

0:005> p

eax=00000001 ebx=40000358 ecx=76fc316f edx=096f2d34 esi=09759d70 edi=40000358 eip=69da06c6 esp=0446eeec ebp=0446eef8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x64:

69da06c6 8bc7 mov eax,edi // eax = edi = 0x40000358 CacheSize0:005> p

eax=40000358 ebx=40000358 ecx=76fc316f edx=096f2d34 esi=09759d70 edi=40000358 eip=69da06c8 esp=0446eeec ebp=0446eef8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x66:

69da06c8 8b3dfc10d969 mov edi,dword ptr [msado15!_imp__MpHeapAlloc

(69d910fc)] ds:0023:69d910fc={MSDART!MpHeapAlloc (72de9730)}

0:005> p

eax=40000358 ebx=40000358 ecx=76fc316f edx=096f2d34 esi=09759d70 edi=72de9730

cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x6c:

69da06ce 89460c mov dword ptr [esi+0Ch],eax

ds:0023:09759d7c=00000000

0:005> p

eax=40000358 ebx=40000358 ecx=76fc316f edx=096f2d34 esi=09759d70 edi=72de9730 eip=69da06d1 esp=0446eeec ebp=0446eef8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x6f:

69da06d1 8b0d10f0e569 mov ecx,dword ptr [msado15!g_hHeapHandle

(69e5f010)] ds:0023:69e5f010=096f0000

0:005> p

eax=40000358 ebx=40000358 ecx=096f0000 edx=096f2d34 esi=09759d70 edi=72de9730 eip=69da06d7 esp=0446eeec ebp=0446eef8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x75:

69da06d7 8d048504000000 lea eax,[eax*4+4] // = 0x40000358*4+4 = 0xd64 eax 0xFFFFFFFF eax*4+4 0x100000D64 > 0xFFFFFFFF 0xD64 CacheSize 0x3FFFFFFF 0 0:005> p

eax=00000d64 ebx=40000358 ecx=096f0000 edx=096f2d34 esi=09759d70 edi=72de9730 eip=69da06de esp=0446eeec ebp=0446eef8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x7c:

69da06de 50 push eax // =0xd640:005> p

eax=00000d64 ebx=40000358 ecx=096f0000 edx=096f2d34 esi=09759d70 edi=72de9730 eip=69da06df esp=0446eee8 ebp=0446eef8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x7d:

69da06df 680000a000 push 0A00000h

0:005> p

eax=00000d64 ebx=40000358 ecx=096f0000 edx=096f2d34 esi=09759d70 edi=72de9730

cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x82:

69da06e4 51 push ecx

0:005> p

eax=00000d64 ebx=40000358 ecx=096f0000 edx=096f2d34 esi=09759d70 edi=72de9730 eip=69da06e5 esp=0446eee0 ebp=0446eef8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202 msado15!CRecordGroup::AllocateHRowRange+0x83:

69da06e5 ffd7 call edi {MSDART!MpHeapAlloc (72de9730)}

CacheSize CacheSize*4+4 CacheSize*4+4

CVE-2012-0774 Adobe Reader TrueType TTF

poc VulFunction

Shift + F4 VulFunction VulFunction

AcroRd32.exe poc.pdf

0×26

https://https://www.doczj.com/doc/fe17361862.html,/fonts/ttrefman/RM05/Chap5.html 0×26 MINDEX

JS

IE JS math.atan2 math.asin

jscript!Js::Math::Atan( log poc js math.atan2

Math.atan2(0xbabe, "[*] Creating object button...");

var obj = document.createElement("button");

Math.atan2(0xbabe, "[*] Assigning data to title...");

obj.title = data.substring(0,0x40000-0x58);

Math.atan2(0xbabe, "[*] Let's AppendChild");

div_container.appendChild(obj);

bu jscript!JsAtan2 ".printf \"%mu\", poi(poi(poi(esp+14)+8)+8);.echo;g"

windbg

[*] Creating object button...

[*] Assigning data to title...

[*] Let's AppendChild

instruder QQ

UAF double free

libpng double free free

windbg

bu 3440D279 ".if(1){.echo EnterVulnFunc;gc}"

bu 6e264b6c ".if(1){.echo Free heap block; dd esp l4;gc}"

EnterVulnFunc

Free heap block

0011bc5c 3441e2a2 138f0020 3b906313 10027b64

Free heap block

0011bc5c 3441dc6c 138f0020 3b906313 10027b64

(1508.e84): Access violation - code c0000005 (first chance)

First chance exceptions are reported before any exception handling.

This exception may be expected and handled.

eax=138f0018 ebx=138f0020 ecx=6e287a7e edx=10028a70 esi=008a0000 edi=00000000 eip=77691f88 esp=0011bbe8 ebp=0011bbf8 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00010246 ntdll!RtlFreeHeap+0x3a:

77691f88 80780705 cmp byte ptr [eax+7],5 ds:0023:138f001f=??

IE UAF UAF IE h4ckmp Windbg EXE UAF

IE Adobe pin

软件安全漏洞检测

学年论文 (文献检索及专业写作常识2015-2016 第二学期) 题目:软件安全漏洞检测 作者:熊文丽 所在学院:信息科学与工程学院 专业年级:信息安全14-1 指导教师:张琳琳 职称:副教授 2016年5月25 日

摘要 互联网的全球性普及和发展,使得计算机网络与人们的生活紧密相关,信息安全逐渐成为信息技术的核心问题,软件漏洞检测是信息安全的重要组成部分,漏洞带来的危害日益严重,恶意攻击者可以利用软件漏洞来访问未授权的资源,导致敏感数据被破坏,甚至威胁到整个信息安全系统。计算机软件安全漏洞,计算机系统的一组特性,这些特性一旦被某些恶意的主体利用,通过已授权的手段,来获取对计算机资源的未授权访问,或者通过其他办法对计算机的系统造成损害。首先定义了软件漏洞和软件漏洞分析技术,在此基础上,提出了软件漏洞分析技术体系,并对现有技术进行了分类和对比,归纳出了该领域的科学问题、技术难题和工程问题,最后展望了软件漏洞分析技术的未来发展。 关键词:软件安全,漏洞检测,信息安全

ABSTRACT Global popularity and development of the Internet so that the computer network is closely related to people's lives, information security has gradually become the core of information technology, software, information security vulnerability detection is an important part of the growing vulnerability harm, malicious attackers You can take advantage of software vulnerabilities to access unauthorized resources, resulting in destruction of sensitive data, even a threat to the entire information security system. A set of characteristics of computer software security vulnerability of computer systems, these features once exploited by some malicious body through authorized means to gain unauthorized access to computer resources, or through other means cause damage to computer systems. First, the definition of software vulnerabilities and vulnerability analysis software technology, on this basis, the proposed software vulnerability analysis technology system, and the prior art are classified and contrast, sums up the problem in the field of scientific, technical problems and engineering problems, Finally, the prospect of future development of the software vulnerability analysis technology. Keywords: software security; vulnerability detection; information security

车联网TSP平台软件漏洞分析与安全测试

10.16638/https://www.doczj.com/doc/fe17361862.html,ki.1671-7988.2016.12.047 车联网TSP平台软件漏洞分析与安全测试 赵德华,张晓帆 (华晨汽车工程研究院,辽宁沈阳110141) 摘要:信息系统软件安全漏洞是各种安全威胁的主要根源之一,安全漏洞的大量出现和加速增长使网络安全总体形势趋于严峻,分析安全漏洞并能够提出安全测试方法对保障车联网TSP平台系统运维安全具有重要意义。本文分析了车联网平台软件常见安全漏洞的种类,并阐述安全测试的概念、方法及必要性。 关键词:TSP平台;漏洞;安全测试 中图分类号:U463.6 文献标识码:A 文章编号:1671-7988 (2016)12-136-03 Software vulnerability analysis and security testing of vehicle networking TSP platform Zhao Dehua, Zhang Xiaofan (Brilliance Auto R&D Center (BARC), Liaoning Shenyang 110141) Abstract: Information system software security vulnerabilities are one of the main causes of various security threats.Security vulnerabilitiesmass emergence and accelerated growth made the overall situation of network security is becoming more and more serious. It is important to analyze the security vulnerabilities and to put forward the security testing methods to ensure the safety of the car network TSP platform system operation and maintenance. This paper analyzes the types of common security vulnerabilities of the vehicle networking platform software, and expounds the concept, method and necessity of security testing. Keywords: TSP platform; Vulnerability; Security test CLC NO.: U463.6 Document Code: A Article ID: 1671-7988 (2016)12-136-03 引言 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。就车联网TSP平台而言,漏洞可能来自软件系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,从而对整个车联网的运行造成不利影响。例如系统被攻击或控制、重要资料被窃取、用户数据被篡改、甚至冒充合法用户对车辆进行控制。 漏洞嗅探是攻击者与防护者双方对抗的关键,防护者如果不能早于攻击者发现可被利用的漏洞,攻击者就有可能利用漏洞发起攻击。越早发现并修复漏洞,信息安全事件发生的可能性就越小。 1、TSP平台常见漏洞 系统安全漏洞与系统攻击活动之间有紧密的关系。因而不该脱离系统攻击活动来谈论安全漏洞问题。了解常见的系统漏洞,以及找到相应的补救方法是十分必要的。 1.1 SQL注入 由于程序在编写时,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果获得某些他想得知的数据。 其主要危害有:在未经授权状况下操作数据库中的数据; 作者简介:赵德华,就职于华晨汽车工程研究院。

信息系统已知漏洞分析与总结

信息系统已知漏洞分析与总结 摘要:随着Internet广泛深入的运用,网络信息系统安全事件频频发生,其造成的经济损失越来越惨重、政治影响越来越严重。而在这些安全事件中,大多是由于网络信息系统存在漏洞的结果,现今已是阻碍计算机网络服务的难题之一。本文主要从网络信息系统漏洞的类型,以跨站脚本攻击,SQL注入攻击为主的15种漏洞,来介绍信息系统的漏洞现状,再从主要的两种漏洞的危害及产生的原因两方面来分析信息系统漏洞。 摘要:网络信息系统,漏洞,计算机。 随着计算机技术以及网络技术的发展应用,信息安全问题也日益引起广发的关注与讨论.西方发达国家将由计算机武装起来的社会称为"脆弱的社会",正是基于计算机主机以及网络系统不断遭受流行病毒的传播、黑客非法入侵、重要情报资料被窃取等产生的信息安全问题。而信息系统漏洞则是这些安全问题重要的根源之一。 一.漏洞类型 根据中国国家信息安全漏洞库(CNNVD)统计,2012 年5月份新增安全漏洞531个,日平均新增漏洞数量约17 个。与前5 个月平均增长数量相比,安全漏洞增长速度有所上升。 从漏洞类型来看,分为操作系统漏洞,web应用漏洞,数据库漏洞,安全产品漏洞,网络设备漏洞,应

用软件漏洞六大类,具体的是以跨站脚本为主导,还包括SQL注入,缓冲区溢出,输入验证,权限许可和访问控制,资源管理错误,信息泄露,数字错误,授权问题,设计错误,代码注入,路径遍历,加密问题,跨站请求伪造,其它共17种。下面我们来重点介绍两种主要的漏洞。 跨站脚本漏洞 所谓跨站脚本漏洞其实就是Html的注入问题,恶意用户的输入没有经过严格的控制进入了数据库最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行HTml代码,数据流程如下:恶意用户的Html输入————>web程序————>进入数据库————>web程序————>用户浏览器HTml输入:这里给出一个HTml代码的示例: 很多的程序最终都是将用户的输入转换成这种形式的。可以看到<>是告诉浏览器这是一个Html标记,img 是这个Html标记的名称,src是这个标记的第一个属性,=后面是这个属性的值,后面的width是第二个属性,onerror是标记的事件属性。大家可以看到,一个Html标记是包括很多元素的,并不是传统意义上的只有输入<>才会注入Html,事实上只要你的输入处在Html标签内,产生了新的元素或者属性,就实现了跨站脚本攻击!实际上大多数隐秘的跨站脚本攻击是不需要<>的,因为现在的Ubb标签已经让你处在了Html标记之内。 其本质就是用户超越了他所处的标签,也就是数据和代码的混淆,对付这种混淆的办法就是限制监牢,让用户在一个安全的空间内活动,这通过上面的分析大家也可能已经知道,只要在过滤了<>这两个人人都会去杀的字符之后就可以把用户的输入在输出的时候放到""之间,现在的一般的程序都是这样做的,譬如

软件漏洞分析入门

【技术专题】软件漏洞分析入门 1 引子 To be the apostrophe which changed “Impossible” into “I’m possible” —— failwest 凉风有讯,秋月无边。 您是否梦想过能够像电影上演的那样黑进任意一台机器远程操控?您的梦想是否曾经被书店里边满架子的反黑,防毒,擒木马的扫盲书强暴的体无完肤? 从今天开始,准备陆续发一系列关于软件漏洞方面基础知识的帖子,包括软件漏洞的研究价值,研究方法,堆栈利用的基础知识,shellcode的调试方法,漏洞调试方法,漏洞分析,漏洞挖掘,软件安全性测试等等,此外还将介绍一些metasploit架构和fuzz测试方面的入门知识。 软件漏洞分析,利用,发掘是当今安全技术界中流砥柱级别话题,如果您关注过black hat 或者defcon之类的顶级安全技术峰会的话,就知道我不是在吹牛了。可惜的是这方面的中文资料很少,偶尔有一篇比较优秀的文章但又不够系统,目前为止也没有形成像破解技术这样的讨论风气,菜鸟们在黑灯瞎火的夜晚瞎折腾,没有交流和指导,兴趣就像被拔了气弥儿芯的车胎,很快就泄气了。 虽然漏洞分析与利用与破解在技术上各有侧重点,但逆向基础是共同的。以我个人的经验,能做crack的朋友只要稍加进修就能入门。就算没有任何汇编基础和逆向经验的朋友也不用担心,因为这个系列的文章将完全面向菜鸟,只要会C语言,跟着文章用ollydbg调试几次连猜带蒙的也应该能够上手。 今天我们暂时不谈堆栈这些技术细节,先让我们从比较宏观的地方着手。 如果您经历过冲击波蠕虫病毒的攻击话,应该明白操作系统出现漏洞时的后果。 漏洞往往是病毒木马入侵计算机的突破口。如果掌握了漏洞的技术细节,能够写出漏洞利用(exploit),往往可以让目标主机执行任意代码。 软件漏洞的技术细节是非常宝贵的资料,尤其是当软件漏洞对应的官方补丁尚未发布时,只有少数攻击者秘密的掌握漏洞及其利用方法,这时往往可以通过漏洞hack任意一台internet上的主机! 这种未被公开的漏洞被称作zero day (0 day)。可以把0day理解成未公开的系统后门。由于0day的特殊性质和价值,使得很多研究者和攻击者投身于漏洞挖掘的行列。一个0day

软件漏洞的攻击与防范

软件漏洞已经成为威胁信息安全的一个重要课题。本文介绍了软件漏洞的现状、软件漏洞攻击技术,最后对如何防范漏洞攻击提出了自己的建议。 关键词 软件漏洞;漏洞挖掘;漏洞利用 摘要 专题:网络与信息安全 1引言 软件漏洞又被称作软件脆弱性(vulnerability ),是计算 机软件在设计与实现过程中存在的缺陷与不足。非法用户利用软件漏洞,对计算机进行的非授权操作以及所有危害计算机系统安全的行为,都被视为软件漏洞攻击行为[1]。软件漏洞攻击行为不仅可以使攻击者获得访问权限的提升,甚至能够执行任意代码。由此可见,软件漏洞对计算机系统安全的威胁是十分巨大的。 近年来,软件漏洞越来越受到广大软件用户的关注,这主要是两方面的原因:一方面是使用者的安全意识普遍提高;另一方面是软件漏洞的数量和危害程度在不断提高,软件漏洞造成的危害和损失使用户不得不重视软件的漏洞隐患。研究软件漏洞,不仅可以使软件用户更加清楚软件漏洞攻击的原理,还能够帮助软件用户提高防范意识,减少软件漏洞攻击的扩散与传播。 2软件漏洞的现状 目前,针对软件漏洞发布公告的安全公司或安全组织 主要有以下三个:微软公司、CVE 安全组织、Fortify Software 公司[2]。其中微软公司作为世界上最主要的操作系统软件提供商,它所发布的安全公告主要针对的是微软开发的 Windows 操作系统及其他应用软件。微软的安全公告栏不 仅发布漏洞信息,还提供相关补丁的下载以方便用户修复漏洞。CVE 安全组织由美国国土安全部(U.S.department of homeland security )的国家网络安全局(national cyber security division )资助,为公众提供免费的漏洞信息查询、统 计等服务[3]。CVE 所发布的漏洞公告范围更广,不仅包含了软件漏洞,还包含了网站的SQL 注入、Xpath 注入、跨站脚本攻击等Web 漏洞。 图1所示是CVE 年漏洞数量统计,可以看出漏洞的数量在2008年之前是逐年增加的。1999年之前,由于用户以及软件生产商对于漏洞的关注程度不是很高,黑客也在致力于通过传统的病毒感染方式进行病毒扩散,因此统计到的漏洞数量维持在较低水平。1999-2004年,漏洞数量已经 软件漏洞的攻击与防范* 陈 鑫,崔宝江,范文庆,钮心忻 (北京邮电大学 北京100876) *国家“863”计划基金资助项目(No.2007AA01Z466和No.2008AA011004)66

信息系统已知漏洞分析与总结

《信息系统安全》报告书 ................................................... 错误!未定义书签。第一章信息系统漏洞简介 . (4) 1.1 信息系统安全漏洞的概念 (4) 第二章信息系统漏洞的生命周期 (5) 2.1 漏洞研究的主体 (5) 2.2 漏洞研究的客体 (5) 2.3漏洞研究的行为与内容 (5) 2.4 漏洞的相关属性 (6) 第三章 Windows XP系统常见系统漏洞分析与总结 (6) 第四章LINUX系统常见系统漏洞分析与总结 (8) 第五章UNIX系统常见系统漏洞分析与总结 (12)

摘要:重要信息系统对于任何一个国家来说,在信息化的时代已经成为了一个关键的基础设施,它的安全不仅涉及到我们平时看到的技术安全,以及业务安全,还有一些对国家安全的影响。信息系统安全漏洞是信息时代存在的一种客观现象,针对信息系统安全漏洞的研究对保护网络安全和信息安全有着重要的意义。首先在国内外已有的研究基础上,提出系统地、全面地开展信息系统安全漏洞的研究。然后从信息系统管理角度和技术角度对漏洞做了区分,并且从信息系统安全漏洞存在的宿主和起因对 其类型进行了分析,对信息系统安全漏洞的定义做了明确。最后从信息系统安全漏洞研究的主体、客体、行为和属性四个方面进行了论述,提出信息系统安全漏洞生命周期的概念,最后对常见的几种系统进行漏洞分析,并提出防止策略。 关键词:信息系统漏洞描述 Windows XP系统 Unix系统 Linux系统防范措施

第一章信息系统漏洞简介 1.1 信息系统安全漏洞的概念 在30 多年的漏洞研究过程中,学者们根据自身的不同理解和应用需求对计算机漏洞下了很多定义。1982 年,邓宁(Denning)给出了一个访问控制漏洞的定义,他认为系统中主体对对象的访问安全策略是通过访问控制矩阵实现的,对一个访问控制漏洞的利用就是使得操作系统执行违反安全策略的操作;1994 年,阿莫罗索(Amoroso)提出一个漏洞是导致威胁潜在发生的一个不利的特性;林德斯科(Lindskog)等人将一个漏洞定义为破坏发生的可能性超过预设阈值的地方;1998 年,克鲁索( Krsul)指出,一个软件漏洞是软件规范(specification)设计、开发或配置中一个错误的实例,它的执行能违犯安全策略;2002 年,汪立东认为一个漏洞是软件系统或软件组件中存在的缺陷,此缺陷若被发掘利用则会对系统的机密性,完整性和可用性造成不良影响;2004 年,邢栩嘉等人认为计算机脆弱性是系统的一组特性,恶意的主体 (攻击者或者攻击程序)能够利用这组特性,通过已授权的手段和方式获取对资源的未授权访问,或者对系统造成损害。另外还有很多相关定义存在于不同的论述之中。存在这么多定义的原因是因为研究者从不同角度来看待信息系统中存在的安全问题。 从上面有关的定义来看, 漏洞的概念很宽泛,可以从很多角度来定义漏洞,主要可以分为两种:一种是比较狭义的,这种定义主要以软件产品中的安全问题为对象;另一种是比较广义的,是以信息系统中的安全问题为对象,由此定义之间的差别比较大。系统漏洞是指应用软件或操作系统软件在逻辑设计上的缺陷或错误,被不法者利用,通过网络植入木马、病毒等方式来攻击或控制整个电脑,窃取用户电脑中的重要资料和信息,甚至破坏用户的系统。在不同种类的软、硬件设备,同种设备的不同版本之间,由不同设备构成的不同系统之间,以及同种系统在不同的设置条件下,都会存在各自不同的安全漏洞问题。 1.2 漏洞的类型与定义 1.2.1 系统漏洞的分类 信息系统是一种人机系统,一方面包括各种设备和资源,另一方面包括操作使用和管理的各种说明制度。从这种广义的角度来分析,信息系统中的漏洞就可以分为两个大类:一个可以称为信息系统管理漏洞,另一种称为信息系统安全漏洞。其中,信息系统管理漏洞主要是针对关于信息系统的政策、法规和人员管理等方面的安全问题,主要是防止一些信息系统在物理层次方面出现安全问题,这些安全问题的出现是由于非技术原因所导致的,譬如说水灾、火灾、盗窃等,这种类型的漏洞其实在已有的风险评估规范里面已经有很多叙述,只不过都是作为物理环境的风险评估形式出现。 信息系统安全漏洞主要是针对关于信息系统中由于技术原因出现的安全问题,这种安全问题存在于构成信息系统的软件、硬件等产品之中。从漏洞存在的宿主来看,有硬件类型, 例如 CPU、主板、BIOS、TPM 芯片等,有软件类型的,例如操作系统、数据库、应用软件等。 1.2.2 信息系统安全漏洞的分类 从系统安全漏洞方面来研究的话,根据信息系统安全漏洞(以下简称漏洞)的出现的原因,可以把漏洞主要分为三种: 一是设计型漏洞,这种漏洞不以存在的形式为限制,只要是实现了某种协议、算法、模型或设计,这种安全问题就会存在,而不因其他因素而变化,例如无论是哪种 web 服务器,肯定存在 HTTP 协议中的安全问题。 二是开发型漏洞,这种安全漏洞是广泛被传播和利用的,是由于产品的开发人员在实现过程中的有意或者无意引入的缺陷,这种缺陷会在一定的条件下被攻击者所利用,从而绕过系统的安全机制,造成安全事件的发生,这种漏洞包含在国际上广泛发布的漏洞库中。 三是运行型漏洞,这种类型漏洞的出现是因为信息系统的组件、部件、产品或者终端由于存在的相互关联性,和配置、结构等原因,在特定的环境运行时,可以导致违背安全策略的情况发生。这种安全问题一

软件漏洞分析的八大技巧汇总

0day JS IE CVE-2011-0027 Microsoft Data Access Pwn2Own 2010 IE8 localxmlid1 = document.getElementById('xmlid1').recordset; // xml xmlid1 recordset localxmlid1.CacheSize = 0x40000358; // IE IDA msado15.dll “Function name” “Alt + T” “cachesize” “Ctrl+T”

CRecordset::put_CacheSize(long *) CRocordset::get_CacheSize(long) CRecordset::put_CacheSize Windbg IE poc.html put_CacheSize poc.html CacheSize 0×40000358 CRecordset::put_CacheSize CacheSize 0:005> g Breakpoint 1 hit eax=40000358 ebx=04bdcfd8 ecx=6e61d340 edx=00000000 esi=01fbf144 edi=00000000 eip=6e6ac957 esp=01fbeb58 ebp=01fbf040 iopl=0 nv up ei pl zr na pe nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246 msado15!CRecordset::put_CacheSize:

相关主题
文本预览
相关文档 最新文档