目录
什么是APT?
APT攻击即高级持续性威胁攻击,也成为定向威胁攻击是一种周期较长、隐蔽性极强的攻击模式。搜集的主要目标有:业务流程、系统运行状况等。目的是:窃取商业机密,破环竞争甚至是国家间的网络战争。
APT的攻击过程
- 在APT攻击中,攻击者会花几个月甚至更长的时间对"目标"网络进行踩点,针对性地进行信息收集,目标网络环境探测,线上服务器分布情况,应用程序的弱点分析,了解业务状况,员工信息等等。
- 在多数情况下,攻击者会向目标公司的员工发送邮件,诱骗其打开恶意附件,或单击一个经过伪造的恶意URL,希望利用常见软件(如Java或微软的办公软件)的0day漏洞,投送其恶意代码。一旦到位,恶意软件可能会复制自己,用微妙的改变使每个实例都看起来不一样,并伪装自己,以躲避扫描。有些会关闭防病毒扫描引擎,经过清理后重新安装,或潜伏数天或数周。恶意代码也能被携带在笔记本电脑、USB设备里,或者通过基于云的文件共享来感染一台主机,并在连接到网络时横向传播。
- 利用漏洞,达到攻击的目的。攻击者通过投送恶意代码,并利用目标企业使用的软件中的漏洞执行自 身。而如果漏洞利用成功的话,你的系统将受到感染。普通用户系统忘记打补丁是很常见的,所以他们很容易受到已知和未知的漏洞利用攻击。一般来说,通过使用零日攻击和社会工程技术,即使最新的主机也可以被感染,特别是当这个系统脱离企业网络后。
- 随着漏洞利用的成功,更多的恶意软件的可执行文件——击键记录器、木马后门、密码破解和文件采集程序被下载和安装。这意味着,犯罪分子现在已经建成了进入系统的长期控制机制。
- 一旦恶意软件安装,攻击者就已经从组织防御内部建立了一个控制点。攻击者最常安装的就是远程控制工具。这些远程控制工具是以反向连接模式建立的,其目的就是允许从外部控制员工电脑或服务器,即这些工具从位于中心的命令和控制服务器接受命令,然后执行命令,而不是远程得到命令。这种连接方法使其更难以检测,因为员工的机器是主动与命令和控制服务器通信而不是相反。
- 一般来说,攻击者首先突破的员工个人电脑并不是攻击者感兴趣的,它感兴趣的是组织内部其它包含重要资产的服务器,因此,攻击者将以员工个人电脑为跳板,在系统内部进行横向渗透,以攻陷更多的pc和服务器。攻击者采取的横向渗透方法包括口令窃听和漏洞攻击等。
- 也就是将敏感数据从被攻击的网络非法传输到由攻击者控制的外部系统。在发现有价值的数据后,APT攻击者往往要将数据收集到一个文档中,然后压缩并加密该文档。此操作可以使其隐藏内容,防止遭受深度的数据包检查和DLP技术的检测和阻止。然后将数据从受害系统偷运出去到由攻击者控制的外部。大多数公司都没有针对这些恶意传输和目的地分析出站流量。那些使用工具监控出站传输的组织也只是寻找"已知的"恶意地址和受到严格监管的数据。
防御APT
- 黑客(攻击者)向企业内网发起APT攻击,FW从网络流量中识别并提取需要进行APT检测的文件类型。
- FW将攻击流量还原成文件送入沙箱进行威胁分析。
- 沙箱通过对文件进行威胁检测,然后将检测结果返回给FW。
- FW获取检测结果后,实施相应的动作。如果沙箱分析出该文件是一种恶意攻击文件,FW侧则 可以实施阻断操作,防止该文件进入企业内网,保护企业内网免遭攻击。
- 反病毒系统通常是将病毒文件的特征与病毒特征库进行对比来识别一个文件是否为病毒文件。这种防御方式具有一定的局限性,就是只能针对已知病毒进行防御,而无法识别未知攻击。
- APT防御机制则有别于反病毒系统。APT防御系统中的沙箱可以看做是一个模拟真实网络建造的虚拟检测系统,未知文件放入沙箱以后将会被运行,沙箱中的收集程序会记录该文件被运行以后的行为。沙箱通过将未知文件的行为和沙箱独有的行为模式库进行匹配,最后给出该程序是否为恶意程序的定性结论。沙箱的行为模式库是通过分析大量的病毒、漏洞、威胁特征,提炼出各种恶意行为的规律和模式,并形成一套判断规则,因此能提供准确的检测结果。
沙箱处理流程
对称加密算法
加密和解密使用同一个密钥,可以看作数学角度中的双向函数。
对称加密首先要保证算法足够复杂以及密钥传输足够安全。
加密信息传递有两个通道
- 密文传递通道
- 密钥传递通道
非对称加密算法
在互联网时代我们希望能够再往上公开途径传输密钥
diff和hellmen DH 开创了非对称加密算法。
加解密使用的密钥是不相同的,有公钥和私钥,也称为公钥加密技术。将自己的公钥通过明文发送出去,接收方使用该公钥加密再发送数据包回到发送方,然后发送方用自己的私钥进行解密。
可看作数学方式中的单向函数 模运算 mod
DH算法解决了在公开场合密钥安全的传递问题。蓝色和绿色没有暴露在网络中合成动作无法被反向解密,加号是一个取模的过程。类似于知道余数知道除数求被除数。
DH算法解决了再公开场合密钥安全传递问题
对称加密算法解决信息的安全传输通道
非对称加密算法解决对称加密算法密钥的安全传输通道、密钥管理难、密钥传递风险的问题。
总结:对称加密:速度快,但是密钥不安全。
非对称加密:速度慢,但是相对安全。
最佳解决方案:用非对称加密算法加密对称加密算法的密钥。
非对称加密解决身份认证问题
对明文进行hash运算得到定长值h,然后对h进行非对称运算用私钥加密得到值k,然后对明文a进行对称运算得到y,传输时同时传输y和k,收到后用非对称公钥解开k得到h‘,然后用堆成算法解开y得到a,然后对a进行hash得到h’‘如果h’与h‘’相同,则证明完整性与身份认证 。
公钥身份认证
- 身份认证:通过标识和鉴别用户身份,防止攻击者假冒合法用户来获取访问权限。
- 身份认证技术:在网络总确认操作者身份的过程而产生的有效解决方法。
情景分析:
- 1. alice把公钥给bob
- 2. alice发送信息hello,world!
- 3. alice把发送的信息用对称加密算法加密到加密信息C。
- 4. alice把发送的hello,world!先用hash算法计算得到hash值D。
- 5. alice把hash值D用非对称加密计算得到E。E值就是用于身份验证的。
- 6. alice把C,E一起发给bob。
- 7. bob收到C,E值,先用非对称的公钥对E进行解密,如果能正常解开则证明C值是alice的。
- alice把公钥给bob的环节能确保是安全的,一定是alice给的。
- 想办法证明alice的公钥一定是alice的。
当增加数字签名后黑客也能从这方面进行攻击,因为此阶段数字签名并不完善,不能证明数字签名是合法的数字签名。
解决方法
为数字签名增加数字证书
CA认证---CA的可信度

- 用户身份信息
- 用户公钥信息
- 身份验证机构的信息及签名数据
- 签名证书----身份验证,不可抵赖性。
- 加密证书----加密,完整性与机密性。

SSL
安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。
- 连接是保密的:对于每个连接都有一个唯一的会话密钥,采用对称密码体制(如DES、RC4等)来加密数据;
- 连接是可靠的:消息的传输采用MAC算法(如MD5、SHA等)进行完整性检验;
- 对端实体的鉴别采用非对称密码体制(如RSA、DSS等)进行认证

SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的 超文本传输协议(HTTPS)使用 SSL 来实现安全的通信。
(1) 客户端发送列出客户端密码能力的客户端“您好”消息(以客户端首选项顺序排序),如 SSL 的版本、客户端支持的密码对(加密套件)和客户端支持的数据压缩方法(哈希函数)。消息也包含 28 字节的随机数。
(2) 服务器以服务器“您好”消息响应,此消息包含密码方法(密码对)和由服务器选择的数据压缩方法,以及会话标识和另一个随机数。
注意:客户端和服务器至少必须支持一个公共密码对,否则握手失败。服务器一般选择最大的公共密码对。
(3) 服务器发送其SSL数字证书。(服务器使用带有 SSL 的 X.509 V3 数字证书。)
如果服务器使用 SSL V3,而服务器应用程序(如 Web 服务器)需要数字证书进行客户端认证,则客户端会发出“数字证书请求”消息。在 “数字证书请求”消息中,服务器发出支持的客户端数字证书类型的列表和可接受的CA的名称。
(4) 服务器发出服务器“您好完成”消息并等待客户端响应。
(5) 一接到服务器“您好完成”消息,客户端( Web 浏览器)将验证服务器的SSL数字证书的有效性并检查服务器的“你好”消息参数是否可以接受。
如果服务器请求客户端数字证书,客户端将发送其数字证书;或者,如果没有合适的数字证书是可用的,客户端将发送“没有数字证书”警告。此警告仅仅是警告而已,但如果客户端数字证书认证是强制性的话,服务器应用程序将会使会话失败。
(6) 客户端发送“客户端密钥交换”消息。此消息包含 pre-master secret(一个用在对称加密密钥生成中的 46 字节的随机数字),和 消息认证代码( MAC )密钥(用服务器的公用密钥加密的)。
如果客户端发送客户端数字证书给服务器,客户端将发出签有客户端的专用密钥的“数字证书验证”消息。通过验证此消息的签名,服务器可以显示验证客户端数字证书的所有权。
注意: 如果服务器没有属于数字证书的专用密钥,它将无法解密 pre-master 密码,也无法创建对称加密算法的正确密钥,且握手将失败。
(7) 客户端使用一系列加密运算将 pre-master secret 转化为 master secret,其中将派生出所有用于加密和消息认证的密钥。然后,客户端发出“更改密码规范” 消息将服务器转换为新协商的密码对。客户端发出的下一个消息(“未完成”的消息)为用此密码方法和密钥加密的第一条消息。
(8) 服务器以自己的“更改密码规范”和“已完成”消息响应。
(9) SSL 握手结束,且可以发送加密的应用程序数据。