1、第5章 UNIX/Linux操作系统取证技术第5章 UNIX/Linux操作系统取证技术5.1 UNIX/Linux操作系统的特点与常见类型操作系统的特点与常见类型5.2 UNIX/Linux操作系统取证操作系统取证第5章 UNIX/Linux操作系统取证技术5.1 UNIX/Linux操作系统的特点与常见类型操作系统的特点与常见类型5.1.1 UNIX操作系统的特点与常见类型操作系统的特点与常见类型UNIX操作系统环境由内核、Shell接口和程序构成。UNIX内核为程序分配内存和时间,处理文件的存储和进程间的通信,响应系统调用。Shell是联系程序和内核之间的接口,提供给用户输入和管理的接入
2、程序界面(Graphical User Interface,GUI)。在UNIX中一切皆为文件或进程,用户通过Shell创建的也是进程或者文件。第5章 UNIX/Linux操作系统取证技术1.特点特点(1)开放性。开放性是UNIX操作系统最基本的特点,UNIX操作系统之所以被广泛研究和商业化应用,与其良好的开放性息息相关。良好开放性的UNIX操作系统具有可移植性、可兼容性、可伸缩性、互操作性(Interoperability)等特性。(2)标准化。UNIX发展过程中产生了很多UNIX分支,也产生了很多UNIX标准化组织。不论是研究机构还是商业团体都可以建立独自的标准,如ISO/IEC的POSI
3、X标准、IEEE POSIX标准、X/Open组织的XPG3/4工业标准以及后来的Spec 1170。UNIX不遵从单一标准,从而保证其不同环境的生命力。第5章 UNIX/Linux操作系统取证技术(3)稳定性。UNIX操作系统的稳定性来源于其稳定的系统架构、保守的更新策略和严密的集成测试。通常情况下,如非必要,使用UNIX类系统会禁止安装发行版本之外的软件。(4)可伸缩性。UNIX操作系统可适用于各类操作平台,如笔记本电脑、PC、工作站、大型服务站,能够在由CPU芯片(包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片)搭建的体系结构
4、上运行。UNIX操作系统支持SMP(SymmetricMultiprocessing)和Cluster等技术,使得可支持的运行节点和CPU的数据大大提高,完全能够应对大型服务器的处理需求。第5章 UNIX/Linux操作系统取证技术(5)网络服务。TCP/IP网络协议是基于UNIX操作系统开发和发展起来的。UNIX操作系统支持常用的网络通信协议,包括NFS、DCE、IPX/SPX、SLIP、PPP等,能方便地与已有的主机系统以及各种广域网和局域网相连接,这也是UNIX具有出色的互操作性的根本原因。第5章 UNIX/Linux操作系统取证技术2.常见类型常见类型UNIX是多用户多任务的分时操作系
5、统,支持多处理器架构。常见的UNIX大体可以分为研究型UNIX和商业型UNIX,下面基于时间线简单列举UNIX发展脉络,具体如图5-1所示。第5章 UNIX/Linux操作系统取证技术图5-1 UNIX发展脉络第5章 UNIX/Linux操作系统取证技术在商业UNIX开发应用领域主要有6套主流UNIX操作系统,包括IRIX、AIX、Tru64 UNIX、HP-UX、UnixWare、Solaris。下面简单对这6种操作系统进行对比,如表5-1所示。第5章 UNIX/Linux操作系统取证技术第5章 UNIX/Linux操作系统取证技术5.1.2 Linux操作系统的特点与常见类型操作系统的特点
6、与常见类型1.Linux操作系统的特点操作系统的特点Linux的基本思想有两点:一切皆为文件,系统中所有内容都归结为文件,包括设备、进程、硬件、系统和命令等;从内核层面来看,这些都是具有不同权限和类型的文件。基于内核的开源特性,Linux操作系统具有以下特点:第5章 UNIX/Linux操作系统取证技术(1)多任务、多用户。系统可同时运行多个程序,每个程序之间相互独立,支持系统资源被不同用户使用,每个用户拥有自己的有特定权限的资源。(2)设备独立性。Linux操作系统将所有外部设备看作文件,在驱动程序的支持下设备被当作文件使用,不需要知道其具体存在形式,因此其内核具有高度适应性,在各平台都可得
7、以应用。第5章 UNIX/Linux操作系统取证技术(3)良好的可移植性。Linux是一种可移植的操作系统,能够在从微型计算机到大型服务器的任何环境中和任何平台上运行,并且能够按照自身系统方式运行。(4)安全稳定的性能。Linux操作系统采用审计跟踪、权限审核等安全保障技术措施,提供了安全的运行环境。第5章 UNIX/Linux操作系统取证技术2.常见类型常见类型Linux发行版本大体可以分为两类:一类是社区组织维护的发行版本,以Debian为代表;另一类则是商业公司维护的发行版本,以REHL(RedHat Enterprise Linux)为代表。按照管理系统的分类方式,Linux常见类型有
8、以下形式。(1)基于RPM管理方式。(2)基于Debian管理方式。第5章 UNIX/Linux操作系统取证技术5.2 UNIX/Linux操作系统取证操作系统取证5.2.1 Linux文件系统层次体系与常见目录结构文件系统层次体系与常见目录结构1.Linux文件系统层次体系文件系统层次体系从系统顶层设计来看,Linux文件系统层次由上而下主要分为用户层,即应用程序;内核层(Kernel),包括虚拟文件系统(Virtual File System,VFS)、文件系统(File System)(如EXT3、EXT4、XFS等)、页缓存(Page Cache)、块设备驱动(Block Device
9、 Driver)、磁盘驱动等;硬件层(Hardware),即存储设备,如图5-2所示。第5章 UNIX/Linux操作系统取证技术图5-2 Linux文件系统层次第5章 UNIX/Linux操作系统取证技术内核层中包含众多模块,其中块设备驱动模块又分为磁盘驱动和Flash驱动两种。在Linux操作系统中,对不同硬盘提供的驱动模块一般都存放在内核目录树drivers/ata中。对于一般通用的硬盘驱动,也可以直接被编译到内核中,但不会以模块的方式出现,可以通过查看/boot/config-xxx.xxx文件来确认,如图5-3所示。第5章 UNIX/Linux操作系统取证技术图5-3 硬盘驱动文件第
10、5章 UNIX/Linux操作系统取证技术块设备驱动:通过块接口读取LBA,将读写命令组合并插入命令处理队列,从而执行文件的读写。页缓存:又称为页高速缓冲存储器,用于缓存文件的逻辑内容,从而加快对磁盘上映像和数据的访问。页缓存的大小为一页,通常为4 KB。文件系统:将文件读写命令转化为对磁盘LBA的操作,起到翻译与转换作用。第5章 UNIX/Linux操作系统取证技术虚拟文件系统:由于不同的文件系统都有各自的API接口,虚拟文件系统将不同的文件系统抽象统一,提供统一的API访问接口,再经过系统调用(System Call)包装,用户层就可以经过SCI(System Call Interface
11、,系统调用接口)的系统调用来操作不同的文件系统。虚拟文件系统提供的常用API有mount、umount、open、close、mkdir。第5章 UNIX/Linux操作系统取证技术系统调用:应用程序和内核之间的接口,提供的所有系统调用构成的集合即程序接口或API。系统调用把应用程序的文件处理请求传给内核,调用相应的内核函数完成所需的文件处理,将文件处理结果返回给应用程序。用户层:应用程序是各种程序对应的各种接口,如文件的创建、删除、打开、关闭、写、读等。第5章 UNIX/Linux操作系统取证技术2.Linux文件系统基本类型文件系统基本类型Linux内核支持的文件系统类型可以通过查看usr
12、/src/linux.xxx/fs目录下的内核源代码树获取,如图5-4所示。常常会有新型文件系统被加到系统中,有一些尚在测试的文件系统并不包含在旧内核中。第5章 UNIX/Linux操作系统取证技术图5-4 内核源代码树第5章 UNIX/Linux操作系统取证技术3.Linux常见的文件目录常见的文件目录Linux发行版本之间的差别很少,主要表现在系统管理的特色工具以及软件包管理方式的不同。两者的目录结构基本上是一样的。Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如C、D、E、F等。第5章 UNIX/Linux操作系统取证技术Linux的文件结构是单个的树状结构
13、,可以用tree命令进行展示(默认没有安装)。每次安装系统时都会进行分区,Linux下磁盘分区和目录的关系如下:(1)任何一个分区都必须挂载到某个目录上。(2)目录是逻辑上的区分,分区是物理上的区分。(3)磁盘Linux分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。(4)根目录是所有Linux的文件和目录所在的地方,需要挂载一个磁盘分区。第5章 UNIX/Linux操作系统取证技术图5-5所示为一种目录和分区关系。接下来对每一种目录一一进行介绍。/:根目录Linux文件系统的入口,也是最高级、最重要的目录,除可衍生出其他目录外,还和系统的开机、还原、系统修复有关,一般要求不要把任
14、务应用程序直接放在根目录下,若容量满了,则可能无法登录(需要注意日志输出是否在根目录下)。/bin:系统需要的基本命令,主要是指在单用户模式下还能执行的命令,主要有cat、mv、mkdir、cp、bash、ls。第5章 UNIX/Linux操作系统取证技术/boot:内核和加载内核需要的文件。grub系统引导管理器也在该目录下,位于/boot/grub/。GNU GRUB(简称GRUB)是一个来自GNU项目的启动引导程序。GRUB可以实现多系统启动,它允许用户在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传
15、递启动参数。GRUB是在计算机启动后运行的第一个程序,是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务便完成了。系统引导的其他部分,如系统的初始化及启动过程则完全由内核来控制完成。第5章 UNIX/Linux操作系统取证技术第5章 UNIX/Linux操作系统取证技术/dev:在Linux操作系统下任何设备及接口设备都是以文件形式存在于设备文件存储目录中的。/etc:系统的主要配置文件都放在该目录下,为了避免发生系统执行错误,在此目录下不放其他外部可执行文件。常见的目录有/etc/inittab、/etc/init.d/、/etc/modprobe.conf、/e
16、tc/X11/、/etc/fstab/、/etc/sysconfig/。/etc/init.d/为开机启动脚本,/etc/xinetd.d/包含xinetd服务进程控制的所有传统网络服务使用的配置文件,/etc/sysconfig/network/scripts/为网管配置。第5章 UNIX/Linux操作系统取证技术/home:普通用户的默认存储目录。主文件夹有两种代号:“”代表用户的主目录;“XX”代表XX的主文件夹。/lib:库文件和内核模块存放目录,主要是开机相关文件以及在/bin/、/sbin目录下命令会调用的库函数。/lib/modules会放内核相关的模块;/lib64和/lib
17、类似,主要存放64位版本的库函数。/media:即插即用设备的挂载点自动存放在该目录下。例如U盘,cdrom/dvd自动挂载后,就会在该目录下。其常见的目录有/media/floppy、/media/cdrom。第5章 UNIX/Linux操作系统取证技术/mnt:临时文件系统的挂载点目录。/opt:第三方软件的存放目录。/proc:虚拟文件系统目录,放置内存中的数据,当有一个进程启动时,就自动创建一个文件夹。比较重要的有/proc/meminfo和/proc/cpuinfo,可以通过这两个文件查看内存和CPU的情况;另外还有/proc/dma、/proc/interrupts、/proc/i
18、oports、/proc/net/*等文件。/root:Linux超级权限用户root的根目录,一般用户不可见,其数据被隐藏。第5章 UNIX/Linux操作系统取证技术/sbin:基本的系统维护命令,这些命令只能由超级用户使用,主要是开机、修复、还原系统过程需要的。其常见的命令有fdisk、fsck、ifconfig、init、mkfs。/srv:存放一些服务器启动之后需要提取的数据,主要存放网络服务后的一些数据,如www、ftp。/sys:与/proc相似,也是虚拟文件系统,主要记录内核相关数据,如内核模块、内核检测的硬件信息。/tmp:临时文件目录。任何用户均可以访问该目录,需要定期清理
19、。第5章 UNIX/Linux操作系统取证技术/usr:是存放可以分享与可不移动的内容,不是user的缩写,而是UNIX Software Resource的缩写,即UNIX操作系统的软件资源。其主要子目录有/usr/X*/(X Windows数据)、/usr/bin/(绝大部分用户可用命令)、/usr/include/(C/C+等的头文件与包含文件)、/usr/lib/(包含应用程序函数库及目标文件,以及不被一般用户惯用的执行文件或脚本。如果以源码的*.tar.gz形式安装软件,可能会引用该目录下的文件)、/usr/lib64/(与/usr/lib/相似)、/usr/local/(本机安装的
20、软件,建议安装到这里,下面也有bin、etc、include、lib子目录)、第5章 UNIX/Linux操作系统取证技术/usr/sbin/(非系统正常运行需要的命令,最常见的就是网络服务器软件的daemon)、/usr/share/存放共享文件,基本是可读的文本文件,其子目录有/usr/share/man(在线帮助文件)、/usr/share/doc(软件杂项的说明文件)、/usr/share/zoneinfo(软件杂项的说明文件)、/usr/src(软件源码)。第5章 UNIX/Linux操作系统取证技术/var:存放经常变动的数据,如日志、邮件等。其常见的子目录有/var/cache/
21、执行中的缓存文件;/var/lib/软件本身执行过程中用到的数据,如MySQL数据一般放在/var/lib/mysql/中,而rpm数据则放在/var/lib/rpm/中;/var/lock/资源被锁时生成的数据,有些资源只能由一个程序使用,如刻录机;/var/log/系统日志;/var/mail/系统邮件;/var/run/某些程序或服务启动后的PID数据;/var/spool/放置队列数据。其他目录,如/lost+found,是在ext2/ext3/ext4文件系统下产生的,当文件系统产生错误故障时,会将一些丢失的片段存储在该目录下。第5章 UNIX/Linux操作系统取证技术5.2.2
22、Linux文件系统的特点与取证文件系统的特点与取证在计算机系统中,操作系统是一组软件,由内核和系统调用构成,是连通硬件和应用程序的桥梁。人们常说的Linux系统包括Linux操作系统及其附加的各类应用程序,但严格意义上,Linux仅是一套操作系统,其核心是Linux内核,应用程序并非操作系统的组成部分。内核功能主要包含系统调用接口、程序管理、内存管理、文件系统管理、设备驱动等。其中文件系统管理是操作系统对存储文件的一种组织、管理方式。因此,在Linux取证中,文件系统管理是调查人员必须掌握的储备常识,也是对具体案件进行实操的取证要点。第5章 UNIX/Linux操作系统取证技术在UNIX哲学中
23、最为重要的一个法则就是一切皆为文件。Linux是重写UNIX的一种操作系统,属于UNIX类型,自然也承接了此法则。因此,在Linux操作系统中,把一切资源都看作文件,包括硬件设备。Linux操作系统把每个硬件都看作一个文件,通常称为设备文件,以读写文件的方式实现对硬件的访问。从文件管理来看,Windows是通过“硬盘硬盘上的分区分区上的特定文件系统特定文件系统中的文件”这样的顺序来访问一个文件的;相较而言,Linux操作系统是通过“虚拟文件系统硬盘硬盘上的分区分区上的特定文件系统特定文件系统中的文件”这样的顺序来访问一个文件的。第5章 UNIX/Linux操作系统取证技术因此,Linux文件系
24、统与人们习以为常的Windows文件系统存在差异性,下面具体阐述Linux文件系统的特点及其取证分析要点。第5章 UNIX/Linux操作系统取证技术1.Linux文件系统的特点文件系统的特点Linux支持的文件系统较多,不同文件系统各具特色。下面主要从取证角度分析常见的Ext4、XFS和Btrfs文件系统。1)Ext4文件系统的特点Ext4采用元块组作为管理单位,在元块组中块组描述符为固定长度。以128MB的块组(数据块为4 KB)为例,Ext4 中每个元块组可以包括4096/64=64个块组,每个元块组的大小是64128 MB=8GB。第5章 UNIX/Linux操作系统取证技术2)XFS
25、文件系统的特点XFS是一个高度可扩展的高性能文件系统,支持元数据日志,有助于快速恢复,支持在挂载和活动状态下在线进行碎片整理和扩容。RHEL7默认支持备份恢复工具的XFS选项。XFS支持多种数据分配方案,其中延迟分配方案允许写入XFS文件系统的数据在调用fsync()之前不会真正写入磁盘。XFS还支持新的DAX技术,可以使应用程序直接映射内存到磁盘地址上。第5章 UNIX/Linux操作系统取证技术3)Btrfs文件系统的特点(1)扩展性。Btrfs使用extent作为文件存储单元,使用B树管理所有元数据,动态创建inode,能够快速高效地进行查找、插入和删除操作。(2)数据一致性。当硬件系统
26、面临不可预估的故障时,Btrfs采用COW(Copy-on-Write,写时复制)事务技术保障文件系统的一致性,能够追溯和还原原始数据。(3)多设备管理。Btrfs支持动态添加设备,当用户添加新磁盘后,可以通过命令方式将其加入文件系统中。第5章 UNIX/Linux操作系统取证技术2.Linux文件系统取证分析要点文件系统取证分析要点文件系统是Linux取证活动的基础,一般而言,对Linux取证的首要操作是对存储设备进行数据内容的镜像复制,然后是对该复制件进行检验分析。Linux文件系统的取证基于具体文件系统类型及特性,但Linux文件系统存在一定的共通性,不同的Linux文件系统的取证方法和
27、目标存在共同之处,下面具体阐述Linux文件系统取证的注意要点。第5章 UNIX/Linux操作系统取证技术1)文件系统布局与inode结构信息(1)文件系统布局。在对Linux进行取证分析时,大多不需要了解存储设备或文件系统的结构。但有时存储设备或文件系统被破坏,需要对数据进行恢复,或者需要对电子数据的真实性进行分析时,则需要熟悉文件系统的结构。在对文件系统进行分析时,首先需要了解文件系统所在存储设备采用的分区体系,如是否使用了RAID(Redundant Arrays of Independent Disks,磁盘阵列)、LVM(Logic Volume Manager,逻辑卷管理)结构等
28、。第5章 UNIX/Linux操作系统取证技术当确定了文件系统所在分区的起始和结束位置后,需要对文件系统的整体布局进行分析,准确定位文件系统的不同结构,提取相关元数据信息,从而从底层开始分析文件系统中的数据。第5章 UNIX/Linux操作系统取证技术(2)inode结构信息。在Linux文件系统中,Ext2、Ext3、Ext4文件系统比较常见。其中比较关键的是inode表结构,它包含了文件的基础信息和数据块有关信息。inode结构在Ext2、Ext3中大体相似,而在Ext4中比Ext2/Ext3记录了更多信息,且采用extent树结构。第5章 UNIX/Linux操作系统取证技术inode信
29、息中主要记录了文件模式、UID、GID、文件大小、实际使用扇区数、访问时间、文件修改时间、inode修改时间、文件删除时间、直间接块寻址数组或extent树、文件ACL信息等。而在Ext4中还记录了额外的信息,目前Ext4的inode表结构多出了32字节存放额外的信息,其中对取证比较有价值的信息是文件创建时间信息以及精确到纳秒的补充时间信息(见图5-6中框图部分)。第5章 UNIX/Linux操作系统取证技术图5-6 Ext4中的inode结构第5章 UNIX/Linux操作系统取证技术当文件被删除后,Ext中inode中的文件大小、实际使用扇区数、extent信息均清零,而inode修改时间
30、、文件修改时间、文件删除时间、硬连接数均进行了更新,但文件的创建时间未发生变化。这些信息有时对取证分析有一定帮助。文件被删除前后inode信息的对比如图5-7所示。第5章 UNIX/Linux操作系统取证技术图5-7 文件被删除前后inode信息的对比第5章 UNIX/Linux操作系统取证技术2)被删除文件的特点和恢复方法Ext3/4文件系统中的文件被删除以后,文件内容对应的block中的信息并未被删除,目录中block中的文件名与inode的关联也未变化,而仅仅删除了inode位图、block块位图中对应位的信息,以及更新了目录中相邻项长度和超级块、组描述符表中的有关信息,但inode表中
31、的数据块指针或者extent信息则清零,因而给被删除文件的恢复带来了较大困难,但可利用日志中备份inode信息或者文件头部特征等信息进行数据恢复。通常可采用两种不同方法进行数据恢复,具体如下:第5章 UNIX/Linux操作系统取证技术方法1:利用文件系统遗留痕迹进行数据恢复。在journal日志文件中找到残留的inode信息,根据inode信息定位到相关目录(或先确定目录项,再在日志中确定inode备份信息),恢复残留inode对应的block,从而恢复被删除的文件。方法2:利用文件自身的特殊结构进行恢复。对于具有文件头特征或者具有特殊结构和格式的文件,可根据文件自身特点进行数据恢复。这种数
32、据恢复因不考虑文件系统本身的特征,故可用支持该方法的通用数据恢复软件进行恢复。但在数据恢复之前需要考虑文件系统物理空间是否连续,如果使用了LVM、RAID等存储方式,则首先要通过重组或者仿真方法提取出整个分区的镜像,然后进行恢复,否则有可能因数据恢复软件不能准确解析上述结构而使恢复效果变差。第5章 UNIX/Linux操作系统取证技术5.2.3 Linux日志文件的特点与取证日志文件的特点与取证1.Linux日志文件结构的特点日志文件结构的特点日志用来记录系统中事件和有关软硬件问题,通过对日志信息的检测和审计,能够给调查人员提供重要的线索,指明调查方向。在Linux系统中,日志多数以明文形式存
33、储,调查人员可以通过系统命令或者专业工具检查相关日志文件。大部分Linux发行版默认的日志守护进程为syslog,位于/etc/syslog或/etc/syslogd或/etc/rsyslog.d,默认配置文件为/etc/syslog.conf或rsyslog.conf。rsyslog是syslog的多线程增强版,如rhel6之后默认使用rsyslog。旧版本(以CentOS 5.5为例)的Linux默认使用syslog,每行格式为facility.loglevel logtarget。第5章 UNIX/Linux操作系统取证技术第5章 UNIX/Linux操作系统取证技术完整的syslog日
34、志中包含产生日志的程序模块(Facility)、严重性(Severity或Level)、时间、主机名或IP、进程名、进程ID和正文。在UNIX类操作系统上,能够通过Facility和Severity的组合来决定什么样的日志消息需要记录、记录到什么地方、是否需要发送到一个接收syslog的服务器等。Facility的消息类型用来指定syslog功能,主要功能如表5-2所示。第5章 UNIX/Linux操作系统取证技术第5章 UNIX/Linux操作系统取证技术由于其简单而灵活的特性,因此syslog不再仅限于UNIX类主机的日志记录,任何需要记录和发送日志的场景都可能会使用syslog。这里重点
35、说明两条配置的含义:首先,所有Severity大于或等于info的信息都会被保存到/var/log/messages中,但是Facility为mail、authpriv、cron的消息例外;其次,所有Facility为mail的消息都会被保存到/var/log/maillog中,日志文件前面的减号表示异步写文件。第5章 UNIX/Linux操作系统取证技术Loglevel或Severity级别如表5-3所示。第5章 UNIX/Linux操作系统取证技术2.Linux日志文件取证1)日志文件检验分析日志是记录系统活动信息的文件,即记录系统在什么时间有哪个进程做了什么样的操作,发生了何种事件。系统
36、日志一般是最有价值的系统活动记录源,完整的日志记录对于取证会有极大的帮助。常见的系统日志文件类型、位置及其查看方法(包括RHEL6发行版本前后的新旧日志类型)如表5-4所示。第5章 UNIX/Linux操作系统取证技术第5章 UNIX/Linux操作系统取证技术第5章 UNIX/Linux操作系统取证技术下面介绍表5-4所列日志中的几个重要日志。(1)secure。/var/log/secure日志文件中的每一条记录通常包含日期与时间信息、主机名称、服务名称与ID号以及其他显示信息。在Linux新发行版本中,secure日志已经被auth.log和authpriv代替。(2)auth。/var
37、/log/auth是Linux新发行版本的安全登录日志,记录包含时间、主机名称、服务名称、ID以及登录信息。(3)message。/var/log/message日志文件通常包含时间、主机名、程序名、PID和相应消息,但由于登录信息过多,外部接入信息有可能被掩盖,因此可以进行消息定制。第5章 UNIX/Linux操作系统取证技术(4)maillog。/var/log/maillog日志文件记录包含时间、主机名、进程、ID以及相关信息。(5)cron。/var/log/cron日志文件主要记录crontab的守护进程crond派生的子进程的信息,包含时间、用户进程、ID以及相关信息。(6)las
38、tlog。/var/log/lastlog日志文件记录用户最近成功登录和最后一次未成功登录事件。每条记录包含用户名、端口号、上次登录时间等信息。(7).bash_history。“/.bash_history”(“/”表示用户目录)文件能够保存相关用户最近使用过的命令。第5章 UNIX/Linux操作系统取证技术2)日志分析工具日志文件包含有关系统的任何消息,如内核、服务和正在运行的应用程序,不同消息分属不同日志文件。当对Linux操作系统进行检验分析时,日志文件是重要的线索查控源,任何未经正式授权或未经授权的行为都可以在日志文件记录中查找到。因此,日志文件分析工具是取证人员必不可少的查看检验
39、助手。第5章 UNIX/Linux操作系统取证技术(1)Logcheck。Logcheck是一个开源日志管理系统,可帮助系统管理员自动识别日志中的未知问题和安全违规问题,对安全事件、系统事件和系统攻击事件进行紧急性排序以供优先处理,还可定期向配置的电子邮件地址发送有关分析结果。Logcheck分为超级防御级(Paranoid)、服务器级(Server)和个人工作站级(Workstation)等不同等级的过滤规则,管理人员可以根据不同的日志检测需求设定具体规则。其下载地址为https:/packages.debian.org/sid/all/logcheck/download。第5章 UNIX/
40、Linux操作系统取证技术(2)SARG(Squid Analysis Report Generator)。SARG是基于Web的完全开源且免费、支持多平台的日志应用程序,能够在网络上监视用户的活动,查看其会话期间访问的网站,包括有关用户的详细信息,如IP地址、历史记录、使用的网络流量以及消费时间。其下载地址为https:/ UNIX/Linux操作系统取证技术(3)Http-analyze。Http-analyze是Web服务器的日志分析工具,支持分析Web服务器的日志文件,自动将目录和URI链接结果进行统计记录,并根据日志信息创建全面的摘要报告。其下载地址为https:/ UNIX/Lin
41、ux操作系统取证技术5.2.4 Linux网络信息分析网络信息分析在涉及Linux操作系统的电子数据取证案件中,充分了解和分析系统的网络结构、配置以及相关服务至关重要。实际上,Linux网络调查分析是一项复杂的取证工作,网络数据具有动态、实时、海量、多态特性,单一的静态取证手段不足以获取完整的痕迹线索,需要侧重于对网络设备、数据流以及网络服务中网络数据的检测、整理、收集、分析。第5章 UNIX/Linux操作系统取证技术1.Linux网络信息分析的基本思路网络信息分析的基本思路Linux网络信息分析通常从获取用户权限和访问信息开始,分析程序管理模块,查看登录日志中是否存在可疑记录。常见可疑记录
42、或操作有:管理员账户登录时间是否异常,是否登录频次异常、登录多次尝试失败,是否加载过跨session等异常脚本等。在电子数据取证的获取阶段,收集可疑网络日志文件等电子数据,为后续推断攻击者的攻击时间、方式等信息做好前期准备,为下一步取证工作打好基础。第5章 UNIX/Linux操作系统取证技术综合理论和实践经验来看,网络信息分析的基本思路包含以下几个基本环节。1)获取网络信息源从网络安全检测角度来看,通过收集和分析网络行为、安全日志、审计数据、其他网络上可获取信息以及计算机系统中若干关键点的信息,检查网络或系统中是否存在违反安全策略的行为和被攻击的迹象。基于网络安全检测的保障技术可以分为静态安
43、全技术(如防火墙技术)和动态安全技术(如网络入侵检测技术)。入侵检测作为防火墙防御的补充,实时应对网络入侵攻击,极大地扩展了网络系统管理人员的综合管理能力(包括监视、识别进攻、安全审计、应急响应),也提高了网络安全基础结构的完整性。第5章 UNIX/Linux操作系统取证技术网络数据源有以下内容:(1)主机网络配置。通过Linux网络查看和配置相关命令,收集和分析本地主机端口开启情况以及其他网络配置信息。(2)防火墙。通过防火墙配置防御规则,检查网络通信数据,拒绝恶意链接等不符合规则的网络数据的流入。在其日志中通常会存有被拒绝链接的记录数据包,其中包含许多重要消息,如源IP地址、基本协议内容、
44、链接时间属性等。第5章 UNIX/Linux操作系统取证技术(3)入侵检测系统。入侵检测系统通过执行数据嗅探和分析通信数据来识别外部可疑活动并记录相关信息。对每一个可疑活动,入侵检测系统都会记录其网络数据,包含数据结构特征、应用层信息、时间属性、源和目的端口、源和目的IP地址等信息。第5章 UNIX/Linux操作系统取证技术(4)远程访问连接。外部系统可以通过远程访问服务器的连接方式连通内部系统,内部系统也可以通过这种方式连通到外部系统。远程访问服务器为每个访问用户分配IP地址,并将它们记入日志,日志记录内容与防火墙日志类似。诸如此类访问形式的程序有很多,如VPN(Virtual Priva
45、te Network,虚拟专用网络)、SSH、Telnet、远程控制软件(如Teamviewer)等,在其配置信息里记录着每次连接的基本信息。第5章 UNIX/Linux操作系统取证技术(5)ISP(Internet Service Provider,网络服务提供商)记录。在影响重大的网络异常活动中,特别是大量网络通信和攻击活动,ISP收集并保留关键的网络数据信息,在合理时限内可以通过司法程序予以提供。第5章 UNIX/Linux操作系统取证技术2)收集网络信息在Linux操作系统运行过程中,网络数据可能会存在于系统各处,具体可能分布在检测软件、日志文件、远程服务器存储数据中等。下面着重介绍L
46、inux操作系统里的网络日志信息部分。网络日志信息主要分为3大类:Linux系统日志、网络设备日志(如路由器、交换机)和应用程序日志(如检测软件、VPN、SSH等Web应用)。第5章 UNIX/Linux操作系统取证技术(1)Linux系统日志。5.2.3节中已对Linux日志做了较为详细的介绍,这里主要介绍与网络信息分析有关的日志。涉及网络信息的Linux系统日志系统主要有以下3类:登录时间日志系统。进程统计日志系统。错误日志系统,由进程syslogd(Linux新发行版本采用rsyslogd进程服务)进行管理。第5章 UNIX/Linux操作系统取证技术(2)网络设备日志。网络设备通常指集
47、中器、交换机、路由器、防火墙和IDS等。由于网络设备的生产厂商不同,采取的设计标准存在一定差异,因此其日志表现形式和格式不完全相同。例如,防火墙日志通常会记录登录认证事件、连接时间、登录错误事件、故障事件等;路由器日志一般只包含最基本的网络信息,如时间、源和目的IP、基本协议、端口、数据包量;交换机日志则主要记录网络故障信息,如IP地址冲突、广播风暴。第5章 UNIX/Linux操作系统取证技术(3)应用程序日志。应用程序日志是指网络应用程序在运行过程中存储的重要记录信息,如Apache、FTP、DHCP、NFS等。收集网络日志信息需要特别注意时间的正确性,不符合逻辑的时间线表明日志极有可能被
48、伪造,错误的时间会影响整个案件的调查分析,如不同时区、时间设定错误。时间的正确性和一致性也是分析电子数据的基本要求。第5章 UNIX/Linux操作系统取证技术3)检验和分析网络信息当发生针对Linux操作系统的入侵事件或其他影响事件时,取证人员需要对数据源进行初步确定,尽可能收集所有网络数据,在此基础上提取、分析、评估有价值和意义的电子数据。整个过程不同案件有不同情况,有的案件只是日志误报或者管理操作失误;但有的案件可能很复杂,入侵者采取某种方式突破口令和保护机制,在系统中进行不为人知的操作,并且在退出时仔细清扫了入侵的各种痕迹信息,导致管理人员没有意识到系统已经被攻入,取证人员也就很难获取
49、到有效电子数据。因此,在分析网络信息阶段,取证人员通常会采用多种方式和工具全面分析网络数据。第5章 UNIX/Linux操作系统取证技术(1)查网络信息源。在发生案件中,入侵痕迹通常会被多个网络设备捕获,但实际上分析这些信息源不具有可行性和可操作性,一般会从基本的信息源开始调查。首先,确认信息源的真实性。其次,确认信息源内容的价值。第5章 UNIX/Linux操作系统取证技术(2)分析网络信息。在获取和收集网络数据的基础上,取证人员系统性地分析数据,辨认事件基本类型,理解不同类型网络数据的重要程度,识别攻击活动的主要特点,确定能够证明案件事实的电子数据证据链。检验分析需要制定合理的策略和步骤,
50、不仅关注事件本身的真实性,是否需要明确攻击者身份,而且所有的操作都必须符合法律的相关规定。第5章 UNIX/Linux操作系统取证技术通常在分析网络信息时需要注意以下要点:排除“良性”事件。存在一些类攻击事件是由于系统本身运行出错导致的,需要排除这些“良性”事件。创建具有时间线的证据链。完整记录分析时的操作过程。分析过程需要在取证之后得以验证,因此完整的记录是校验操作的合理性和科学性的有效证据。第5章 UNIX/Linux操作系统取证技术2.Linux网络信息分析的常用技术网络信息分析的常用技术前述内容为网络信息分析的基本思路,在分析之前需要通过使用一些基本的工具和命令,采用必要的取证技术和手