0Pricing
Cyber Security Academy · Pelajaran

Teknik Peninjauan Kode yang Aman

Identifikasi masalah keamanan saat meninjau kode: aliran data, batas kepercayaan, API berbahaya, dan kontrol yang tidak ada.

Teknik Peninjauan Kode yang Aman adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Tujuan Tinjauan Kode Aman

Tinjauan kode aman mengidentifikasi kerentanan keamanan dalam kode sumber sebelum penerapan. Berbeda dari tinjauan kode fungsional, tinjauan ini berfokus pada batas kepercayaan, alur data, API berbahaya, kontrol yang hilang, dan kesalahan logika keamanan—bukan pada kebenaran fungsi atau gaya penulisan.

Tinjauan Manual vs Otomatis

Alat SAST otomatis seperti Semgrep, SonarQube, dan CodeQL dapat menemukan pola yang dikenal dengan cepat, tetapi dapat melewatkan kelemahan logika bisnis, kerentanan kompleks yang melibatkan banyak komponen, dan masalah yang bergantung pada konteks. Tinjauan manual menemukan hal-hal yang terlewatkan oleh otomatisasi. Keduanya diperlukan.

Analisis Titik Masuk

Mulailah tinjauan keamanan dengan memetakan semua titik masuk: titik akhir HTTP, penangan antrean pesan, unggahan berkas, tugas terjadwal, webhook, dan argumen CLI. Setiap titik masuk yang menerima data eksternal merupakan titik injeksi potensial yang memerlukan pemeriksaan saksama.

Pelacakan Alur Data

Lacak data yang dikendalikan pengguna dari titik masuknya melalui aplikasi hingga penggunaan akhirnya. Apakah data tersebut mencapai kueri basis data, perintah shell, templat HTML, atau panggilan antarmuka pemrograman aplikasi? Ikuti alur data dan periksa setiap langkah transformasi serta sanitasi.

Analisis Batas Kepercayaan

Keputusan keamanan terjadi di batas kepercayaan, yaitu saat data berpindah dari konteks dengan tingkat kepercayaan lebih rendah, seperti permintaan HTTP, ke konteks dengan tingkat kepercayaan lebih tinggi, seperti basis data atau OS. Setiap penyeberangan batas kepercayaan harus memvalidasi, meny||||anitize, atau mengotorisasi data tersebut.

Daftar Periksa API Berbahaya

Tandai penggunaan eval(), exec(), system(), shell_exec(), innerHTML, dangerouslySetInnerHTML, deserialize(), pickle.loads(), Runtime.exec(), ProcessBuilder, pengurai XML yang ekspansi entitasnya tidak dinonaktifkan, serta primitif kriptografis yang digunakan langsung alih-alih melalui API tingkat tinggi.

Tinjauan Autentikasi dan Otorisasi

Periksa hal-hal berikut: Apakah setiap titik akhir sensitif dilindungi autentikasi? Apakah otorisasi diperiksa di sisi server untuk setiap tindakan? Dapatkah pengguna mengakses data pengguna lain dengan mengubah parameter ID (IDOR)? Apakah operasi sensitif dilindungi dari CSRF?

Tinjauan Penanganan Kesalahan

Cari blok catch yang mengabaikan pengecualian secara diam-diam. Pastikan pesan kesalahan yang ditampilkan kepada pengguna tidak mengungkapkan jalur internal, jejak tumpukan, atau struktur basis data. Pastikan pengecualian keamanan (AuthenticationException) dicatat dan tidak diabaikan secara diam-diam.

Tinjauan Kriptografi

Tandai penggunaan MD5 atau SHA-1 untuk hashing kata sandi; gunakan bcrypt atau Argon2. Tandai juga kunci simetris atau IV yang ditulis langsung dalam kode, enkripsi mode ECB; gunakan GCM atau CBC dengan HMAC, implementasi kriptografi khusus, serta pembangkit bilangan acak yang tidak aman secara kriptografis.

Tinjauan Dependensi dan Konfigurasi

Tinjau package.json dan pom.xml untuk menemukan dependensi yang kedaluwarsa. Periksa konfigurasi aplikasi untuk mode debug yang aktif di lingkungan produksi, halaman kesalahan dengan detail berlebihan, kredensial administrator dalam berkas konfigurasi, dan header keamanan yang hilang, seperti HSTS, CSP, dan X-Frame-Options.

Peralatan: Semgrep dan CodeQL

Aturan Semgrep mencocokkan pola sintaks dengan kesadaran semantik. Tulis aturan khusus untuk pola yang spesifik pada basis kode Anda. CodeQL memperlakukan kode sebagai data—tulis kueri atas AST untuk menemukan alur data dari sumber ke tujuan di seluruh berkas dan pemanggilan fungsi.

Uji Pemahaman

Apa itu kerentanan IDOR dan di mana Anda akan mencarinya dalam tinjauan kode?

Ringkasan

Tinjauan kode aman yang efektif menggabungkan pemetaan titik masuk, pelacakan alur data, analisis batas kepercayaan, deteksi API berbahaya, dan alat SAST otomatis. Pendekatan ini menemukan masalah keamanan yang terlewatkan oleh tinjauan fungsional, terutama kelemahan logika bisnis dan celah otorisasi yang halus.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Teknik Peninjauan Kode yang Aman” gratis?

Ya — teks lengkap “Teknik Peninjauan Kode yang Aman” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Teknik Peninjauan Kode yang Aman”?

Identifikasi masalah keamanan saat meninjau kode: aliran data, batas kepercayaan, API berbahaya, dan kontrol yang tidak ada. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Teknik Peninjauan Kode yang Aman” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Validasi Input dan Pengodean Output
  2. Manajemen Dependensi yang Aman
  3. OWASP ASVS: Standar Verifikasi Keamanan Aplikasi
  4. Teknik Peninjauan Kode yang Aman
← Kembali ke Cyber Security Academy