Recraftory

OWASP

OWASP (Open Worldwide Application Security Project)

  • OWASP adalah organisasi nirlaba internasional
  • Fokus pada peningkatan keamanan aplikasi web
  • Menyediakan dokumentasi, tools, dan standar keamanan yang terbuka (open)
  • Digunakan secara luas oleh developer, security engineer, dan auditor

Penjelasan: OWASP tidak menjual produk keamanan. Tujuan utamanya adalah edukasi dan awareness. Salah satu kontribusi OWASP yang paling terkenal adalah OWASP Top 10, yaitu daftar 10 risiko keamanan paling kritis pada aplikasi web.

OWASP Top 10

  • Daftar ancaman keamanan aplikasi web paling umum dan berbahaya
  • Diperbarui secara berkala berdasarkan data nyata
  • Digunakan sebagai baseline (standar dasar) keamanan web application

Penjelasan: OWASP Top 10 bukan daftar lengkap semua serangan, tetapi fokus pada risiko yang paling sering terjadi dan berdampak besar. Cocok untuk developer pemula hingga profesional sebagai panduan awal security.

A01: Broken Access Control

  • User bisa mengakses data atau fitur yang tidak seharusnya
  • Contoh: user biasa bisa mengakses halaman admin

Penjelasan: Masalah ini terjadi karena pengecekan hak akses tidak konsisten atau hanya dilakukan di frontend. Semua validasi akses harus dilakukan di server.

A02: Cryptographic Failures

  • Kesalahan dalam enkripsi atau perlindungan data sensitif
  • Contoh: password disimpan tanpa hashing

Penjelasan: Data sensitif seperti password, token, dan informasi pribadi harus dienkripsi dan dilindungi dengan algoritma yang aman.

A03: Injection

  • Data berbahaya disisipkan ke query atau command
  • Contoh: SQL Injection, Command Injection

Penjelasan: Injection terjadi karena input user langsung digunakan tanpa validasi atau sanitasi. Gunakan parameterized query dan ORM.

A04: Insecure Design

  • Desain aplikasi sudah lemah sejak awal
  • Tidak mempertimbangkan skenario serangan

Penjelasan: Keamanan bukan hanya soal code, tapi juga arsitektur dan alur aplikasi. Threat modeling sangat penting pada tahap desain.

A05: Security Misconfiguration

  • Konfigurasi server atau aplikasi tidak aman
  • Contoh: error detail ditampilkan ke user, default credential

Penjelasan: Banyak serangan terjadi bukan karena bug code, tapi karena konfigurasi yang lalai atau lupa diperketat.

A06: Vulnerable and Outdated Components

  • Menggunakan library atau dependency yang sudah rentan
  • Tidak pernah update package

Penjelasan: Dependency pihak ketiga adalah bagian dari aplikasi. Jika library rentan, aplikasi ikut rentan.

A07: Identification and Authentication Failures

  • Proses login dan session tidak aman
  • Contoh: session tidak expired, brute force login

Penjelasan: Authentication yang lemah memungkinkan attacker menyamar sebagai user lain.

A08: Software and Data Integrity Failures

  • Aplikasi menjalankan code atau data yang tidak dipercaya
  • Contoh: update tanpa verifikasi

Penjelasan: Supply chain attack termasuk dalam kategori ini. Pastikan integritas data dan code selalu diverifikasi.

A09: Security Logging and Monitoring Failures

  • Tidak ada log atau monitoring keamanan
  • Serangan tidak terdeteksi

Penjelasan: Tanpa logging yang baik, serangan bisa terjadi berulang tanpa disadari.

A10: Server-Side Request Forgery (SSRF)

  • Server dipaksa mengakses resource internal
  • Contoh: attacker meminta server mengakses localhost atau internal API

Penjelasan: SSRF berbahaya karena bisa membuka akses ke sistem internal yang seharusnya tidak bisa diakses dari luar.

Ringkasan

  • OWASP Top 10 adalah panduan fundamental keamanan web
  • Tidak fokus pada tools, tapi pola risiko
  • Wajib dipahami oleh semua web developer
  • Cocok sebagai checklist awal sebelum aplikasi dirilis