Kamis, 20 September 2007

Sistem Keamanan

Tugas Sistem Keamanan

Dibuat Oleh:

Mas Agung Budiarto (26.205.0087)
Tehnik Informatika Unissula


1. Sistem Keamanan pada saat pembuatan Sistem Informasi

Sekarang ini keamanan yang efektif dari suatu sistem sangat diperlukan untuk kegiatan bisnis sehari-hari. Sistem yang aman bisa memberikan tingkat kepercayaan yang tinggi kepada pengguna sehingga bisa memberi nilai tambah dan daya guna bagi sistem itu sendiri. Pengguna akan merasa nyaman dan aman ketika berhubungan dengan sistem kita yang selanjutnya bisa menguntungkan bisnis kita.

Sistem Keamanan yang berbasis komputer meliputi berbagai macam perangkat IT yang mendukungnya, seperti keamanan yang harus diterapkan pada jaringan, software, sistem operasi, hardware, database, wbserser, dan lain-lain. Aspek yang kritis dan pokok dari masalah keamanan sistem komputer ini adalah masalah software karena kebergantungan berbagai sistem pada software sangat tinggi. Software telah menjadi penggerak utama berbagai sistem/perangkat, seperti komputer, konsol game, aplikasi bisnis, peralatan medis, pesawat terbang, mobil, handphone, dan lain-lain. Begitu banyak sistem yang bergantung kepada software sehingga apabila ditemukan cacat yang menyebabkan vulnerability pada software ketika dirilis mengakibatkan software tersebut rentan serangan dan dianggap tidak aman. Oleh karena butuh suatu mekanisme jaminan keamanan terhadap software dan apabila dirilis memang betul-betul software tersebut adalah aman. Keamanan software adalah ide perekayasaan software sehingga software tersebut tetap berfungsi dengan benar di bawah serangan jahat yang merusak.

Keamanan Desain Sistem. Yang dimaksud keamanan desain di sini adalah bagaimana desain sistem teknologi informasi dan komunikasi kita dapat menjaga hal-hal yang tidak diinginkan, misalnya penyusup/pengganggu dan perusak. Keamanan desain ini dapat berupa desain software aplikasi, sistem operasi, hardware, jaringan, dll. Di sini lebih ditekankan pada aspek desainnya. Sebagai contoh misalnya untuk keamanan desain software aplikasi: Aplikasi yang baik, terutama bila aplikasi tersebut multi-user, maka perlu ada autentikasi user yang login dan dicatat dalam file log untuk penelusuran kelak. Sekarang tidak hanya fasilitas login-logout ini saja, tetapi aplikasi harus lebih pintar, misalnya dengan penambahan pewaktu (timer) yang akan menghitung waktu idle (menganggur) aplikasi. Jika melewati batas waktu tertentu, maka otomatis aplikasi akan menjalankan proses logout. Berjalannya waktu, proses login-logout ini sendiri tidak melulu menggunakan nama login dan password atau dengan kartu magnetik biasa, tetapi sudah memanfaatkan teknologi biometrik. Misalnya dengan sidik jari, sidik telapak tangan, pengenalan retina, pengenalan suara, dll. Mungkin saja kelak untuk mengambil uang di ATM kita tidak menggunakan kartu magnetik tetapi hanya dengan sidik jari/tangan kita.

Pada fase pengembangan ada 2 topik besar yakni pemrograman dan percobaaan (testing),

adapun secara umum hal-hal yang perlu diperhatikan dapat diuraikan sebagai berikut:

  • Bagaimana menulis kode yang aman

Gunakan nama yang kuat untuk menandai secara digital pekerjaan kita. Kurangi profil serangan dengan mengikuti prinsip-prinsip desain object oriented, lalu gunakan keamanan akses kode untuk membatasi kode mana bisa memanggil kode lainnya. Gunakan penanganan eksespi yang terstruktur untuk menjaga informasi yang sensitif agar tidak keluar dari batas yang terpercaya dan untuk mengembangkan kode yang lebih kuat.

  • Bagaimana menangani eksespi yang aman

Jangan pernah mengungkapkan informasi tentang sistem internal atau aplikasi seperti stakj traces, SQL statement fragments, dan sebagainya. Pastikan informasi jenis ini tidak sampai pada end user atau keluar dari batas yang terpercaya. Jangan mencatat data yang sensitif atau pribadi seperti password. Ketika mencatat laporan eksespi, jika input dari user dimasukkan dalam pesan yang dicatat, validasilah atau bersihkan terlebih dahulu, misalnya jika pesannya dalam format HTML, maka harus di encode terlebih dahulu untuk menghindari injeksi script.

  • Bagaimana melaksakan pemeriksaan keamanan pada managed code

Gunakan alat analisa seperti FxCop untuk menganalisa file binary dan untuk memastikan sesuai dengan design guideline dari framework yang dipakai Perbaiki vulnerability yang dapat ditemukan oleh alat tersebut.Gunakan fasilitas pencarian text untuk scan kode sumber. Berikan perhatian lain pada vulnerability akibat SQL injection dan cross-site scripting.

  • Bagaimana mengamankan alat kerja pengembang

Tempat kerja harus juga mendapat perhatian dalam masalah keamanan. Pengembang harus mengamankan alat kerjanya seperti: account, protokol, port, service, share, file dan direktory, dan registry. Hal penting lainnya adalah memastikan bahwa workstation selalu mengikuti update dan patch terbaru.

  • Bagaimana menulis least privileged code

Kita dapat membatasi kode apa yang bisa dijalankan berdasarkan account. Untuk itu dapat digunakan code access security untuk membatasi resources dan operasi yang diperbolehkan dengan membuat kebijakan terlebih dahulu. Jika kode tidak membutuhkan mengakses sebuah resource atau operasi, maka dapat digunakan declarative security attributes untuk memastikan kode tersebut tida diberi hak oleh administrator. Intinya, berikan akses pada yang membutuhkan saja.

  • Bagaimana membatasi file I/O

Penggunaan code access security dapat dilakukan untuk membatasu kemampuan kode dalam mengakses area dari sistem file dan menjalankan file I/O. Sebagai contoh, sebuah aplikasi web dapat dibatasi hanya bisa mengakses file pada virtual directory yang dimilikinya.

  • Bagaimana mencegah SQL injection

Untuk mengakses data, sebaiknya digunakan stored procedures yang mempunyai parameter. Penggunaan parameter tersebut untuk memastikan nilai input sudah dicek tipe dan panjangnya. Parameter juga diberlakukan untuk menjamin sebagai nilai yang aman dan bukan kode yang dapat dieksekusi dalam database. Jika tidak dapat menggunakan stored procedures, sebaiknya menggunakan SQL statement dengan parameter. Jangan pernah membangun SQL statement dengan langsung memasukkan nilai input dalam SQL command. Pastikan aplikasi memberikan hak akses ke database seperlunya saja.

  • Bagaimana mencegah cross-site scripting

Untuk mencegah cross-site sripting, validasi semua input termasuk tipe, panjang, format, dan range dan yang penting encode outputnya. Sebagai contoh, encode form fileds, query string parameters, cookies, dan sebagainya.

  • Bagaimana mengatur rahasia

Carilah pendekatan alternatif guna menghidari menyimpan informasi rahasia di urutan pertama. Jika harus menyimpan informasi tersebut, jangan pernah menyimpannya dalam text biasa di kode sumber atau di file konfigurasi. Jangan lupa enkripsi informasi rahasia dengan Data Protection Application Programming Interface (DPAPI) untuk menghindari isu manajemen key.

  • Bagaimana memanggil unmanaged code secara aman

Berilah perhatian tersendiri pada paramater yang memasuki atau datang dari unmanaged API, dan hati-hati dengan kemungkinan terjadinya buffer overflows. Validasi panjang dari parameter string input dan output, cek array, dan hati-hati dengan panjang file path. Gunakan permintaan izin tertentu untuk menjaga akses ke unmanaged resources sebelum menyatakan izin unmanaged code. Gunakan peringatan untuk meningkatkan performance.

  • Bagaimana melakukan validasi input yang aman

Batasi, tolak, bersihkan input merupakancara yang lebih mudah dalam melakukan validasi data untuk tipe, pola, range yang valid dan sudah diketahui terlebih dahulu kemudian mencari karakter yang jelek. Untuk input berupa string biasa digunakan ekspresi regular.

  • Bagaiaman mengamankan Forms authentication

Harus ada pembagian area mana yang bisa diakses oleh anonim dan area mana yang hanya bisa diakses oleh user dengan menggunakan otentifikasi. Jika aplikasi berbasis web, gunakanlah Secure Sockets Layer (SSL). Batasi juga jangka waktu sesi dan pastikan authentication cookie hanya melalui HTTPS saja. Enkripsi authentication cookie dan jangan gunakan untuk tujuan personalisasi. Untuk personalisai, gunakan cookie terpisah selain authentication cookie.

2. Sistem Keamanan pada saat penyimpanan Sistem Informasi

Pada saat fase penyimpanan system informasi, biasanya system keamanan yang lebih diutamakan atau yang sering diperhatikan adalah system keamanan pada server. Pasalnya server-server tersebut menampung segala macam bentuk data yang didapat, oleh karena itu server rentan sekali terkena gangguan keamanannya.

Adapun sebagian kecil dari gangguan tersebut adalah:

  • Back Orifice

Software ini digunakan sebagai alat bantu untuk menentukan jalan masuk ke sebuah computer dan mengendalikannya dari jarak jauh (remote).

Versi terakhir yang mucul adalah Back Orifice 2000 yang mampu secara virtual mengendalikkan sebuah computer lain dengna system operasi windows. Untuk bias menggukannya hacker harus melakukan langkah curang sedemikian rupa sehingga calon korban menerima dan menjalankan Trojan horse (TH) dalam computer.

TH ini lazimnya diselipkan (attach file lewat email) dalam sebuah file yang tidak berpenampilan jahat namun sebenarnya mengandung program back orifice server tersembunyi di balik itu. Kalau back orifice berhasil terinstall dikomputer korban maka bias dipatikkan hacker bias melakukan banyak hal termasuk mengendalikkan computer korban dari jauh. Dari hanya sekedar melihat, menghapus, menambah file sampai merubah tampilan desktop bisa dilakukan hacker pada computer korbanya.

  • Denial-of-service attack

Adalah sebuah istilah yang diberikan untuk upaya serangan dengan jalan menurunkan kinerja sebuah web site dengan terus menerus mengulang permintaan (request) ke server dari banyak sumber secara simultan. Serangan seperti ini bertujuan membuat server korban jadi kewalahan melayani permintaan yang terkirim dan berakhir dengan menghentikan aktivitas atau berhenti dengan sendirinya karena tak mampu melayani permintaan.

Kemudian untuk mecegah terjadinya ancaman diatas maka pada server tersebut harus ditambahkan sebuah system keamanan, antara lain :

  • Firewall

Adalah sebuah software program yang dipasang pada sebuah jaringan dan bertugas menjadi penghalang bobolnya akses untuk kepentingan jahat layaknya sebuah saringan. Semua aktivitas keluar dan masuk ke jaringan harus melalui penyaringan ini hingga akses tertentu yang berbahaya bisa dibatasi. Saringan ini juga bisa digunakan untuk mencegah adanya pencurian data berharga dari dalam jaringan oleh pihak lain dari luar jaringan.

  • Intruksion detection system (IDS)

Sama seperti firewall, IDS ini merupakan penghambat semua niat jahat yang akan mengganggu sebuah jaringan. Bedanya IDS ini lebih maju selangkah dengna kemampuannya memberikan peringatan kepada administrator server saat terjadi sebuah aktivitas tertentu yang tidak diinginkan admin sebagai penanggung jawab. Selain memberi peringatan dini IDS juga memberikan beberapa alat bantu untuk melacak Jenis dan sumber aktivitas terlarang tersebut.

3. Sistem Keamanan pada saat pendistribusian Sistem Informasi

Dalam suatu jaringan yang relative besar dan sangat concern dengan masalah keamanan akan menerapkan beberapa atau keseluruhan element tersebut. Strategi implementasi yang paling baik ditentukan oleh pertimbangan seberapa besar resiko yang akan ditaggung, dan seberapa besar biaya yang harus dikeluarkan.

Untuk mengantisipasi terhadap ancaman yang mengganggu lalu lintas data dalam system jaringan computer ada beberapa pemecahan yang bisa dilakukan dan melibatkan beberapa elemen sebagai berikut:

  • Autentikasi User

Pengecakan indentitas merupakan komponen esensial dari system keamanan. Hal ini merupakan cara untuk membedakan antara user legal dengan penyusup. Autentikasi user di jaringan merupakan keharusan bagi banyak enterprise yang secara serius melindungi asset informasi yang mereka miliki dan untuk mengetahui siapa dan apa yang akan di akses di jaringan mereka. System Autentikasi di perusahaan terdiri dari tiga elemen berikut:

- Indentifikasi (berupa ID card, certificate, dan lain-lain)

- Informasi (berupa password)

- Atribut fisik (berupa sidik jari, atau informasi biometric yang lain)

Kerugian yang ada pada strategi hak akses ini adalah keterbatasan akses yang dimiliki user sehingga dapat menimbulkan ketidaknyamanan pada saat user sedang menjalankan tugasnya. Penyelesaian masalaha ini bergantung kepada dua hal yaitu segi perangkat dan segi administrator jaringan dan keduanya saling terkait.

  • Access Control

Access control mengatur kemampuan akses user dalam suatu jaringan, computer atau aplikasi. System access control pada jaringan data umumya menggunakan firewall yang secara tersentralisir dapat memberikan ijin atau melarang user untuk melakukan akses.

Firewall akan bertindak sebagai pelindung atau pembatas terhadap orang-orang yang tidak berhak mengakses jaringan kita. Umumnya dua jaringan yang terpisah yang menggunakan firewall sejenis, atau seorang remote user yang terhubung ke jaringan dengan menggunakan software client yang terenkripsi akan membentuk suatu VPN, meskipun media penghubung antara remote user dengan jaringan tersebut adalah jaringan public sepeti internet.

Suatu jaringan yang trehubung ke internet pasti memiliki IP address khusus untuk masing-masing computer yang terhubung dalam jaringan tersebut. Apabila jaringan ini tidak terlindungi oleh firewall, IP address tadi akan secara mudah dilacak atau dikenali oleh pihak yang tidak berwenang.

Akibatnya data yang terdapat dalam computer yang terhubung ke jaringan tadi akan dapat dicuri atau di ubah. Dengan adanya firewall kita bisa menyembunyikan address tadi sehingga tidak bisa dilacak oleh pihak-pihak yang tidak berkepentingan.

  • Enkripsi

Salah satu strategi yang paling sering digunakan dalam keamanan jaringan adalah enkripsi data dan erat kaitannya sekali dengan tanda tangan digital (digital signature). digital signature menggunakan prinsip seperti tanda tangan manusia pada lembar dukumen dan dilakukan secara digital. Ia menyatakan keabsahan si pengirim data bahwa data yang dikirimkan benar-benar berasal dari si pengirim. Pada saat ini, enkripsi data dapat dilakukan di perangkat lunak maupun perangkat keras. Berbagai jenis metode enkripsi data pada tingkat aplikasi telah dikembangkan seperti RSA, MD-5, IDEA, SAFER, Skipjack, Blowfish, dan lain-lain. Dengan strategi ini, transfer data dari dan ke jaringan computer berlangsung secara konfidensial.

Meskipun acces control dan system keamanan autentikasi cukup efektif, namun apabila jaringan menggunkana jaringan public seperti internet sebagai salah satu medianya tetap akan memberikan kemungkinan resiko disusupi. Enkripsi menjamin data yang dikirim tidak bisa dibaca oleh user lain selama kode enkripsinya tidak terpecahkan. Tingkat perlindungan dengan menggunakan enkripsi tergantung dari tingkat kerumitan algoritma enkripsi.


sumber :

Buku "Keamanan Data pada Jaringan Komputer" karangan Andri Kristanto

bebas.vlsm.org/v06/Kuliah/TI-Keamanan-Sistem-Informasi/2005/125/125M-07-final1.0.pdf

Tidak ada komentar: