Apa itu Top 10 OWASP dan Bagaimana Cara Kerjanya?

Open Web Application Security Project atau OWASP adalah organisasi yang bertujuan untuk melawan serangan siber dan kerentanan. Dirintis oleh Mark Curphey, seorang cybersecurity enthusiast, OWASP memiliki tujuan meningkatkan keamanan aplikasi dengan menyediakan banyak informasi/materi dan beragam tools secara gratis. Misi OWASP berkaitan dengan visibilitas keamanan perangkat lunak pada berbagai produk perangkat lunak termasuk tools dan teknik. OWASP, antara lain menyelenggarakan pengembangan perangkat lunak sumber terbuka, seminar terkait serangan siber dan keamanan siber dan terlibat dalam keamanan tingkat lokal. Perlu diketahui bahwa OWASP adalah organisasi nonprofit dengan komunitas yang bersifat terbuka sehingga memungkinkan kontribusi yang luas.

OWASP Top 10

OWASP Top 10 adalah panduan konvensional yang dapat digunakan oleh pemrogram dan tim keamanan aplikasi web untuk mengatasi kerentanan. Meskipun tidak mencakup semua risiko kerentanan, OWASP Top 10 dapat mengidentifikasi berbagai macam risiko keamanan yang sering terjadi dan harus segera diatasi oleh aplikasi web. OWASP Top 10 adalah standar keamanan dasar, terutama untuk aplikasi baru namun dapat juga digunakan pada aplikasi yang sudah cukup tua karena OWASP Top 10 menyediakan daftar checklist keamanan.

Selama bertahun-tahun, OWASP Top 10 telah beralih untuk mengatasi berbagai tren serangan siber. Pada tahun 2017, daftar ancaman keamanan web pada OWASP Top 10 adalah:

  • A01: 2017 Injection (Injeksi)
  • A02: 2017 Broken Authentication (Kelemahan Autentikasi)
  • A03:2017 Sensitive Data Exposure (Kebocoran Data Sensitif)
  • A04:2017 XML External Entities (XXE)
  • A05:2017 Broken Access Control (Kelemahan Access Control)
  • A06:2017 Security Misconfiguration (Kelemahan Konfigurasi Keamanan)
  • A07:2017 Cross-Site Scripting (XSS)
  • A08:2017 Insecure Deserialization (Deserialisasi yang tidak aman)
  • A09:2017 Using Components with Known Vulnerabilities (Penggunaan komponen yang tidak diketahui keamanannya)
  • A10:2017 Insufficient Logging & Monitoring (Pencatatan dan Pemantauan yang tidak memadai)

OWASP Top 10 adalah hasil publikasi terperinci dari penelitian yang relevan dan terkini serta didasarkan pada data yang terperinci di lebih dari 40 perusahaan mitra. Pada tahun 2021, daftar ancaman keamanan web pada OWASP Top 10 meliputi:

  • A01:2021 Broken Access Control (Kelemahan Access Control)
  • A02:2021 Cryptographic Failures (Kegagalan Kriptografi)
  • A03:2021 Injection (Injeksi)
  • A04:2021 Insecure Design (Kekurangan pada Desain)
  • A05:2021 Security Misconfiguration (Kelemahan Konfigurasi Keamanan)
  • A06:2021 Vulnerable and Outdated Components (Komponen yang rentan dan kadaluarsa)
  • A07:2021 Identification and Authentication Failures (Kegagalan Identifikasi dan Autentikasi)
  • A08:2021 Software and Data Integrity Failures (Kegagalan Perangkat Lunak dan Keutuhan Data)
  • A09:2021 Security Logging and Monitoring Failures (Kegagalan pada keamanan logging dan monitoring data)
  • A10:2021 Server-Side Request Forgery (SSRF)

Berikut adalah penjelasan yang lebih rinci dari masing-masing daftar ancaman keamanan web.

  • A01:2021 Broken Access Control (Kelemahan Access Control)

34 Common Weakness Enumerations (CWEs) memetakan Broken Access Control lebih banyak terjadi pada aplikasi dibandingkan kategori lainnya. Penyerang dan peretas dapat mengakses sebuah sistem ketika autentikasi dan pembatasan akses tidak diterapkan dengan baik. Dengan kata lain, Broken Access Control memungkinkan entri yang tidak sah yang dapat mengakibatkan kerentanan data dan file yang bersifat sensitif. Kontrol akses yang lemah terkait manajemen kredensial dapat dihindari dengan metode coding yang unik dan tindakan khusus seperti mematikan akun administratif dan penggunaan autentikasi multi-faktor.

  • A02:2021 Cryptographic Failures (Kegagalan Kriptografi)

Fokus disini adalah pada API (Application Programming Interface) yang menghasilkan koneksi dan layanan pihak ketiga. Dalam hal ini, kegagalan kriptografi seperti layanan pihak ketiga termasuk Google Maps dapat memanfaatkan data transmisi yang tidak aman sehingga mendorong peretas untuk melakukan serangan. Kegagalan kriptografi menekankan pada kebocoran data sensitif dan sistem yang telah terinfeksi oleh peretas. Aktivitas seperti enkripsi data, manajemen sistem yang memadai, tokenisasi, dan penonaktifan respon dapat mengurangi risiko kebocoran data pribadi.

  • A03:2021 Injection (Injeksi)

Injeksi mungkin terjadi apabila peretas memanipulasi kode yang tidak aman kemudian diinjeksikan kode buatan peretas tersebut kedalam program tertentu. Seringkali, karena program yang terinjeksi tidak dapat mengidentifikasi data terinjeksi tersebut, penyerang yang telah menginjeksi sistem dapat mengidentifikasi area yang aman serta informasi yang bersifat rahasia, karena sistem akan mengidentifikasi mereka sebagai pengguna yang terpercaya. Injeksi diantaranya adalah command injection (injeksi perintah), LDAP, CRLF, dan injeksi SQL. Pengujian OWASP dapat mengetahui kegagalan pada injeksi dan memberikan teknik perbaikan yang berlawanan.

  • A04:2021 Insecure Design (Kekurangan pada Desain)

Untuk desain yang tidak aman, OWASP menghadirkan daftar risiko terkait kekurangan desain. Insecure design merupakan pendekatan baru dalam survei 2021. Uji penetrasi telah terbukti dapat digunakan untuk mengatasi kelemahan ini. Perusahaan harus meningkatkan penggunaan pemodelan ancaman, pola dan desain yang aman serta menyediakan referensi arsitektur.

  • A05:2021 Security Misconfiguration (Kelemahan Konfigurasi Keamanan)

Security Misconfiguration sangat diperlukan dalam OWASP Top 10 karena mampu menunjukkan perubahan pada perangkat lunak yang dapat dikonfigurasi. Kategori lainnya seperti XML External Entities (XXE) termasuk kedalam kategori ini. Hampir sama dengan kesalahan konfigurasi pada access controls, bagian ini juga mengatasi kesalahan pada konfigurasi yang dapat menimbulkan risiko signifikan dengan memberikan akses kepada penyerang untuk masuk kedalam sistem. Untuk menyelesaikan permasalahan tersebut, pengujian dinamis dapat membantu audit untuk menemukan kesalahan konfigurasi keamanan pada aplikasi Anda.

  • A06:2021 Vulnerable and Outdated Components (Komponen yang rentan dan kadaluarsa)

Peretas dapat menyerang dan memanipulasi keamanan kode serta API Anda. Serangan ini dapat dilakukan karena komponen pihak ketiga dan ketergantungan yang tidak aman. Ketika serangan seperti itu terjadi, analisis komposisi perangkat lunak dapat mengatasi permasalahan tersebut dari dalam sistem. Analisis memungkinkan pemrogram atau audit untuk mengidentifikasi komponen yang tidak aman sebelum sistem mempublikasikan aplikasinya.

  • A07:2021 Identification and Authentication Failures (Kegagalan Identifikasi dan Autentikasi)

Pada survei sebelumnya, faktor ini termasuk kedalam kesalahan autentikasi dan penerapan autentifikasi serta manajemen sesi yang diimplementasikan secara tidak benar. Risiko yang signifikan dapat memungkinkan penyerang untuk menyalin peran dari identitas pengguna yang sah. Autentikasi multi-faktor merupakan pendekatan vital untuk mengurangi kelemahan pada autentikasi atau identifikasi dan kegagalan autentikasi. Penggunaan alat pemindai DAST dan SCA dapat mendeteksi dan mengatasi permasalahan yang mencakup kesalahan implementasi sebelum pemrogram mengaplikasikan kodenya.

  • A08:2021 Software and Data Integrity Failures (Kegagalan Perangkat Lunak dan Keutuhan Data)

Software and Data Integrity Failures merupakan kategori baru pada survei tahun 2021 yang menekankan pada keputusan terkait pembaruan perangkat lunak, CI/CD pipeline, dan data penting. Kategori ini merupakan salah satu dampak dari Common Vulnerability dan Exposures/Common Vulnerability Scoring Sistem (CVE/CVSS). Perlu diketahui bahwa deserialisasi yang tidak aman sejak survei tahun 2017 termasuk kedalam kategori ini.

Deserialisasi mengacu pada pengambilan data atau objek sebelumnya yang tertulis atau tersimpan pada disk dan dapat digunakan untuk menjalankan kode pada sistem Anda atau terbuka untuk serangan lebih lanjut. Objek ini dapat terstruktur atau biner melalui desain konvensional seperti JSON dan XML. Seringkali, kegagalan terjadi ketika penyerang memanfaatkan data yang tidak terpercaya (untrusted data) untuk mengeksploitasi aplikasi tertentu, memulai penolakan layanan untuk menjalankan kode yang tidak terduga (unpredicted code) untuk mengubah perilaku sistem. Meskipun deserialisasi merupakan tugas yang cukup luas untuk diselesaikan, uji penetrasi dan penggunaan tools keamanan dapat mengatasi serangan tersebut. Pada kebanyakan kasus, pengguna harus menolak sumber yang tidak dapat dipercaya dan objek serial untuk melindungi sistem dari risiko serangan siber.

  • A09:2021 Security Logging and Monitoring Failures (Kegagalan pada keamanan logging dan monitoring data)

Kegagalan pada login dan praktek pemantauan yang tidak memadai dapat memicu risiko kesalahan manusia. Secara global, pelaku pengancaman bergantung pada kurangnya pemantauan dan pemulihan yang lambat untuk melakukan proses mereka, tanpa disadari dan tanpa reaksi. Konteks login dengan kegagalan pada login, kontrol akses dan validasi data dari server dapat mengidentifikasi aktivitas yang mencurigakan didalam sistem. Uji penetrasi juga dapat mengidentifikasi area dengan login yang tidak memadai.

  • A10:2021 Server-Side Request Forgery (SSRF)

Merupakan entri baru yang masuk kedalam list dan berfokus pada pengujian. Server-Side Request Forgery berkaitan dengan cakupan pengujian diatas rata-rata terhadap potensi eksploitasi dan dampak. Pada level ini, skenario dimana tim keamanan menuntut relevansi data juga penting.

Secara umum, pembaruan rutin digunakan untuk mengatasi kebutuhan yang beragam terkait keamanan aplikasi yang dihadapi oleh perusahaan. Pembaruan secara rutin merupakan usaha untuk membangun sebuah kerangka kerja yang berkelanjutan yang dapat membantu perusahaan membangun infrastruktur penting untuk menghindari risiko keamanan yang dihadapi perusahaan. Tujuannya meliputi teknisi keamanan, pemrogram, penegak hukum, auditor dan bahkan manajer program. Tool uji penetrasi aplikasi mudah digunakan dan mengintegrasikan pendekatan yang luas mencakup uji pengembangan (developing test) dan pengujian fungsi (functional test).

OWASP, Sebuah Tool Uji Penetrasi?

Biasanya, uji penetrasi adalah pendekatan untuk menilai sistem komputer atau jaringan dengan mengidentifikasi kerentanan yang dapat dimanipulasi dan dieksploitasi oleh peretas atau orang yang jahat. Dengan meningkatnya serangan siber, uji penetrasi menunjukkan kemungkinan adanya kerentanan, sehingga membentuk elemen penting pada prosedur keamanan informasi lebih lanjut yang menjamin manajemen risiko, komponen administrasi, dan penyesuaian yang baik. Uji penetrasi menetapkan tingkat kerusakan yang dapat dimanfaatkan oleh penyerang. Selain itu, uji penetrasi dapat diterapkan pada semua area di sebuah sistem tanpa memandang umur dari sistem tersebut.

OWASP sebagai alat penetrasi merupakan aplikasi berbasis website yang dapat digunakan untuk uji keamanan. Lebih khusus lagi, uji penetrasi OWASP didesain khusus dan unik yang menekankan pada vektor serangan dan kerentanan dalam OWASP Top 10 dan seterusnya. Alat uji penetrasi diperlukan oleh perusahaan karena mampu menyaring administrasi sistem terkait berfungsi atau tidaknya alat pengukur keamanan perusahaan.

Uji penetrasi OWASP atau pen testing memberikan banyak manfaat untuk perusahaan, terutama perusahaan yang mengembangkan aplikasi web sendiri atau melalui pihak ketiga. Lebih khusus lagi, uji penetrasi OWASP membantu perusahaan mengidentifikasi dan mengatasi kerentanan sebelum terjadi kerusakan. Uji penetrasi OWASP dapat membantu mengurangi pelanggaran data, meningkatkan pengembangan perangkat lunak dan metodologi jaminan kualitas. Alat ini membantu perusahaan membuat keputusan berdasarkan informasi yang berorientasi masa depan dan aman.

Lalu, kapan perusahaan harus melakukan uji penetrasi OWASP? Perusahaan dapat melakukan uji penetrasi minimal setiap tahun. Bergantung pada frekuensi pembaruan perangkat lunak perusahaan, uji penetrasi harus sejalan dengan perubahan signifikan yang dilakukan oleh perusahaan pada sistemnya. Selain itu, peretas yang bersertifikasi dan beradab melakukan uji penetrasi OWASP. Mereka mengetahui teknik pengembangan terbaru dan ancaman keamanan yang menyertainya. Uji penetrasi OWASP memerlukan durasi waktu tertentu bergantung pada berbagai faktor antara lain tipe aplikasi, ukuran jaringan, jumlah peran pengguna, jenis yang dihadapi/nature of facing (internal atau eksternal).

Our Clients

Tokopedia

Aqua

vivo

blibli

Danamon

Bank Indonesia

Grab

DjArum

Maybelline

Datsun