Layanan Sistem Keamanan Sistem Operasi
Layanan keamanan yang umumnya bisa
disediakan oleh sistem operasi adalah:
1. Otentikasi dan identifikasi.
Sistem Operasi yang aman harus bisa mampu membedakan user (identifikasi), juga memerlukan beberapa kepastian tentang pengakuan pengguna tentang siapa dia sebenarnya (otentikasi). Identifikasi dan otentikasi sangat krusial dalam layanan keamanan sistem operasi. Umumnya ada tiga cara untuk melakukan otentikasi user: sesuatu yang diketahui user (seperti password), sesuai yang dipunyai user (seperti smart card), atau sesuatu dari user itu sendiri (misalnya retina). Password sampai saat ini adalah metoda otentikasi yang paling umum. Metode ini jaga sangat rentan untuk ditembus. Password bisa saja tidak diisi (user tanpa password), mudah ditebak, dipecahkan, dituliskan dan kemudian ditemukan, atau ditangkap dijaringan.
Sistem Operasi yang aman harus bisa mampu membedakan user (identifikasi), juga memerlukan beberapa kepastian tentang pengakuan pengguna tentang siapa dia sebenarnya (otentikasi). Identifikasi dan otentikasi sangat krusial dalam layanan keamanan sistem operasi. Umumnya ada tiga cara untuk melakukan otentikasi user: sesuatu yang diketahui user (seperti password), sesuai yang dipunyai user (seperti smart card), atau sesuatu dari user itu sendiri (misalnya retina). Password sampai saat ini adalah metoda otentikasi yang paling umum. Metode ini jaga sangat rentan untuk ditembus. Password bisa saja tidak diisi (user tanpa password), mudah ditebak, dipecahkan, dituliskan dan kemudian ditemukan, atau ditangkap dijaringan.
2. Kontrol Akses
Sebuah sistem operasi bertanggung jawab untuk menyediakan akses kontrol logic melalui penggunaan subyek, obyek, hak akses dan validasi akses. Subyek termasuk userID, password, keanggotaan group, kewenangan, dsb untuk setiap user. Informasi obyek keamanan termasuk pemilik, group, pembatasan akses, dsb. Hak akses dasar meliputi read, write, dan execute. Akhirnya sistem operasi mengevaluasi permintaan akses( yang berisi sebuah subyek, sebuah obyek dan akses yang diminta) berdasarkan aturan validasi akses.
Sebuah sistem operasi bertanggung jawab untuk menyediakan akses kontrol logic melalui penggunaan subyek, obyek, hak akses dan validasi akses. Subyek termasuk userID, password, keanggotaan group, kewenangan, dsb untuk setiap user. Informasi obyek keamanan termasuk pemilik, group, pembatasan akses, dsb. Hak akses dasar meliputi read, write, dan execute. Akhirnya sistem operasi mengevaluasi permintaan akses( yang berisi sebuah subyek, sebuah obyek dan akses yang diminta) berdasarkan aturan validasi akses.
3. Integritas dan ketersediaan.
Apakah sistem mulai dalam kondisi aman? Apakah sistem berlaku seperti yang diharapkan pada saat mendapat serangan? Apakah data bersesuaian dengan entitas riil yang direpresentasikannya?
Apakah sistem mulai dalam kondisi aman? Apakah sistem berlaku seperti yang diharapkan pada saat mendapat serangan? Apakah data bersesuaian dengan entitas riil yang direpresentasikannya?
4. Audit.
Suatu audit trail berisi rekaman kronologis kejadian. Audit trail sangat berguna, terutama pada saat investigasi insiden( Siapa yang melakukan? Bagiamana caranya?). Audit trail telah digunakan sebagai bukti legal dalam tindak kriminal. Meskipun demikian, supaya suatu audit trail bisa berguna dalam konteks ini, sistem operasi harus merekam semua kejadian yang terkain dengan keamanan, menjaga kerahasiaan dan integritasnya, dan memastikan data bisa tersedia pada waktu diperlukan.
Suatu audit trail berisi rekaman kronologis kejadian. Audit trail sangat berguna, terutama pada saat investigasi insiden( Siapa yang melakukan? Bagiamana caranya?). Audit trail telah digunakan sebagai bukti legal dalam tindak kriminal. Meskipun demikian, supaya suatu audit trail bisa berguna dalam konteks ini, sistem operasi harus merekam semua kejadian yang terkain dengan keamanan, menjaga kerahasiaan dan integritasnya, dan memastikan data bisa tersedia pada waktu diperlukan.
5. Fasilitas keamanan untuk user.
User yang tidak punya kewenangan memerlukan cara untuk memberikan hak-hak ke filenya dan mengganti passwordnya. User dengan kewengan memerlukan fasilitas tambahan, termasuk kemungkinkan untuk mengunci account, mendapatkan akses ke file user lain, mengkonfigurasi opsi pengauditan, mengubah kepemilikan file, merubah keanggotaan dalam group dan seterusnya.
User yang tidak punya kewenangan memerlukan cara untuk memberikan hak-hak ke filenya dan mengganti passwordnya. User dengan kewengan memerlukan fasilitas tambahan, termasuk kemungkinkan untuk mengunci account, mendapatkan akses ke file user lain, mengkonfigurasi opsi pengauditan, mengubah kepemilikan file, merubah keanggotaan dalam group dan seterusnya.
Dalam paragraf berikut diuraikan bagaimana
sistem UNIX mengimplementasikan hal-hal di atas.
Identifikasi dan Otentikasi
UNIX mengidentifikasi user
berdasarkan username dan mengotentikasnya dengan password. Dalam banyak
implementasi UNIX, baik username dan password dibatasi jumlah karakternya.
Sebagai cara pengamanan, UNIX tidak menyimpan password dalam bentuk plain,
melainkan menyimpannya dalam chipertext, dengan menggunakan algoritma DES yang
telah dimodifikasi (crypt) untuk enkripsinya. Password yang telah dienkripsi,
bersamaan dengan informasi account, disimpan dalam file /etc/passwd dengan
format:
username: password terenkripsi:
userID: GroupID:full name:home directory:login shell
Masalahnya /etc/passwd adalah
world-readable, yang memungkinkan UNIX konfigurasi standar berada dalam resiko
penyerangan 'brute-force password-guessing' oleh setiap orang yang mempunyai
akses ke sistem. Dengan sumber daya komputasi yang tersedia dan tool cracking
yang banyak tersedia, penyerang bisa saja dengan mudah bisa menebak dan
mendapatkan seluruh password di sistem. Untuk alasan tersebut sistem UNIX
sekarang umumnya sudah menerapkan apa yang disebut sebagai shadow password,
yaitu menyimpan file database user yang berisi password dalam data terpisah
yang hanya bisa dibaca oleh user dengan hak root. Hal yang perlu diperhatikan
lagi adalah sistem UNIX umum tidak menyertakan utilitas checking password dan
mekanisme pergantian password secara periodik.
Akses Control
Sistem UNIX standar mencegah
penggunaan sumber daya sistem dengan menggunakan mekanisme akses kontrol. Ijin
penggunaan akses dibagi menjadi tiga kategori: pemilik (owner), group dan semua
(world). Tetapi user dengan privilege tinggi bisa mem-bypass mekanisme ini.
Sistem UNIX memperlakukan semua sumber daya sistem secara konsisten dengan tidak
membedakan file, memori dan piranti, semua sumber daya diperlakukan sebagai
suatu file untuk implementasi hak aksesnya.
Sistem berkas UNIX mempunyai
struktur pohon, dengan level tertinggi dinyatakan sebagai /. Beberapa dari
lstruktur level kedua standar. Sebagai contoh /bin berisi program sistem, /dev
berisi piranti, /usr file-file user, dsb. Setiap direktori berisi pointer ke
dirinya sendiri (“.”) dan pointer ke level atasnya (“..”), pada level tertinggi
“..” menunjuk ke dirinya sendiri. Setiap file dan direktori mempunyai pemilik
(owner), group dan sekumpulan ijin penggunaan. Informasi ini bisa dilihat
dengan perintah ls -l
Total 67
-rw-r--r-- 1 root root 2565 2006-05-02 15:17 a2ps-site.cfg
drwxr-xr-x 4 root root 104 2006-12-05 15:32 acpi
-rw-r--r-- 1 root root 46 2007-04-27 04:21 adjtime
-rw-r--r-- 1 root root 2579 2006-04-23 10:13 aliases
drwxr-xr-x 2 root root 48 2006-04-23 08:50 aliases.d
-rw-r--r-- 1 root root 12288 2006-12-05 15:52 aliases.db
drwxr-xr-x 2 root root 112 2006-12-05 15:26 alsa.d
drwxr-xr-x 2 root root 336 2006-12-05 15:43 alternatives
drwxr-xr-x 11 root
root 896 2006-05-02 15:58 apache2
Pada contoh diatas file
a2ps-site.cfg hanya bisa ditulis olah pemilik, sementara hak akses untuk
membaca dibolehkan untuk pemilik, group yang sama dan semua. Piranti
ditampilkan dengan cara yang agak
berbeda, misalkan di direktori /dev, ls -l menghasilkan
crw-rw-rw- 1 root
tty 3, 63 2007-04-27 16:19 ttysf
brw-r----- 1 root
disk 8, 3 2007-04-27 16:19 sda3
crw-r--r-- 1 root
root 1, 9 2007-04-27 09:20 urandom
crw--w---- 1 root
tty 7, 0 2007-04-27 16:19 vcs
UNIX mengidentifikasi piranti
berbasis blok seperti disk dengan huruf 'b' dan piranti berbasis karakter
dengan huruf 'c'.
pada saat user atau proses membuat
suatu file baru, file diberikan ijin default. Untuk file yang dibuat dari
proses (seperti file yang dibuat editor teks), proses menentukan ijin default.
Untuk file yang dibuat user, ijin default ditetapkan dari startup script yang
dijalankan pada saat user login. Hak akses ke suatu file bisa diubah dengan
utilitas chmod dan kepemilikan bisa diubah dengan chown.
Integritas dan Availability
Satu aspek dari adalah apakah
sistem restart dengan cara yang aman pada saat terjadi kegagalan. UNIX
tradisional boot single-user umumnya sebagai root. Dan sebagai konsekuensinya
single-user mode memungkinkan siapapun yang mengakses sistem pada saat booting
bisa menjalankan perintah sebagai user dengan hak akses tertinggi. Jadi single-user
mode merupakan kelemahan dari sistem UNIX tradisional. Tergantung dari jenis
UNIX yang dipakai, administrator
mempunyai dua pilihan untuk mengatasi hal ini. Pertama jika UNIX menyediakan
fasilitasnya, administrator bisa membuat supaya sistem tetap meminta password
meskipun booting single-user. Kedua akses kontrol fisik diperketat atau
diperkuat sehingga tidak ada user yang tidak berhak bisa mengakses konsole.
Sistem restart juga berpengaruh
terhadap integritas sistem. Setelah shutdown yang tidak benar atau sistem
crash, perintah fsck akan melakukan pengecekan sistem berkas dan memperbaiki
ketidakkonsistenan yang dideteksi. Untuk menambah fasilitas penjagaan
integritas bisa digunakan utilitas yang menyimpan message digest dari file yang
dimonitor, kemudian membandingkannya pada saat restart untuk mengetahui apakah
ada perubahan terhadap isi suatu file atau tidak.
Audit
Sistem menyimpan log dalam suatu
direktori yang secara spesifik kadang berbeda tergantung jenis UNIXnya seperti
di /var/log, /usr/adm, atau /var/adm. Umumnya UNIX menyimpan informasi log yang
terkait dengan keamanan sistem dalam direktori tadi dalam file-file sebagai
berikut
lastlog : menyimpan waktu terakhir
user login
utmp: menyimpan informasi akunting
yang digunakan oleh perintah who.
wtmp: menyimpan informasi semua
perintah yang dijalankan, informasi ini bisa didapatkan dari perintah lastcomm
lebih jauh lagi beberapa versi
UNIX menggunakan file:
sulog: menyimpan semua informasi
penggunakan perintah su
messages: menyimpan salinan semua
pesan yang dikirim ke konsol.
Sebagai tambahan beberapa versi
UNIX menyediakan fasilitas logging yang dinamakan syslog. Syslog bisa menerima
informasi log dari sembarang program.
Fasilitas Pengamanan bagi user
UNIX tradisional menggunakan satu
user yang mempunyai hak tertinggi “root”. User root bisa membuat, mengubah, dan
menghapus user lain, mengkonfigurasi sistem, menambah dan mengurangi sistem
berkas. Singkatnya user root mempunyai semua hak. Kondisi ini sebenarnya
bertentangan dengan prinsip pemisahan tugas dan prinsip mediasi komplit.
Kelemahan UNIX tradisional
1. Insecure default. UNIX tradisional dirancang untuk digunakan oleh
developer, didistribusikan secara default tidak dengan konfigurasi keamanan
tinggi. Administrator harus langsung melakukan konfigurasi keamanan begitu
sistem selesai diinstall.
2.
Serangan superuser dan SUID. Untuk UNIX tanpa tambahan aturan
privilege, siapa saja bisa masuk sebagai user root (superuser) maka dia bisa
melakukan kontrol penuh terhadap sistem. Jika dikombinasikan dengan program
SUID serangan bisa menjadi bencana.
3.
Serangan PATH dan trojan horse. Jika user meminta file, variable
lingkungan PATH memungkinkan shell akan mencari ke direktory yang tertulis
dalam variable PATH. Dengan memasukkan program trojan horse dalam direktory
yang ada dalam PATH, dan direktory tadi ada dalam urutan lebih dulu dibanding
dengan program asli, maka penyerang bisa membuat user menjalankan program tadi.
4. Trusted host. UNIX memungkinkan administrator memasukkan informasi
host ke dalam entitas untuk pemeriksaan hak akses, misalnya dengan file
/etc/host.equiv.
No comments:
Post a Comment