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
- Bidang Serangan
- 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
- Injeksi
- 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
Testimonials (5)
Beberapa contoh untuk setiap modul dan pengetahuan yang luas tentang pelatih.
Sebastian - BRD
Course - Secure Developer Java (Inc OWASP)
Machine Translated
Module3 Applications Attacks and Exploits, XSS, SQL injection Module4 Servers Attacks and Exploits, DOS, BOF
Tshifhiwa - Vodacom
Course - How to Write Secure Code
Informasi kursus umum
Paulo Gouveia - EID
Course - C/C++ Secure Coding
Machine Translated
The trainer's subject knowledge was excellent, and the way the sessions were set out so that the audience could follow along with the demonstrations really helped to cement that knowledge, compared to just sitting and listening.
Jack Allan - RSM UK Management Ltd.
Course - Secure Developer .NET (Inc OWASP)
Nothing it was perfect.