 等级: 论坛管理员 组: 管理员
注册时间: 10/31/2007 帖子数量: 789
|
1 引言 随着信息网络技术的不断进步,计算机网络已经伸向了世界的各个角落,渗透进了社会生活的各个方面,对人们的生活和工作方式产生了深刻的影响,渐渐成为人们生活不可缺少的一部分,电子商务模式将成为未来商业的主流模式。然而,针对网上交易的网络犯罪和黑客攻击随着科技的进步却愈演愈烈,对网上交易信息安全造成极大的威胁。目前,从对国外著名黑客组织的黑客和国内著名黑客站点公布的讨论网络攻击技术的文章来看,黑客攻击手法已经出现许多新的特点: (1) 智能化:已经出现了病毒自动制造机,能够由程序自动产生新的病毒变种; (2) 多样化:黑客攻击的手法更加丰富,目前已经出现了许多新的黑客攻击理论; (3) 攻击带有目的性:黑客攻击已经不仅仅是为了展示黑客高超的技术水平,而更多带有商业目的和政治目的,甚至出现网络恐怖主义。 (4) 黑客团队的专业化:黑客比以前任何时候更加专业,并形成更大有组织的团队,团队成员分工明确。 目前流行的黑客攻击技术包括: (1) 缓冲区溢出技术:从对栈的缓冲区溢出过渡到堆的缓冲区溢出,从unix平台过渡到所有平台,缓冲区溢出仍然是黑客攻击的主要手法,文献[1]系统全面的归纳了缓冲区溢出的方法于实现; (2) 拒绝服务攻击与分布式攻击技术; (3) 后门技术与特洛伊木马; (4) 计算机病毒; (5) 网络协议攻击。 网络协议攻击危害最大,它是利用网络协议的弱点对网络系统进行攻击,普通的攻击行为主要是利用系统程序实现上的漏洞,发现漏洞进行修补后就可以避免遭到攻击。但是TCP/IP协议是网络交互的一个标准,网上交易协议是建立在其之上,制定一个实用的协议需要很长的时间,而且所有用户必须遵循这个协议,因此对网络协议的攻击危害最大,而且这种攻击更加有效,然而TCP/IP协议族存在许多可以被攻击利用的缺陷。因此,我们希望通过自封装数据包来达到数据安全传输的目的。 2对TCP、UDP协议的分析 2.1 TCP/IP协议栈 TCP/IP协议栈可以分为四层,如图1所示,与我们研究相关的底三层包括以下协议: (1)IP(Internet Protocol): 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层; (2)ARP(Address Resolution Protocol):此协议将网络地址映射到硬件地址; (3)RARP(Reverse Address Resolution Protocol):此协议将硬件地址映射到网络地址; (4)ICMP(Internet Control Message Protocol):此协议处理信关和主机的差错和传送控制; (5)TCP (Transmission Control Protocol):这是一种提供给用户进程的可靠的全双工字节流面向连接的协议。它要为用户进程提供虚电路服务,并为数据可靠传输建立检查; (6)UDP (User Datagram Protocol):这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。 2.2 TCP/IP协议数据包的结构 在网上传输的一个数据包(TCP、UDP)是按照如下形式进行封装的,如图2所示,一个以太网帧的最大负荷(MTU)为1500字节(除去以太网头和网尾),因此TCP数据包的应用数据最大长度1460字节,UDP数据包的应用数据最大长度为1472字节,超过这个长度将导致IP包分段发送。 2.3 TCP/IP协议中的若干数据结构 在基于TCP/IP协议的网络应用中,有五种数据结构最值得注意,也就是以太网首部、ARP首部、IP首部、TCP首部和UDP首部,其中最重要的是后面三种。我们在构建网上交易的安全方案的时候,要用到这些数据结构。依此定义如下: (1)以太网首部 typedef struct ET_hdr //以太网头部 { unsigned char eh_dst[6]; 32位目的地址; unsigned char eh_src[6]; 32位源地址; unsigned short eh_type; 16位帧类型; } ET_HEADER; (2)ARP首部 typedef struct ARPhdr //ARP头部,一般不直接用 { unsigned short arp_hdr; unsigned short arp_pro; unsigned char arp_hln; unsigned char arp_pln; unsigned short arp_opt; unsigned char arp_sha[6]; unsigned long arp_spa; unsigned char arp_tha[6]; unsigned long arp_tpa; } ARP_HEADER; (3)IP首部 typedef struct IPhdr //定义IP首部 { unsigned char ip_len_ver; //4位首部长度+4位IP版本号 unsigned char ip_tos; //8位服务类型TOS unsigned short ip_total_len; //16位总长度(字节),数据报长度 unsigned short ip_id; //16位标识 unsigned short ip_off; //3位标志位 ,段偏移 unsigned char ip_ttl; //8位生存时间 TTL unsigned char ip_proto; //8位协议 (TCP, UDP 或其他) unsigned short ip_checksum; //16位IP首部校验和 unsigned int ip_sourceIP; //32位源IP地址 unsigned int ip_destIP; //32位目的IP地址 }IP_HEADER; (4)TCP首部 typedef struct TCPhdr //定义TCP首部 { unsigned short tcp_sport; //16位源端口 unsigned short tcp_dport; //16位目的端口 unsigned int tcp_seq; //32位序列号 unsigned int tcp_ack; //32位确认号 unsigned char tcp_lenres; //4位首部长度/6位保留字 unsigned char tcp_flag; //6位标志位 unsigned short tcp_win; //16位窗口大小 unsigned short tcp_sum; //16位校验和 unsigned short tcp_urp; //16位紧急数据偏移量 }TCP_HEADER; (5)UDP首部 typedef struct UDPhdr //定义UDP首部 { unsigned short udp_sport; //16位源端口 unsigned short udp_dport; //16位目的端口 unsigned short udp_len; //UDP长度 unsigned short udp_chk; //UDP校验和 } 3 IPSEC安全体系及其缺点 3.1 IPSEC的体系结构 IPSEC协议(具体参考文献[1]、[2]、[3]、[4])主要由因特网密钥交换(IKE)协议、认证头(AH)以及封装安全载荷(ESP)三个子协议组成,同时还涉及认证和加密算法以及安全联盟SA等内容。IPV6全面支持IPSEC协议,目前IPSEC协议主要用于VPN。它们的关系如图3所示: 3.2 对IPSEC的简要分析 认证头是基于网络层的一个安全协议,是IPSEC协议的重要组成部分,用于为IP数据包提供安全认证的一种安全协议。AH个格式在RFC2402中明确的规定。它有两种工作方式,即传输模式和隧道模式两种,IPV4中这两种模式下AH的数据封装格式如图4所示: 由于认证信息只确保IP数据包的来源和完整性,而不能为IP数据包提供机密性保护,因此,IPSEC引入封装安全载荷(ESP)。ESP的格式在RFC2406中明确规定,它也有两种工作模式,IPV4中这两种模式下ESP的数据封装格式如图5所示: 3.3 IPSEC的优点与不足 IPSEC协议具有很好的兼容性,它只是提供一个框架,用户可以按照自己的特殊要求来开发自己的产品。IPSEC具有很好的开放性和透明性,对高层的应用是透明的,用户无需关注IPSEC的具体实现和细节。虽然IPSEC具有很多的优点,因此其复杂性程度非常高,在RFC规范中也有不少含混不清的内容,因此对于中小规模公司开发人员来说,要实现IPSEC是非常困难的,即使能实现也需要很长的时间,因此对于大部分应用来说,IPSEC并不是最好的选择。因此应该根据实际问题的规模,在此基础上进行简化,按照应用需求设计协议和IP包结构。
亿贸网全球商人社区,全球商人聚集地!
|