BAB 4 PENGAMANAN SISTEM OPERASI
Pada dasarnya seorang pengguna komputer sangat membutuhkan rasa kenyamanan ketika sedang mengoperasikannya.Berbicara mengenai keamanan sistem, ada dua hal yang sering diperdebatkan yaitu mengenai istilah keamanan dan proteksi. Proteksi biasanya menyangkut faktor -faktor internal sistem yang ada di dalam komputer. Sedangkan keamanan mempertimbangkan faktor-faktor eksternal (lingkungan) di luar sistem dan faktor proteksi terhadap sumber daya sistem. Sistem operasi hanya satu porsi kecil dari seluruh perangkat lunak di suatu sistem. Tetapi karena peran sistem operasi mengendalikan pengaksesan ke sumber daya, dimana perangkat lunak lain meminta pengaksesan, maka sistem operasi menempati posisi yang penting dalam pengamanan sistem.
4.1 Model - Model Keamanan Dalam Sistem Operasi
- Kriptografi
Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan berita. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data. Tidak semua aspek keamanan informasi ditangani oleh kriptografi. Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :- Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi dari informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia untuk membuka/mengupas informasi yang telah disandi.
- Integritas data, adalah berhubungan dengan penjagaan dari perubahan data secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
- Autentikasi, adalah berhubungan dengan identifikasi/pengenalan, baik secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu pengiriman, dan lain-lain.
- Non-repudiasi, atau nirpenyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi oleh yang mengirimkan/membuat.
- Cryptosystem
Cryptographic system atau Cryptosystem adalah suatu fasilitas untuk mengkonversikan plaintext ke ciphertext dan sebaliknya. Dalam sistem ini, seperangkat parameter yang menentukan transformasi pen-cipher-an tertentu disebut suatu set kunci. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Karakteristik Cryptosystem yang baik :- Keamanan sistem terletak pada kerahasiaan kunci dan bukan pada kerahasiaan algoritma yang digunakan.
- Cryptosystem yang baik memiliki ruang kunci (keyspace) yang besar.
- Cryptosystem yang baik akan menghasilkan ciphertext yang terlihat acak dalam seluruhtes statistik yang dilakukan terhadapnya.
- Cryptosystem yang baik mampu menahan seluruh serangan yang telah dikenal sebelumnya
4.2 Perancangan Sistem Operasi Yang Aman
Adapun dasar-dasar dari perancangan sistem yang aman adalah :
- Mencegah hilangnya data
- Mencegah masuknya penyusup
4.3 Bentuk Serangan Terhadap Sistem Operasi
Sejak akses antar komputer menjadi mudah berkat adanya internet, beragam serangan pun bermunculan. Berikut adalah beberapa jenis serangan pada sistem komputer :
- Virus
- Exploit
- Worm
- Spyware
- Adware
- Malware
- Trojan
- Rootkit
- Spam
- Hoax
- KeyLogging
- Phising
- DoS
- Man-in-The-Middle Attack
- Dll
4.4 Tinjauan Terhadap Sistem Operasi Yang Aman
Meski sebuah sistem operasi sudah dirancang memiliki perangkat pengamanan, dalam operasi masalah keamanan harus selalu dimonitor. Hal ini disebabkan oleh beberapa hal, antara lain:
- Ditemukannya lubang keamanan (security hole) yang baru. Perangkat lunak dan perangkat keras biasanya sangat kompleks sehingga tidak mungkin untuk diuji seratus persen. Kadang-kadang ada lubang keamanan yang ditimbulkan oleh kecerobohan implementasi.
- Kesalahan konfigurasi. Kadang-kadang karena lalai atau alpa, konfigurasi sebuah sistem kurang benar sehingga menimbulkan lubang keamanan. Misalnya mode (permission atau kepemilikan) dari berkas yang menyimpan password (/etc/passwd di sistem UNIX) secara tidak sengaja diubah sehingga dapat diubah atau ditulis oleh orang-orang yang tidak berhak.
- Penambahan perangkat baru (hardware dan/atau software) yang menyebabkan menurunnya tingkat security atau berubahnya metoda untuk mengoperasikan sistem. Operator dan administrator harus belajar lagi. Dalam masa belajar ini banyak hal yang jauh dari sempurna, misalnya server atau software masih menggunakan konfigurasi awal dari vendor (dengan password yang sama).
4.5 Contoh Sistem Operasi Yang Aman
Sistem Operasi umumnya memiliki banyak komponen, sehingga bisa saja
timbul celah keamanan karena kesalahan pada saat pemrograman. Namun
demikan ada beberapa sistem operasi yang dirancang dengan fokus pada
sisi keamanan. Berikut ini beberapa contohnya :
- OpenBSD: OS ini dikenal menggunakan sistem cryptography yang bagus.
- TrustedBSD: OS ini menggunakan banyak fitur Access control list.
- HardenedBSD: memiliki fitur Address Space Layout Randomization (ASLR), dan fokus untuk mengembangkan teknik penanganan exploit.
- Alpine Linux: OS yang ringan tapi memiliki fokus pada security. Diantaranya kernelnya di patched dengan grsecurity/PaX, memiliki sistem stack smashing protection dll.
- Debian: OS ini memiliki panduan yang cukup lengkap tentang security. Debian support juga dengan SELinux (Security enhanced linux), AppArmor dan Tomoyo.
- EnGarde Linux: OS ini dirancang sebagai server yang aman.
- Fedora: OS ini berbasis Red-Hat, memiliki juga panduan yang lengkap tentang security.
- Qubes: Sebuah OS yang unik karena memiliki sistem isolasi terhadap setiap aplikasi yang dijalankan.
- Subgraph: OS ini sudah dilakukan Hardening dengan GrSecurity dan PaX serta memiliki fitur komunikasi yang aman (terekripsi).
Sumber = satu, dua, tiga, empat
========================================================================
BAB 5 MALICIOUS SOFTWARE
Malware (Malicious Software) adalah suatu program yang dirancang dengan tujuan untuk merusak dengan menyusup ke sistem komputer. Malware dapat menginfeksi banyak komputer dengan masuk melalui email, download internet, atau program yang terinfeksi. Malware bisa menyebabkan kerusakan pada sistem komputer dan memungkinkan juga terjadi pencurian data / informasi. Hal yang pada umumnya terjadi penyebab malware adalah mendownload software dari tempat ilegal yang disisipan malware. Malware mencakup virus, worm, trojan horse, sebagian besar rootkit, spyware, adware yang tidak jujur, serta software-software lain yang berbahaya dan tidak diinginkan oleh pengguna PC.
5.1 Perlindungan Terhadap Virus Komputer
Berikut ini adalah teknik perlindungan terhadap virus :
- Melalui BIOS
- Melalui Fasilitas Sistem Operasi
- Menggunakan Tool Program
Perlindungan terhadap virus dalam prakteknya, terdapat dua opsi untuk menghadapi infeksi virus :
- Usaha pencegahan (prophylaxis) yaitu melindungi komputer agar tidak terinfeksi virus.
- Bila infeksi telah terjadi, maka jalan terbaik adalah mengisolasi infeksi ini dan membersihkan PC yang bersangkutan sesegera mungkin.
5.2 Pengendalian Program Terhadap Ancaman Lainnya
Untuk menguji program yang tidak dikenal dapat dilakukan dengan dua cara yaitu sistem operasi kedua dan Virtual sandbox. Pada yang pertama, anda dapat menginstalasi sistem operasi Windows yang kedua pada partisi tersendiri dan menguji program-program yang tidak dikenal hanya pada partisi ini. Sandbox memonitor dan melindungi komponen-komponen hardware dan software pada PC anda. Sandbox dapat disetel agar hanya program yang dijalankan di dalamnya hanya mengakses port atau direktori tertentu saja. Sandbox merupakan salah satu fasilitas yang diberikan oleh eSafe. eSafe merupakan software security yang sekaligus merupakan firewall, anti-virus, dan juga sandbox. Sandbox pada eSafe dapat dikonfigurasi, namun sudah terdapat aturan tinggal pakai untuk kebanyakan proses pengujian software.
Sumber = satu, dua
========================================================================
BAB 6 PENGAMANAN SISTEM DATA
Penyerangan Database
· Informasi sensitif yang tersimpan di dalam database dapat terbuka
(disclosed) bagi orang-orang yang tidak diizinkan (unauthorized ).
· Informasi sensitif yang tersimpan di dalam database dapat altered in an unacceptable manner
· Informasi sensitif yang tersimpan di dalam database dapat inaccessible bagi orang-orang yang diizinkan.
· the underlying operating system may be attacked -- most difficult problem
Database Inference Problem
· Malicious attacker may infer sensitive information (that is hidden)
from information on a database that is deemed not sensitive (made
public)
· More difficult problem: attacker may infer information combining what’s on the database with what is already known
Database Aggregation Problem
· Bagian-bagian informasi tidak sensitive, dan menjadi sensitive ketika digabungkan secara bersamaan.
· Controls for the aggregation problem
o Honeywell LOCK Data Views (LDV) database system ; pieces of data labeled as nonsensitive, aggregates labeled as sensitive
o SRI SeaView database system ; pieces of data labeled as sensitive, aggregates may then be labeled as non sensitive
Polyinstantiation, a Control Against Disclosure
· This approach involves different views of a database object existing for users with different security attributes
· Addresses the aggregation problem by providing different security labels to different aggregates separately
· Addresses the inference problem by providing a means for hiding information that may be used to make inferences
Database Applications on Secure Bases
· Most database applications rely on underlying services of an operating system
· Exporting these services from a TCB would enhance the security of the database
o database keys implemented using security labels from underlying TCB
o TCB keeps audit records of operations on database
o OS file system protection extended to database
Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.
Penyalahgunaan Database :
1. Tidak disengaja, jenisnya :
a. kerusakan selama proses transaksi
b. anomali yang disebabkan oleh akses database yang konkuren
c. anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
d. logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database.
2. Disengaja, jenisnya :
a. Pengambilan data / pembacaan data oleh pihak yang tidak berwenang.
b. Pengubahan data oleh pihak yang tidak berwenang.
c. Penghapusan data oleh pihak yang tidak berwenang.
Tingkatan Pada Keamanan Database :
1. Fisikal = lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
2. Manusia = wewenang pemakai harus dilakukan dengan berhati-hati untuk
mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
3. Sistem Operasi = Kelemahan pada SO ini memungkinkan pengaksesan data
oleh pihak tak berwenang, karena hampir seluruh jaringan sistem
database menggunakan akses jarak jauh.
4. Sistem Database = Pengaturan hak pemakai yang baik.
Keamanan Data :
1. Otorisasi :
· Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database
· Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
· Mengendalikan sistem atau obyek yang dapat diakses
· Mengendalikan bagaimana pengguna menggunakannya
· Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
2. Tabel View :
· Merupakan metode pembatasan bagi pengguna untuk mendapatkan model
database yang sesuai dengan kebutuhan perorangan. Metode ini dapat
menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh
pengguna.
· Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
1. Relasi, pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2. View, pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
3. Read Authorization, pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4. Insert Authorizatio, pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
5. Update Authorization, pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6. Delete Authorization, pengguna diperbolehkan menghapus data.
· Untuk Modifikasi data terdapat otorisasi tambahan :
1. Index Authorization à pengguna diperbolehkan membuat dan menghapus index data.
2. Resource Authorization à pengguna diperbolehkan membuat relasi-relasi baru.
3. Alteration Authorization à pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4. Drop Authorization à pengguna diperbolehkan menghapus relasi yang sudah ada.
· Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE : mencabut wewenang yang dimiliki oleh pemakai
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE
3. Backup data dan recovery :
Backup : proses secara periodik untuk mebuat duplikat ari database dan
melakukan logging file (atau program) ke media penyimpanan eksternal.
Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan
yang ibuat di database untuk proses recovery yang efektif jika terjai
kesalahan.
Isi Jurnal :
· Record transaksi
1. Identifikasi dari record
2. Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
3. Item data sebelum perubahan (operasi update dan delete)
4. Item data setelah perubahan (operasi insert dan update)
5. Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi
· Record ceckpoint : suatu informasi pada jurnal untuk memulihkan
database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan
sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi
pencarian menggunakan teknik ini.
Recovery : merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.
Jenis Pemulihan :
1. Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam
program yang dapat mengubah / memperbarui data pada sejumlah tabel.
2. Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media
dengan cara mengambil atau memuat kembali salinan basis data (backup)
3. Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.
Fasilitas pemulihan pada DBMS :
1. Mekanisme backup secara periodik
2. fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah.
3. fasilitas checkpoint, melakukan update database yang terbaru.
4. manager pemulihan, memperbolehkan sistem untuk menyimpan ulang
database menjadi lebih konsisten setelah terjadinya kesalahan.
Teknik Pemulihan :
1. defered upate / perubahan yang ditunda : perubahan pada DB tidak akan
berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika
terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan
operasi redo untuk mencegah akibat dari kegagalan tersebut.
2. Immediate Upadte / perubahan langsung : perubahan pada DB akan segera
tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi
kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi
yang telah disetujui sebelum terjadi kegagalan.
3. Shadow Paging : menggunakan page bayangan imana paa prosesnya terdiri
dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain
digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua
tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan
semua perubahan ke database, tabel bayangan akan digunakan jika terjadi
kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO,
kelemahannya membuat terjadinya fragmentasi.
4. Kesatuan data dan Enkripsi :
· Enkripsi : keamanan data
· Integritas :metode pemeriksaan dan validasi data (metode integrity
constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan
terlaksananya integritas data.
· Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada
database multi user tidak saling menganggu operasinya masing-masing.
Adanya penjadwalan proses yang akurat (time stamping).
Tidak ada komentar:
Posting Komentar