Certified Secure Programmer Java (ECSP Java)

Request Penawaran

Durasi Pelatihan : 3 Hari

Deskripsi Pelatihan

Pelatihan ini merupakan pelatihan yang menyeluruh mengenai keterampilan dan pengetahuan yang dibutuhkan oleh seorang programer aplikasi Java yang aman, baik secara teori maupun praktik. Dalam pelatihan ECSP Java ini, peserta akan melihat kode aktual, menggunakan tool secure programmer, membuat aplikasi aman, dan mendapatkan keyakinan untuk merancang dan mengembangkan aplikasi Desktop dan Web yang aman dengan Java. Tidak hanya menunjukkan penggunaan tool saja, pelatihan ini juga membahas konsep tentang pemrograman yang aman. Ini melibatkan pembahasan contoh kode aplikasi, mengidentifikasi celah keamanan, dan mengimplementasikan cara menutup celah keamanan tersebut di kode aplikasi Java. Dengan demikian, peserta akan mampu melakukan secure code review, melakukan uji keamanan dan eksploitasi kelemahan, dan menerapkan berbagai teknik secure coding untuk menghasilkan aplikasi Java yang aman baik untuk desktop maupun web.

 

Tujuan Pelatihan

Dalam pelatihan ini, peserta akan memahami:

  • Prinsip dan praktik pemrograman dan pengujian aplikasi Java yang aman
  • Java Security Platform, Sandbox, JVM, Class Loading, Bytecode Verifier, Security Manager, Security Policy, dan Java Security Framework
  • Secure Software Development Life Cycle, Threat Model, Software Security Framework, dan Arsitektur Secure Software
  • Best practice, standar, dan panduan untuk file input/output dan serialisasi yang aman
  • Teknik validasi input, error validasi, dan best practice validasi di Java
  • Best practice penanganan eksepsi dan error di Java
  • Proses otentikasi dan otorisasi yang aman di Java
  • Java Authentication and Authorization Service (JAAS), arsitekturnya, Pluggable Authentication Module (PAM), dan ijin akses melalui Java Security Model
  • Java Concurrency dan manajemen sesi yang aman
  • Best practice untuk kriptografi di Java
  • Berbagai serangan aplikasi Java seperti XSS, CSRF, directory traversal, dan SQL injection

 

Target Peserta Pelatihan

Peserta yang bertanggung jawab dalam perancangan dan pengembangan berbagai aplikasi Desktop atau Web yang aman dengan menggunakan bahasa pemrograman dan teknologi Java.

 

Prasyarat Peserta Pelatihan

Peserta sudah cukup mahir dalam dasar pemrograman dengan teknologi Java.

 

Output Pelatihan

Setelah mengikuti pelatihan ini, peserta akan mampu:

  • Memahami prinsip, model, dan framework Java Security
  • Melakukan Secure Software Development
  • Menerapkan file, input/output, dan serialisasi yang aman di Java
  • Melakukan validasi input di Java
  • Melakukan penanganan eksepsi, error, dan logging yang aman di Java
  • Menerapkan otentikasi dan otorisasi yang aman di Java
  • Menggunakan Java Authentication and Authorization Service (JAAS)
  • Menggunakan Java Concurrency dan Manajemen Sesi yang aman
  • Memahami Java Cryptography
  • Memahami dan mengatasi berbagai kelemahan dan serangan pada aplikasi Java
  • Mendapatkan sertifikasi EC-Council Certified Secure Programmer Java (ECSP Java) dari EC-Council bila lulus ujian sertifikasi

 

Garis Besar Pelatihan

1. Pengenalan Keamanan Java

  • Java Security Platform
  • Java Virtual Machine dan Sandbox
  • Class Loading dan Bytecode Verifier
  • Java Security Manager dan Security Policy
  • Java Security Framework

2. Pengembangan Aplikasi yang Aman

  • Threat Modeling
  • Software Security Framework
  • Secure Design dan Coding Pattern
  • System Quality Requirement dan Software Security Testing
  • Secure Code Review dan Tool Analisis Kode Sumber

3. File Input/Output dan Serialisasi

  • File I/O yang Aman
  • Standar dan Panduan File I/O
  • Serialisasi Java yang Aman
  • Best Practice dan Panduan Serialisasi Java

4. Validasi Input

  • Teknik Validasi Data
  • Penggunaan Struts Validator dan Validasi Input
  • Penggunaan HTML Encoding untuk Validasi Input
  • Penggunaan Prepared Statement dan Stored Procedure
  • Penggunaan CAPTCHA dan Character Encoding yang Aman

5. Penanganan Error dan Logging

  • Perilaku Error dan Eksepsi
  • Best Practice dalam Penanganan Error
  • Pengenalan Logging di Java
  • Penggunaan Log4j untuk Logging yang Aman
  • Best Practice untuk Secure Logging

6. Otentikasi dan Otorisasi

  • Berbagai Tipe Otentikasi dan Otorisasi
  • Client Certificate
  • Otorisasi dan Access Control Model di Java
  • Otentikasi dan Otorisasi Melalui Servlet Container dan EJB

7. Java Authentication and Authorization Service (JAAS)

  • Arsitektur JAAS
  • Pluggable Authentication Module (PAM)
  • Ijin JAAS Melalui Java Security Model
  • Best Practice untuk Mengamankan Tomcat Server

8. Java Concurrency dan Manajemen Sesi

  • Java Concurrency, Java Thread, dan Java Memory Model
  • Best Practice untuk Thread, Race Condition, dan Deadlock
  • Manajemen Sesi yang Aman
  • Best Practice untuk Mengamankan Sesi

9. Kriptografi Java

  • Penggunaan Java Cryptography
  • Penggunaan Encryption, KeyGenerator, dan Secret Key
  • Sertifikat Digital dan Tanda Tangan Digital
  • Protocol SSL dan Penggunaan JSSE
  • Key Management System dan Keystore
  • Signed JAR dan Signed Source Code
  • Best Practice untuk Kriptografi Java

10. Kelemahan pada Aplikasi Java

  • Java Application Vulnerability
  • Cross Site Scripting (XSS)
  • Cross Site Request Forgery (CSRF)
  • Directory Traversal
  • HTTP Response Splitting
  • Parameter Manipulation
  • Command dan SQL Injection