Aplikasi yang baik harus aman. Section ini membahas prinsip secure coding, manajemen secret, kriptografi dasar, dan celah umum yang harus dihindari.
Pelajari empat prinsip dasar pengkodean aman: least privilege, defense in depth, fail secure, dan jangan percaya input.
Buka → # Input ValidationPelajari validasi input di boundary sistem dengan pendekatan whitelist, parsing tipe-aman, serta pencegahan SQL injection dan command injection.
Buka → # Output EncodingPelajari encoding output untuk HTML, URL, dan JSON untuk mencegah serangan cross-site scripting (XSS) saat data dikirim ke lapisan presentasi.
Buka → # Secrets ManagementPelajari pengelolaan rahasia aplikasi dengan environment variable, Vault, dan KMS, serta mengapa hardcoding secret di source code adalah praktik berbahaya.
Buka → # Cryptography FundamentalsPelajari dasar-dasar kriptografi: algoritma simetris (AES) vs asimetris (RSA), fungsi hash (SHA-256), HMAC, serta key derivation dengan PBKDF2.
Buka → # Secure RandomnessPelajari perbedaan SecureRandom dengan kotlin.random.Random, generasi UUID yang aman, serta cara membangkitkan token dengan kualitas kriptografis.
Buka → # Password HashingPelajari 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 SignaturesPelajari SHA-256 message digest untuk verifikasi integritas, serta tanda tangan digital RSA dan ECDSA untuk memverifikasi keaslian data.
Buka → # TLS dan Certificate ValidationPelajari handshake TLS, validasi rantai sertifikat X.509, certificate pinning, serta jebakan umum yang sering membahayakan implementasi TLS di aplikasi.
Buka → # Deserialization SecurityPelajari mengapa Java Serializable berbahaya saat dipakai pada sumber tidak terpercaya, serta cara memilih format dan parser yang aman dengan validasi eksplisit.
Buka → # Path TraversalPelajari serangan path traversal dengan payload seperti ../etc/passwd, serta tiga lapis mitigasi: normalize+startsWith, whitelist nama file, dan validasi karakter.
Buka → # Dependency Vulnerability ManagementPelajari manajemen kerentanan dependency dengan basis data CVE, OWASP Dependency-Check, Snyk, dan bot Renovate untuk menjaga rantai suplai tetap aman.
Buka → # Secure Kotlin ApplicationsRangkuman praktik keamanan Kotlin: defense in depth checklist, null safety, immutability, dan sealed class untuk state machine yang aman.
Buka →