智能模糊测试革命
我最近有幸在BSidesLisbon会议上发表主题演讲。这次会议令人受益匪浅,特别感谢Bruno Morisson的邀请。如果你喜欢端口技术,这个会议绝对适合你!我建议当地同行明年都来参加。
我认为有必要将自动化漏洞发现的最新进展置于更广阔的背景下理解。网络大挑战(Cyber Grand Challenge)、AFL和libFuzzer的新发展若不密切关注很容易被忽视,但它们对我们行业的潜在影响是巨大的。
昨天在IT Defense会议上再次进行演讲后,现在我想与网络分享这个内容。你可以通过下方视频了解我对这个研究领域起源、现状和未来发展的见解。敬请欣赏!
你应该参加BSidesLisbon——
过去两年在自动化安全测试领域取得的进展超越了之前十年的总和。AFL将已知最佳实践工程化为易用工具,DARPA网络大挑战提供了可靠的竞争基准和新研究资金,而Project Springfield(即SAGE)现已向公众开放。这些新技术的普及可能对我们行业产生巨大影响。
这些工具如何工作?与以往方法有何不同?它们的优势与局限是什么?现在如何使用这些工具?这些技术将如何发展?还需要哪些进一步开发?最后,人类在安全开发生命周期中还能主导多久?
完整幻灯片请参见此处。
参考文献
- 威斯康星大学麦迪逊分校原始模糊测试项目作业(1988) http://pages.cs.wisc.edu/~bart/fuzz/CS736-Projects-f1988.pdf
- PROTOS – 消除软件漏洞的系统化方法(2002) https://www.ee.oulu.fi/roles/ouspg/PROTOS_MSR2002-protos
- 基于块的协议分析在安全测试中的优势(2002) http://www.immunitysec.com/downloads/advantages_of_block_based_analysis.html
- DART:定向自动化随机测试(2005) https://wkr.io/public/ref/godefroid2005dart.pdf
- EXE:自动生成致命输入(2006) https://web.stanford.edu/~engler/exe-ccs-06.pdf
- EXE:十年后(2016) https://ccadar.blogspot.com/2016/11/exe-10-years-later.html
- 自动化白盒模糊测试(2008) https://patricegodefroid.github.io/public_psfiles/ndss2008.pdf
- American Fuzzy Lop (AFL) http://lcamtuf.coredump.cx/afl/
- DARPA网络大挑战参赛者门户(2013) http://archive.darpa.mil/CyberGrandChallenge_CompetitorSite/
- 利用与状态机(2011) http://archives.scovetta.com/pub/conferences/infiltrate_2011/Fundamentals_of_exploitation_revisited.pdf
- 你的工具比我的好?证明它。(2016) https://blog.trailofbits.com/2016/08/01/your-tool-works-better-than-mine-prove-it/
- Microsoft Springfield(2016) https://www.microsoft.com/en-us/springfield/
- Google OSS-Fuzz(2016) https://github.com/google/oss-fuzz
- LLVM libFuzzer http://llvm.org/docs/LibFuzzer.html
- GRR – 高通量模糊测试器和DECREE二进制文件模拟器 https://github.com/trailofbits/grr
- Manticore – Python符号执行平台 https://github.com/trailofbits/manticore
- McSema – x86到机器代码转换框架 https://github.com/trailofbits/mcsema
- DARPA Linux、macOS和Windows挑战集 https://github.com/trailofbits/cb-multios
- Trail of Bits关于网络大挑战的出版物 https://blog.trailofbits.com/category/cyber-grand-challenge/
勘误
- 奥卢大学位于芬兰
- 威斯康星大学于1988年布置了模糊测试作业
- SV-Comp用于软件验证,也存在ML竞赛
如果你喜欢这篇文章,请分享至: Twitter | LinkedIn | GitHub | Mastodon | Hacker News