1、第三章第三章信息的状态与攻防信息的状态与攻防2讨论议题 1 1、信息的状态信息的状态 2 2、攻防模型攻防模型 3 3、攻防概述攻防概述3提示数据是信息的载体,深入研究数据从产生到完全销毁的整个生命周期中的存在形式(信息的状态)和存在环境是攻击和防守的基础。处于加工处理状态的信息是以进程的形式体现的,处于存储状态的信息是以文件的形式体现的,而处于传输状态的信息则是以协议数据单元的形式体现的。攻击者攻击成功的标志是成功破坏了防护者信息安全目标中的一个或多个。对处于加工处理状态和存储状态的信息的攻击,攻击者往往利用操作系统在进程管理、内存管理、文件管理、设备管理等方面的漏洞或应用程序的漏洞来实现相
2、关攻击。而对传输中的信息攻击往往是利用通信协议的脆弱性来实现。4本章重点要求(1)认真体会攻、防所需知识的深度和广度;(2)能针对每一种安全服务(如保密性)列出其对应的常用实现机制;(3)对进程、线程和协议数据单元的内部结构有个大致认识。5第一节信息的状态信息的状态Information States1 数据处于处理状态 数据在内存或寄存器中 数据是属于进程的.进程控制块中的数据 数据区中的数据 堆栈中的数据 有些数据是可以共享的数据体现在进程中 现代计算机都是在操作系统的统一指挥和控制下实现对信息的加工处理的。操作系统对内存和处理器的分配和管理都是以进程为单位来实现的。因此处于加工和处理状态
3、中的数据都是属于某一个进程的。进程 正在执行的程序,包括 代码 指针 堆栈:which contains temporary data.数据段:which contains global variables数据在内存中进程控制块(PCB)操作系统通过进程控制块来感知和调度进程 进程状态 指针 CPU 寄存器的值 CPU 调度信息 内存管理信息 记帐信息 输入输出信息Process Control Block(PCB)例1:查看系统当前运行的进程下面的例子(02ProcessList工程)取得了一个正在运行的进程列表。首先使用CreateToolhelp32Snapshot函数给当前系统内执行的
4、进程拍快照(Snapshot),也就是获得一个进程列表,这个列表中记录着进程的ID、进程对应的可执行文件的名称和创建该进程的进程ID等数据。然后使用Process32First函数和Process32Next函数遍历快照中记录的列表。对于每个进程,我们都将打印出其可执行文件的名称和进程ID号。具体代码如下。#include#include /声明快照函数的头文件int main(int argc,char*argv)PROCESSENTRY32 pe32;/在使用这个结构之前,先设置它的大小pe32.dwSize=sizeof(pe32);/给系统内的所有进程拍一个快照HANDLE hProc
5、essSnap=:CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);if(hProcessSnap=INVALID_HANDLE_VALUE)printf(CreateToolhelp32Snapshot调用失败!n);return-1;/遍历进程快照,轮流显示每个进程的信息BOOL bMore=:Process32First(hProcessSnap,&pe32);while(bMore)printf(进程名称:%s n,pe32.szExeFile);printf(进程ID号:%u nn,pe32.th32ProcessID);bMore=:Pr
6、ocess32Next(hProcessSnap,&pe32);/不要忘记清除掉snapshot对象:CloseHandle(hProcessSnap);return 0;例2 缓冲区溢出攻击例3:获取管理员密码 Windows环境下,用户登录后,所有的用户信息都存储在系统的一个进程winlogon.exe中。可以利用软件FindPass等工具对进程进行分析,找出用户的登录名和密码Windows2000/XP进程通信机制 信号信号(signal)共享存储区共享存储区(shared memory)管道管道(pipe)邮件槽邮件槽(mailslot)套接字套接字(socket)2 数据处于存储状态
7、 数据在硬盘 数据在信箱(硬盘中)数据在移动设备中 光盘 大容量便携盘 数据是以文件的形式存储的1718 文件的概念 文件是指存储在外存储器上的相关数据的集合,是操作系统定义和实现的一种抽象数据类型,是操作系统为信息存储提供的一个统一视图。Types:Data numeric character binary Program The major task for the OS is to map the logical file concept onto physical storage devices.文件的组织文件系统一个典型的文件系统一种文件分配方案-链接分配索引式文件分配 File S
8、ystem Mounting Just as a file must be opened before it is used,a file system must be mounted before it can be accessed.E.g:The directory structure can be built out of multiple partitions,which must be mounted to make them available within the file system name space.A un-mounted file system(i.e.Fig.1
9、1-11(b)is mounted at a mount point File Sharing Sharing of files on multi-user systems is desirable Sharing may be done through a protection scheme On distributed systems,files may be shared across a network Network File System(NFS)is a common distributed file-sharing method例3:数据恢复软件 对于不小心删除了的文件,如果原
10、来存储位置没有被别的数据覆盖,则原则上可以恢复。数据恢复软件就是根据文件系统的基本原理做出来的。例4、注册表修改 注册表在计算机中由键名和键值组成,注册表中存储了Window操作系统的所有配置。黑客90%以上对Windows的攻击手段都离不开读写注册表。在运行窗口中输入“regedit”命令可以进入注册表,注册表的界面如图所示。注册表修改注册表的句柄可以由调用RegOpenKeyEx()和RegCreateKeyEx()函数得到的,通过函数RegQueryValueEx()可以查询注册表某一项的值通过函数RegSetValueEx()可以设置注册表某一项的值。判断是否中了“冰河”中了“冰河”的
11、计算机注册表都将被修改了,修改了扩展名为txt的文件的打开方式,在注册表中txt文件的打开方式定义在HKEY_CLASSES_ROOT主键下的“txtfileshellopencommand”中,如图3-40所示。判断是否中了判断是否中了“冰河冰河”main()HKEY hKEY;LPCTSTR data_Set=txtfileshellopencommand;long ret0=(RegOpenKeyEx(HKEY_CLASSES_ROOT,data_Set,0,KEY_READ,&hKEY);if(ret0!=ERROR_SUCCESS)/如果无法打开如果无法打开hKEY,则终止程序的执行
12、,则终止程序的执行 return 0;/查询有关的数据查询有关的数据LPBYTE owner_Get=new BYTE80;DWORD type_1=REG_EXPAND_SZ;DWORD cbData_1=80;long ret1=RegQueryValueEx(hKEY,NULL,NULL,&type_1,owner_Get,&cbData_1);if(ret1!=ERROR_SUCCESS)return 0;if(strcmp(const char*)owner_Get,%systemroot%system32notepad.exe%1)=0)printf(没有中冰河没有中冰河);els
13、eprintf(可能中了冰河可能中了冰河);printf(n);3 数据处于传输状态 数据在传输介质中。数据的传输是遵照一定协议的。TCP/IP协议是Internet最基本的协议。数据是分块传输的。33传输介质3435应用层应用层传输层传输层网络接口网络接口网际层网际层 IP ICMP ARP RARPTCP/IP网际层的四个主要协议网际层的四个主要协议36TCP/IP与应用层与应用层应用层协议支持了文件传输、电子邮件、远程应用层协议支持了文件传输、电子邮件、远程登录、网络管理、登录、网络管理、WebWeb浏览等应用。浏览等应用。应用层应用层传输层传输层网络接口网络接口网际层网际层文件传输文件
14、传输 FTP、TFTP、NFS电子邮件电子邮件 SMTP、POP3WWW应用应用 HTTP远程登录远程登录 Telnet、rlogin网络管理网络管理 SNMP名字管理名字管理 DNS 37应用层应用层传输层传输层网络接口网络接口网际层网际层面向连接的面向连接的 TCP无连接的无连接的 UDP传输层提供了两种传输协议传输层提供了两种传输协议38两个基本概念两个基本概念 面向连接的服务:面向连接的服务:通信之前建立连接,通信过程中保持连接,通通信之前建立连接,通信过程中保持连接,通信结束拆除连接。信结束拆除连接。无连接的服务无连接的服务:通信双方不需要建立和维持连接通信双方不需要建立和维持连接I
15、P数据包IP HeaderTCP(UDP)Header DataIPv4IP头的结构版本(版本(4位)位)头长度(头长度(4位)位)服务类型(服务类型(8位)位)封包总长度(封包总长度(16位)位)封包标识(封包标识(16位)位)标志(标志(3位)位)片断偏移地址(片断偏移地址(13位)位)存活时间(存活时间(8位位)协议(协议(8位)位)校验和(校验和(16位)位)来源来源IP地址(地址(32位)位)目的目的IP地址(地址(32位)位)选项(可选)选项(可选)填充(可选)数据数据TCP协议的头结构 和IP一样,TCP的功能受限于其头中携带的信息。因此理解TCP的机制和功能需要了解TCP头中的
16、内容,下表显示了TCP头结构。来源端口(2字节)目的端口(2字节)序号(4字节)确认序号(4字节)头长度(4位)保留(6位)URGACKPSHRSTSYNFIN窗口大小(2字节)校验和(16位)紧急指针(16位)选项(可选)数据TCP的三次握手(第一次握手)43第二节信息攻、防模型信息攻、防模型2024-9-4存储和处理状态信息的攻防模型存储和处理状态信息的攻防模型 2024-9-4模型要求模型要求Using this model requires us to:1.大门:select appropriate gatekeeper functions to identify users 2.内部
17、控制与审查:implement security controls to ensure only authorised users access designated information or resources Trusted computer systems may be useful to help implement this model 传输状态下信息攻防模型传输状态下信息攻防模型 All the techniques for providing security have:A security-related transformation on the information
18、to be sent Some secret information shared by the two principals and,it is hoped,unknown to the opponent模型要求模型要求 Using this model requires us to:design a suitable algorithm for the security transformation generate the secret information(keys)used by the algorithm develop methods to distribute and sha
19、re the secret information specify a protocol enabling the principals to use the transformation and secret information for a security service 48第三节攻防概述攻防概述 攻击攻击 任何危及信息安全的行为都称为攻击,攻击者攻击成功的标志是成功破坏了防护者信息安全目标中的一个或多个,例如破坏数据的保密性、完整性等。对处于加工处理状态和存储状态的信息的攻击,攻击者往往利用操作系统在进程管理、内存管理、文件管理、设备管理等方面的漏洞或应用程序的漏洞来实现相关攻击。
20、而对传输中的信息攻击往往是利用通信协议的脆弱性来实现。Passive Attack-release of contentsPassive Attacktraffic analysisActive AttackMasqueradeActive AttackReplayActive AttackModification of messagesActive AttackDenial of service对安全的攻击Interruption:This is an attack on availabilityInterception:This is an attack on confidentialit
21、yModification:This is an attack on integrityFabrication:This is an attack on authenticity防护防护安全服务安全服务 RFC 2828:“a processing or communication service provided by a system to give a specific kind of protection to system resources”安全机制安全机制 Feature designed to detect,prevent,or recover from a security
22、attack No single mechanism that will support all services requiredSecurity Mechanisms specific security mechanisms encipherment,digital signatures,access controls,data integrity,authentication exchange,traffic padding,routing control,notarization pervasive security mechanisms trusted functionality,s
23、ecurity labels,event detection,security audit trails,security recoveryISO7498-2到TCP/IP的映射TCP/IP 协议层安全服务网络接口互联网层传输层应用层对等实体鉴别-YYY数据源鉴别-YYY访问控制服务-YYY连接保密性YYYY无连接保密性YYYY选择域保密性-Y流量保密性YY-Y有恢复功能的连接完整性-YY无恢复功能的连接完整性-YYY选择域连接完整性-Y无连接完整性-YYY选择域非连接完整性-Y源发方不可否认-Y接收方不可否认-Y1 1、什么是进程?程序是如何调入内存运行的、什么是进程?程序是如何调入内存运行的?2 2、你所知道的文件系统有哪些你所知道的文件系统有哪些?3 3、计算机系统中的数据主要面临哪些攻击、计算机系统中的数据主要面临哪些攻击?传输中的数传输中的数据主要面临哪些攻击?据主要面临哪些攻击?4 4、网络地址是如何划分的、网络地址是如何划分的?什么是什么是C C类地址类地址?5 5、TCPTCP协议头主要由哪些字段组成协议头主要由哪些字段组成?各有什么作用各有什么作用?6 6、什么是安全服务、什么是安全服务?什么是安全机制什么是安全机制?7 7、TCP/IPTCP/IP应用层协议有哪些应用层协议有哪些?各使用的端口号是什么?各使用的端口号是什么?思考题思考题