我正在研究基于 Linux 的操作系统的安全性。特别是,我正在尝试了解 Linux 的结构(非加密)交换文件/交换分区。为了进行研究,我使用 Linux Ubuntu 16.06 x64。
现在我有两个问题:
- 你们中有人看过有关交换分区结构的文档吗?
- 有人知道交换分区完整性保证机制吗?现在,当我更改休眠系统的交换分区中的某些字节时(总长度相同!)关闭系统并保存更改后,Linux 尝试从休眠模式启动系统,但无法应用我的更改。看起来不是从休眠模式启动,而是从关闭的清除系统“从零”启动。
也许,交换分区有基于哈希的摘要,或者一些具有更改时间?
答案1
由于 Linux 是免费的开源软件,您可以下载源代码sudo apt-get install linux-source-4.4.0
并查看以下文件:
w3@aardvark:/usr/src/linux-source-4.4.0(130)$ tar tvf linux-source-4.4.0.tar.bz2| grep -i swap
-rw-r--r-- root/root 1278 2017-04-27 11:28 linux-source-4.4.0/spl/include/sys/fs/swapnode.h
-rw-r--r-- root/root 36409 2016-01-10 18:01 linux-source-4.4.0/drivers/mtd/mtdswap.c
-rw-r--r-- root/root 6169 2016-01-10 18:01 linux-source-4.4.0/drivers/net/wireless/ath/ath10k/swap.c
-rw-r--r-- root/root 2262 2016-01-10 18:01 linux-source-4.4.0/drivers/net/wireless/ath/ath10k/swap.h
-rw-r--r-- root/root 502 2017-04-27 11:28 linux-source-4.4.0/arch/mips/lib/bswapdi.c
-rw-r--r-- root/root 254 2017-04-27 11:28 linux-source-4.4.0/arch/mips/lib/bswapsi.c
-rw-r--r-- root/root 610 2016-01-10 18:01 linux-source-4.4.0/arch/arm/lib/bswapsdi2.S
-rw-r--r-- root/root 417 2016-01-10 18:01 linux-source-4.4.0/include/linux/swapfile.h
-rw-r--r-- root/root 2752 2016-01-10 18:01 linux-source-4.4.0/include/linux/frontswap.h
-rw-r--r-- root/root 876 2016-01-10 18:01 linux-source-4.4.0/include/linux/swap_cgroup.h
-rw-r--r-- root/root 6038 2016-01-10 18:01 linux-source-4.4.0/include/linux/swapops.h
-rw-r--r-- root/root 18137 2017-04-27 11:28 linux-source-4.4.0/include/linux/swap.h
-rw-r--r-- root/root 38097 2016-01-10 18:01 linux-source-4.4.0/kernel/power/swap.c
-rw-r--r-- root/root 251 2016-01-10 18:01 linux-source-4.4.0/tools/build/feature/test-sync-compare-and-swap.c
-rw-r--r-- root/root 5738 2017-04-27 11:28 linux-source-4.4.0/zfs/module/zfs/zfs_byteswap.c
-rw-r--r-- root/root 2768 2016-01-10 18:01 linux-source-4.4.0/Documentation/power/swsusp-and-swap-files.txt
-rw-r--r-- root/root 5282 2016-01-10 18:01 linux-source-4.4.0/Documentation/vm/zswap.txt
-rw-r--r-- root/root 15384 2016-01-10 18:01 linux-source-4.4.0/Documentation/vm/frontswap.txt
-rw-r--r-- root/root 13398 2016-01-10 18:01 linux-source-4.4.0/mm/swap_state.c
-rw-r--r-- root/root 33755 2017-04-27 11:28 linux-source-4.4.0/mm/zswap.c
-rw-r--r-- root/root 79828 2017-04-27 11:28 linux-source-4.4.0/mm/swapfile.c
-rw-r--r-- root/root 32859 2016-01-10 18:01 linux-source-4.4.0/mm/swap.c
-rw-r--r-- root/root 14595 2016-01-10 18:01 linux-source-4.4.0/mm/frontswap.c
-rw-r--r-- root/root 4732 2016-01-10 18:01 linux-source-4.4.0/mm/swap_cgroup.c
它们的文件名中都有swap
,并且可能与交换有关。