Mengapa mengenkripsi partisi swap

Jawaban:

19

Enkripsi ruang swap digunakan untuk melindungi informasi sensitif. Pertimbangkan aplikasi yang berhubungan dengan kata sandi. Selama kata sandi ini tetap berada dalam memori fisik, kata sandi ini tidak akan ditulis ke disk dan dihapus setelah reboot. Jika OS mulai menukar halaman memori ke ruang kosong untuk aplikasi lain, kata sandi dapat ditulis ke piringan disk yang tidak dienkripsi. Mengenkripsi ruang swap dapat menjadi solusi untuk skenario ini.

Partisi swap tidak dienkripsi secara default dan harus dibersihkan dari data sensitif apa pun sebelum melanjutkan.

Partisi swap dapat menyimpan banyak informasi rahasia yang tidak terenkripsi dan fakta bahwa ia tetap ada setelah mematikan komputer dapat menjadi masalah.

Untuk mengenkripsi SWAP, lihat Partisi swap terenkripsi di Ubuntu

Bacaan Ekstra: Swap enkripsi , dan Ubuntu - Cara mengenkripsi partisi swap

Sumber: C. Brüffer

Mitch
sumber
2

Saya berasumsi Anda sedang berbicara tentang direktori home atau instalasi enkripsi disk lengkap.

Swap dialokasikan ruang pada penyimpanan persisten (karena lebih murah), memberikan lebih banyak memori virtual ke sistem operasi. Semua aplikasi Anda berjalan dalam memori virtual yang menyimpan semua data yang tidak terenkripsi untuk operasi. Peluangnya cukup tinggi sehingga sebagian data yang Anda miliki dienkripsi di disk berakhir tidak terenkripsi di penyimpanan swap. Juga hal-hal sementara dalam memori seperti kunci enkripsi dapat dipindahkan dari memori fisik untuk ditukar untuk beberapa waktu (jika kernel memutuskan demikian). Dengan kunci enkripsi biasa, seorang penyerang pasti dapat mendekripsi seluruh hard drive Anda.

Selain itu, swap tidak terhapus setelah Anda mematikan PC, tidak seperti memori fisik.

Juga perhatikan bahwa jika Anda hibernasi sistem Anda, semua memori fisik akan ditulis untuk swap. Ini memberikan jumlah data yang lebih besar untuk penyerang yang mungkin.

Ringkasnya, dalam konteks enkripsi data pada mesin Anda, adalah hal yang sangat buruk untuk tidak mengenkripsi swap jika Anda menangani file yang dienkripsi, dari sudut pandang keamanan. Ia bahkan dapat menembus keamanan total yang Anda coba capai.

gertvdijk
sumber
2

Inilah mengapa saya dulu yakin benar-benar mengenkripsi juga partisi swap saya.

Coba perintah berikut:
Pertama cari tahu perangkat swap Anda, kemudian cari tahu apakah kata sandi pengguna Anda (atau string penting untuk Anda) disimpan di suatu tempat di memori swap:

  $ sudo swapon --summary  
  Filename                                Type        ...  
  /dev/mapper/vg_ubu476-lv_swap           partition   ...  

   $ sudo time strings < /dev/mapper/vg_ubu476-lv_swap | grep <any substring of your password>

Jika kata sandi tidak ditemukan, maka perintah berakhir tanpa keluaran. Butuh waktu 40 detik untuk saya, dengan swap 4 GiB saya.
Coba itu dengan "| lebih" daripada "| grep <...>"; itu akan menunjukkan apakah Anda telah menghapus disk Anda dari awal, sebelum mengenkripsi, dengan ASCII acak atau tidak.

Waspadalah terhadap suatu masalah: setelah perintah itu "substring kata sandi Anda" Anda akan tetap ditulis dalam bash history Anda, dan Anda mungkin merasa perlu menghapusnya. Dengan "substring kata sandi" Anda setidaknya tidak mendapatkan kata sandi lengkap di sana ... Dan: hanya root yang dapat melihatnya.

Perintah string saya telah melihat ke dalam lapisan yang didekripsi dari sistem, yang hanya hidup ketika menjalankan OS.

Melangkah di bawahnya ada LVM, lalu wadah LUKS yang didekripsi, dan akhirnya perangkat terenkripsi (partisi besar). Anda dapat mencoba dan memindai semuanya dengan "string".

Ketika saya melakukan itu "string" pertama kali saya menemukan banyak kata sandi root, karena saya menggunakan "su - root" di tempat "sudo su -". Sekarang, dengan sudo saya tidak menemukannya.

Kinerja - Percayalah: Saya bekerja dengan 1,3 terabyte hal terenkripsi (sistem + database foto besar) pada tiga SSD pada Thinkpad W520 tanpa merasa ada penundaan. Tetapi setidaknya 8 memori GiB agak membantu.

prometheos
sumber
Ini tidak berfungsi di Ubuntu 18.10 terenkripsi; Saya mendapatkan "bash: <directory>: Izin ditolak." di konsol.
Patrick Dark
1

Untuk alasan yang sama Anda ingin mengenkripsi memori utama. Program memiliki salinan teks yang jelas dari informasi Anda dan mereka dapat ditukar ke disk (partisi swap) dari penjadwal dari waktu ke waktu. Jika seseorang cukup termotivasi dan diaktifkan, swap dapat ditambang untuk data pribadi itu.

Namun, mengenkripsi swap tidak terlalu menjadi masalah jika Anda belum mengenkripsi disk root Anda.

enkripsi tidak murah, mengharapkan hit kinerja yang signifikan.

Satu-satunya orang yang saya tahu yang "melakukan semuanya" bepergian secara luas. Jika Anda hanya ingin bermain-main, lakukan saja.

PS sebelum seseorang membuat lelucon tentang tidak dapat mengenkripsi memori utama, silakan kunjungi http://bluerisc.com/ , bahkan set instruksi dienkripsi.

ppetraki
sumber
Saya mengerti mengenkripsi data swap. Namun ... mengenkripsi RAM ... model ancaman apa yang seharusnya dilindungi?
Jay Sullivan
1
Penganalisis bus sebagai permulaan. Ini adalah hal yang militer akan tertarik jika mereka kehilangan aset di lapangan.
ppetraki