Aplikasi yang baik harus aman. Section ini membahas prinsip secure coding, manajemen secret, kriptografi dasar, dan celah umum yang harus dihindari.

# Secure Coding Principles

Pelajari empat prinsip dasar pengkodean aman: least privilege, defense in depth, fail secure, dan jangan percaya input.

Buka →
# Input Validation

Pelajari validasi input di boundary sistem dengan pendekatan whitelist, parsing tipe-aman, serta pencegahan SQL injection dan command injection.

Buka →
# Output Encoding

Pelajari encoding output untuk HTML, URL, dan JSON untuk mencegah serangan cross-site scripting (XSS) saat data dikirim ke lapisan presentasi.

Buka →
# Secrets Management

Pelajari pengelolaan rahasia aplikasi dengan environment variable, Vault, dan KMS, serta mengapa hardcoding secret di source code adalah praktik berbahaya.

Buka →
# Cryptography Fundamentals

Pelajari dasar-dasar kriptografi: algoritma simetris (AES) vs asimetris (RSA), fungsi hash (SHA-256), HMAC, serta key derivation dengan PBKDF2.

Buka →
# Secure Randomness

Pelajari perbedaan SecureRandom dengan kotlin.random.Random, generasi UUID yang aman, serta cara membangkitkan token dengan kualitas kriptografis.

Buka →
# Password Hashing

Pelajari hashing password dengan PBKDF2, bcrypt, scrypt, dan Argon2—termasuk salt, work factor, serta mengapa MD5 dan SHA-1 tidak boleh dipakai untuk password.

Buka →
# Message Digests dan Signatures

Pelajari SHA-256 message digest untuk verifikasi integritas, serta tanda tangan digital RSA dan ECDSA untuk memverifikasi keaslian data.

Buka →
# TLS dan Certificate Validation

Pelajari handshake TLS, validasi rantai sertifikat X.509, certificate pinning, serta jebakan umum yang sering membahayakan implementasi TLS di aplikasi.

Buka →
# Deserialization Security

Pelajari mengapa Java Serializable berbahaya saat dipakai pada sumber tidak terpercaya, serta cara memilih format dan parser yang aman dengan validasi eksplisit.

Buka →
# Path Traversal

Pelajari serangan path traversal dengan payload seperti ../etc/passwd, serta tiga lapis mitigasi: normalize+startsWith, whitelist nama file, dan validasi karakter.

Buka →
# Dependency Vulnerability Management

Pelajari manajemen kerentanan dependency dengan basis data CVE, OWASP Dependency-Check, Snyk, dan bot Renovate untuk menjaga rantai suplai tetap aman.

Buka →
# Secure Kotlin Applications

Rangkuman praktik keamanan Kotlin: defense in depth checklist, null safety, immutability, dan sealed class untuk state machine yang aman.

Buka →