Konkurensi dan Keamanan Sistem
Konkurensi Dan Keamanan Sistem
A. Pengertian
Konkurensi
Konkurensi
merupakan landasan umum perancangan system operasi. Proses-proses disebut konkuren
jika proses-proses (lebih dari satu proses) ada pada saat yang sama
Proses-proses
konkuren dapat sepenuhnya tidak bergantung dengan lainnya tapi dapat juga
saling berinteraksi. Proses-proses yang berinteraksi memerlukan sinkronisasi agar
terkendali dengan baik.
B. Prinsip-prinsip
Konkurensi
1. Alokasi
layanan pemroses untuk proses-proses
2. Pemakaian
bersama dan persaingan untuk mendapatkan sumber daya
3. Komunikasi
antar proses
4. Sinkronisasi
aktivitas banyak proses
Konkurensi
dapat muncul pada konteks berbeda, yaitu
1. Untuk
banyak pemakai
2. Untuk
strukturisasi dari aplikasi
3. Untuk
strukturisasi dari satu proses
4. Untuk
strukturisasi sistem operasi
Konteks
Konkurensi
o
Konteks Konkurensi untuk Strukturisasi
Satu Proses
Untuk peningkatan kinerja, maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerja sama untuk mencapai tujuan proses.
Untuk peningkatan kinerja, maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerja sama untuk mencapai tujuan proses.
o
Konteks Konkurensi untuk Banyak Aplikasi
Sistem multiprogramming memungkinkan banyak aplikasi/proses yang sekaligus dijalankan disatu pemroses.
Sistem multiprogramming memungkinkan banyak aplikasi/proses yang sekaligus dijalankan disatu pemroses.
o
Konteks Konkurensi untuk Strukturisasi
Aplikasi
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses, maka masing-masing proses menyediakan satu layanan spesifikasi tertentu.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses, maka masing-masing proses menyediakan satu layanan spesifikasi tertentu.
o
Konteks Konkurensi untuk Strukturisasi
Sistem Operasi
Keunggulan strukturisasi dapat diterapkan ke pemrograman sistem. Beberapa system operasi yang dipasarkan dan yang sedang dalam reset telah diimplementasikan sebagais ekumpulan proses.
Keunggulan strukturisasi dapat diterapkan ke pemrograman sistem. Beberapa system operasi yang dipasarkan dan yang sedang dalam reset telah diimplementasikan sebagais ekumpulan proses.
C. Beberapa
kesulitan yang ditimbulkan konkurensi
1. Pemakaian
bersama sumber daya global
2. Pengelolaan
alokasi sumber daya agar optimal
3. Pencarian
kesalahan program (Debuging)
Pemakaian Bersama Sumber Daya
Global
Jika dua proses
menggunakan variable lglobal yang sama serta keduanya membaca dan menulis
variable itu, maka urutan terjadinya pembacaan dan penulisan terhadap variabel
bersama menjadi kritis.
Pengelolaan Alokasi Sumber Daya agar
Optimal
Jika proses
A meminta suatu kanal masukan/keluaran tertentu dan dipenuhi, permintaan tersebut dapat
ditunda (suspend) sebelum menggunakan kanal tersebut. Jika system operasi mempunyai
kebijaksanaan mengunci kanal dan mencegah proses-proses lain menggunakan kanal itu,
maka tindakan ini jelas hanya menghasilkan inefisiensi system komputer.
Pencarian Kesalahan Pemrograman
Pencarian
kesalahan pada pemrograman konkuren lebih sulit disbanding pencarian kesalahan pada
program-program sekuen
Proses-proses Konkuren
Proses-proses
konkuren mengharuskan hal-hal berikut ditangani system operasi, yaitu:
1. Mengetahui
proses-proses yang aktif
2. Alokasi
dan dealokasi beragam sumber daya untuk tiap prosesaktif
3. Proteksi
data dan sumber daya fisik proses
4. Hasil-hasil
proses harus independen
D. Masalah-masalah Konkuren
1.
Mutual Exclusion
Merupakan
persoalan untuk menjamin hanya satu proses yang mengakses sumber daya pada suatu
interval waktu tertentu. Pentingnya mutual exclusion dapat dilihat pada ilustrasi
eksekusi daemon printer.
Contoh
Ilustrasi Eksekusi Daemon Printer
Daemon untuk printer adalah proses penjadwalan dan pengendalian untuk mencetak berkas-berkas diprinter sehingga seolah-olah printer dapat digunakan secara simultan oleh proses-proses. Daemon untuk printer mempunyai ruang penyimpanan di harddisk (disebut direktori spooler) untuk menyimpan berkas-berkas yang akan dicetak. Terdapat variable in yang menunjuk slot bebas diruang harddisk yang dipakai untuk menyimpan berkas yang hendak dicetak.
Daemon untuk printer adalah proses penjadwalan dan pengendalian untuk mencetak berkas-berkas diprinter sehingga seolah-olah printer dapat digunakan secara simultan oleh proses-proses. Daemon untuk printer mempunyai ruang penyimpanan di harddisk (disebut direktori spooler) untuk menyimpan berkas-berkas yang akan dicetak. Terdapat variable in yang menunjuk slot bebas diruang harddisk yang dipakai untuk menyimpan berkas yang hendak dicetak.
Kriteria
Penyelesaian Mutual Exclusion
Kemampuan menjamin mutual exclusion harus memenuhi kriteria-kriteria berikut:
Kemampuan menjamin mutual exclusion harus memenuhi kriteria-kriteria berikut:
a. Mutual exclusion harus dijamin
b. Hanya satu proses pada satu saat yang
diizinkan masuk critical section
critical section: suatu bagian yang berisi sejumlah variable yang akan di-share (dipengaruhi atau mempengaruhi) proses yang lain
critical section: suatu bagian yang berisi sejumlah variable yang akan di-share (dipengaruhi atau mempengaruhi) proses yang lain
c. Proses yang berada di non critical
section, dilarang mem-block proses-proses yang ingin masuk critical section
d. Harus dijamin proses yang ingin masuk
critical section tidak menunggu selama waktu yang tidak berhingga
e. Ketika tidak ada proses di critical
section, maka proses yang ingin masuk critical section harus diizinkan segera
masuk tanpa waktu tunda
f. Tidak ada asumsi mengenai kecepatan
relative proses atau jumlah proses yang ada.
2. Deadlock
Deadlock terjadi
ketika proses-proses mengakses sumber daya secara eksklusif. Semua deadlock yang
terjadi melibatkan persaingan untuk memperoleh sumber data eksklusif oleh dua proses
atau lebih.
Model Deadlock
Terjadi deadlock
dapat digambarkan dengan menggunakan graph. Misal model deadlock dua proses dan
dua sumber daya:
Ø
Dua
proses P0 dan P1
Ø
Dua
sumber daya R0 dan R1
Graph
meminta sumber daya dan alokasi sumber daya
Keterangan:
(a) P0 meminta sumber daya R0, ditandai busur berarah dari proses P0 ke sumber daya R0.
(b) Sumber daya R1 dialokasikan ke P1, ditandai busur berarah dari sumber daya R1 ke proses P1.
Keterangan:
(a) P0 meminta sumber daya R0, ditandai busur berarah dari proses P0 ke sumber daya R0.
(b) Sumber daya R1 dialokasikan ke P1, ditandai busur berarah dari sumber daya R1 ke proses P1.
Graph deadlock dua proses dan dua sumber daya
Skenario yang
Menimbulkan Deadlock:
Ø
P0
dialokasikan R0, P1
dialokasikan R1. Kemudian P0 sambil
masih menggenggam R0, meminta R1
dan P1 sambil masih menggenggam R1,
meminta R0.
Ø
Kejadian
ini mengakibatkan deadlock karena sama-sama proses P0 dan
P1 akan saling menunggu.
Ø
Terjadinya
deadlock ditandai munculnya graph melingkar
3.
Startvation
Keadaan dimana
pemberian akses bergantian terus menerus, dan ada suatu proses yang tidak mendapatkan
gilirannya.
Ilustasi
starvation, misalnya :
Ø
Terdapat
tiga proses, yaitu P1, P2
dan P3
Ø
P1,
P2 dan P3
memerlukan pengaksesan sumber daya R secara periodik.
Skenario
berikut terjadi:
Ø
P1
sedang diberi sumber daya R sedangkan P2 dan P3
diblocked menunggu sumber daya R
Ø
Ketika
P1 keluar dari critical section,
maka P2 dan P3 diijinkan mengakses R
Ø
Asumsi
P3 diberi hak akses, kemudian setelah
selesai, hak akses kembali diberikan ke P1 yang saat itu kembali membutuhkan
sumber daya R. Jika pemberian hak akses bergantian terus-menerus antara P1 dan
P3, maka P2 tidak pernah memperoleh
pengaksesan sumber daya R. Dalam kondisi ini memang tidak terjadi deadlock, hanya
saja P2 mengalami starvation (tidak ada kesempatan
untuk dilayani)
E. Pokok
penyelesaian masalah konkurensi
Pada dasarnya
penyelesaian masalah konkurensi terbagi menjadi dua, yaitu:
1. Mengasumsikan
adanya memori yang digunakan bersama
2. Tidak mengasumsikan
adanya memori yang digunakan bersama
Adanya memori
bersama lebih mempermudah dalam penyelesaian masalah konkurensi. Metode penyelesaian
ini dapat dipakai untuk system single processor ataupun multiprocessor yang mempunyai
memori bersama
F. Definisi Keamanan
Keamanan
system computer adalah untuk menjamin sumber daya agar tidak digunakan atau dimodifikasi
orang yang tidak diotorisasikan.
Keamanan
Sistem terbagi menjadi tiga, yaitu:
1. Keamanan
Eksternal (external security)
Berkaitan dengan pengamanan fasilitas computer dari penyusup dan bencana, seperti kebakaran
dan kebanjiran.
Berkaitan dengan pengamanan fasilitas computer dari penyusup dan bencana, seperti kebakaran
dan kebanjiran.
2. Keamanan
Interface Pemakai (user interface security)
Berkaitan dengan identifikasi pemakai sebelum pemakai diizinkan mengakses program dan data
yang disimpan.
Berkaitan dengan identifikasi pemakai sebelum pemakai diizinkan mengakses program dan data
yang disimpan.
3. Keamanan
Internal (internal security)
Berkaitan dengan pengaman beragam kendali yang bangun pada perangkat keras dan system
operasi yang menjamin operasi yang andal dan tak terkorupsi untuk menjaga integritas program
dan data.
Berkaitan dengan pengaman beragam kendali yang bangun pada perangkat keras dan system
operasi yang menjamin operasi yang andal dan tak terkorupsi untuk menjaga integritas program
dan data.
G. Masalah-masalah Keamanan
Pada
keamanan, terdapat dua masalah penting, yaitu:
1. Kehilangan data (data lost)
disebabkan bencana, kesalahan perangkat keras/lunak,kesalahan/kelalaian manusia
2. Penyusup (intruder), berupa penyusupan
pasif dan penyusupan aktif
o
Penyusup
Pasif adalah penyusup yang hanya membaca data yang tidak diotorisasikan
o
Penyusup
Aktif adalah penyusup yang mengubah data yang tidak diotorisasikan
H. Ancaman-ancaman
keamanan
Kebutuhan
keamanan system computer meliputi tiga aspek, yaitu:
1. Kerahasiaan (Secrecy) adalah keterjaminan
bahwa informasi disistem computer hanya dapat diakses oleh pihak-pihak yang
diotorisasi, sehingga jika dimodifikasi tetap terjaga konsistensi dan keutuhan datanya.
2. Integritas (Intergrity) adalah keterjaminan
bahwa sumber daya sistem computer hanya dapat diakses oleh pihak-pihak yang
diotorisasi.
3. Ketersediaan (Availability) adalah
keterjaminan bahwa sumber daya sistem computer tersedia bagi pihak-pihak yang diotorisasi
saat diperlukan.
I. Tipe-tipe Ancaman
Keamanan
1. Interupsi
Sumber daya system
computer dihancurkan atau menjadi tidak tersedia atau tidak berguna. Merupakan
ancaman terhadap ketersediaan
Contoh :
o
Pemotongan
kabel komunikasi
o
Penghancuran
bagian perangkat keras
o
Seperti
harddisk
2. Intersepsi
Pihak tidak diotorisasi
dapat mengakses sumber daya. Merupakan ancaman terhadap kerahasiaan. Pihak tidak
diotorisasi dapat berupa orang atau program komputer.
Contoh :
o
Penyadapan
untuk mengambil data rahasia
o
Mengkopi
file tanpa diotorisasi
3. Modifikasi
Pihak tidak diotorisasi
tidak hanya mengakses tapi juga merusak sumber daya. Merupakan ancaman terhadap
integritas.
Contoh :
o
Mengubah
nilai-nilai file data
o
Mengubah
program sehingga bertindak secara berbeda
o
Memodifikasi
pesan-pesan yang ditransminikan pada jaringan
4. Fabrikasi
Pihak tidak diotorisasi
menyisipkan/memasukkan objek-objek palsu ke sistem. Merupakan ancaman terhadap
integritas.
Contoh :
o
Memasukkan
pesan-pesan palsu kejaringan
o
Penambahan
record ke file
J. Mekanisme
Proteksi
Pada
system computer banyak objek yang perlu diproteksi, yaitu :
Ø
Objek
perangkat keras, antara lain: pemroses, segmen memori, terminal, disk drive,
printer
Ø
Objek
perangkat lunak, antara lain: proses, file, basis data
Mekanisme
proteksi dikembangkan berdasarkan konsep domain. Domain adalah himpunan pasangan
(objek, hak)
K. Program-program
Jahat
Bowles [BOW-92]
memberikan taksonomi ancaman perangkat lunak atau klasifikasi program jahat (malicious
program). Ancaman-ancaman itu dapat menjadi dua kategori, yaitu:
1. Program-program yang memerlukan host
program
o
Trapdoor
o
Logic
Bomb
o
Trojan
horse
o
Virus
2. Program-program yang tidak memerlukan
host program (independen)
o
Bacteria
o
Worm
Program-program
Jahat
1. Bacteria
Program yang mengkonsumsi
sumber daya system dengan replicasi dirinya sendiri.
2. Logic Bomb
Logic yang ditempelkan
pada program komputer agar memeriksa kumpulan kondisi di sistem.
3. Trapdoor
Titik masuk rahasia yang tidak terdokumentasi di
satu program untuk memberikan akses tanpa
metode otentifikasi normal.
metode otentifikasi normal.
4. Trojan Horse
Rutin tak terdokumentasi
rahasia yang ditempelkan dalam satu program pengguna. Program-program tersebut jika
terinfeksi, pasti terdapat kode tersembunyi dan ketika dijalankan, akan melakukan
suatu fungsi yang tidak diinginkan.
5. Worm
Program yang dapat mereplikasi dirinya
dan mengirim kopian-kopian dari komputer ke komputer lewat hubungan jaringan.
L. Virusdan
Anti Virus
Virus adalah
kode yang ditempelkan dalam satu program yang menyebabkan pengopian dirinya ke satu
program lain atau lebih. Virus biasanya melakukan fungsi yang tidak diinginkan.
Virus mengalami
siklus hidup empat fase (tahap), yaitu :
1.Fase Tidur
(dormant phase)
2. Fase Propagasi
(propagation phase)
3. Fase Pemicuan
(triggering phase)
4. Fase Eksekusi
(execution phase)
Klasifikasi
tipe virus adalah sebagai berikut :
o
Parasitic Virus
Merupakan
virus tradisional dan bentuk virus yang paling sering. Tipe ini menggantungkan diri
ke file exe. Ketika program yang terinfeksi dieksekusi Virus mereplikasi dengan
mencari file-file exe lain untuk di infeksi.
o
Memory-resident Virus
Virus
memuatkan diri ke memori utama sebagai bagian program yang menetap. Virus menginfeksi
setiap program yang dieksekusi.
o
Boot Sector Virus
Virus
menginfeksi master boot record atau boot record dan menyebar saat system di-boot
dari disk yang berisi virus.
o
Stealth Virus
Virus
yang bentuknya telah dirancang agar dapat menyembunyikan diri dari deteksi perangkat
lunak anti-virus.
o
Polymorphic Virus
Virus
bermutasi setiap kali melakukan infeksi. Deteksi dengan “penandaan” virus tersebut
tidak dimungkinkan.
Anti Virus
Solusi ideal
terhadap ancaman virus adalah pencegahan. Pendekatan yang dilakukan setelah pencegahan
terhadap masuknya virus, yaitu :
o
Deteksi
o
Identifikasi
dan Penghilangan
Perkembangan
anti virus dapat diperiodekan menjadi 4 (empat) generasi, yaitu :
1. Generasi pertama : sekedar scanner
sederhana
2. Generasi kedua : scanner yang pintar
(heuristic scanner)
3. Generasi ketiga : jebakan-jebakan aktivitas
(activity trap)
4. Generasi keempat : proteksi penuh (full-feature
protection)
Komentar
Posting Komentar