Seberapa banyak kita bisa mengandalkan izin sistem file untuk keamanan?

31

Pertanyaan saya adalah tentang izin sistem file (khususnya izin gaya Unix) dan bagaimana kaitannya dengan keamanan.

Katakanlah saya memiliki akses ke komputer dengan akun pengguna tamu dan pengguna bernama Bob. Saya tidak tahu kata sandi Bob, tetapi saya bisa menggunakan akun tamu. Akun tamu sama sekali tidak memiliki izin baca untuk semua file Bob, jadi saya tidak bisa membaca file Bob saat masuk sebagai tamu.

Namun, dari sudut pandang "musuh" yang sebenarnya, saya memiliki akses penuh ke disk yang tidak terenkripsi ini. Saya bisa membayangkannya, menyimpannya untuk nanti, menjalankan beberapa OS lain untuk sekadar membaca file Bob sambil mengabaikan pengaturan izin sistem file.

Dari sini, saya sampai pada pertanyaan:

  1. Pengaturan izin sistem file pada disk yang tidak terenkripsi hanyalah sebuah flag, benar? Dan satu-satunya hal yang menghentikan saya dari membaca file yang saya tidak memiliki izin adalah kenyataan bahwa OS akan mengatakan "Oh, Anda tidak dapat membaca itu, Anda tidak memiliki izin." File itu masih ada di disk dalam bentuk mentah dan saya bisa membacanya dengan hanya mengabaikan flag filesystem (katakanlah, melalui beberapa OS bootable teduh yang hanya mengabaikan izin). Apakah ini semua benar?

Sekarang katakan saya tidak memiliki akses langsung ke disk, dan saya hanya ssh-ing ke mesin. Saya tidak punya izin untuk membaca file Bob. Benar-benar tidak ada yang bisa saya lakukan tentang itu, benar?

  1. Mengingat izin saya terbatas, saya tidak bisa mengakses file Bob tidak peduli seberapa keras saya mencoba, bukan? Bagaimana jika saya menggunakan beberapa exploit untuk mendapatkan akses root? Bisakah saya melewati flag izin OS? Apakah ini hal yang pernah terjadi?
bob
sumber
4
ya dan ya. Anda tampaknya memahami konsep terkait dengan benar. Eskalasi serangan privat akan diperlukan untuk melewati izin jika Anda tidak bisa mendapatkan akses fisik ke sistem.
Frank Thomas
2
Bukankah ide yang bagus untuk memigrasikan ini ke Security.SE ? Sepertinya tempat yang lebih logis untuk itu.
Chris Cirefice
3
@ ChrisCirefice menggali lebih dalam konsep keamanan akan membutuhkan migrasi. Tetapi ini adalah pertanyaan yang sangat mendasar tentang pemahaman tentang izin sistem file dan peran khusus mereka dalam konsep keamanan sistem sehingga ini berlaku untuk Pengguna Super ini jauh lebih banyak.
JakeGould

Jawaban:

31

Jawaban yang lebih pendek.

Jika Anda memiliki akses fisik ke sistem komputer — PC atau sistem penyimpanan data — dan satu-satunya “perlindungan” yang ada adalah izin file, Anda tidak memiliki perlindungan 100%.

Data yang tidak terenkripsi itu dapat disalin dan dikloning dengan sedikit usaha tanpa hampir tidak ada alat selain memiliki perangkat lain yang dapat dihubungkan ke drive sistem untuk membuat salinan data.

Dan ya, potensi beberapa aspek bukti penetrasi fisik mungkin perlu diperhitungkan dalam akses pada tingkat fisik; seperti memastikan tidak ada sidik jari yang tertinggal dan segel "bukti perusakan" lainnya juga ditangani. Tapi jujur, sebagian besar sistem di luar sana dapat memiliki drive mereka dihapus secara fisik untuk salinan data fisik dengan pengguna akhir tidak pernah tahu yang lebih baik. Jika Anda memiliki drive, Anda memiliki drive dan Anda kemudian memiliki data jika tidak dienkripsi.

Inilah sebabnya mengapa enkripsi per pengguna atau enkripsi disk penuh adalah hal besar saat ini; laptop Perangkat komputasi portabel lainnya adalah bagian besar dari pasar saat ini risiko kehilangan data dari pencurian perangkat atau pinjaman biasa pada PC jauh lebih tinggi daripada sebelumnya di masa lalu.

Jika disk tidak dienkripsi, data di dalamnya adalah buku terbuka yang siap dibaca. Konsep ini tidak terbatas pada mesin Linux / Unix tetapi OS apa saja di mana saja; jika Anda memiliki akses fisik ke sistem tidak terenkripsi Anda memiliki sistem.

Yang mengatakan, izin file adalah langkah pengamanan yang berguna untuk semua server jarak jauh.

Jawaban yang lebih panjang.

Pertanyaan saya adalah tentang izin sistem file (khususnya izin gaya Unix) dan bagaimana kaitannya dengan keamanan.

Pertama, perlu diingat keamanan di komputer — dan semuanya — benar-benar hanya pencegah yang memperlambat segalanya dan tidak selalu memberikan keamanan absolut.

Misalnya, bagian terlemah dari keamanan di setiap bangunan fisik adalah pintu yang harus Anda buka ketika memasuki / keluar atau jendela yang harus Anda buka untuk memungkinkan udara masuk. Ya, Anda dapat mengunci pintu dan jendela dan mengatur alarm tetapi jika seseorang benar-benar menginginkan akses ke sesuatu — dan mereka memiliki waktu, sumber daya, kekayaan, dan upaya untuk mengejarnya — mereka akan mendapatkan akses ke sana.

Katakanlah saya memiliki akses ke komputer dengan akun pengguna tamu dan pengguna bernama Bob. Saya tidak tahu kata sandi Bob, tetapi saya bisa menggunakan akun tamu. Akun tamu sama sekali tidak memiliki izin baca untuk semua file Bob, jadi saya tidak bisa membaca file Bob saat masuk sebagai tamu.

Masalahnya di sini adalah konteks akses. Jika Anda memiliki akses fisik ke komputer, hampir semua hal mungkin terjadi. Tetapi jika Anda hanya terhubung melalui koneksi jarak jauh — melalui jaringan sejenis — maka kepemilikan sistem file jelas merupakan metode keamanan yang efektif. Dan dalam kasus server Linux / Unix, izin dan kepemilikan adalah bentuk keamanan yang efektif untuk mencegah intrusi jarak jauh.

Itulah mengapa di dunia Linux / Unix mendapatkan rootakses ke sistem jarak jauh dianggap sebagai hadiah utama. Dapatkan rootke sistem jarak jauh dan kemudian Anda benar-benar telah melakukan sesuatu yang memberi Anda akses lebih besar tanpa perlu masuk ke pusat data dan mengkloning drive.

Namun, dari sudut pandang "musuh" yang sebenarnya, saya memiliki akses penuh ke disk yang tidak terenkripsi ini. Saya bisa membayangkannya, menyimpannya untuk nanti, menjalankan beberapa OS lain untuk sekadar membaca file Bob sambil mengabaikan pengaturan izin sistem file.

Iya nih. Persis. Jika Anda memiliki akses fisik ke mesin, maka — seperti yang dijelaskan di awal — semua taruhan dibatalkan. Anda dapat memperoleh akses ke file dan direktori yang dimiliki oleh orang lain dengan membuat gambar disk — atau bahkan hanya mengejar konten mentah drive itu sendiri — dengan sedikit atau tanpa upaya teknis yang mendalam.

Siapa pun yang — misalnya — meminjamkan komputer pribadi Anda dan membuat akun baru hanya untuk Anda tanpa memikirkan skenario ini pada dasarnya memberikan semua data pribadi yang mereka miliki di mesin mereka tanpa benar-benar menyadarinya.

Sedikit bersinggungan, tapi saya pikir inilah sebabnya begitu banyak pengguna biasa menyumbangkan PC lama tanpa melakukan sedikit pun upaya untuk menghapus data pada drive. Mereka mengatur kata sandi pengguna dan mereka menganggap bahwa menjaga data mereka aman sejauh mereka hanya bisa melemparkan drive ke tempat sampah dan tidak berpikir dua kali. Ketika kenyataannya tanpa enkripsi atau data yang benar, setiap drive yang dibuang ke tempat sampah atau dijual hanya dapat dibaca oleh siapa saja di mana saja tanpa banyak upaya teknis yang berat.

JakeGould
sumber
6
Saya pikir jawaban ini melewatkan sesuatu yang agak jelas yang layak disebut. Keamanan bukan hanya keamanan komputasi. Model ancaman juga penting, karena penyerang adalah manusia: penyerang umumnya ingin menghindari meninggalkan jejak. Jika Anda memberi seseorang akses fisik ke suatu perangkat tetapi Anda melakukannya sedemikian rupa sehingga perangkat itu tidak dapat dirusak tanpa meninggalkan jejak (apa pun dari sidik jari hingga penanda kerusakan pada perusakan perangkat selama manipulasi), maka memang dapat meningkatkan keamanan sistem Anda meskipun faktanya data dapat diakses secara fisik.
Mehrdad
@Mehrdad Komentar ini mungkin masuk akal dalam diskusi yang lebih besar tentang keamanan dan perlindungan terhadap akses, tetapi pertanyaan ini - dan jawaban terkait saya - difokuskan pada konsep keseluruhan izin sistem file logis versus akses fisik dasar ke suatu sistem. Dan dalam hal ini, kekhawatiran tentang sidik jari dan pembuat tamper ini hanyalah dugaan skenario fantasi. Jika seseorang memiliki akses fisik ke data yang tidak terenkripsi, mereka memiliki akses fisik ke data yang tidak terenkripsi dan 9 kali dari 10 orang tidak harus menjadi "pencuri / mata-mata master" untuk mengakses data pada saat itu.
JakeGould
15

Tiga poin Anda:

  1. Jika Anda menggunakan SSH sebagai pengguna biasa, Anda tidak memiliki akses ke perangkat disk mentah. Anda biasanya memerlukan rootatau izin untuk mengakses perangkat disk mentah dan logis.

  2. Jika Anda mendapatkan root melalui exploit, maka Anda adalah pengguna yang paling kuat di sistem dan memiliki akses ke hampir semua hal, termasuk perangkat. Karena Anda root, Anda dapat langsung mengakses file Bob, jadi tidak perlu mengakses perangkat disk.

  3. Akses fisik berdetak root. Root adalah lapisan logis. Anda dapat mengabaikannya dengan akses fisik ke disk. Ini termasuk memuat kata disk dalam OS terpisah di mana Anda root.

Tentu saja, sistem seharusnya dikeraskan terhadap rooteksploitasi, tetapi eksploitasi baru keluar setiap hari. Tidak ada sistem yang 100% aman tetapi Anda dapat membuatnya aman untuk tujuan praktis dengan membatasi akses.

Izin sistem file hanya diharapkan berfungsi dalam situasi akses Pengguna Terbatas, di mana OS tidak terganggu. Ini adalah sistem "jaga jujur ​​(dan tipikal) pengguna jujur", seperti kunci sepeda. Ini berfungsi untuk mencegah "kejahatan peluang" lebih dari kegagalan perlindungan total yang aman.

cde
sumber
Aturan izin FS cukup kuat. Mereka bekerja selama tidak ada penyerang yang memiliki root. Semantik sistem file POSIX (dan ekstensi spesifik Linux) dirancang dengan hati-hati untuk tidak membuka lebih banyak akses daripada yang bisa Anda dapatkan dengan adil open(2). mis. linkat(2)memungkinkan Anda membuat entri direktori untuk deskriptor file terbuka, tetapi hanya jika penghitungan tautan belum nol, jadi proses yang menerima FD terbuka untuk file yang dihapus tidak dapat menautkannya kembali ke sistem file. Jelas penyerang mendapatkan akses root atau fisik berarti Anda bersulang. Enkripsi membantu dengan fisik tetapi tidak begitu banyak root.
Peter Cordes