linux 中的时间戳功能,Linux中时间戳取证研究

【 摘 要 】 文章分析了Linux操作系统中文件时间戳的更新情况。通过对相关工具的研究,阐述了如何获取、分析时间戳,为取证工作提供了依据。

【 关键词 】 计算机取证;Linux操作系统;时间戳;Ext2/3/4 【 中图分类号 】 TP309

1 引言

计算机取证中关于时间的分析非常重要,在一些情况中可直接用来还原案件发生的过程,是取证分析的基础。文件的时间戳是文件系统对文件发生变化的记录,一般包括创建时间、最后修改时间和删除时间。由于每一个案件几乎都会涉及到对文件的分析,所以掌握文件时间戳的更新情况至关重要。目前,Windows系统中关于时间戳的分析较多,有大量工具和文献对其进行详细描述,但Linux中涉及较少。针对此情况,本文以Linux下常见的Ext2/3/4文件系统中时间戳的概念、类型及底层结构为基础,详细分析了其更新规律,并简单介绍了几款分析时间戳的工具,希望对计算机取证工作提供一些理论依据,有助于取证工作的进行。

2 文件的时间戳

在任何一个文件系统中,都有若干时间属性对文件进行记录,最为常见的MAC时间用来表示文件的Modification Time(文件内容的最后修改时间)、Access Time(文件的最后访问时间)、Change Time(文件属性的最后修改时间),此外还有一些系统对文件的创建时间(文件或目录首次被写到磁盘上的时间)和删除时间(文件被用户删除的时间)做了记录,给取证工作提供了大量信息。如图1所示为Windows系统中文件属性的简单查看结果,其中表示时间的属性有文件的创建时间、修改时间和访问时间。

Linux操作系统将所有内容表示为文件,这些文件按照树状结构组织在一个根目录下,每一个文件都由目录项、索引节点和数据块组成,其中目录项用来存放文件名和索引节点号,索引节点记录着文件的基本属性,包括文件的大小、时间戳等重要信息,数据块存放文件的内容。Linux操作系统中有许多命令都可以显示文件的属性,如图2为Linux系统中使用stat命令查看文件属性的结果,与Windows中的文件系统时间戳不同的是Linux系统将文件的创建时间改为文件属性的修改时间,即呈现的是MAC时间。

Linux操作系统支持多种文件系统,如Ext2、Ext3、Ext4、vFat、swap等,其中Ext2/3/4文件系统为许多Linux版本的默认文件系统,本文将做详细分析。

3 Ext2/3/4 文件系统的时间戳

Ext2/3/4文件系统的时间戳储存在索引节点中,放在文件大小属性之后。同时,由于Ext4文件系统的时间戳与Ext2/3 文件系统相比,时间属性增加为64位表示,首先我们将分别分析时间属性的底层数据结构。

3.1 Ext2/3文件系统中的时间戳

Ext2和Ext3文件系统底层结构完全相同,不同之处在于Ext3增加了日志功能,表1是Ext2/3文件系统索引节点的简单结构图。由图中可知,Ext2/3文件系统的索引节点为128字节,时间戳共四个,分别是文件的最后修改时间、最后访问时间、属性最后修改时间和删除时间,每个时间戳由8字节组成,存放在索引节点起始位偏移8-39字节处。

3.2 Ext4文件系统中的时间戳

Ext4文件系统的底层结构相对于Ext2/3有较大改变,如表2为Ext4文件系统的索引节点结构图,由图可知Ext4文件系统的索引节点扩大位256字节,时间戳有五个:文件的最后修改时间、最后访问时间、属性最后修改时间、删除时间和创建时间,每个时间戳增大为16字节表示,扩大的部分全部存储在索引节点的后部,如最后访问时间是由一个索引节点的第9到12字节和141到144字节构成。

4 时间戳变化规律

由于时间戳只记录了其最后一次更新的时间,所以其极易改变,如使用系统中的cat、grep、more、less、tail、file、cp等命令操作文件会改变文件的访问时间,create、write、utime等命令会对文件内容访问时间进行更新,create、mv、chmod等命令会对文件属性修改时间进行更新,rm命令对文件的删除时间进行更新。另外,在Ext4文件系统中增加了文件的创建时间,使用系统中的create命令可更新此时间戳。

从用户角度来讲,对文件的操作一般包括创建、修改、复制、删除等,考察这些操作对文件时间戳的变化情况,可以判断文件的来源和日期,在取证过程中起着重要作用。

我们以Ubuntu9.04操作系统为实验平台,在其上分别搭建了Ext2、Ext3、Ext4三个文件系统,之后分别在这些系统中对文件进行创建、修改、复制和删除操作,结果见表3。

通过实验结果,我们可总结出几点规律。

(1)若一个文件的修改时间早于访问时间和属性修改时间,此文件极有可能是从网上下载或是其它地方复制过来的。

(2)一个文件不可能出现修改时间或者创建时间晚于访问时间,若有则文件异常。

5 时间戳相关分析工具

取证工具中有许多工具可用来分析时间戳,如Linux操作系统中的find命令、TCT(The Coroner’s Toolkit)中的mactime命令等。

find命令的-mtime、-atime、ctime选项可用来查找指定目录下文件的修改时间、访问时间、属性修改时间的变化情况,如图3所示为使用find命令查找根目录下24小时内文件修改时间发生更新的文件,其中-n表示n天以内,+n你表示n以前。

TCT工具是由D. Farmer和W. Venema与2000年开发的一个开源取证工具,它基于Unix操作系统,可对Ext2/3、FFS等文件系统进行取证。TCT工具中的mactime用来分析指定目录或数据源中文件的MAC更新情况,并按照时间顺序显示,如图4为使用mactime命令的运行结果,其表示的意思是显示根目录“/”下文件的MAC时间戳在2012年3月2日之后变化的情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

client mac addr不能开机进不去系统_用asp.net core结合fastdfs打造分布式文件存储系统

今天主要是对开发过程,以及对FastDFS这个通用的分布式文件存储服务的单机及集群安装部署过程做个总结。希望对想要自建分布式文件系统的朋友有所帮助。什么是FastDFS这里先简单介绍下分布式文件存储系统。FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要…

linux在根目录下查找文件名称,如何使用Find命令在Linux中查找文件

Linux find命令是Linux系统中最重要和最方便的命令之一。 顾名思义,它可以根据您设置的任何条件和变量在Linux PC上找到文件。 您可以使用find命令按权限,用户,组,文件类型,日期,大小和其他可能的标准查找文…

小米游戏手柄pc插件_在电视上玩电脑游戏

有两个XBOX无线手柄,但steam游戏玩不过来,一直没有买主机。周末想和老婆一起合作玩玩《战斗方块剧场》,这样电脑椅就不够用了,还是窝在沙发里用电视玩着舒服。简单的方法是将显卡的输出接口转接到电视输入口即可。但这样有两个问题…

linux进程创建时间,linux进程创建时间计算

欢迎访问小站,阅读此文http://www.yandong.org/archives/501简介墙上时间,也就是距离1970年1月1日的时间,在linux kernel内部没多大用处,对其的应用多在用户空间。本文的目的在于在kernel里面计算得到 进程创建的墙上时间计算公式…

火焰传感器感应有火亮灯代码_智能无线感应灯火了,光感人感2种传感器感应,做照明品牌的几光...

智能无线感应灯火了,光感人感2种传感器感应,做照明品牌的几光曾经无数次幻想过的一个生活画面 :清晨推开厨房的门,有一束微弱的光跟随着自动亮起;然后倒一杯温开水给自己;手清扫过橱柜,一束亮光…

ax200网卡支持Linux吗,Deepin 20和Win10双系统中AX200网卡不能用的请关闭快速启动

如果你有Deepin 20和Win10双系统中机械革命CODE 01 AX200网卡不能用,不能上网的问题,请尝试关闭一下Win10的快速启动,或许问题就能解决了,以下是相关的问题例子。电脑配置参数CPU:AMD R7 4800H。内存:16G D…

线程同步有几种方法_架构师面试必问的多线程状态切换及常用方法

架构师面试必问的多线程状态切换及常用方法一、问题背景Java架构师面试中,多线程状态切换及常用方法几乎是必问的,要掌握创建多线程的方式和方法。二、创建多线程的几种方式2.1方式一继承Threadpublic class ThreadDemo extends Thread{public void run(…

curaengine linux编译,Cura源码在Ubuntu15.04上编译脚本(成功)

Cura是著名的3D打印切片和控制软件。新的版本采用Qt和Python进行了重构,界面变化也非常大,目前还在开发中,运行问题还有不少。这里介绍如何从源代码进行Cura的编译,可以抢先体验新版的界面设计和根据需要进行订制。这个把相关的脚…

线程等待通知 linux,Java 线程协作 wait(等待)与 notiy(通知)

一.wait()、notify()和notifyAll()为了更好的支持多线程之间的协作,JDK提供了三个重要的本地方法//调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的锁.public final void wait() throws InterruptedException {wait(0);}//调用某…

新买的笔记本电脑怎么分盘_别再吐槽游戏本越玩越慢:笔记本电脑降速揭秘+散热维护小贴士...

花大价钱买的电竞本,配置越高?降速越狠?夏天到了,日益升高的温度不会影响我们日常搞机的热情~ 新买的4核、6核、8核游戏本照样在各大游戏中征战四方。然而,为什么明明配置很高的笔记本电脑,突然变得如老牛拉…

linux中开启514端口,linux中开启指定端口

1.修改/etc/sysconfig/iptables文件,增加如下一行:-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT重启 iptablesservice iptables restart2.…

zenmap nmap输出无显示_双路显示控制仪XME-H80-1616价格报价

双路显示控制仪XME-H80-1616价格报价 主要性能二十多种输入信号可选择: 测量输入信号可进行开方及小信号切除。 过程量、给定值、控制量、阀位反馈量等多重显示;测量值与给定值的显示可进行加减运算。 控制量PID调节正反作用选择。 可设置PID调节器的上下…

linux查看进程详细信息top,linux查看系统进程信息命令 px,top详解

linux查看系统进程信息命令 px,top详解发表于:2011-03-10来源:作者:点击数:linux查看系统进程信息命令 px,top详解 软件测试 ps ax命令是显示一个当前系统进程的列表,该列表中包括其它用户拥有的进程, -a 显…

capture 部分元器件编号_十大电子元器件及其相关基础知识

导读对于从事电子行业的工程师来说,电子元器件是每天都需要去接触,每天都需要用到的,但其实里面的门门道道很多工程师未必了解。文中列举出工程师们常用的十大电子元器件,及相关的基础概念和知识。常用电子元器件有哪些&#xff1…

linux+硬盘rd5,Raid磁盘阵列

Raid:是冗余磁盘阵列的缩写。raid技术主要解决的问题的容量组合、高读写速度、同步备份(实时备份,即镜像)等功能。Raid的实现方法:硬raid:通过raid卡来raid功能。优点:性能高、稳定性好。 缺点:成本较高,因为需要买rai…

苹果笔记本能玩英雄联盟吗_英雄联盟手游可以玩云顶之弈吗 独立还是内置

众所周知,端游云顶之弈和英雄联盟是一个客户端的,必须下载英雄联盟才能玩云顶之弈。那么Lol手游内能否玩上云顶之弈手游呢?今日光耀菌就解答这个问题,留有疑惑的玩家们快来了解一番吧!LOL手游能玩云顶之弈吗?首先目前版本的lol手游内&#…

linux8安装ftp服务,CentOS8.0 安装配置ftp服务器的实现方法

CentOS8.0-1905发布后,尝试将FTP服务器迁移至新版本的CentOS中,但是测试过程中,在防火墙中开放ftp服务后,仍然一直无法连接,如果使用lftp或ftp工具测试,会提示【没有到主机的路由】错误。但是关闭防火墙后&…

win10关机后自动重启_Win10关机风扇还在转|解决win10关机后风扇继续转方法

Win10如果配合固态硬盘使用,可以实现开关机速度快。但是有些用户发现电脑在关机的时候,屏幕是关掉了,可风扇还继续在转,其主要原因是因为系统还没有完全关闭导致的,这篇文章系统部落将会给大家带来两个解决方法&#x…

linux ssh 插件,玩转VSCode插件之Remote-SSH的使用情况

前言每当更换电脑就要从新搭建一遍开发环境。。。每当拉完最新代码程序在本地跑不起来的时候就要检查服务器和开发电脑的环境。。。每当服务器上出Bug的时候就想如果可以能够调试服务器代码多好啊。。你是不是早就受够了vim这个煞笔编辑器。。。现在最火的是云原生应用&#xf…

保护眼睛的电脑设置_干货,怎么设置显示器,才能保护好我们的眼睛?

复工开始,网课不断,我们的眼睛又迎来了一波挑战!你是不是有的时候会因为长时间用眼看显示器而流泪不止(不是因为看电视剧感动哈),或者是长时间工作而眼部疲劳,你也明白一直用显示器伤眼可是不得不用!楼主去…