Back to IF5161 Keamanan Data dan Perangkat Lunak

Summary OWASP Top 10

Questions/Cues

  • Ada berapa edisi OWASP Top 10 dan rentang tahunnya?
  • Bagaimana kriteria pemilihan & pengurutan berevolusi (konsensus → data MITRE → estimasi risiko → incidence rate + survei)?
  • Apa statistik data tiap edisi (jumlah aplikasi, CWE, CVE)?
  • Berapa CWE & incidence rate per kategori pada edisi modern (2021 & 2025)?
  • Bagaimana pemetaan satu konsep risiko dari 2003 sampai 2025 (bertahan / digabung / dipecah / dihapus / kembali)?
  • Kategori apa yang selalu ada, yang datang lalu pergi, dan yang baru muncul?

Reference Points

Konteks: 8 Edisi dalam 22 Tahun

OWASP Top 10 adalah standard awareness document — konsensus tentang risiko keamanan aplikasi web paling kritis, bukan standar sertifikasi (untuk itu ada OWASP ASVS). Delapan edisi:

EdisiRilisJudul dokumenCatatan
12003 (Jan)The Ten Most Critical Web Application Security VulnerabilitiesEdisi pertama; cikal-bakal standar
22004 (Jan)… 2004 UpdateSelaras OASIS WAS-XML; +DoS
32007… 2007 UpdateDitulis ulang; fokus vulnerability saja
42010The Ten Most Critical Web Application Security RisksJudul berubah: Risiko, bukan kelemahan
52013OWASP Top 10 – 2013Ulang tahun ke-10 proyek
62017OWASP Top 10 - 2017Tiap risiko ditulis testable
72021OWASP Top 10:2021Fokus root cause; format situs modern
82025OWASP Top 10:2025Rilis ke-8 (awalnya Release Candidate)

Evolusi Kriteria & Metodologi

EdisiBasis pemilihanCara memilih 10Cara mengurutkan
2003Konsensus puluhan pakarKategori yang cacatnya berkaitan erat, se-countermeasure, sering munculTidak diurutkan (“mustahil menentukan risiko agregat terbesar”)
2004Konsensus + kosakata OASIS WAS ThesaurusReprofiling memakai WAS TC sebagai referensiTidak diurutkan
2007Data MITRE Vulnerability Trends 2006 (CVE)Distilasi 10 teratas dari data mentah MITREPeringkat mentah MITRE (beberapa kategori digeser ke root cause)
2010Data kontributor + estimasi risiko8 dari data + tambah/ganti 2 itemEstimasi RISIKO, bukan sekadar frekuensi: Exploitability × Prevalence × Detectability × Impact (skala 1–3, konsensus)
20138 dataset / 7 firma, >500.000 kerentananPrevalence data + konsensusPrevalence + estimasi exploitability / detectability / impact
201740+ pengiriman data + survei industri 500+ orang8 dari data, 2 dari survei komunitas (A8, A10)Prevalence data + estimasi konsensus exploitability / detectability / impact
2021>500.000 aplikasi; ~30 → ~400 CWE; 125k CVE (NVD)8 dari data, 2 dari community survey (A04, A10)Incidence rate (persen populasi aplikasi yang punya ≥1 instance CWE) + skor exploit/impact tertimbang CVSS
20252,8 juta+ aplikasi, 13 organisasi; 175k CVE8 dari data, 2 dari community survey (A03, A10)Incidence rate + exploit/impact tertimbang prevalensi versi CVSS

Tiga pergeseran besar:

  1. 2010 — dari frekuensi ke risiko. Sebelumnya urutan ≈ seberapa sering kelemahan dilaporkan; sejak 2010, dampak + kemudahan eksploitasi ikut menimbang → kelemahan langka tetapi berdampak besar bisa masuk.
  2. 2017 — hibrida data + survei. 8 kategori dari data, 2 dari survei komunitas untuk menangkap risiko yang belum bisa diuji alat otomatis (mis. desain, rantai pasok).
  3. 2021 — incidence rate. Mengukur “berapa persen aplikasi punya masalah ini” alih-alih frequency (jumlah temuan mentah) → menghindari bias jenis kerentanan bervolume tinggi dari pemindai.

Statistik Data & CWE per Edisi

EdisiAplikasi dianalisisCWE ditelaahCVE dipetakanKontributor data
2003—kategori ad-hoc—konsensus komunitas
2004—selaras WAS Thesaurus—konsensus komunitas
2007data MITRE (ratusan CVE 2006)pemetaan CWE per bagianCVE 2006 (MITRE)MITRE
2010——CVE (MITRE)Aspect, MITRE, Softtek, WhiteHat
2013ribuan aplikasi——8 dataset / 7 firma (>500.000 kerentanan)
2017>100.000 aplikasi & API——40+ firma + survei 500+ orang
2021>500.000~400 (naik dari ~30)~125.000 rekaman (NVD)banyak kontributor
2025>2.800.000589 (248 di dalam 10 kategori)~175.000; 643 CWE unik di CVE13 organisasi

Rincian CWE & Incidence Rate — Edisi Modern

OWASP Top 10:2025 (CVSS: 160k v2, 156k v3, 6k v4):

#KategoriCWEIncidence rate maksCVETotal kemunculan
A01Broken Access Control4020,15%~32.654~1,84 jt
A02Security Misconfiguration1627,70%~1.375~719 rb
A03Software Supply Chain Failures65,72% (rata-rata)—~215 rb
A04Cryptographic Failures3213,77%~2.185~1,67 jt
A05Injection3713,77%~62.445 (tertinggi)~1,4 jt
A06Insecure Design3922,18%~7.647—
A07Authentication Failures3615,80%~7.147—
A08Software or Data Integrity Failures148,98%~3.331impact tertimbang 4,79
A09Security Logging and Alerting Failures511,33%~723—
A10Mishandling of Exceptional Conditions2420,67%~3.416—

OWASP Top 10:2021 (perbandingan):

#KategoriCWEIncidence rate maksCVE
A01Broken Access Control3455,97%~19.013
A02Cryptographic Failures2946,44%~3.075
A03Injection3319,09%~32.078
A04Insecure Design4024,19%~2.691
A05Security Misconfiguration20—~789
A06Vulnerable and Outdated Components38,77% (rata-rata)— (tanpa CVE → bobot default 5,0)
A07Identification and Authentication Failures2214,84%~3.897
A08Software and Data Integrity Failures1016,67%impact tertimbang 7,94
A09Security Logging and Monitoring Failures419,23%~242
A10Server-Side Request Forgery (SSRF)12,72%~385

Cara membaca tabel. CWE = jumlah Common Weakness Enumeration yang dikelompokkan ke kategori itu. Incidence rate = persentase aplikasi teruji yang punya ≥1 instance — mengukur seberapa umum, bukan seberapa parah. CVE = jumlah kerentanan nyata terdaftar yang dipetakan ke CWE kategori itu; dari sini dihitung skor exploit & impact.

Peta Tahun-ke-Tahun (Lineage Konsep Risiko)

Kode sel: Ax = nomor kategori di edisi itu · baru = pertama muncul · → Kat = dilebur ke kategori lain · ✗ = dihapus · (Ax) = jadi bagian kategori Ax tanpa entri sendiri · — = tidak ada.

Konsep risiko20032004200720102013201720212025
Broken Access Control (otorisasi umum)A2A2A4¹A4A4A5²A01A01³
Missing Function / URL Level Access Control(A2)(A2)A10¹A8A7→ A5(A01)(A01)
Server-Side Request Forgery (SSRF)——————A10 baru→ A01
Cross-Site Request Forgery (CSRF)——A5 baruA5A8✗ (5% aplikasi)(terkait A01)(terkait A01)
Injection (SQL / OS / LDAP / Command)A6A6A2A1A1A1A3⁴A05
Cross-Site Scripting (XSS)A4A4A1A2A3A7→ A3 Injection(A05)
XML External Entities (XXE)—————A4 baru→ A05 Sec. Misconfig(A02)
Authentication & Session ManagementA3A3A7A3A2A2A07⁵A07⁶
Cryptographic Storage / Sensitive DataA8A8A8A7A6⁷A3A02⁸A04
Transport Layer / Insecure Communications(config)(config)A9 baruA9→ A6(A3)(A02)(A04)
Security MisconfigurationA10A10✗ (rank MITRE)A6⁹A5A6A05¹⁰A02
Vulnerable Components → Supply Chain(config)(config)(config)(A6)A9 baruA9A06A03¹¹
Software & Data Integrity / Insecure Deserialization—————A8 baru¹²A08A08
Logging / Monitoring / Alerting(dibahas)¹³————A10 baruA09A09⁶
Insecure Design——————A04 baruA06
Improper Error Handling / Exceptional ConditionsA7A7A6¹⁴✗¹⁵———A10 baru¹⁶
Unvalidated Input / ParametersA1A1✗¹⁷—————
Buffer OverflowsA5A5✗ (isu C/C++)—————
Malicious File Execution (RFI)——A3 baru✗¹⁸————
Unvalidated Redirects and Forwards———A10 baruA10✗ (kalah dari XXE)——
Denial of Service(dibahas)¹³A9 baru✗ (rank MITRE)—————
Remote Administration FlawsA9→ A2 BAC——————

Catatan sel: ¹ 2007 memecah Broken Access Control (A2:2004) menjadi A4 Insecure Direct Object Reference + A10 Failure to Restrict URL Access. ² 2017 menyatukan kembali IDOR + Missing Function Level Access Control → A5 Broken Access Control. ³ 2025: A01 juga menyerap SSRF (CWE-918) dan mencakup CSRF. ⁴ 2021: A3 Injection menyerap XSS. ⁵ 2021: ganti nama Broken Authentication → Identification and Authentication Failures. ⁶ 2025: A07 Authentication Failures; A09 Security Logging and Alerting Failures (ganti nama dari Monitoring). ⁷ 2013: A6 Sensitive Data Exposure = merge A7 Insecure Cryptographic Storage + A9 Insufficient Transport Layer Protection (2010) + risiko data sisi browser. ⁸ 2021: ganti nama Sensitive Data Exposure → Cryptographic Failures (fokus akar masalah). ⁹ 2010: Security Misconfiguration kembali (adalah A10:2004, dihapus 2007). ¹⁰ 2021: A05 menyerap XXE. ¹¹ 2025: Vulnerable and Outdated Components diperluas besar menjadi Software Supply Chain Failures (proses build/distribusi/update). ¹² 2017: A8 Insecure Deserialization (dari survei) → 2021 dilebur ke A08 Software and Data Integrity Failures. ¹³ 2003 “Conclusions” menyebut Denial of Service dan Accountability Problems and Weak Logging sebagai kandidat yang dipertimbangkan tetapi tak masuk. ¹⁴ 2007: A6 Information Leakage and Improper Error Handling. ¹⁵ 2010: dihapus — “dampak membocorkan stack trace biasanya minimal”; diserap ke Security Misconfiguration. ¹⁶ 2025: A10 Mishandling of Exceptional Conditions (baru) menggantikan payung “poor code quality” yang kabur — semangatnya kembali ke A7:2003/2004. ¹⁷ 2007: dihapus — “validasi input kini menjadi bagian dari solusi” banyak item lain. ¹⁸ 2010: dihapus — PHP kini dikirim dengan konfigurasi default lebih aman.

flowchart TD
    E1["2003-2004<br/>Konsensus komunitas<br/>(tanpa data, daftar tak diurutkan)"]
    E2["2007<br/>Distilasi data MITRE CVE 2006<br/>(fokus vulnerability saja)"]
    E3["2010<br/>Peringkat = ESTIMASI RISIKO<br/>Exploitability x Prevalence x Detectability x Impact"]
    E4["2013<br/>Data prevalensi<br/>8 dataset / 7 firma"]
    E5["2017<br/>8 kategori dari data + 2 dari community survey<br/>ditulis testable"]
    E6["2021 &amp; 2025<br/>Incidence rate + exploit/impact CVSS<br/>8 data + 2 survey; 0,5jt lalu 2,8jt aplikasi"]
    E1 --> E2 --> E3 --> E4 --> E5 --> E6

Kategori: Bertahan, Datang-Pergi, Kembali

Selalu ada (8/8 edisi, dalam bentuk apa pun): Broken Access Control · Injection · Authentication & Session Management · Cryptographic/Sensitive Data · Security Misconfiguration (kecuali absen 2007) · XSS (2003–2017 sendiri, lalu melebur ke Injection).

Muncul belakangan & bertahan: Vulnerable Components (2013→) yang jadi Supply Chain (2025) · Insecure Deserialization (2017) → Software & Data Integrity Failures (2021→) · Logging/Monitoring/Alerting (2017→) · Insecure Design (2021→) · SSRF (2021, lalu diserap 2025).

Datang lalu pergi: Unvalidated Input (2003–2004) · Buffer Overflows (2003–2004) · Malicious File Execution/RFI (2007) · Unvalidated Redirects and Forwards (2010–2013) · Denial of Service (2004) · Remote Administration Flaws (2003) · CSRF (2007–2013) · XXE (2017).

Kembali setelah dihapus: Security Misconfiguration (A10:2004 → dihapus 2007 → A6:2010) · semangat Error Handling (A7:2003/2004 → dihapus 2010 → A10:2025 Mishandling of Exceptional Conditions).

Nomor #1 tiap edisi (bermakna sebagai peringkat risiko baru sejak 2007):

200720102013201720212025
XSSInjectionInjectionInjectionBroken Access ControlBroken Access Control

Summary

OWASP Top 10 telah terbit 8 kali (2003–2025). Kriteria pemilihannya berevolusi dari konsensus pakar murni (2003–2004, daftar bahkan tak diurutkan), ke distilasi data MITRE/CVE (2007), ke estimasi risiko Exploitability × Prevalence × Detectability × Impact (2010), ke hibrida 8 data + 2 community survey (2017), lalu ke metrik incidence rate + exploit/impact tertimbang CVSS (2021 & 2025). Skala datanya melonjak: dari kategori ad-hoc, ke ~100.000 aplikasi (2017), 500.000 dan ~400 CWE (2021), hingga 2,8 juta aplikasi, 589 CWE, dan ~175.000 CVE (2025). Enam konsep hadir di semua edisi (kontrol akses, injeksi, autentikasi, kripto, misconfig, XSS), sementara banyak kategori datang lalu pergi (Buffer Overflows, DoS, RFI, Unvalidated Redirects, XXE, CSRF) atau muncul belakangan (Insecure Design, Supply Chain, Logging/Alerting, SSRF). Broken Access Control — konsep tertua (A2:2003) yang sempat dipecah lalu disatukan — kini menjadi #1 pada 2021 dan 2025. Rincian tiap edisi: OWASP Top 10 2003 … OWASP Top 10 2025.