OWASP: Standar Keamanan Web App Dunia

OWASP: Standar Keamanan Web App Dunia

Keamanan adalah salah satu faktor yang harus sangat diperhatikan ketika Anda membuat sebuah website. Kalau Anda mencari standar keamanan website di Internet, mungkin Anda malah tambah binung. Ini dikarenakan ada banyak versi standar keamanan sampai Anda tidak tahu mana yang benar.

Nah, sebenarnya sudah ada nih sebuah organisasi nirlaba international yang memiliki visi untuk menjaga keamanan cyber – termasuk website, yaitu OWASP atau Open Web Application Security Project.

Di artikel ini kami akan membahas apa itu OWASP sampai OWASP Top 10, yaitu sebuah checklist yang menjadi standar keamanan web app di dunia.

OWASP: Standar Keamanan Web App Dunia

owasp keamanan website dewaweb dewatalks

OWASP adalah sebuah organisasi nirlaba yang fokus pada keamanan web app. OWASP banyak menyediakan sumber daya agar Anda bisa mempelajari lebih lanjut tentang keamanan web app.

Sebagai salah satu prinsipnya, OWASP memastikan bahwa semua informasi dan materi pembelajarannya bisa diakses dengan mudah dan gratis sehingga semua orang bisa meningkatkan keamanan website mereka. Materi yang mereka sediakan berupa dokumentasi, tools, video, dan forum.

Baca Juga: Cara Memilih LMS dan 5 Rekomendasi LMS Open Source Terbaik

5 Dokumen OWASP untuk Menjaga Keamanan Website

Sebagai bukti dari komitmen mereka, OWASP menyediakan beberapa dokumen untuk membantu para developer membuat website dan aplikasi yang aman. Berikut ini adalah 5 dokumen yang sering disebut-sebut sebagai panduan penting bagi para developer.

OWASP Developer Guide

Sesuai dengan namanya, panduan ini memang dikhusukan untuk developer. Ini adalah salah satu dokumen pertama yang harus Anda download jika Anda ingin memiliki website dan aplikasi yang aman.

Pertama kali dirilis lebih dari 15 tahun lalu, OWASP sudah banyak melakukan revisi dari tahun 2014 agar panduannya sesuai untuk jaman sekarang.

Guide ini dibuat agar para developer bisa membangun website atau software untuk organisasi mereka dengan menggunakan coding yang memiliki sistem yang aman. Guide ini berisikan prinsip-prinsip yang harus diikuti dalam proses codingnya.

OWASP Application Security Verification Standard (ASVS)

Kalau membicarakan soal standar keamanan website, belum ada standard universal yang bisa digunakan sebagai alat ukurnya. Oleh karena itu, OWASP mengambil inisiatif untuk membuat sebuah standar keamanan website yang bisa digunakan di seluruh dunia yang mereka beri nama Application Security Verification Standard atau ASVS.

ASVS adalah sebuah daftar persyaratan untuk memberi tahu para developer apakah sebuah aplikasi itu aman untuk digunakan oleh organisasi, vendor, dan customer.

ASVS ini sudah dipisahkan ke beberapa level dimana mereka menjelaskan dengan lebih detail untuk berbagai jenis aplikasi dan software.

Ada tiga level yang mereka bahas yaitu opportunistic level untuk software umum, standard level untuk aplikasi yang mengandung data sensitif, dan advanced level untuk aplikasi-aplikasi seperti aplikasi rumah sakit, software dan aplikasi bank, website dan software pemerintahan, dan sejenisnya.

ASVS bisa dibilang merupakan resource yang dalam untuk keamanan website karena mereka menjelaskan langkah demi langkah.

Security Knowledge Framework

Security Knowledge Framework adalah sebuah tool yang di-desain untuk membantu developer membangun software yang aman. Framework ini dibangun berdasarkan standard ASVS sehingga developer bisa dengan mudah mengerti dan mengimplementasikan persyaratan keamanannya.

Developer Cheat Sheet Series

Karena OWASP berkomitmen untuk membantu meningkatkan security website, mereka ingin menggunakan expertise mereka di bidang keamanan website untuk mengedukasi developer. Salah satu caranya adalah dengan membuat Developer Cheat Sheet Series.

Organisasi ini meminta bantuan dari pakar-pakar keamanan website di seluruh dunia untuk membuat guide yang dalam dan lengkap, membahas berbagai kelemahan, protocol keamanan, dan bagaimana mereka ada pada bahasa-bahasa programming terkenal.

Cheat sheet ini di desain daengan bentuk bullet points jadi developer bisa mengerti best practices kemanan dan syarat-syaratnya dengan lebih mudah.

OWASP Top 10

Dokumen yang terakhir ini adalah salah satu resource OWASP yang paling terkenal. Mungkin setelah Anda mempelajari semua dokumen di atas, ada kalanya Anda masih memerlukan sebuah checklist untuk memastikan bahwa website Anda sudah aman. Jawabannya ada pada OWASP Top 10. Untuk tahu lebih banyak tentang OWASP Top 10, yuk lanjut baca artikelnya.

Baca Juga: 5 Plugin Moodle Penting untuk e-Learning

OWASP Top 10: Checklist Standar Keamanan Website

OWASP Top 10 adalah sebuah panduan bagi para developers dan security team tentang kelemahan-kelemahan pada web apps yang mudah diserang dan harus segera disiasati.

Kelemahan-kelemahan ini memudahkan hacker untuk menanam malware, mencuri data, atau mengambil alih sepenuhnya website atau komputer Anda.

OWASP Top 10 ini biasa diupdate secara rutin oleh sebuah tim yang terdiri dari pakar-pakar keamanan website di seluruh dunia. OWASP merekomendasikan perusahaan-perusahaan untuk memperhatikan kesepuluh masalah yang ada pada dokumen ini untuk mengamankan website dan data mereka dari ancaman hacker.

Berikut ini adalah penjelasan singkat dari kesepuluh ancaman keamanan website yang ada pada OWASP Top 10 2017:

Injection

Serangan injection biasa terjadi jika ada data yang tidak terpercaya dikirim ke sebuah code interpreter melalui sebuah formulir input atau cara input data ke website lainnya.

Misalnya, seorang hacker bisa memasukkan kode database SQL melalui sebuah formulir yang sebenarnya hanya meminta data plaintext. Kalau formulir input ini tidak diamankan dengan baik maka kode SQL nya bisa saja dijalankan. Ini adalah contoh serangan injection SQL.

Nah, serangan injection ini bisa dicegah dengan memvalidasi dan membersihkan data yang dimasukkan oleh user. Validasi yang dimaksud disini adalah menolak data-data yang terlihat mencurigakan. Membersihkan data berarti menghapus semua data-data mencurigakan tersebut.

Tidak hanya itu, admin database juga bisa meminimalkan jumlah informasi yang mungkin terexpose ke serangan injection.

Broken Authentication

Kelemahan pada sistem login bisa memberi hacker akses ke akun user. Tidak hanya itu mereka bisa menguasai seluruh sistem dengan meng-hack akun admin. Untuk memitigasi kelemahan authentication, Anda bisa menggunakan 2-factor authentication (2FA).

owasp top 10 keamanan website dewaweb

Baca Juga: Cara Deploy CodeIgniter dengan Nginx di VPS Ubuntu 18.04

Sensitive Data Exposure

Jika sebuah website menyimpan data-data sensitive penggunanya, tentunya akan bahaya jika mereka tidak menjaga keamanannya. Untuk mengurangi kemungkinan pencurian data, Anda bisa mengenskripsi data-data sensitifnya. Developer juga harus memastikan bahwa website tidak menyimpan data-data sensitive yang sebenarnya tidak dibutuhkan.

XML External Entities

Ini adalah serangan ke website dan aplikasi yang menganalisa input XML. Input ini bisa mereferensikan entity external untuk mengetahui kelemahan yang ada pada input XMLnya. Entiti external yang dimaksud disini biasanya berupa unit penyimpanan, seperti misalnya hard drive.

Analisa input XML bisa dibuat seakan-akan mereka mengirim data ke entity external yang tidak dipercaya, dimana mereka bisa mengirim data-data sensitive ke hackernya langsung. Cara terbaik untuk mengatasi XEE ini adalah dengan memiliki web app yang mengandung jenis data yang tidak terlalu kompleks.

Broken Access Control

Access control pada poin ini mengacu kepada sistem control yang mengakses informasi dan fungsionalitasnya. Access control yang rusak memungkinkan penyerang untuk melewati proses autorisasi dan melakukan hal-hal yang biasanya hanya bisa dilakukan oleh admin.

Security Misconfiguration

Kesalahan konfigurasi keamanan adalah kelemahan yang paling sering terjadi di antara kelemahan lain di daftar ini. Biasanya kesalahan terjadi jika Anda hanya menggunakan default konfigurasi tanpa melihat kebutuhan website.

Cross Site Scripting

Kelemahan cross site scripting akan terjadi pada web app jika web app tersebut menginjinkan user untuk menambahkan kode custom ke sebuah path URL atau ke website yang dilihat oleh user lain. Kelemahan ini biasa dimanfaatkan untuk menjalankan kode JavaScript yang berbahaya pada browser korban.

Contohnya, jika seorang hacker mengirim email ke korban dengan mengatas namakan nama bank tersebut dan menyertakan link ke website bank tersebut, mereka bisa saja menaruh kode JavaScript berbahaya ke dalamnya. Kalau website bank tidak terlindungi dengan baik, nasabah Anda akan menjadi korban.

Insecure Deserialization

Untuk mengerti apa masalah dari kelemahan ini, kita harus mengerti dulu apa arti dari serialisasi dan deserialisasi. Serialisasi adalah proses dimana object diambil dari kode aplikasi dan di-convert ke format lain sehingga bisa digunakan untuk keperluan lain, misalnya menyimpan data ke sebuah disk.

Deserialisasi berarti sebaliknya; meng-convert data yang sudah diserialisasi kembali object yang digunakan oleh aplikasinya. Insecure deserialization atau deserialisasi yang kurang aman bisa saja diserang dengan memanfaatkan data dari asal yang tidak dipercaya. Ini bisa menyebabkan terjadinya serangan DDoS.

Untuk mencegah ini terjadi, Anda perlu melarang deserialisasi dari data yang tidak dipercaya.

Using Components With Known Vulnerabilities

Kebanyakan web developer menggunakan komponen seperti libraries dan frameworks di web app mereka. Komponen-komponen ini adalah kumpulan software yang menolong developers untuk bekerja dengan lebih efisien.

Beberapa hacker biasa mencari kelemahan yang ada pada komponen-komponen ini agar mereka bisa melakukan serangan. Oleh karena itu, developer harus selalu memastikan bahwa komponen-komponen ini sudah diupdate agar tetap aman.

Baca Juga: Cara Install Node.js dan Deploy App di Ubuntu 18.04

Insufficient Logging and Monitoring

Kebanyakan web app tidak mengambil langkah yang cukup untuk mendeteksi penembusan data. Rata-rata orang baru sadar kalau terjadi penembusan di website mereka setelah 200 hari. Ini tentunya memberikan penyerang banyak waktu untuk melakukan penyerangan.

OWASP merekomendasikan developer untuk mengimplementasi logging dan monitoring serta rencana response insiden agar mereka tahu jika ada penyerangan yang terjadi pada aplikasi mereka.

Simpulan

Nah, jadi sudah kenal kan sekarang dengan OWASP? Kami berharap dari artikel ini, Anda jadi lebih mengerti tentang keamanan website.