Seiring dengan meningkatnya jumlah aplikasi di internet dan jumlah pengguna internet, maka meningkat pula kejahatan yang menggunakan internet. Semakin beragam aplikasi yang ada di internet semakin beragam pula kejahatan yang ada di internet.
Kejahatan yang paling banyak dilakukan pada saat ini adalah dengan melalui websites. Menurut acunetix, pada saat ini sebesar 70% dari websites dan networks berpotensial dapat diserang atau di eksploitasi oleh hacker.
Ada berbagai macam cara untuk menyerang website seperti:
Injection
Kelemahan injeksi, seperti SQL, OS, dan injeksi LDAP terjadi ketika data yang tidak dipercaya dikirim ke seorang hacker sebagai bagian dari perintah atau permintaan. Data penyerang ini dapat mengelabui interpreter untuk mengeksekusi perintah yang tidak diinginkan atau mengakses data tanpa otorisasi yang tepat.
Broken Authentication and Session Management
Fungsi aplikasi yang berhubungan dengan otentikasi dan manajemen sesi sering tidak diterapkan dengan benar, memungkinkan penyerang untuk kompromi password, kunci, atau token sesi, atau untuk mengeksploitasi kelemahan pelaksanaan lainnya untuk mengasumsikan identitas pengguna lain.
Cross-site Scripting
XSS flaws terjadi ketika aplikasi mengambil data yang tidak dipercaya dan mengirimkannya ke web browser tanpa validasi yang tepat. XSS memungkinkan penyerang untuk mengeksekusi skrip di browser korban yang dapat membajak sesi pengguna, merusak situs web, atau mengarahkan pengguna ke situs berbahaya.
- Insecure Direct Object References
Sebuah direct object reference terjadi ketika seorang pengembang menghadapkan referensi ke suatu objek implementasi internal, seperti file, direktori, atau kunci basis data. Tanpa pemeriksaan kontrol akses atau perlindungan lainnya, penyerang dapat memanipulasi referensi ini untuk mengakses data yang tidak sah.
Security Misconfiguration
Keamanan yang baik memiliki konfigurasi yang aman, didefinisikan dan digunakan untuk aplikasi, kerangka kerja, server aplikasi, web server, database server, dan platform. Pengaturan keamanan harus didefinisikan, diimplementasikan, dan dipelihara, karena default sering tidak aman. Selain itu, perangkat lunak harus selalu up to date.
Sensitive Data Exposure
Banyak aplikasi web tidak benar melindungi data sensitif, seperti kartu kredit, nomor pajak, dan kredensial otentikasi. Penyerang dapat mencuri atau memodifikasi data tersebut untuk melakukan penipuan kartu kredit, pencurian identitas, atau kejahatan lainnya. Data sensitif layak dibuat perlindungan ekstra seperti enkripsi baik dalam penyimpanan ataupun dalam perjalanan dalam jaringan, serta tindakan pencegahan khusus ketika ditukar dengan browser.
Missing Function Level Access Control
Sebagian besar aplikasi web memverifikasi level hak akses. Namun, aplikasi perlu melakukan pemeriksaan kendali akses yang sama pada server ketika masing-masing fungsi diakses. Jika permintaan tidak diverifikasi, penyerang akan dapat menempa permintaan untuk mengakses fungsi tanpa otorisasi yang tepat.
Cross-site Request Forgery (CSRF)
Sebuah serangan CSRF memaksa browser log-on korban untuk mengirim permintaan HTTP, termasuk cookie sesi dan informasi otentikasi, untuk aplikasi web yang rentan. Hal ini memungkinkan penyerang untuk memaksa browser korban untuk menghasilkan permintaan aplikasi yang menurutnya adalah permintaan yang sah dari korban.
Using Components with Known Vulnerabilities
Komponen, seperti perpustakaan, kerangka kerja, dan modul perangkat lunak lain, hampir selalu dijalankan dengan hak penuh. Jika komponen rentan dieksploitasi, dapat mengakibatkan kehilangan data atau server dapat diambil alih.
Unvalidated Redirects and Forwards
Aplikasi web sering mengarahkan dan meneruskan pengguna ke halaman lain dan website, dan menggunakan data yang tidak dipercaya untuk menentukan halaman tujuan. Tanpa validasi yang tepat, penyerang dapat mengarahkan korban phishing atau malware situs, atau menggunakan depan untuk mengakses halaman yang tidak sah.
Dari berbagai macam serangan tersebut, menurut Akamai, serangan dengan SQL injection merupakan yang paling banyak. Seperti dapat terlihat pada gambar diatas, serangan SQL injection mencapai 45,467.021 atau sebesar 80.5% dari semua serangan di tahun 2015.
Definisi Information Security
Menurut Committee on National Security Systems (CNSS) information security is the protection of information and its critical elements, including systems and hardware. Apabila diterjemahkan adalah sebagai berikut: keamanan informasi adalah sebuah perlindungan terhadap informasi dan elemen elemennya termasuk perangkat keras dan sistemnya.
Sementara itu apabila kita mengacu kepada konsep segitiga C.I.A. dimana konsep berdasarkan tiga karakteristik informasi yaitu:
– Confidentiality
– Integrity
– Availability
Apabila digabung maka information security adalah sebuah perlindungan informasi dari confidentiality, integrity, and availability baik dalam penyimpanan, saat di proses atau pada saat ditransmisikan.
IT Risk Management
Sebagai bagian dari information security, risk management adalah proses untuk mengindentifikasi resiko termasuk ancaman ancaman terhadap kelangsungan bisnis perusahaan dan bagaimana cara mengontrol ancaman ancaman tersebut. Salah satu program dari risk management adalah pembuatan dan penerapan contingency planning. Sebelum berbicara contingency planning secara lebih dalam, maka harus dipahami dulu konsep risk management.
Proses untuk mengindentifikasi risk dan mengontrol risk yang mungkin akan terjadi disebut risk management. Bagian bagian dari risk manajemen, yaitu:
- Risk Identification:
- Process untuk mengindentifikasi dan membuat dokumen tentang semua ancaman yang mungkin terjadi. Selanjutnya pada tahap ini juga dilakukan risk assessment, yaitu sebuah proses untuk memilah milah mana ancaman yang sangat berpotensial untuk merugikan dan mana yang kemungkinan kecil dapat terjadi.
- Risk Control:
- Proses untuk mengontrol ancaman ancaman sehingga dapat mengurangi atau menghilangkan akibat dari ancaman ancaman terhadap informasi.
Pada dasarnya IT risk management ini mempunyai filosofi dari seorang ahli perang dari china yaitu jendral Sun Tzu, beliau mempunyai konsep seperti dibawah ini:
If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle.
Pada filosofi diatas, apabila kita mengetahui kekuatan dan kemampuan musuh serta mengetahui kekuatan dan kemampuan kita sendiri maka kita dapat memprediksi resiko yang akan terjadi. Jika kita tidak mengetahui kekuatan lawan dan hanya mengetahui kekuatan dan kemampuan kita sendiri maka kemungkinan kita dapat mendapatkan kerugian dari resiko yang tidak kita ketahui. Adalah sangat berbahaya bila kita tidak mengetahui kekuatan musuh dan juga tidak mengetahui kekuatan kita sendiri.
Know yourself:
Untuk mengetahui kekuatan dan kemampuan diri kita sendiri maka yang harus dilakukan adalah:
- Identifikasi semua data dan informasi yang ada di tempat kita bekerja
- Lakukan analisa terhadap semua data dan informasi tersebut
- Pahami benar benar aliran data dan informasi tersebut
- Identifikasi asset, yaitu semua hardware dan software yang digunakan untuk menyimpan, memproses dan mengirimkan data atau informasi.
- Dalam melakukan analisa, dapat dipikirkan dengan menjawab pertanyaan sebagai berikut:
- Bagaimana asset tersebut menjadi bernilai terhadap perusahaan
- Apa saja kelemahan dari pada asset tersebut
- Berapa lama sekali asset tersebut perlu diganti, atau di maintain
- Apakah sudah ada control terhadap asset asset tersebut?
Know the enemy atau resiko:
Untuk mengetahui kekuatan dan kemampuan resiko atau enemy maka yang harus dilakukan adalah:
- Identifikasi semua ancaman yang ada di tempat kita bekerja
- Lakukan analisa terhadap semua ancaman atau resiko tersebut
- Pahami benar benar scenario ancaman tersebut
- Identifikasi control yang ada terhadap semua ancaman yang ada.
- Identifikasi juga mitigation strategic, termasuk biaya yang timbul dan keefektifannya