KESELAMATAN (SECURITY) RANGKAIAN

1.1.           Konsep

Keselamatan komputer (computer security) merupakan satu ciri yang penting untuk sistem pengoperasian sebab maklumat yang tersimpan dalam sistem komputer adalah penting dan bernilai tinggi kepada sesuatu organisasi. Kewujudan rangkaian komputer yang meluas menyusahkan peranan OS untuk mengawal pencapaian data oleh pengguna yang sah serta menghalang aktiviti-aktiviti penceroboh.Konsep keselamatan boleh dikaji secara beberapa bidang:·        Sumber tempatan (local resource) dan sumber rangkaian (network resource)·        Dasar (policy) dan mekanisme (mechanism)·        Pengesahan (authentication) dalaman (internal) dan luaran (external)·        Penyulitan (encryption)

1.1.1.                 Sumber tempatan dan sumber rangkaian

Pencapaian sumber tempatan dapat dikawal secara menghadkan kegunaan sumber tertentu seperti PC kepada pengguna yang disahkan sahaja. Sumber tersebut boleh disimpan dalam bilik terkunci yang hanya boleh dicapai oleh sesiapa yang mempunyai kunci bilik. Namun begitu, kewujudan rangkaian komputer telah menyenangkan pencapaian sumber tersebut dari mana-mana komputer lain yang dapat menghantar data ke sumber rangkaian. Maka keselamatan sumber rangkaian mestilah dilaksanakan melalui pengesahan dan penyulitan.(Fig. 14.1, pg. 423, Nutt)

1.1.2.                 Dasar dan Mekanisme

Dasar keselamatan merupakan peratuan yang ditetapkan oleh sesuatu organisasi mengenai pencapaian sumber maklumat. Contohnya, hanya jurukira diberi kebenaran mencapai data kewangan, manakala hanya jurutera yang dapat mencapai maklumat sesuatu produk.Kesemua dasar yang ditetapkan oleh organisasi tersebut dilaksanakan melalui berbagai mekanisme keselamatan. Mekanisme merupakan alatan yang digunakan untuk mencapai objektif dasar keselamatan tersebut. Contohnya, dasar yang diberi itu boleh dicapai melalui berbagai mekanisme seperti kegunaan kata laluan (password) untuk mencapai akaun yang mengandungi maklumat kewangan ataupun maklumat produk, ataupun maklumat yang penting itu akan disulitkan (encrypted) supaya tidak boleh dicapai oleh pengguna yang tidak mempunyai kekunci penyahsulitan (decryption key).

1.1.3.                 Pengesahan kuasa (Authorization)

Pengesahan kuasa (authorization) diperlukan untuk mengawal pencapaian sumber tertentu dalam sistem komputer. Pengesahan kuasa luaran merupakan kawalan pencapaian sistem komputer tersebut, manakala pengesahana kuasa dalaman merupakan kawalan pencapaian sumber yang dibekalkan oleh sistem. Perlaksanaan pengesahan kuasa hanya dapat dijalankan sekiranya terdapat sesuatu mekanisme pembuktian (authentication mechanism) yang berkesan.  (Fig. 14.2, pg. 426, Nutt)

1.2.           Pembuktian (Authentication)

1.2.1.                 Pembuktian Luaran (External Authentication)

Pembuktian luaran merupakan mekanisme yang menghalang pengguna yang tidak sah daripada log masuk kepada sistem tertentu. Biasanya, nama pengguna dan kata laluan digunakan sebagai mekanisme pengesahan. Namun, penyamaran (masquerading) mudah dilakukan sekiranya nama pengguna dan kata laluan terbocor. Mekanisme terkini termasuk kegunaan kad cerdik (smart card) serta kaedah biometrik seperti analisis suara, cap jari dan retina.Namun, data yang dihantar daripada mesin lain melalui rangkaian mungkin diubah supaya menyamar seseorang pengguna yang sah. Virus, aturcara cecacing (worm), ataupun kuda Troy (Trojan horse) mungkin diterima oleh sistem komputer sebagai aturcara yang sah dan menyebabkan kerosakan data ataupun menahaskan (crash) sistem komputer tersebut. Protokol Pembuktian Rangkaian Kerberos dicipta untuk menghalang serangan rangkaian (network-based attacks) tersebut.(Fig. 14.3, pg 431, Nutt)Protokol Kerberos menganggapkan terdapatnya sistem pelayan (server) dan sistem pelanggan (client). Sistem pelanggan mencapai perkhidmatan pelayan melalui rangkaian yang tidak selamat (secure). Sesuatu pelayan pembuktian (authentication server) disediakan untuk tujuan mengesahkan segala pengguna yang ingin mencapai sistem pelayan. Pelayan pembuktian menjanakan tiket (ticket) yang mengandungi ID pelanggan (client ID) serta kekunci sidang (session key) yang disulitkan (encrypted) secara menggunakan kekunci pelayan (server key). Akibatnya hanya pelayan sah sahaja yang dapat menyahsulitkan tiket tersebut.Apabila sesuatu pelanggan ingin mencapai pelayan, ia akan meminta tauliah (credentials) untuk proses pelayan tersebut daripada pelayan pembuktian. Pelayan pembuktian akan menghantar tiket serta kekunci sidang kepada pelanggan selepas kedua-duanya disulitkan secara menggunakan kekunci pelanggan (client key).Pelanggan menyahsulitkan tiket dan kekunci sidang, kemudiannya menghantar tiket kepada pelayan. Pelayan akan menyahsulitkan tiket untuk mencapai ID pelanggan dan kekunci sidang sebenar. Kekunci sidang akan digunakan untuk melaksanakan penyulitan segala urusniaga (transactions) seterusnya.Pelayan pembuktian mesti dipercayai (trusted) oleh semua pihak supaya menjayakan protokol Kerberos tersebut. Seseorang penceroboh tidak dapat mencapai perkhidmatan pelayan tersebut sebab ia tidak mempunyai kekunci sidang. Secara umum, kekunci sidang akan dihapuskan selepas sidang urusniaga tersebut tamat.

1.2.2.                 Pembuktian Dalaman (Internal Authentication)

Pembuktian dalaman bertujuan menghalang proses seseorang pengguna sistem supaya tidak menyamar sebagai proses pengguna yang lain, contohnya proses sistem (system process). Proses pengguna tidak dibenarkan menukarkan pemilik (owner) secara sesuka-hati. Hanya proses akar (root process) yang diberikan hak menukarkan pemilik sesuatu sumber ataupun proses.

1.3.           Pengesahan Kuasa (Authorization)

1.3.1.                 Pengesahan Kuasa Capaian Luaran
          (External Access Authorization)

Biasanya setiap pengguna diberikan satu akaun pada sistem maklumat yang digunakan untuk mencapai data yang tersimpan dalam sistem tersebut. Setiap kali akaun itu digunakan, pengguna mestilah membekalkan nama pengguna (username) dan kata laluan supaya dapat mencapai suatu pemproses perintah (command processor). Aktiviti log masuk (login) itu tersimpan dalam log sistem (system log) supaya pentadbir sistem dapat mengetahui sesiapa yang telah mencapai sistem tersebut.

1.3.2.                 Pengesahan Kuasa Capaian Dalaman
          (Internal Access Authorization)

Pengesahan kuasa capaian dalaman (internel access authorization) digunakan untuk menentukan sama ada sesuatu sumber sistem boleh dicapai oleh pengguna tersebut. Terdapat berbagai masalah yang merupakan tumpuan pengesahan kuasa caiapan dalaman:·        Perkongsian parameter (parameter sharing): sekiranya sesuatu proses dapat mengubah nilai pemboleh ubah dalam proses lain tanpa kebenaran, maka dasar kegunaan sumber (resource use policy) akan terjejas. ·        Pengurungan (confinement): sesuatu proses ingin menghadkan pencapaian sumber kawalannya supaya tidak dapat dicapai oleh proses yang tak berizin.·        Peruntukan hak (rights allocation): kebenaran pencapaian sesuatu sumber boleh diberi oleh sesuatu proses kepada proses yang lain. Namun, kebenaran yang diberi kepada proses kedua tidak seharusnya disalurkan kepada proses ketiga tanpa kebenaran dari proses asal.·        Kuda Troy (Trojan horse): sesuatu aturcara yang menggunakan hak yang lebih meluas yang dimiliki oleh proses lain untuk melakukan sesuatu tanpa disedari merupakan masalah kuda Troy.

1.3.3.                 Model Perlindungan Sumber
          (Resource Protection Model)

Umumnya, sistem perlindungan terdiri daripada bahagian aktif dan bahagian pasif. Bahagian aktif (active parts) merupakan proses ataupun untaian (thread) yang melakukan sesuatu untuk pengguna sistem. Bahagian pasif (passive parts) merupakan sumber yang disebut sebagai objek perlindungan (protection objects). Sesuatu proses mencapai objek mengikut hak yang diberi kepada proses tersebut. Hak yang diberi oleh sistem pengoperasian berubah berdasarkan tugas yang dijalankan oleh proses. Domain perlindungan (protection domain) merupakan hak yang dimiliki oleh proses pada masa terkini. Sesuatu subjek (subject) merupakan apa-apa yang sedang dilakukan oleh proses tersebut dalam domain perlindungan tertentu. Namun, objek perlindungan merangkumi bahagian pasif serta subjek-subjek yang terdapat dalam sistem tersebut.Sistem perlindungan (protection system) merupakan satu set objek, subjek, dan peraturan (rules) yang menetapkan polisi perlindungan. Ia mewakili pencapaian (accessibility) objek oleh subjek berdasarkan keadaan perlindungan (protection state) yang ditakrif untuk sistem tersebut. Setiap pencapaian objek X oleh subjek S akan disemak supaya mematuhi keadaan perlindungan. Keadaan perlindungan dalaman hanya dapat diubah melalui peralihan keadaan (state transition) berdasarkan sesuatu polisi keselamatan luaran (external security policy).(Fig. 14.5, pg. 435, Nutt)

1.3.4.                 Matrix Pencapaian (Access Matrix)

Keadaan perlindungan dapat diwakili oleh sebuah matrix pencapaian. Terdapat satu baris (row) untuk setiap subjek dan lajur (column) untuk setiap objek. Tambahannya, setiap subjek S juga merupakan objek X sebab sesuatu proses mungkin dikawal daripada proses yang lain. Setiap unsur matrix A[S,X] merupakan set hak pencapaian (access rights) yang dimiliki oleh S kepada X.(Fig. 14.6, pg. 435, Nutt)Setiap pencapaian memerlukan langkah tersebut:·        Subjek S memulakan capaian jenis a kepada objek X·        Sistem perlindungan membuktikan (authenticate) S dan menjana (S, a, X) untuk S. Identiti S tidak boleh disamar sebab ia dijana oleh sistem.·        Pengawas (monitor) objek X merujuk kepada A[S,X] untuk menentukan sama ada a Î A[S,X]. Jika ya, pencapaian dibenarkan. Jika tidak, pencapaian ditolak.(Fig. 14.7, pg. 436, Fig. 14.8, pg. 437, Nutt)Model Sistem Perlindungan tersebut boleh digunakan untuk menyelesaikan berbagai masalah yang dikemukakan:·        Penyamaran (masquerading): Satu tandatangan (signature) yang tidak boleh dipalsukan (forged), (S, a, X) dijana supaya subjek S dapat melakukan capaian a ke atas X. Pengawas akan pastikan bahawa proses lain tidak dapat menyamarkan S sebab proses lain tidak mempunyai tandatangan yang betul.·        Pengurungan dan Peruntukan hak (confinement and rights allocation): Peruntukan hak boleh dikawal secara menghadkan pemindahan hak capaian (access rights transfer) dari satu proses ke proses yang lain. Namun, pengurungan mungkin gagal sekiranya sesuatu subjek (proses) yang mempunyai hak baca juga mempunyai ingatan (memory), sebab proses tersebut boleh menyalurkan maklumat kepada proses lain.·        Perkongsian parameter (parameter sharing): Penjaga get (gatekeeper) boleh dicipta oleh sesuatu subjek pemilik untuk menjaga objek yang dilindung. Semua pencapaian ke objek tersebut mesti melalui penjaga get supaya menjamin keselamatannya.·        Kuda Troy (Trojan horse): masalah ini sukar diselesaikan sebab satu set peraturan berdasarkan polisi tertentu yang menghalang kuda troy daripada mengamalkan hak proses lain tidak semestinya memenuhi keperluan polisi-polisi lain.

1.4.           Perlaksanaan Pengesahan Kuasa Dalaman

Perlaksanaan sistem pengesahan kuasa dalaman yang berkesan dan tidak memerlukan pemprosesan yang berlebihan adalah penting. Sekiranya maklumat mesti selamat, maka kos pemprosesan mungkin tidak merupakan masalah, tetapi pencapaian sumber semasa perlaksanaan proses yang biasa harus dilakukan secepat mungkin supaya menjamin prestasi sistem tersebut.

1.4.1.                 Domain Perlindungan

Sesuatu sistem boleh dibahagikan kepada beberapa domain perlindungan. Yang terasas sekali ialah dua domain, iaitu mod penyelia (supervisor mode) dan mod pengguna (user mode). Dalam sistem yang menggunakan reka bentuk gelang (ring architecture), terdapat berbagai gelang R0 ke RN yang mempunyai hak pencapaian (access rights) yang semakin terhad. Proses sistem pengendalian dilakukan dalam gelang R0 manakala proses pengguna dilakukan dalam beberapa gelang yang tertinggi sekali.Setiap kali pencapaian proses dalam gelang yang lebih rendah diperlukan, penjaga get digunakan untuk mengawas perlaksanaan panggilan tersebut. Penukaran domain berlaku setiap kali proses melintas gelang perlindungan.

1.4.2.                 Matrix Pencapaian

Matrix pencapaian biasanya merupakan matrix jarang (sparse matrix) sebab sesuatu proses hanya mencapai beberapa objek atau subjek sahaja. Oleh sebab itu, senarai (lists) digunakan untuk menyimpan unsur matrix tersebut. Sekiranya terdapat matrix yang padat (dense matrix), senarai tersebut akan menjadi sangat panjang.

1.4.3.                 Senarai Kawalan Pencapaian (access control list)

Setiap sumber dibekalkan dengan suatu senarai kawalan pencapaian. Sekiranya subjek serta cara pencapaian tertentu tidak terdapat pada senarai tersebut, maka sumber tidak boleh dicapai oleh subjek.(Fig. 14.12, pg. 445, Nutt)

1.4.4.                 Kebolehan (capabilities)

Sesuatu kebolehan merupakan nama sejagat (global name) yang unik untuk hak pencapaian sesuatu objek. Kebolehan itu boleh dilaksanakan sebagai tiket Kerberos, ataupun penjelasan pencapaian yang tetap objek tersebut. Nama sejagat itu membolehkan rujukan sesuatu objek dalam ruang alamat objek yang meluas. Tambahan, pemilikan kebolehan tersebut merupakan pengesahan kuasa pencapaian objek tersebut.Kebolehan mempunyai ciri tertentu:·        Nilai sesuatu kebolehan mestilah berasal daripada ruang alamat objek yang meluas·        Kebolehan mestilah unik dan tidak boleh digunakan semula selepas ia digunakan oleh sesuatu subjek·        Kebolehan mestilah berbeza dengan ‘nama’ biasa seperti integer atau penunding

1.5.           Penyulitan (Encryption)

Penyulitan merupakan cara mengubahkan maklumat daripada format teks nyata (clear text format) menjadi format teks sifer (cipher text) supaya disimpan atau dihantar melalui media yang tidak selamat. Fungsi penyulitan (encrypt) dan penyahsulitan (decrypt) dibekalkan supaya pengguna dapat menjana format yang diperlukan daripada format asal.Teks sifer = penyulitan (kekunci, teks nyata)Teks nyata = penyahsulitan (kekunci’, teks sifer)

1.5.1.                 Penyulitan bersimetri (symmetric encryption)

Penyulitan bersimetri menggunakan kekunci yang sama untuk penyulitan dan penyahsulitan. Terdapat masalah penukaran kekunci (key exchange) sebab kekunci penyahsulitan mestilah dihantar kepada penerimanya supaya ia dapat menyahsulitkan data yang diterima. Biasanya penukaran kekunci dilakukan melalui mekanisme yang berlainan daripada mekanisme hantaran data supaya ia selamat.

1.5.2.                 Penyulitan tak bersimetri (asymmetric encryption)

Cara penyulitan tak bersimetri menggunakan dua kekunci, satu yang digunakan untuk penyulitan dan yang lain untuk penyahsulitan. Kriptografi kekunci awam (public key cryptography) menggunakan kekunci awam (public key) yang boleh dihantar secara teks nyata kepada sesiapa yang ingin menghantar maklumat kepada penerima. Kekunci peribadi (private key) akan digunakan untuk menyahsulitkan maklumat tersebut. Pemilikan kekunci awam tidak membolehkan seseorang menyahsulitkan maklumat yang diterima, maka ia selamat.Pembuktian maklumat (data authentication) dapat dilakukan sekiranya penghantar menggunakan kekunci peribadinya untuk menyulitkan maklumat tersebut. Disebabkan kekunci awam dapat diperoleh oleh sesiapa, maka penerima boleh menggunakan kekunci awam tersebut untuk membuktikan bahawa maklumat yang diterima itu berasal dari penghantar tertentu.

Penghantaran maklumat secara selamat dapat dilakukan apabila penghantar menyulitkan maklumat tersebut secara menggunakan kekunci sulit, dan kemudiannya menyulitkannya sekali lagi secara menggunakan kekunci awam penerima.