Kamis, 24 Desember 2009

Insider Attacks

Sebenarnya, tulisan yang saya tampilkan di bawah ini adalah tugas mata kuliah Sistem Operasi. Agar lebih bermanpaat dan bisa dibaca khalayak, saya pikir, dipublish di blog aja. Apalagi saya sudah capek-capek ngrangkum dan nerjemahin. Eman-eman kalo cuman dipendem sendiri. Materi dirangkum dari buku Modern Operating Systems 3rd Edition karangan Prof. Andrew S. Tanenbaum bab Security.

Ada 3 hal yang dibahas pada Insider attacks: logic bombs, trap doors, dan login spoofing.
Logic Bombs
  • Logic bombs merupakan kode-kode yang ditulis oleh seorang programmer A pada suatu perusahaan dan secara diam-diam dimasukkan ke dalam sistem yang dibuat oleh perusahaan tersebut. 
  • Contoh: setiap hari (sebelum dipecat), programmer A memberikan “makanan” berupa password kepada kode-kode logic bombs yang ditulisnya, sehingga kode-kode tersebut tidak akan berjalan. Ketika programmer tersebut dipecat dari perusahaan, maka secara otomatis tidak ada yang memberikan password kepada kode-kode logic bombs tersebut. Akibatnya adalah kode-kode tersebut akan berjalan dan bisa saja membahayakan sistem perusahaan.
  • Contoh kasus lain adalah logic bombs yang mengecek pembayaran gaji seorang programmer. Jika nomor pegawai programmer tersebut tidak muncul sebagai penerima gaji sebanyak 2 kali berturut-turut, maka logic bombs akan bekerja sesuai dengan keinginan programmer tersebut.
  • Logic bombs bisa saja melakukan hal-hal berikut: menghapus semua data di harddisk, menghapus file secara random, melakukan enkripsi terhadap suatu file yang penting, dsb.
  • Virus juga bisa ditanamkan pada logic bombs dan dirancang agar berjalan pada jam dan tanggal yang telah ditentukan. Ini dinamakan time bombs.
    Trap Doors
    • Trap doors merupakan kode yang ditulis oleh seorang system programmer untuk melewati (bypass) pengecekan-pengecekan tertentu. Contohnya adalah pengecekan username dan password.
    • Contohnya adalah kode di bawah ini:


      while (TRUE)
      {
         printf("login: ");
         get_string(name);
         disable_echoing();
         printf("password: ");
         get_string(password);
         enable_echoing();
         v = check_validity(name, password);
         if (v || strcmp(name, "zzzzz") == 0) break;
      }
      execute_shell(name);
      

    • Jika username dimasukkan sebagai “zzzzz”, maka pengecekan username dan password tersebut akan berhenti (break). Sehingga, seseorang bisa masuk ke dalam sistem dengan username “zzzzz” tersebut, tidak peduli password apa yang dia masukkan.
    • Untuk mengatasi ini, perusahaan melakukan code reviews: misalnya, seorang programmer harus menjelaskan maksud dari kode yang telah ditulisnya pada sebuah forum di perusahaan tersebut.
    Login Spoofing
    • Login spoofing dilakukan dengan membuat sebuah program yang memerintahkan user untuk memasukkan username dan passwordnya (seperti login program). Tampilan program tersebut dibuat mirip dengan login program. Pada awalnya, login program yang palsu telah dijalankan. Ketika seorang user memasukkan username dan passwordnya, program tersebut akan menyimpannya ke dalam file tertentu. Setelah itu program itu akan mematikan (kill) shell-nya. Login program yang sebenarnya akan berjalan. User mengira bahwa dia telah melakukan kesalahan penulisan, dan kemudian memasukkan username dan passwordnya lagi untuk masuk ke sistem.
    • Untuk mengatasi hal ini, login sequence harus diawali dengan mengetikkan kombinasi tombol yang tidak bisa ditangkap oleh program. Windows menggunakan kombinasi CTRL-ALT-DEL. Ketika seorang user baru mengetikkan CTRL-ALT-DEL, maka user yang sedang aktif pada komputer tersebut akan logout dari sistem. Login program yang sebenarnya akan berjalan, sehingga user baru bisa masuk ke sistem dengan aman.

      3 komentar:

      1. wah..., sampai sekian masih belum paham.....


        dasar otak ini otak udang... :)

        BalasHapus
      2. wah, kayaknya ini gara-gara "bahasa" saya yang terlalu aneh nih, mas..

        :)

        BalasHapus
      3. Thanks infonya bos...
        Bleh saya dapat kan yang lebih lengkpnya?

        BalasHapus