弥合Windows安全研究鸿沟:从CTF竞赛到实战漏洞挖掘

本文探讨了Windows安全研究在CTF竞赛中的缺失现象,分析了俄罗斯与中国研究人员的优势成因,并介绍了AppJailLauncher框架如何通过Windows AppContainers技术创建安全的漏洞利用挑战环境,推动Windows安全研究发展。

弥合Windows鸿沟 - Trail of Bits博客

安全研究的代际差异

安全研究领域充斥着经验丰富的"灰胡子"专家,他们通过攻击邮件服务器、域控制器和TCP/IP协议栈积累了大量经验。这些研究者最初在Solaris、IRIX和BSDi等平台上编写漏洞利用程序,后来转向Windows漏洞利用。如今他们运营公司、制定政策、在推特上发表见解并在国会作证。

而我并非其中一员——我的安全教育始于Windows Vista时代,随着现实世界研究难度增加,通过夺旗赛(CTF)竞赛不断扩展知识。2010年后进入行业的安全研究人员几乎完全通过CTF竞赛进行学习。

CTF竞赛中的Windows挑战缺失

在一次特别令人沮丧的CTF赛后,我们讨论到尽管Windows是我们行业的重要组成部分,但比赛中却鲜有Windows挑战。只有俄罗斯的CTF赛事会发布Windows挑战,美国的大型CTF赛事都不这样做。

就像冷战时期的政治格局一样,俄罗斯(CTF)在Windows方面取得了优势,形成了"Windows鸿沟"。

Windows鸿沟的深远影响

Windows鸿沟在CTF之外同样存在。过去几年中,最优秀的Windows安全研究都来自俄罗斯和中国。为什么俄罗斯和中国的研究人员如此擅长Windows?因为他们确实在使用Windows……而西方安全研究人员出于某种原因却不使用。

让我们共同弥合这个Windows鸿沟。Windows知识对我们的行业至关重要。

助力CTF社区发展

如果CTF竞赛是当今新手磨练技能的方式,那么我们应该提供更多基于Windows的挑战和竞赛。为此,Trail of Bits发布了AppJailLauncher框架,用于创建可利用的Windows挑战!

作为比赛组织者,保护基础设施是首要任务,而在Windows 8引入AppContainers之前,保护Windows服务一直比较棘手。AppJailLauncher使用AppContainers来确保一切安全,免受破坏者干扰。该存储库包含将Windows TCP服务与操作系统其余部分隔离所需的所有内容。

此外,我们还发布了greenhornd的源代码,这是我在2014年CSAW比赛中编写的一个挑战,旨在向人们介绍Windows漏洞利用和迄今为止最好的调试器:WinDbg。存储库包含发布的二进制文件、部署说明和漏洞验证脚本。

我们希望能帮助CTF社区克服困难,掌握Windows专业知识。

Windows挑战的反响

去年在CSAW发布Windows挑战非常有趣。出现了大量抱怨:

1
2
3
4
<dwn> 这个Windows挑战怎么才200分 天啊
<dwn> 让漏洞明显并不使Windows漏洞利用变得更容易 ;_;
<mserrano> RyanWithZombies: 老兄但这特么是Windows
<mserrano> 连我都不再用Windows了

也有一些赞扬:

1
2
3
<cai_> 顺便说一句我喜欢你的Windows挑战 :)
<MMavipc> RyanWithZombies 请提供更多Windows漏洞利用/远程代码执行
<CTFBroforce> 我太困惑了 从没做过Windows漏洞利用

甚至引发了参赛者之间的争论:

1
2
3
<clockish> 兄弟们,闭嘴,Windows很难
<MMavipc> Windows很容易
<MMavipc> Linux才难

我们希望AppJailLauncher能在未来几年引发更多热情的反应!

脚注

  1. 许多最受欢迎的CTF赛事始于2010年和2011年:Ghost in the Shellcode (2010)、RuCTFe (2010)、PlaidCTF (2011)、Codegate (2011)、PHDays (2011)。很少有早于2010年的赛事。

  2. 就像观看geohot在LiveCTF直播中格式化字符串利用失败一样:https://www.youtube.com/watch?v=td1KEUhlSuk

  3. 尝试搜索晦涩的Windows内核符号,你最终会进入俄罗斯论坛。

  4. 名称未作更改以羞辱那些纵容者。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计