DDOS防御专家-提供超强DDoS高防/CC防护/大流量清洗服务!
当前位置:主页 > DDOS防御 > 正文

cdn防御_ddos防御策略_零元试用

01-11 DDOS防御

cdn防御_ddos防御策略_零元试用

不幸的是,只有二进制的软件是不可避免的;活动软件项目、固件和应用程序的依赖性没有源代码访问,或者仅仅是开发人员不再领取工资支票的旧软件。因此,awsddos防御,二进制分析和重写一直是安全和软件工程研究人员和实践者感兴趣的话题。二进制分析支持对二进制软件的复查,二进制重写可以修复二进制软件中的问题。两者都依赖于二进制文件的高质量中间表示(IR),以及将可执行文件提升到该IR的高质量反汇编程序。GrammaTech是在开源许可下发布的;GrammaTech的二进制代码IR、GTIRB(不要与中间语言混淆1)和ddisasm,一个能够将二进制程序提升到GTIRB的快速而准确的反汇编程序。我们还发布了GTIRB pprinter,cc防御报价,一个从GTIRB到assembler的漂亮打印机,ddos防御网,当与汇编程序和链接器一起使用时,它完成了一个健壮的端到端二进制重写系统。我们正处于对二进制分析和逆向工程的兴趣复苏之中。例如,新的二进制分析研究研讨会与NDSS(我们在BAR 2018上发布)并置,它是DARPA网络大挑战的中心(我们获得了银牌)。分析和重写工具曾经是一个利基领域,主要用于政府机构和CTF的竞争,现在已经司空见惯,许多学者和公司正在构建自己的框架。idapro仍然是最常用的交互式二进制分析工具,一些更新的工具,如binary Ninja迅速流行起来。美国国家安全局最近公开的Ghidra获得了大量关注。在学术工具中,Angr(也来自于CGC的入围者)可能是使用最广泛的支持二进制重写的开源二进制分析平台,并且目前已经发布了最好的二进制重写结果。有很多平台支持二进制重写GrammaTech已经在这个领域工作了大约20年。我们的CodeSonar for二进制文件是一个易于使用的本地二进制文件自动故障检测工具。我们的二进制分析和重写框架支持这个商业工具以及我们的二进制重写工具,是同类框架中最成熟的。我们发布GTIRB是希望它能提供一个通用的数据结构,以促进这个领域的许多新进入者之间的交流和协作。我们希望GTIRB、ddisasm和GTIRB pprinter组合的开源套件能够减少进入这个领域的障碍,这样任何拥有一个有趣的二进制分析、转换或重写方法的人都可以尝试他们的想法,而不必先投入大量的投资来获得可用的IR。(理想情况下,我们希望看到ddisasm和GTIRB成为二进制分析研究的Clang和LLVM。)在本工具介绍的剩余部分中,我们将回顾GTIRB和ddisasm,并演示它们在一个流行的开源软件中识别和重写以中和真实世界(如果旧的话)命令注入漏洞的用法。案例分析:非真实的后门检测和移除这个Dockerfile可以用来播放。为了介绍这些工具,让我们使用它们来查找和修复实际程序中的一个真正的缺陷。(我们将使用一个开源程序作为示例,这样您就可以在源代码中解决这个问题,但是不管怎样,我们还是继续玩吧。)2009年,UnrealCD的3.2.8.1版中出现了一个厚颜无耻的后门程序(另请参阅本文)。攻击者可利用此后门在运行IRC后台程序的系统上运行任何命令。由于一些巧妙的隐藏在嵌套宏中,后门在被发现之前持续了7个月。(这实际上是一种利用二进制代码更容易看到的情况,这要归功于C预处理器消除了混淆。事实上,GrammaTech的CodeSonar会自动将其标记为命令注入漏洞。3)所以,如果你想继续玩,你可以自己从这个后门源代码的tarball构建它。4为了让它在本地构建,我不得不(1)从src/parse.c的parse_addlag中删除内联声明,然后手动重新运行最后的gcc调用,添加-ldl(包含在Dockerfile中)。在此之后,您应该在src/ircd中找到易受攻击的二进制文件(记住不要在公共计算机上运行它")。构建了易受攻击的二进制文件,并在本地构建了GTIRB、GTIRB pprinter和ddisam(如果您在构建我们的任何工具时遇到任何问题,请在GitHub repos上打开问题),就可以将该二进制文件提升到IR、修复和重写。提升应该很容易。简单地运行ddisam可执行文件,指示它转储UnrealIRCd的GTIRB表示。DDISAM/ircd—红外ircd.gtirb公司(这可能需要几分钟。ddisasm工具是一个反汇编程序,防火墙能防御cc攻击吗,它的分析在数据日志中实现。反汇编在一般情况下是不可能的,ddos假ip防御,所以所有实用的方法都依赖于基于对公共编译器和公共汇编代码的已知功能的假设的启发式。事实证明,数据日志规则是表达这些启发式的一种绝妙的方式。我们可以声明性地和简洁地编写它们,高性能的Souffle DATALOG引擎将规则合并并编译成快速并行C++代码。通过这种方法,DDISAM能够比以前发布的最好的提升工具更快、更准确地提升,而实施工作量要少得多(以FTE月数或KLOC衡量)。我们真的希望看到二进制分析社区为ddisasm贡献更多的启发。现在我们已经提升到GTIRB,我们可以使用引用C++ GTIRB库来研究结果,注意GTIRB是使用谷歌的原型Bufff串行化的,所以也可以使用其他语言,我们希望开发一个专用的Python库。请参阅GTRB手册的示例部分,以演示在C++、Python和java中使用GTIRB的示例。这个简单的C++程序,博客.cpp,找到一个调用系统的块,然后在GTIRB的进程间控制流图中从该块跟踪引用符号的名称。我们可以编译它并在IR上运行,结果如下:g++--std=c++17-lgtirb博客.cpp/离开ircd.gtirb公司1#=>在0x00407f32找到基本块调用系统#=>前置0x00407f32引用readbuf因此,第一个(也是唯一一个)基本块调用系统有一个引用readbuf的前置程序。这看起来像前面提到的writeup中描述的后门。最后,我们可以修复、重新组装和重新链接一个新的unlircd和删除的漏洞。为了简单起见,我们可以通过修改打印的汇编代码来执行此修复。我们首先调用gtirb pprinter将gtirb转换为汇编程序。gtirb打印机/ircd.gtirb公司-o/ircd.s.公司现在我们只需删除对系统的错误调用。在这种情况下,只有一个对system的调用(否则我们可以利用上面简单的GTIRB程序输出的输出来只删除错误的系统调用),因此我们可以很容易地使用sed作为二进制重写器来修复程序。确认只有一个对系统的调用:#只有一次对系统的调用:格雷普-c系统@PLTircd.s.公司#=>1#我们可以看到它的背景:grep-C3系统@PLTircd.s.公司#=>.左407f32:# =>#=>mov EDI,偏移量readbuf#=>呼叫系统@PLT#=>.L_407f3c:#=>jmp.L DE2型#=>.左407f41:使用sed将系统调用替换为对put的调用。塞德的/系统@PLT/puts@PLT/'-i ircd.s.公司最后,我们重新组装并重新链接修改后的汇编器(我们可以显式地调用gas和ld,或者gcc为我们这样做)。我们在原始的ircd二进制文件上运行ldd,看看我们需要链接哪些动态库,ldd ircd公司#=>linux系统-vdso.so公司.1(0x00007fff7278a000)# => libcrypt.so.1=>/lib/x86_64-linux-gnu/libcrypt.so.1(0x00007fb286413000)# => 诽谤.1=>/lib/x86_64-linux-gnu/诽谤.1(0x00007fb28620b000)# => libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007fb286007000)# => libc.so公司.6=>/lib/x86_64-linux-gnu/libc.so公司.6(0x00007fb285c16000)# => libpthread.so.0=>/lib/x86_64-linux-gnu/libpthread.so.0(0x00007fb2859f7000)#=>/lib64/ld-linux-x86-64.so.2(0x00007fb28664b000)我们调用gcc链接新修复的ircd固定二进制文件。(注意,我们在gcc中添加了-no pie标志,以避免gcc试图编译一个位置无关的可执行文件,这是ubuntu18的默认设置。)gcc ircd.s-o ircd fixed-lcrypt-lrt-ldl-lc-lpthread-no-pie得到的ircd修复的二进制文件和原来的一样,但是没有这个邪恶的系统调用后门。当后门被触发时,以前的远程shell现在应该打印无害的调试输出。希望这能提供信息。我们真的为这些工具感到骄傲,我们希望其他人也能发现它们的用处。我们将继续改进它们,因为我们在GrammaTech更广泛地使用它们。本材料基于海军研究办公室根据合同号N68335-17-C-0700支持的工作。本材料中表达的任何意见、发现和结论或建议均为作者的观点,并不一定反映海军研究办公室的观点。GTIRB不是表示汇编指令语义的IL,就像BAP的BIL、Angr的Vex或Ghidra的P代码是ILs一样。GTIRB表示二进制文件的高级结构。这些结构通常是复杂分析的结果(例如,由我们的升降机DDISAM进行的分析)。这些结构包括:代码和数据块的标识、控制流图的构造和交叉引用的信息(即符号化)。这些结构支持额外的二进制分析。这些结构也足以支持修改二进制文件和重新组装新的二进制可执行文件。对于指令表示,GTIRB使用我们能找到的最通用和最有效的表示法,即机器码字节。GTIRB的用户通过

版权保护: 本文由 DDOS防御专家 原创,转载请保留链接: /ddos1/61001.html

DDoS防御专家简介孤之剑
国内资深白帽子二十人组成员,前BAT资深网络安全工程师,知名网络安全站点板块大神,每年提交Google及微软漏洞,原sina微博负载插件开发者,现在整体防御复合攻击长期接受1-4.7T攻击,CC防护自主开发指纹识别系统,可以做到99.9999%的无敌防御。
  • 文章总数
  • 8132685访问次数
  • 建站天数

    QQ客服

    400-0797-119

    X