零日漏洞

“零日漏洞”(zero-day)又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞。通俗地讲,即安全补丁与瑕疵曝光的同一日内,相关的恶意程序就出现。这种攻击往往具有很大的突发性与破坏性。

攻击威胁

虽然还没有出现大量的“零日漏洞”攻击,但其威胁日益增长,证据如下:黑客更加善于在发现安全漏洞不久后利用它们。过去,安全漏洞被利用一般需要几个月时间。最近,发现与利用之间的时间间隔已经减少到了数天。
利用漏洞的攻击被设计为迅速传播,感染数量越来越多的系统。攻击由之前被动式的、传播缓慢的文件和宏病毒演化为利用几天或几小时传播的更加主动的、自我传播的电子邮件蠕虫和混合威胁。
人们掌握的安全漏洞知识越来越多,就有越来越多的漏洞被发现和利用。一般使用防火墙、入侵检测系统和防病毒软件来保护关键业务IT基础设施。这些系统提供了良好的第一级保护,但是尽管安全人员尽了最大的努力,他们仍不能免遭受零日漏洞攻击。

发现方法

按照定义,有关“零日漏洞”攻击的详细信息只在攻击被确定后才会出现。以下是当发生“零日漏洞”攻击时将看到的重要迹象:发源于一台客户机或服务器的出乎意料的合法数据流或大量的扫描活动;合法端口上的意外数据流;甚至在安装了最新的补丁程序后,受到攻击的客户机或服务器仍发生类似活动。

防御方法

预防:良好的预防安全实践是必不可少的。这些实践包括谨慎地安装和遵守适应业务与应用需要的防火墙政策,随时升级防病毒软件,阻止潜在有害的文件附件,随时修补所有系统抵御已知漏洞。漏洞扫描是评估预防规程有效性的好办法。
实时保护:部署提供全面保护的入侵防护系统(IPS)。在考虑IPS时,寻找以下功能:网络级保护、应用完整性检查、应用协议“征求意见”(RFC)确认、内容确认和取证能力。
计划的事件响应:即使在采用以上措施后,企业仍可能受到“零日漏洞”影响。周密计划的事件响应措施以及包括关键任务活动优先次序在内的定义的规则和规程,对于将企业损失减少到最小程度至关重要。
防止传播:这可以通过将连接惟一限制在满足企业需要所必须的机器上。这样做可以在发生初次感染后,减少利用漏洞的攻击所传播的范围。
“零日漏洞”攻击对于警惕性最高的系统管理人员来说也是一种挑战。但是,部署到位的安全护保措施可以大大降低关键数据和系统面临的风险。

攻击代码

From:
1. Unzip the files in 'C: \'. Start a DbgView or paste a KD to your VM.
2. Rename 'suckme.lnk_' to 'suckme.lnk' and let the magic do the rest of shell32.dll.
3. Look at your logs. 
Tested under XP SP3.  
kd> g
Breakpoint 1 hit
eax=00000001 ebx=00f5ee7c ecx=0000c666 edx=00200003 esi=00000001 edi=7c80a6e4
eip=7ca78712 esp=00f5e9c4 ebp=00f5ec18 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
SHELL32!_LoadCPLModule+0x10d:
001b:7ca78712 ff15a0159d7c    call    dword ptr [SHELL32!_imp__LoadLibraryW (7c9d15a0)] ds:0023:7c9d15a0={kernel32!LoadLibraryW (7c80aeeb)}
kd> dd esp
00f5e9c4  00f5ee7c 000a27bc 00f5ee78 00000000
00f5e9d4  00000020 00000008 00f5ee7c 00000000
00f5e9e4  00000000 0000007b 00000000 00000000
00f5e9f4  00200073 002000e0 0000064c 0000028c
00f5ea04  1530000a 00000000 003a0043 0064005c
00f5ea14  006c006c 0064002e 006c006c 006d002e
00f5ea24  006e0061 00660069 00730065 00000074
00f5ea34  00090608 7c92005d 00000000 00000007
kd> db 00f5ee7c
00f5ee7c  43 00 3a 00 5c 00 64 00-6c 00 6c 00 2e 00 64 00  C.:.\.d.l.l...d.
00f5ee8c  6c 00 6c 00 00 00 92 7c-c8 f2 f5 00 00 17 72 02  l.l....|......r.
00f5ee9c  4b d2 00 00 d8 f2 f5 00-8b d2 a1 7c 00 00 00 00  K..........|....
00f5eeac  ac 80 9d 7c 30 d8 0d 00-34 d8 0d 00 b8 d7 0d 00  ...|0...4.......
00f5eebc  9a d2 a1 7c 30 d8 0d 00-c8 f2 f5 00 50 40 15 00  ...|0.......P@..
00f5eecc  50 40 15 00 00 00 00 00-b8 00 92 7c 40 b7 0c 00  P@.........|@...
00f5eedc  a8 ef f5 00 41 00 92 7c-18 07 09 00 5d 00 92 7c  ....A..|....]..|
00f5eeec  c8 f2 f5 00 00 ef f5 00-00 00 00 00 b8 00 92 7c  ...............|
kd> kv
ChildEBP RetAddr  Args to Child
00f5ec18 7ca81a74 00f5ee7c 000a27bc 00f5f2c4 SHELL32!_LoadCPLModule+0x10d (FPO: [1,145,4])
00f5ee50 7ca82543 00f5ee74 000a27bc 000a27c0 SHELL32!CPL_LoadAndFindApplet+0x4a (FPO: [4,136,4])
00f5f294 7cb56065 000a25b4 000a27bc 000a27c0 SHELL32!CPL_FindCPLInfo+0x46 (FPO: [4,264,4])
00f5f2b8 7ca13714 00000082 00000000 00000104 SHELL32!CCtrlExtIconBase::_GetIconLocationW+0x7b (FPO: [5,0,0])
00f5f2d4 7ca1d306 000a25ac 00000082 00f5f570 SHELL32!CExtractIconBase::GetIconLocation+0x1f (FPO: [6,0,0])
00f5f410 7ca133b6 000dd7e0 00000082 00f5f570 SHELL32!CShellLink::GetIconLocation+0x69 (FPO: [6,68,4])
00f5f77c 7ca03c88 000dd7e0 00000000 0015aa00 SHELL32!_GetILIndexGivenPXIcon+0x9c (FPO: [5,208,4])
00f5f7a4 7ca06693 00131c60 000dd7e0 0015aa00 SHELL32!SHGetIconFromPIDL+0x90 (FPO: [5,0,4])
00f5fe20 7ca12db0 00131c64 0015aa00 00000000 SHELL32!CFSFolder::GetIconOf+0x24e (FPO: [4,405,4])
00f5fe40 7ca15e3c 00131c60 00131c64 0015aa00 SHELL32!SHGetIconFromPIDL+0x20 (FPO: [5,0,0])
00f5fe68 7ca03275 000f8090 0014d5b0 0014a910 SHELL32!CGetIconTask::RunInitRT+0x47 (FPO: [1,2,4])
00f5fe84 75f11b9a 000f8090 75f11b18 75f10000 SHELL32!CRunnableTask::Run+0x54 (FPO: [1,1,4])
00f5fee0 77f49598 00155658 000cb748 77f4957b BROWSEUI!CShellTaskScheduler_ThreadProc+0x111 (FPO: [1,17,0])
00f5fef8 7c937ac2 000cb748 7c98e440 0014cfe0 SHLWAPI!ExecuteWorkItem+0x1d (FPO: [1,0,4])
00f5ff40 7c937b03 77f4957b 000cb748 00000000 ntdll!RtlpWorkerCallout+0x70 (FPO: [Non-Fpo])
00f5ff60 7c937bc5 00000000 000cb748 0014cfe0 ntdll!RtlpExecuteWorkerRequest+0x1a (FPO: [3,0,0])
00f5ff74 7c937b9c 7c937ae9 00000000 000cb748 ntdll!RtlpApcCallout+0x11 (FPO: [4,0,0])
00f5ffb4 7c80b729 00000000 00edfce4 00edfce8 ntdll!RtlpWorkerThread+0x87 (FPO: [1,7,0])
00f5ffec 00000000 7c920250 00000000 00000000 kernel32!BaseThreadStart+0x37 (FPO: [Non-Fpo])

 
“零日漏洞攻击”又叫零时差攻击(zero-day attack)。即安全补丁与瑕疵曝光的同一日内,相关的恶意程序就出现。
“零日漏洞”常常被在某一产品或协议中找到安全漏洞的黑客所发现。一旦它们被发现,“零日漏洞”攻击就会迅速传播,一般通过Internet中继聊天或地下网站传播。
“零日漏洞”攻击威胁很大
虽然还没有出现大量的“零日漏洞”攻击,但其威胁日益增长,证据如下:黑客更加善于在发现安全漏洞不久后利用它们。过去,安全漏洞被利用一般需要几个月时间。最近,发现与利用之间的时间间隔已经减少到了数天。MS Blast在漏洞被发现不到25天就被加以利用,Nachi(MS Blast的一种变种)一周后就发动了袭击。
利用漏洞的攻击被设计为迅速传播,感染数量越来越多的系统。攻击由之前被动式的、传播缓慢的文件和宏病毒演化为利用几天或几小时传播的更加主动的、自我传播的电子邮件蠕虫和混合威胁。今天,最新出现的Warhol和Flash威胁传播起来只需要几分钟。
人们掌握的安全漏洞知识越来越多,就有越来越多的漏洞被发现和利用。因此,“零日漏洞”攻击成为多数企业的灾难。一般的企业使用防火墙、入侵检测系统和防病毒软件来保护关键业务IT基础设施。这些系统提供了良好的第一级保护,但是尽管安全人员尽了最大的努力,他们仍不能保护企业免遭受零天利用攻击。
  1. da shang
    donate-alipay
               donate-weixin weixinpay

发表评论↓↓