Kerangka Materi

Hari 1

Keamanan IT dan Pemrograman Aman

  • Sifat keamanan
  • Istilah-istilah terkait keamanan IT
  • Definisi risiko
  • Aspek-aspek keamanan IT yang berbeda
  • Persyaratan dari area aplikasi yang berbeda
  • Keamanan IT vs. pemrograman aman
  • Dari kerentanan ke botnet dan cybercrime
    • Sifat dari kerentanan keamanan
    • Alasan kesulitan
    • Dari komputer yang terinfeksi hingga serangan berbasis target
  • Klasifikasi kerentanan keamanan
    • Taksonomi Landwehr
    • Tujuh Kerajaan Berbahaya
    • OWASP Top Ten 2013
    • Perbandingan OWASP Top Ten 2003 – 2013

Pengenalan ke Microsoft® Security Development Lifecycle (SDL)

  • Agenda
  • Aplikasi yang sedang diserang...
    • Evolusi Cybercrime
    • Serangan fokus pada aplikasi
    • Sebagian besar kerentanan berada di aplikasi ISV kecil
  • Asal-usul Microsoft SDL...
    • Timeline Keamanan di Microsoft...
    • Aplikasi mana yang harus mengikuti SDL?
  • Microsoft Security Development Lifecycle (SDL)
    • Microsoft Security Development Lifecycle (SDL)
    • Persyaratan Pra-SDL: Pelatihan Keamanan
    • Tahap Satu: Persyaratan
    • Tahap Dua: Desain
    • Tahap Tiga: Implementasi
    • Tahap Empat: Verifikasi
    • Tahap Lima: Rilis – Rencana Respon
    • Tahap Lima: Rilis – Ulasan Keamanan Akhir
    • Tahap Lima: Rilis – Arsip
    • Persyaratan Pasca-SDL: Respon
    • Pedoman SDL untuk Aplikasi LOB
    • Pedoman SDL untuk Metodologi Agile
    • Pengembangan Perangkat Lunak yang Aman Memerlukan Peningkatan Proses

Prinsip-prinsip Desain Aman

  • Permukaan serangan
    • Pengurangan permukaan serangan
    • Permukaan serangan – contoh
    • Analisis permukaan serangan
    • Pengurangan permukaan serangan – contoh
  • Privasi
    • Privasi
    • Memahami Perilaku dan Kekhawatiran Aplikasi
  • Pertahanan Bertingkat
    • Prinsip Inti SDL: Pertahanan Bertingkat
    • Pertahanan bertingkat – contoh
  • Prinsip Hak Akses Minimum
    • Hak akses minimum – contoh
  • Pengaturan Aman Default
    • Pengaturan aman default – contoh

Prinsip-prinsip Implementasi Aman

  • Agenda
  • Microsoft Security Development Lifecycle (SDL)
  • Dasar-dasar Buffer Overflow
    • Prosesor Intel 80x86 – register utama
    • Tatanan alamat memori
    • Mekanisme pemanggilan fungsi dalam C/C++ pada x86
    • Variabel lokal dan frame tumpukan
    • Stack overflow
      • Buffer overflow di stack
      • Latihan – pengenalan
      • Latihan BOFIntro
      • Latihan BOFIntro – menentukan tatanan stack
      • Latihan BOFIntro – eksploitasi sederhana
  • Validasi Input
    • Konsep validasi input
    • Masalah bilangan bulat
      • Representasi bilangan bulat negatif
      • Integer overflow
      • Arithmetic overflow – tebak outputnya!
      • Latihan IntOverflow
      • Apa nilai Math.Abs(int.MinValue)?
    • Mitigasi masalah bilangan bulat
      • Mitigasi masalah bilangan bulat
      • Menghindari overflow aritmatika – penjumlahan
      • Menghindari overflow aritmatika – perkalian
      • Mendeteksi overflow dengan kata kunci checked di C#
      • Latihan – Menggunakan kata kunci checked di C#
      • Pengecualian yang dipicu oleh overflow di C#
    • Studi Kasus – Integer Overflow di .NET
      • Kerentanan integer overflow dunia nyata
      • Eksploitasi kerentanan integer overflow
    • Kerentanan Path Traversal
      • Mitigasi path traversal

Hari 2

Prinsip-prinsip Implementasi Aman

  • Injection
    • Metode serangan SQL Injection khas
    • Blind dan time-based SQL injection
    • Metode perlindungan SQL Injection
    • Command injection
  • Autentikasi Rusak - Manajemen Kata Sandi
    • Latihan – Kelemahan kata sandi yang dihash
    • Manajemen dan penyimpanan kata sandi
    • Algoritma hash khusus untuk penyimpanan kata sandi
  • Cross-Site Scripting (XSS)
    • Cross-Site Scripting (XSS)
    • CSS injection
    • Eksploitasi: injeksi melalui tag HTML lainnya
    • Pencegahan XSS
  • Kontrol Akses Fungsi Level yang Hilang
    • Penyaringan unggah file
  • Kriptografi Praktis
    • Menyediakan kerahasiaan dengan kriptografi simetris
    • Algoritma enkripsi simetris
    • Cipher blok – mode operasi
    • Hash atau message digest
    • Algoritma hash
    • Message Authentication Code (MAC)
    • Menyediakan integritas dan autentikasi dengan kunci simetris
    • Menyediakan kerahasiaan dengan enkripsi publik-kunci
    • Aturan praktis – kepemilikan kunci pribadi
    • Kesalahan umum dalam manajemen kata sandi
    • Latihan – Kata sandi yang dicantumkan secara hard-coded
    • Kesimpulan

Prinsip-prinsip Verifikasi Aman

  • Pengujian fungsional vs. pengujian keamanan
  • Kerentanan keamanan
  • Prioritasi
  • Pengujian keamanan dalam SDLC
  • Langkah-langkah perencanaan tes (analisis risiko)
  • Penentuan cakupan dan pengumpulan informasi
    • Pemangku kepentingan
    • Aset
    • Permukaan serangan
    • Tujuan keamanan untuk pengujian
  • Pemodelan Ancaman
    • Pemodelan ancaman
    • Profil penyerang
    • Pemodelan ancaman berdasarkan pohon serangan
    • Pemodelan ancaman berdasarkan kasus penyimpangan/penyalahgunaan
    • Kasus penyimpangan/penyalahgunaan – contoh toko web sederhana
    • Pendekatan STRIDE per elemen untuk pemodelan ancaman – MS SDL
    • Mengidentifikasi tujuan keamanan
    • Diagram – contoh elemen DFD
    • Diagram aliran data – contoh
    • Enumerasi ancaman – STRIDE dan elemen DFD MS SDL
    • Analisis risiko – klasifikasi ancaman
    • Model peringkat ancaman/risiko DREAD
  • Teknik dan alat pengujian keamanan
    • Pendekatan pengujian umum
    • Teknik untuk berbagai tahap SDLC
  • Ulasan kode
    • Ulasan kode untuk keamanan perangkat lunak
    • Analisis pencemaran (taint analysis)
    • Heuristik
  • Analisis kode statis
    • Analisis kode statis
    • Latihan – Menggunakan alat analisis kode statis
  • Pengujian implementasi
    • Verifikasi waktu-nyata manual
    • Pengujian keamanan manual vs. otomatis
    • Pengujian penetrasi (penetration testing)
    • Tes stres
  • Penyemutan (Fuzzing)
    • Pengujian keamanan otomatis - penyemutan
    • Tantangan penyemutan
  • Scanner kerentanan web
    • Latihan – Menggunakan scanner kerentanan
  • Pemeriksaan dan pengamanan lingkungan
    • Sistem Penilaian Kerentanan Umum – CVSS
    • Scanner kerentanan
    • Database publik
  • Studi Kasus – Bypass Autentikasi Form
    • Kerentanan terminasi byte NULL
    • Kerentanan bypass autentikasi form dalam kode
    • Eksploitasi bypass autentikasi form

Sumber Pengetahuan

  • Sumber pemrograman aman – paket awal
  • Database kerentanan
  • Pedoman pemrograman aman .NET di MSDN
  • Lembar cheat pemrograman aman .NET
  • Buku rekomendasi – .NET dan ASP.NET
 14 Jam

Jumlah Peserta


Biaya per Peserta

Testimoni (5)

Kursus Mendatang

Kategori Terkait