Course Outline

Hari 1

  • Kebijakan Keamanan IT dan Pengkodean yang Aman
    • Nature of security (Sifat keamanan)
    • IT security related terms (Kata kunci terkait keamanan IT)
    • Definition of risk (Definisi risiko)
    • Different aspects of IT security (Aspek-aspek berbeda dari keamanan IT)
    • Requirements of different application areas (Persyaratan area aplikasi yang berbeda)
    • IT security vs. secure coding (Keamanan IT vs. pengkodean yang aman)
    • Dari kelemahan ke botnet dan cybercrime
      • Nature of security flaws (Sifat kerentanan keamanan)
      • Reasons of difficulty (Alasan kesulitan)
      • Dari komputer terinfeksi hingga serangan yang ditargetkan
    • Klasifikasi kelemahan keamanan
      • Taksonomi Landwehr
      • The Seven Pernicious Kingdoms (Tujuh Kerajaan Merugikan)
      • OWASP Top Ten 2013
      • OWASP Perbandingan Top Ten 2003 – 2013
  • Pendahuluan terhadap Microsoft® Security Development Lifecycle (SDL)
    • Agenda
    • Aplikasi yang diserang...
      • Evolusi Cybercrime (Evolusi kejahatan siber)
      • Serangan berfokus pada aplikasi
      • Kebanyakan kerentanan ada di aplikasi ISV yang lebih kecil
    • Asal-usul dari Microsoft SDL...
      • Riwayat Keamanan di Microsoft
      • Aplikasi apa yang harus mengikuti SDL?
    • Microsoft Security Development Lifecycle (SDL)
      • Microsoft Security Development Lifecycle (SDL)
      • Prasyarat Pra-SDL: Pelatihan Keamanan
      • Fase Pertama: Kebutuhan
      • Fase Kedua: Desain
      • Fase Ketiga: Implementasi
      • Fase Keempat: Verifikasi
      • Fase Kelima: Rilis – Rencana Respon
      • Fase Kelima: Rilis – Tinjauan Keamanan Akhir
      • Fase Kelima: Rilis – Arsip
      • Prasyarat Post-SDL: Respon
      • Panduan Proses SDL untuk Aplikasi LOB
      • Panduan SDL untuk Metodologi Agile
      • Pengembangan Perangkat Lunak yang Aman Memerlukan Peningkatan Proses
  • Prinsip Desain yang Aman
    • Bidang Serangan
      • Penyusutan Bidang Serangan
      • Bidang Serangan – Contoh
      • Analisis Bidang Serangan
      • Contoh Penyusutan Bidang Serangan
    • Kepribadian Privasi
      • Privasi
      • Mengerti Perilaku dan Kekhawatiran Aplikasi
    • Tindakan Perlindungan Berlapis
      • Prinsip Inti SDL: Tindakan Perlindungan Berlapis
      • Contoh Tindakan Perlindungan Berlapis
    • Prinsip Privilege yang Terbatas
      • Privilege terbatas – contoh
    • Konfigurasi Aman secara Default
      • Konfigurasi aman default – contoh
  • Prinsip Implementasi yang Aman
    • Agenda
    • Microsoft Security Development Lifecycle (SDL)
    • Dasar Kerentanan Memori Stack
      • Pemrosesan Intel 80x86 – register utama
      • LAYOUT ALAMAT MEMORI
      • Mekanisme pemanggilan fungsi dalam C/C++ di x86
      • Variabel lokal dan kerangka stack
      • Overflow Memori Stack
        • Kerentanan buffer pada stack memori
        • Latihan – pengenalan
        • Latihan BOFIntro
        • Latihan BOFIntro – menentukan tata letak stack
        • Latihan BOFIntro – eksploitasi sederhana
    • Pengujian Input
      • Konsep pengujian input
      • Masalah Integer
        • Representasi bilangan bulat negatif
        • Tumpahan bilangan bulat (Integer overflow)
        • Overflow aritmatika – tebak hasilnya!
        • Latihan IntOverflow
        • Apa nilai dari Math.Abs(int.MinValue)?
      • Mitigasi masalah Integer
        • Mitigasi masalah integer
        • Menghindari overflow aritmatika – penjumlahan
        • Menghindari overflow aritmatika – perkalian
        • Deteksi overflow dengan kata kunci checked di C#
        • Latihan – Menggunakan kata kunci checked di C#
        • Exception yang dipicu oleh overflow di C#
      • Studi Kasus – Tumpahan bilangan bulat (Integer Overflow) di .NET
        • Kerentanan tumpahan bilangan bulat dunia nyata
        • Memanfaatkan kerentanan tumpahan bilangan bulat
      • Vulnerabilitas traversal jalur file
        • Mitigasi traversal jalur file (path traversal)

Hari 2

  • Prinsip Implementasi yang Aman
    • Injeksi
      • Metode serangan injeksi SQL tipe umum
      • Blind dan injeksi berbasis waktu SQL
      • Metode perlindungan injeksi SQL
      • Penyuntikan perintah (Command injection)
    • Otentikasi yang rusak - manajemen password
      • Latihan – Kelemahan password yang telah dihash
      • Pengelolaan dan penyimpanan password
      • Alogaritma hash khusus untuk penyimpanan password
    • Cross-Site Scripting (XSS)
      • Cross-Site Scripting (XSS)
      • Injeksi CSS
      • Eksploitasi: injeksi melalui tag HTML lainnya
      • Mencegah XSS
    • Akses kontrol level fungsi yang hilang
      • Penyaringan unggahan file
    • Kriptografi praktis
      • Menyediakan kerahasiaan dengan kriptografi simetris
      • Alogaritma enkripsi simetris
      • Cipher blok – modus operasi
      • Hash atau ringkas pesan (Message digest)
      • Alogaritma hash
      • Kode otentikasi pesan (MAC)
      • Menyediakan integritas dan otonom dengan kunci simetris
      • Menyediakan kerahasiaan dengan enkripsi kunci publik
      • Panduan praktis – kepemilikan kunci pribadi
      • Kesalahan umum dalam pengelolaan password
      • Latihan – Password yang dihardcode
      • Kesimpulan
  • Prinsip Verifikasi yang Aman
    • Pengujian fungsi vs. pengujian keamanan
    • Vulnerabilitas keamanan
    • Prioritas
    • Pengujian Keamanan dalam SDLC
    • Tahapan perencanaan pengujian (analisis risiko)
    • Penentuan batasan dan pengumpulan informasi
      • Pihak berkepentingan
      • Aset
      • Bidang serangan
      • Objektif keamanan untuk pengujian
    • Mengembangkan Model Ancaman
      • Membuat model ancaman
      • Profil penyerang
      • Membuat model ancaman berdasarkan pohon serangan
      • Membuat model ancaman berdasarkan kasus misguna/malpemakaian
      • Kasus misguna/malpemakaian – contoh toko web sederhana
      • Metode STRIDE per elemen dalam pengembangan model ancaman - SDL MS
      • Mengidentifikasi objektif keamanan
      • Penggambaran – contoh elemen DFD
      • Gambar data flow (DFD) – contoh
      • Penyelesaian model ancaman – elemen STRIDE dan DFD di SDL MS
      • Analisis risiko – klasifikasi ancaman
      • Model Penilaian Ancaman/Risiko DREAD
    • Teknik dan Alat Pengujian Keamanan
      • Metode pengujian umum
      • Teknik untuk berbagai tahapan SDLC
    • Review Kode
      • Review kode untuk keamanan perangkat lunak
      • Analisis taint (penyimpangan)
      • Heuristik
    • Analisis Kode Statis
      • Analisis kode statis
      • Analisis kode statis
      • Latihan – Menggunakan alat analisis kode statis
    • Menguji Implementasi
      • Pengujian manual saat runtime
      • Uji Keamanan Manual vs. Otomatis
      • Penyusupan (Penetration testing)
      • Pengujiannya tekanan
    • Fuzzing
      • Pengujian keamanan otomatis - fuzzing
      • Tantangan dari fuzzing
    • Scanner Kerentanan Web
      • Latihan – Menggunakan scanner kerentanan
    • Memeriksa dan Meningkatkan Lingkungan
      • Sistem Penilaian Kerentanan Umum - CVSS
      • Scanner kerentanan
      • Basis data publik
    • Studi Kasus – Bypass Otentikasi Formulir
      • Kerentanan Terminasi Byte NULL
      • Kerentanan bypass otentikasi formulir dalam kode
      • Memanfaatkan bypass otentikasi formulir
  • Sumber Informasi
    • Sumber pengkodean yang aman – paket awal
    • Basis data kerentanan
    • Panduan Pengkodean .NET yang Aman di MSDN
    • Cheat sheet pengkodean .NET yang aman
    • Buku-buku direkomendasikan - .NET dan ASP.NET
 14 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses (Minimal 5 peserta)

Related Categories