admin管理员组

文章数量:1595885

系统层漏洞挖掘

系统层漏洞的挖掘需要很多相对高级的漏洞挖掘方法。从实战角 度看,以下6种挖掘方法最为实用:代码跟踪、动态调试、Fuzzing技 术、补丁对比、软件逆向静态分析、系统安全机制分析。

1)代码跟踪。代码跟踪是指通过自动化分析工具和人工审查结合 的方式,对程序源代码逐条进行检查分析,发现其中的错误信息、安 全隐患和规范性缺陷,以及由这些问题引发的安全漏洞,并提供代码 修订措施和建议。

2)动态调试。动态调试原指程序作者利用集成环境自带的调试器 跟踪程序的运行,来协助解决程序中的错误。不过,对于蓝队来说, 动态调试通常是指这样一种分析方法:使用动态调试器(如OllyDbg、 x64Dbg等),为可执行程序设置断点,通过监测目标程序在断点处的 输入/输出及运行状态等信息,来反向推测程序的代码结构、运行机制 及处理流程等,进而发现目标程序中的设计缺陷或安全漏洞。

3)Fuzzing技术。Fuzzing技术是一种基于黑盒(或灰盒)的测试 技术,通过自动化生成并执行大量的随机测试用例来触发程序或系统 异常,进而发现产品或协议的未知缺陷或漏洞。

4)补丁对比。每一个安全补丁都会对应一个或多个安全漏洞。通 过对补丁文件的分析,往往可以还原出相应漏洞的原理或机制。而利 用还原出来的漏洞,就可以对尚未打上相关补丁的程序或系统实施有 效攻击。而补丁对比是实战环境下,补丁分析的一种常用的、有效的 方式。补丁对比是指对原始文件和补丁文件分别进行反汇编,然后对 反汇编后的文件做比较找出其中的差异,从而发现潜在漏洞的一种安 全分析方法。

5)程序逆向静态分析。程序逆向静态分析是指对程序实施逆向工 程,之后对反编译的源码或二进制代码文件进行分析,进而发现设计 缺陷或安全漏洞的一种安全分析方法。

对于开放源代码的程序,通过检测程序中不符合安全规则的文件 结构、命名规则、函数、堆栈指针等,就可以发现程序中存在的安全 缺陷。被分析目标没有附带源程序时,就需要对程序进行逆向工程, 获取类似于源代码的逆向工程代码,然后再进行检索和分析,这样也 可以发现程序中的安全漏洞。这就是程序逆向静态分析。

程序逆向静态分析,也叫反汇编扫描,由于采用了底层的汇编语 言进行漏洞分析,理论上可以发现所有计算机可运行的漏洞。对于不 公开源代码的程序来说,这种方法往往是最有效的发现安全漏洞的办 法。

6)系统安全机制分析。系统安全机制就是指在操作系统中,利用 某种技术、某些软件来实施一个或多个安全服务的过程,主要包括标 识与鉴别机制、访问控制机制、最小特权管理机制、可信通路机制、 安全审计机制,以及存储保护、运行保护机制等。

系统安全机制分析是指对操作系统的各种安全机制进行分析,进 而发现系统设计缺陷或安全漏洞的方法。

身份隐藏

为避免自己的真实IP、物理位置、设备特征等信息在远程入侵的 过程中被网络安全设备记录,甚至被溯源追踪,攻击者一般都会利用 各种方式来进行身份隐藏。在实战攻防演练中,蓝队所采用的身份隐 藏技术主要有以下几类:匿名网络、盗取他人ID/账号、使用跳板机、 他人身份冒用和利用代理服务器等。

1)匿名网络。匿名网络泛指信息接收者无法对信息发送者进行身 份定位与物理位置溯源,或溯源过程极其困难的通信网络。这种网络 通常是在现有的互联网环境下,通过使用由特定的通信软件组成的特 殊虚拟网络,实现发起者的身份隐藏。其中以Tor网络(洋葱网络)为 代表的各类暗网是比较常用的匿名网络。

蓝队的匿名网络能力是指使用匿名网络对目标机构发起攻击,并 有效隐藏自己身份或位置信息的能力。

2)盗取他人ID/账号。盗取他人ID/账号,攻击者既可以获取与 ID/账号相关的系统权限,进而实施非法操作,也可以冒充ID/账号所 有人的身份进行各种网络操作,从而达到隐藏身份的目的。不过ÿ

本文标签: 攻防漏洞解决方案身份比赛中