web-dev-qa-db-fra.com

Fichier d'échange Linux et partition Hibernation

Je fais des recherches sur la sécurité des systèmes d'exploitation basés sur Linux. En particulier, j'essaie de comprendre la structure de Linux (non crypto)= Fichier d'échange/Partition d'échange. Pour mes recherches, j'utilise Linux Ubuntu 16.06 x64.

Et maintenant j'ai 2 questions:

  1. Quelqu'un parmi vous at-il déjà vu de la documentation sur la structure de la partition de swap?
  2. Est-ce que quelqu'un sait quelque chose sur les mécanismes d'assurance de l'intégrité de la partition Swap? Maintenant, lorsque je modifie certains octets dans Swap à partir du système Hibernated (la longueur totale est la même!) avec le système hors tension et enregistre les modifications, Linux essaie de démarrer le système à partir d'Hibernation et ne peut pas appliquer mes changements. On dirait que le démarrage ne provient pas du mode Veille prolongée, mais du démarrage "à partir de zéro", à partir du système clair hors tension.

Peut-être que Swap Partition a un résumé basé sur le hachage, ou certains attributs avec modified_time?

3
KupuJIJI

Puisque Linux est un logiciel libre et open source, vous pouvez télécharger le code source Sudo apt-get install linux-source-4.4.0 et consulter les fichiers suivants:

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

Ils ont tous swap dans leurs noms de fichiers et pourraient avoir quelque chose à voir avec swap.

1
waltinator