第四章 网络入侵与防范

4.1概述
4.1.1黑客文化
1.Hacker与Cracker(入侵者)
Hacker创造新东西,Cracker破坏东西黑客守则(杨P3)
2.Hacker文化简史
Real programmer,如超级电脑的Cray设计者S.Cray—所有程序(OS)自己做,无任何bug/error
从1990年起,三个中心
MIT AI LAB以DEC的PDP-Ⅰ自编的ITS OS( Incompatible Timesharing System)
Stanford大学的SAIL(后来做了GUI
CMU(后来做ES,工业机器人
XEROX PARC(Palo Alto Research Center)
AT & Bell lab的Unix
Ken Thompson,B.kernighan,Dennis Ritchie,The C Programming language,C语言圣经又称“K&R”
-----Keep it Simple,Stupid
都以PDP-1,10,11为硬件
Bill gates是其中之一
Linux,Internet
3.Genocide 2600
——大屠杀2600 黑客组织,2000年已有150多万名成员(杨P13)
4.入侵者的危害
5.黑客的利用
4.1.2技术基础
1.OS方面
(1)UNIX的基本操作
(2)Linux的基本操作
(3)日志
(4)Windows 9x的MSdos.sys及NT的注册表
NT注册表

2.Internet与TCP/IP协议方面
3.网络编程方面
Linux网络编程套接字系统调用 如Socket() (杨P61)
Windows网络编程
Winsock 如Socket()打开一个流套接字(杨P69)
VC++的MFC
CSocket类
4.1.3入侵基本思想
①确认攻击目标任务:收集有用信息。如目标计算机的硬件信息、操作系统信息、应用软件信息、所在网络的信息、用户信息、存在的漏洞等。
使用的工具:端口扫描,网络命令等。
②选用合适方法入侵利用口令猜测,重复登录,直至合法登录发现漏洞(当然要有方法如缓冲区溢出法),直接登录用IP欺骗 取得目标计算机的信任
③留后门(木马),删除入侵记录,继续收集有用信息(如用sniffer收集数据)等具体实例 (杨P175)
4.1.4 IDS
人工智能的重要性
1.引入
①被动防御:加密、身份认证、访问控制、安全OS、安全路由器、防火墙
②主动防范:入侵检测
IDS原理
1980年,Anderson
1987年,D.Denning介绍了一种通用的IDS模型

有三种主要部件:
事件产生器:Event Generator
活动记录器:Activity Profile
规则集:Rule Set
IDS分类基于主机IDS和基于网络IDS(最常用)
按功能分类扫描器:事前的IDS,对系统威胁进行定期评估原理:通过比较已知的弱点数据库数据与系统配置的数据,探测系统或网络中的缺陷系统IDS:针对一个系统的信息资源来检测攻击原理:主要检查系统日志,不考虑数据包不足:收集数据困难,各个节点的协调,系统开销大网络IDS:视网络传输中和系统事件来对付攻击原理:
不足:只能监视本网段的活动,精确度较低按组成方式分类集中式IDS:ID程序集中,各个主机上有一简单的审计程序优点:
缺点:
分层式IDS:网络分层监视检测优点:
缺点:
分布式IDS
(面向大规模网络的分布式入侵检测与预警系统)
优点:
缺点:
(4)按功能分类
误用检测
异常检测
集成检测
IDS实现
(Ref.3张楚敏等,入侵检测系统,计算机应用研究,2001)
误用(滥用)检测(Ref.7)
异常检测(行为)(Ref.6)
现有系统(产品)Ref.3
4.2 典型攻击与防范
4.2.1蠕虫
1.概述莫里斯,美,康奈尔大学计算机系 研究生,1988.11.2
针对UNIX的安全漏洞(fingerd和Sendmail)
现在一般不再认为是病毒(与病毒有区别)
2.蠕虫利用的漏洞
(1)fingerd进程

(2)Sendmail
Sendmail用于实现SMTP协议(过于复杂,安全问题很多)
DEBNG功能对用户开放,即允许将接受方的地址行看作一个命令行,并用root权限来执行。(龚P175)
(3)口令问题
/etc/passwd中,对口令进行攻击(如字典攻击)
组网(龚P206-209)

3.蠕虫的入侵过程

4.蠕虫的简单防范
(1)放入假蠕虫,充当疫苗
(2)查看进程
(3)honeypot
5.网络蠕虫的建模
4.2.2端口扫描系统的信息服务器可能提供一些入侵需要的信息,如finger、正上机的用户名、使用的终端、空闲的时间、登录时间、从哪登录等。但有些攻击者还需要进一步的分析工具,如端口扫描
1.原理(龚P212)
2.扫描对象:TCP,UDP(龚P212-213)
3.优缺点优点:操作方便,能发现已知的安全隐患缺点:无法发现未被扫描工具包含的安全隐患及新的隐患例子:$portscan 11.22.33.44 20 100
11.22.33.44 21 accepted
11.22.33.44 23 accepted
11.22.33.44 25 accepted
11.22.33.44 37 accepted
可以看出,主机11.22.33.44在端口21、23、25、37都提供服务对1024以下的端口,端口号与对应得服务基本上是固定的
Port 20 …http
Port 21 …ftp
Port 23 …telnet
Port 25 …Email
4.常用的一般扫描工具
(1)SATAN(Security Administrator Tool for Analyzing Networks)
1995.4发布在Internet上,Dan Farmer,Weitse Venena开发安全管理员的网络分析工具功能:①收集网络上主机的信息 ②识别并自动报告与网络相关的安全问题获得:
http://www.trouble.org/~zen/satan/satan.html ftp://ftp.win.tue.nl/pub/security/satan-1.1.1.tar.z
ftp://info.cert.org/pub/cert-advisories/CA-95:06.satan
ftp://info.cert.org/pub/cert-advisories/CA-95:07a.Revised
界面
SATAN DATA Management
SATAN Target selection
SATAN Reporting & Data Analysis
SATAN configuration Managements
SATAN Documentation
SATAN Troubleshorting
能发现的漏洞向任何主机调出的NFS文件系统
NIS口令文件可被任何主机访问旧版本(8.6.10前)的Sendmail
从任何主机上的rexd访问
X服务器访问控制无效借助FTPP的对任意文件的访问可匿名FTP根目录
(2)ISS(Internet Security Scanner)
功能:检查给定IP地址范围的主机,收集它们对一些已知的系统弱点的信息获得
http://iss.net/iss
ftp://ftp.iss.net/pub/iss
info@iss.net
能扫描的系统漏洞一些缺省的帐户如guest,BBS,不必实时去除或用复杂的口令
CP帐户若存在,不应该允许登录
decode别名
Email系统中的decode和Undecode别名应被取消
sendmail
sendmail中的wiz,debug等命名应关闭匿名ftp
配置错误的匿名ftp易受攻击
NIS
ISS尝试猜出NIS的域名,从ypserv得到一份passwd文件
NFS
被NFS调用的文件系统只可由一些被严格控制的主机安装
rusers
UNIX的rexd(远程执行服务进程)只有很少的认证,易于被欺骗。应屏蔽掉此项服务使用
iss-参数 开始扫描的地址 结束的地址参数有:-m,-s,-r,-d,-y,-r,-p,-q,-c,-t,-o
5.改进技巧端口扫描易于被目标主机检测到易于被防火墙过滤掉可利用TCP/IP协议的本身特征来实现隐身
TCP包头中有:
FIN—确认号
SYN—连接号
RST—重置连接
PSH—收到的信息直接交给应用程序,而不缓存
ACK,URA…
4.2.3网络监听
1.含义
在网关、路由器或防火墙上获取在网络上传输的信息
2.可监听的传输介质
(1)Ethernet
(2)FDDI,Token-Ring
(3)电话线
(4)IP通过电线电视信道
(5)微波,无线电
3.作用
(1)监听主机的通信情况
(2)截取通信的内容
(3)对协议及数据包进行分析,了解每一字段的含义
(4)对网络通信进行综合分析
(5)微波,无线电
4.常用工具
(1)Snoop
Solaris自带直接使用 $Snoop
(2)Sniffit
由Lawrence Berkeley Lab开发使用 $sniffit –参数行参数 –t<IP nr/name> 检查发送到<IP>数据包
–s<IP nr/name> 检查从<IP>发出的数据包
–p<port> 记录连到<port>的信息
Port=0意味着所有端口、缺省为0
–i<port> 交互模式,忽略其它参数
5.防范
很难
(1)查看当前运行的全部进程
(2)在系统中搜索,查找可怀疑的文件对高手都没用
(1)加密用SSH(Secure Shell)
(2)安全拓扑结构保证局部范围
4.2.4 IP欺骗(IP Spoofing)
1.欺骗攻击有许多种(龚P222-224)
(1)邮件欺骗
冒充发送者:如冒充管理者要求用户发信改指定口令
来自SMTP协议的漏洞
(2)IP欺骗如伪造源地址的IP包,可突破IP防火墙,源于IP协议的漏洞
(3)路由欺骗
(4)WWW服务器欺骗等
IP欺骗是攻击的手段,而不是攻击的结果
2.IP欺骗的原理基于IP的信任关系
IP只发送数据包,面向非连接的,不保持任何连接状态的信息可对IP堆栈进行修改,在源地址和目的地址中放入任意满足要求的IP地址,即提供虚假的IP地址
TCP提供可靠传输
——由数据包中的控制字提供
最重要:序列号SYN和确认ACK
——初始序列号中有TCP的init()函数提供原理:
选定目标主机
(发现信任模式
(找到一个被目标主机信任的主机
(使被信任的主机丧失工作能力(方法:TCP SYN淹没,杨P81)
(采样目标主机发出的TCP序列号,猜测出它的数据序列号
(伪装成被信任的主机
(建立与目标主机基于地址验证的应用连接
(成功连接后,设置系统后门
(龚P232)
后门的功能后门的种类
(1)利用系统本身的缺陷
①Rhost++ ②引导区后门
(2)利用用户的疏忽
①攻击用户口令的后门 ②间谍方式
(3)利用特洛伊木马程序
①校验和与时标 ②login后门(获得login.c)
③telnetd后门 ④library(后门) ⑤文件系统后门
(4)利用传输协议
①网络流量后门 ②TCP端口
③UDP ④ICMP报文
(5)利用服务的漏洞
4.2.5 缓冲区溢出
1.原理利用动态分配的堆栈存储区
(往缓冲区中写入超过长度的内容,造成溢出到别的地方
(缓冲区溢出应用程序将能运行的特定程序指令放在有root权限的内存中
(一旦运行这些指令,就以root权限控制了计算机通过缓冲区溢出进行的攻击占所有系统攻击总数的80%以上
2.示例 杨P146
3.攻击实例 杨P158
4.2.6 入侵NT与口令破解
1.原理使用端口扫描软件,察看139端口(NetBIOS,文件和打印共享)
(找到目标计算机后,查询有关NetBIOS信息(如用NBTSA命令)
(分析NBTSTAT的输出,得到登录的用户名
(分析NBTSTAT的输出,得到共享(隐含)IPC(Inter-Process Communication,NT计算机用IPC与其它计算机连接)
(用它的IPC会话进行攻击
(建立连接后,送Administrator用户名
(口令猜测:①重复登录 ②脚本 ③工具软件
(入侵
2.Windows NT口令破解在NT中,用户的口令放在SAM(Security Accounts Manager)数据库文件中,但一般不能对它存取但在C:\winnt\rapair下有一文件SAM.-是SAM的压缩版本,可用rdisk更新过程示例
(1)用User Manager创建几个易猜的口令
(2)C:\rdisk /s
(3)C:\>winnt\repair
(4)C:\>copy g:\winnt\repair\sam.-
(5)C:\temp> expand sam.-sam
(6)使用SAMDUMP工具,将SAM转换为你使用的格式
命令为:C:\temp>Samdump sam>samfile
(7)运行口令NT密码破解器,如NTCrack,则刚才创建的几个口令都可破解
4.2.7 DoS与DDoS
1.DoS(Dennial of Service)
(1)原理拒绝服务就是用超出被攻击目标处理能力的海量数据包消耗可用系统,带宽资源,致使网络服务瘫痪的一种攻击手段。
(2)示例(龚P219-221)
E-mail Bombing等
2.DDoS(Distributed Dennial of Service)(龚P221)
4.2.8 特洛伊木马 (木马屠城)
1.原理是一驻留内存的程序,不易发觉在目标计算机启动的时候,自动启动
(在某一端口监听
(若在此端口收到数据,进行识别
(根据识别后的命令,在目标计算机上执行一操作,如窃取口令,存取文件,启动等入侵系统
(拷贝此程序到目标计算机
(设法运行
(留下后门
(运行客户端程序对远程计算机进行操作由服务器程序+客户端程序组成
2.常见工具
(1)Back Orifice:1998由黑客组织Cult of the Dead Caw发布
(2)Netbus
3.防范
(1)Back Orifice的清除打开注册表编辑器,检查
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current Version\RunServices键值
若看到键值为 空格.exe 可能被感染在C:\windows\system目录下,若有空格.exe文件,文件大小为122k左右,则肯定被感染清除方法:
①将键中,exe 删除
②重启计算机
③删除C:\windows\system中的,exe
④删除WINDLL.DLL
(2)Netbus
类似 (杨P139)
4.3 Web安全
4.4 IDS实例介绍
(从实现思想与技术角度,文献阅读)