CVE-2014-0160_OpenSSL心脏滴血漏洞

​ OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议。OpenSSL 1.0.1中的TLS和DTLS在实现上没有严格处理Heartbeat扩展包,心跳处理逻辑没有检测心跳包中的长度字段是否和后续的数据字段相符合,用此漏洞攻击者可以通过特制的数据包触发缓冲区溢出读操作,获得通信中的敏感信息。允许攻击者从内存中读取多达64KB的数据。

漏洞触发

​ OpenSSL心脏滴血(CVE-2014-0160),存在于含有心跳扩展机制的TLS版本:TLSv1.0(0x0301),TLSv1.1(0x0302),TLSv1.2(0x0303)三种版本中。

​ 此漏洞主要通过攻击者模拟向服务器端发送自己编写的Heartbeat心跳数据包,主要是Heartbeat Message的长度与payload length进行匹配,若payload lenght长度大于HeartbeatMes sage的length,则会在服务器返回的response响应包中产生数据溢出,造成有用数据泄露。

TLS数据包格式

Read More

CVE-2014-0224_OpenSSL中间人漏洞

SSL/TLS协议简介

安全套接字层(SSL)和传输层安全性(TLS)是加密协议,通过TCP/IP网络进行的通信提供安全的身份验证和数据完整性。

通过使用如对称密钥密码,加密安全哈希函数以及非对称加密/解密和身份验证的公钥基础结构之类的加密原语,这些协议使主机能够在不安全的网络上,建立安全信道。

TLS 1.1和TLS 1.2 是IETF标准,并且是对TLS 1.0的改进,而TLS 1.0本身是Netscape开发的SSL协议(版本3.0)的标准化后继版本。

TLS是一个分层协议。 两个端点之间交换的所有数据都包含在TLS记录内,TLS记录是协议堆栈的最底层。 TLS结构如下:

1
2
3
4
5
6
Offset 		Length 		Content
---------------------------------------
0x00 1 Record Type
0x01 2 Record Version
0x03 2 Length of Record Data (n)
0x05 n Record Data

Read More

Oracle Database 11g Wrap加密解密分析

[TOC]

​ Oracle为PL/SQL开发者提供的一种对他们所写的代码(oracle下的对象Package、Procedure、Function、Java Source等)进行加密的工具。当PL/SQL代码被加密以后,它就被描述为被“包装过”。使wrap工具对代码进行包装,wrap工具会取出含有要包装的代码的文件名并输出下面的文件:

1
wrap iname=plain.sql oname=encrypted.plb

​ 因为代码被加密了,所以其细节被隐藏了,而且Oracle不提供解包装设备。但是我们可以编写我们自己的unwrap程序。

Read More