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.

o   Konteks Konkurensi untuk Banyak Aplikasi
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.

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.

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.

Kriteria Penyelesaian Mutual Exclusion

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

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) P
0 meminta sumber daya R0, ditandai busur berarah dari proses P0 ke sumber daya R0.
(b) Sumber daya R
1 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.
2. Keamanan Interface Pemakai (user interface security)
    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.

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.

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

Postingan populer dari blog ini

Teknologi dan Algoritma Penjadwalan Disk