Kursus Pelatihan Pemrograman Aman dalam C/C++
Menulis kode C dan C++ yang aman memerlukan upaya ekstra untuk mencegah eksploitasi jahat, korupsi memori, serta pelanggaran terhadap mekanisme validasi input. Program ini mengupas pola-pola kerentanan seperti overflow buffer, kondisi use-after-free, overflow integer, dan konfusi tipe data. Para peserta akan menerapkan pedoman pemrograman aman, alat analisis statis, serta teknik pengkodean defensif untuk menghilangkan celah keamanan, menegakkan standar sanitasi input, serta menghasilkan perangkat lunak yang tangguh terhadap serangan siber.
Kerangka Materi
- Kesalahan umum dalam pemrograman C/C++
- Prinsip-prinsip perlindungan keamanan
- Validasi input yang efektif
- Penanganan error dan pengecualian yang tidak tepat
- Overflow buffer
- Stack overflow
- Heap overflow
- Cara mencegah terjadinya stack overflow
- Address Space Layout Randomization (ASLR)
- Sumber daya pembelajaran mengenai pemrograman aman
Persyaratan
Pemahaman dasar mengenai bahasa pemrograman C/C++
Kursus Pelatihan Terbuka membutuhkan minimal 5 peserta.
Kursus Pelatihan Pemrograman Aman dalam C/C++ - Pemesanan
Kursus Pelatihan Pemrograman Aman dalam C/C++ - Penyelidikan
Testimoni (6)
Pengalaman berbagi, pengetahuan dan pengalaman berharga dari guru.
Carey Fan - Logitech
Kursus - C/C++ Secure Coding
Diterjemahkan Mesin
keseimbangan antara ceramah dan praktik, ritme, pengetahuan pelatih dan keterampilan pedagogis
Armando Pinto - EID
Kursus - C/C++ Secure Coding
Diterjemahkan Mesin
Instruktur menyediakan informasi terbaru dan referensi serta alat yang berharga.
Jose Vicente - EID
Kursus - C/C++ Secure Coding
Diterjemahkan Mesin
untuk mendapatkan banyak informasi baik tentang subjek kursus
Paulo Pereira - EID
Kursus - C/C++ Secure Coding
Diterjemahkan Mesin
Pembina memiliki pengetahuan yang kuat dan pengalaman, slide yang bagus, contoh yang baik.
Celso Almeida - EID
Kursus - C/C++ Secure Coding
Diterjemahkan Mesin
Informasi kursus umum
Paulo Gouveia - EID
Kursus - C/C++ Secure Coding
Diterjemahkan Mesin
Kursus Mendatang
Kursus Terkait
C++ Tingkat Lanjut
35 JamPelatihan online langsung atau pelatihan langsung tatap muka ini dipimpin oleh instruktur dan ditujukan bagi para developer yang ingin memanfaatkan teknik pemrograman C++ tingkat lanjut dalam mengembangkan sistem serta aplikasi yang kompleks, aman, dan berkinerja tinggi.
Setelah menyelesaikan pelatihan ini, peserta diharapkan mampu:
- Mengatur lingkungan pengembangan yang mencakup seluruh library, paket, serta framework C++.
- Memahami fitur-fitur, komponen-komponen utama, dan elemen dasar bahasa C++.
- Menciptakan aplikasi C++ yang rumit dengan memanfaatkan teknik pemrograman tingkat lanjut.
- Menyusun kode yang mudah dibaca, cepat, dan aman dalam bahasa C++.
- Mengetahui potensi risiko keamanan dalam penggunaan C++ serta cara mengatasinya.
- Menerapkan strategi pengujian yang efektif guna memastikan kualitas dan keamanan kode.
- Menggunakan alat diagnostik dan debug dalam proses pengembangan aplikasi C++.
Keamanan Jaringan dan Komunikasi Aman
21 JamMenerapkan aplikasi jaringan yang aman bisa menjadi hal yang sulit, bahkan bagi para pengembang yang sudah terbiasa menggunakan berbagai komponen kriptografi seperti enkripsi dan tanda tangan digital. Untuk memastikan peserta memahami peran serta cara penerapan elemen-elemen kriptografi tersebut, pertama-tama dibahas landasan teori mengenai persyaratan mendasar dalam komunikasi aman—yaitu konfirmasi pengiriman yang terjamin, integritas data, kerahasiaan informasi, identifikasi pihak jarak jauh, serta anonimitas. Selain itu, juga disajikan berbagai masalah yang dapat mengancam keamanan komunikasi beserta solusi praktisnya.
Karena kriptografi merupakan aspek penting dalam keamanan jaringan, algoritma kriptografi utama pada bidang enkripsi simetris, teknik hashing, enkripsi asimetris, serta mekanisme kesepakatan kunci turut dibahas. Penjelasan diberikan dari sudut pandang pengembang, lengkap dengan contoh kasus nyata dan pertimbangan praktis terkait penerapan elemen kriptografi tersebut, misalnya dalam konteks infrastruktur kunci publik. Selanjutnya diperkenalkan protokol keamanan yang umum digunakan dalam berbagai sektor komunikasi aman, khususnya keluarga protokol IPSEC dan SSL/TLS.
Vulnerabilitas kriptografi seperti serangan BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, serta serangan timing terhadap sistem RSA juga dibahas secara rinci. Untuk tiap masalah tersebut disajikan implikasi praktis dan potensi dampaknya—sekali lagi tanpa memasukkan analisis matematika yang rumit.
Akhirnya, mengingat teknologi XML yang sangat umum digunakan untuk pertukaran data antar aplikasi jaringan, aspek keamanannya juga turut dibahas. Hal ini mencakup penggunaan XML dalam layanan web dan pesan SOAP, beserta mekanisme perlindungan seperti tanda tangan XML serta enkripsi XML; tak lupa diulas pula berbagai kelemahan sistem tersebut dan masalah spesifik terkait XML misalnya serangan injeksi XML, serangan entitas eksternal XML (XXE), serangan “bom XML”, serta serangan injeksi XPath.
Setelah mengikuti kursus ini peserta akan
- Memahami konsep dasar keamanan, IT security, serta praktik pemrograman aman
- Mengerti persyaratan mendasar dalam komunikasi yang aman
- Mendapatkan pengetahuan mengenai berbagai serangan jaringan dan cara pertahanannya pada setiap lapisan OSI
- Memiliki pemahaman praktis tentang ilmu kriptografi
- Mengetahui protokol-protokol keamanan utama yang digunakan secara luas
- Memahami serangan-serangan terkini terhadap sistem kriptografi
- Mendapatkan informasi mengenai berbagai vulnerabilitas terbaru di bidang ini
- Memahami aspek keamanan dalam pengembangan layanan web
- Mendapatkan referensi dan sumber bacaan tambahan terkait praktik pemrograman yang aman
Target Audiens
Pengembang, Profesional IT
Keamanan Java Lanjutan
21 JamBahkan para programmer Java yang sudah berpengalaman pun belum sepenuhnya menguasai berbagai layanan keamanan yang disediakan oleh Java, serta belum menyadari sepenuhnya berbagai ancaman keamanan yang dapat memengaruhi aplikasi web berbasis Java.
Kursus ini tidak hanya memperkenalkan komponen-komponen keamanan dalam Standard Java Edition, tetapi juga membahas isu-isu keamanan pada Java Enterprise Edition (JEE) serta layanan web. Pembahasan mengenai layanan-layanan tersebut dimulai dengan penjelasan mengenai dasar-dasar kriptografi dan komunikasi yang aman. Berbagai latihan disediakan untuk memperkenalkan teknik keamanan secara deklaratif maupun programatik dalam lingkungan JEE, serta mempelajari mekanisme keamanan baik pada lapisan transport maupun end-to-end bagi layanan web. Penggunaan semua komponen ini ditunjukkan melalui beberapa latihan praktis, sehingga para peserta dapat mencoba langsung API dan alat-alat yang telah dibahas.
Kursus ini juga mengupas secara mendalam kesalahan pemrograman yang paling umum dan serius dalam bahasa Java serta platformnya, termasuk berbagai kerentanan terkait web. Selain kesalahan koding yang biasa dilakukan oleh programmer Java, jenis kerentanan yang dibahas mencakup masalah spesifik pada bahasa pemrograman maupun lingkungan eksekusinya. Semua jenis kerentanan dan serangan terkait diilustrasikan melalui latihan-latihan yang mudah dipahami, disertai panduan penulisan kode yang disarankan serta metode mitigasinya.
Peserta kursus ini akan
- Memahami konsep dasar keamanan, keamanan IT, dan praktik penulisan kode yang aman
- Mempelajari berbagai jenis kerentanan web di luar OWASP Top Ten serta cara mencegahnya
- Memahami konsep keamanan pada layanan web
- Mampu menggunakan berbagai fitur keamanan dalam lingkungan pengembangan Java
- Mendapatkan pemahaman praktis mengenai kriptografi
- Memahami solusi keamanan pada Java EE
- Mengetahui kesalahan penulisan kode yang umum serta cara menghindarinya
- Mendapatkan informasi mengenai beberapa kerentanan terkini dalam kerangka kerja Java
- Mendapatkan pengetahuan praktis dalam penggunaan alat pengujian keamanan
- Mendapatkan sumber-sumber referensi serta bacaan tambahan tentang praktik penulisan kode yang aman
Target Peserta
Developer
.NET, C# dan Pengembangan Keamanan ASP.NET
14 JamHingga saat ini terdapat banyak sekali bahasa pemrograman yang dapat digunakan untuk mengkompilasi kode menjadi framework .NET dan ASP.NET. Lingkungan pengembangan ini menyediakan berbagai fasilitas canggih guna pengembangan aplikasi yang aman, namun para pengembang perlu memahami cara menerapkan teknik pemrograman pada tingkat arsitektur maupun kode agar fungsi keamanan dapat diwujudkan dengan baik serta kerentanan bisa dicegah atau setidaknya dibatasi kemungkinannya untuk disalahgunakan.
Tujuan dari pelatihan ini adalah mengajarkan para pengembang melalui serangkaian latihan praktik langsung tentang cara mencegah kode yang tidak terpercaya melakukan tindakan yang memerlukan hak istimewa, melindungi sumber daya dengan mekanisme autentikasi dan otorisasi yang kuat, mengimplementasikan komunikasi antar proses jarak jauh, pengelolaan sesi, penerapan berbagai pendekatan untuk fungsionalitas tertentu, serta hal-hal lainnya.
Pengenalan mengenai berbagai jenis kerentanan dimulai dengan pembahasan masalah-masalah umum dalam pemrograman yang sering terjadi saat menggunakan .NET; sementara pembahasan seputar kerentanan ASP.NET mencakup pula pengaturan lingkungan dan dampaknya terhadap keamanan. Terakhir, topik mengenai kerentanan khusus pada ASP.NET tak hanya menyentuh tantangan umum dalam keamanan aplikasi web, melainkan juga isu-isu spesifik serta metode serangan seperti penyerangan terhadap ViewState atau teknik manipulasi terminasi string.
Setelah mengikuti pelatihan ini peserta akan
- Memahami konsep dasar keamanan, keamanan IT dan praktik pemrograman yang aman
- Mengenal jenis-jenis kerentanan web di luar daftar OWASP Top Ten serta cara mencegahnya
- Mempelajari cara memanfaatkan fitur keamanan dalam lingkungan pengembangan .NET
- Mendapatkan pengetahuan praktis mengenai pemanfaatan alat-alat pengujian keamanan
- Mengetahui kesalahan-kesalahan umum dalam pemrograman serta cara menghindarinya
- Mendapatkan informasi terkini seputar kerentanan yang muncul pada .NET dan ASP.NET
- Mendapatkan referensi sumber daya serta bacaan lebih lanjut mengenai praktik pengembangan yang aman
Target Peserta
Pengembang
Pemrograman aman dalam PHP
21 JamKursus ini memberikan keterampilan penting bagi para pengembang PHP agar aplikasi yang mereka buat mampu menahan serangan modern yang terjadi melalui Internet. Berbagai kerentanan pada aplikasi web dibahas dengan contoh-contoh berbasis PHP, tidak hanya terbatas pada 10 kerentanan utama OWASP saja, melainkan mencakup berbagai jenis serangan injeksi, serangan terhadap mekanisme pengelolaan sesi PHP, referensi objek yang tidak aman, masalah saat mengunggah file, dan banyak lagi. Kerentanan PHP dikelompokkan menurut kategori umum seperti kurangnya atau cara pengecekan input yang salah, pengelolaan error dan eksepsi yang tidak tepat, pemanfaatan fitur keamanan yang tidak sesuai aturan, serta masalah terkait waktu dan kondisi sistem. Untuk kasus terakhir ini akan dibahas serangan seperti cara mengakali mekanisme open_basedir, penolakan layanan (denial-of-service) lewat manipulasi nilai tipe data float atau serangan kolisi pada struktur hash. Setiap peserta kursus akan mempelajari teknik dan fungsi terpenting untuk mencegah risiko-risiko yang disebutkan di atas.
Perhatian khusus juga diberikan pada keamanan sisi klien, yaitu masalah keamanan dalam penggunaan JavaScript, Ajax, dan HTML5. Beberapa ekstensi PHP bermanfaat untuk keperluan keamanan turut diperkenalkan, misalnya modul hash, mcrypt, serta OpenSSL yang digunakan untuk hal kriptografi; selain itu ada juga Ctype, ext/filter, dan HTML Purifier untuk verifikasi input. Dalam konteks penguatan keamanan secara umum akan dijelaskan praktik terbaik dalam mengatur konfigurasi PHP (dengan file php.ini), Apache, serta infrastruktur server lainnya. Terakhir, para peserta juga akan mendapatkan gambaran mengenai alat dan teknik pengujian keamanan seperti scanner keamanan, paket eksploitasi, perangkat sniffer, server proxy, alat fuzzing, maupun analisis statis terhadap kode sumber.
Pembahasan tentang berbagai jenis kerentanan serta praktik konfigurasi disertai latihan praktis yang menunjukkan dampak dari serangan yang berhasil dilakukan, cara menerapkan teknik mitigasi, dan penggunaan ekstensi serta alat-alat keamanan tersebut.
Peserta kursus akan
- Memahami konsep dasar mengenai keamanan informasi, keamanan IT, dan pemrograman aman
- Mempelajari berbagai kerentanan aplikasi web di luar daftar OWASP Top Ten serta cara mencegahnya
- Memahami risiko pada sisi klien dan penerapan praktik pemrograman yang aman
- Mendapatkan wawasan praktis mengenai teknologi kriptografi
- Mempelajari penggunaan berbagai fitur keamanan dalam PHP
- Mengetahui kesalahan umum dalam penulisan kode serta cara menghindarinya
- Diketahuinya info terkini tentang kerentanan yang muncul pada framework PHP
- Mendapatkan pengetahuan praktis seputar pemanfaatan alat pengujian keamanan
- Mendapatkan sumber referensi dan literatur tambahan mengenai pemrograman aman
Target peserta
Pengembang software
Microsoft SDL Core
14 JamPelatihan SDL core gabungan memberikan wawasan tentang desain, pengembangan, dan pengujian perangkat lunak yang aman melalui Microsoft Secure Development Lifecycle (SDL). Ini menyediakan tinjauan tingkat 100 dari blok-blok dasar SDL, diikuti oleh teknik desain untuk mendeteksi dan memperbaiki kelemahan pada tahap awal proses pengembangan.
Dalam fase pengembangan, kursus ini memberikan gambaran umum tentang bug-bug keamanan yang khas dari kode terkelola maupun natif. Metode serangan disajikan untuk kerentanan yang dibahas bersama dengan teknik mitigasi yang terkait, semuanya dijelaskan melalui sejumlah latihan praktis yang menyediakan kesenangan hacking langsung bagi peserta. Pengenalan metode pengujian keamanan diikuti dengan demonstrasi efektivitas berbagai alat pengujian. Peserta dapat memahami cara kerja alat-alat tersebut melalui sejumlah latihan praktis dengan menerapkan alat-alat tersebut pada kode yang rentan yang telah dibahas.
Peserta yang mengikuti kursus ini akan
Memahami konsep dasar keamanan, IT keamanan, dan pemrograman aman
Mengenal langkah-langkah esensial Microsoft Secure Development Lifecycle
Belajar praktik desain dan pengembangan yang aman
Memahami prinsip-prinsip implementasi yang aman
Memahami metodologi pengujian keamanan
- Mendapatkan sumber dan bacaan lebih lanjut tentang praktik pemrograman aman
Target Peserta
Pengembang, Manajer
C++ untuk Sistem Tertanam
21 JamApakah C++ cocok digunakan dalam sistem tertanam seperti mikrokontroler dan sistem operasi waktu nyata?
Haruskah pemrograman berorientasi objek diterapkan pada mikrokontroler?
Apakah penggunaan C++ terlalu jauh dari tingkat perangkat keras sehingga tidak efisien?
Pelatihan online langsung ini menjawab pertanyaan-pertanyaan tersebut serta memberikan ilustrasi praktis melalui diskusi dan latihan mengenai penerapan C++ dalam pengembangan sistem tertanam yang akurat, mudah dibaca, dan efisien. Para peserta akan menerapkan teori ke dalam praktik dengan membuat contoh aplikasi tertanam menggunakan C++.
Setelah mengikuti pelatihan ini, para peserta diharapkan mampu:
- Memahami prinsip-prinsip pemodelan berorientasi objek, pemrograman perangkat lunak tertanam, serta pemrograman waktu nyata
- Menghasilkan kode program untuk sistem tertanam yang ringkas, cepat, dan aman
- Mencegah terjadinya pembengkakan ukuran kode akibat penggunaan template, pengecualian, serta fitur bahasa lainnya
- Memahami berbagai isu terkait penerapan C++ pada sistem yang kritis secara keamanan atau memerlukan respons waktu nyata
- Melakukan debugging terhadap program C++ di perangkat target
Target Peserta
- Pengembang perangkat lunak
- Desainer sistem
Bentuk Pelatihan
- Kombinasi antara ceramah, diskusi, latihan, serta praktik langsung yang intensif
Pemrograman C++ 11
14 JamIni merupakan pelatihan online langsung selama dua hari yang ditujukan bagi para pemrogram C++ yang ingin menerapkan standar baru C++11 dalam pekerjaannya. Pelatihan ini sangat bermanfaat bagi pengembang aplikasi finansial, karena mencakup seluruh fitur terbaru disertai contoh kode yang dapat dijalankan langsung dalam sesi praktikum
Pemrograman C++ Cepat dengan CUDA
8 JamPelatihan langsung dibimbing oleh instruktur di Indonesia (online live training atau onsite live training) ini ditujukan bagi developer C++ yang ingin menggunakan CUDA untuk mempercepat aplikasi, menulis kernel GPU berkinerja tinggi, dan memanfaatkan library algoritma paralel untuk beban kerja komputasi ilmiah, pemrosesan data, dan machine learning.
Keamanan DevOps: Menyusun Strategi Keamanan untuk DevOps
7 JamDalam pelatihan online langsung ini yang dipandu instruktur di Indonesia, para peserta akan mempelajari cara menyusun strategi keamanan yang tepat untuk mengatasi tantangan keamanan dalam penerapan DevOps.
Insinyur DevSecOps Bersertifikat EC-Council (ECDE)
28 JamPelatihan Insinyur DevSecOps Bersertifikat EC-Council (ECDE) merupakan kursus praktis yang dirancang untuk memberikan keahlian kepada para profesional dalam mengintegrasikan aspek keamanan ke dalam seluruh tahapan siklus DevOps, sehingga mampu menghasilkan perangkat lunak yang aman mulai dari perencanaan hingga penerapannya.
Pelatihan online langsung ini dipimpin oleh instruktur dan ditujukan bagi para profesional bidang perangkat lunak serta DevOps tingkat menengah yang ingin menerapkan praktik keamanan dalam alur kerja CI/CD, guna memastikan penyampaian kode yang aman dan sesuai standar.
Setelah menyelesaikan pelatihan ini, peserta akan mampu:
- Memahami prinsip-prinsip dan praktik-praktik DevSecOps.
- Menjamin keamanan setiap tahap dalam alur kerja CI/CD dengan memanfaatkan berbagai alat otomatisasi.
- Menerapkan praktik penulisan kode yang aman serta proses pemindaian terhadap kerentanan.
- Bersiap menghadapi ujian sertifikasi ECDE melalui latihan-latihan praktis dan pembahasan materi.
Bentuk Pelaksanaan Kursus
- Kuliah interaktif serta diskusi kelompok.
- Penggunaan langsung berbagai alat DevSecOps dalam lingkungan simulasi.
- Latihan-latihan terstruktur yang fokus pada pengembangan dan penerapan aplikasi secara aman.
Opsi Penyesuaian Kursus
- Jika Anda memerlukan penyesuaian materi kursus sesuai dengan alur kerja atau perangkat lunak yang digunakan tim Anda, silakan hubungi kami untuk mengaturnya.
Using C++ in Embedded Systems - Applying C++11/C++14
21 JamThis training intends to introduce C++ as the common extension of C when applying object-oriented embedded system development. Since C++ encloses C, this training takes us from C to C++ in a natural way, and looks under the hood of how C++ is implemented. This is especially valuable to comprehend when applying C++ in an embedded resource limited environment. The C++ standard has recently been undergoing a major revision, a.k.a. as C++11, and a new one is on its way, C++14. This course addresses subjects brought in with these revisions that are especially useful like high performance memory management, concurrency making use of a multicore environment, and bare-metal close to the hardware programming.
GOAL/BENEFITS
The major objective of this class is that you shall be able to use C++ in a “correct way”.
- Introduce C++ as an object oriented language alternative in an embedded system context
- Show the similarities ‑ and differences ‑ with the C language
- Comprehend different memory management strategies – especially the move semantics introduced with C++11
- Look under the hood and understand what different paradigms in C++ leads to in machine code
- Use templates to achieve type safe high order abstractions for bare-metal close to the hardware programming – memory mapped I/O as well as interrupts – especially the variadic templates introduced with C++11
- Provide some useful design patterns especially applicable in an embedded context
- A few exercises in order to practice some concepts
AUDIENCE/PARTICIPANTS
This training is aimed C++- programmers who intend to start using C++ in an embedded system context.
PREVIOUS KNOWLEDGE
The course requires basic knowledge in C++ programming, corresponding to our trainings ”C++ – Level 1” and ”C++ Level 2 – Introducing C++11”.
PRACTICAL EXERCISES
During the training you will practice the presented concepts in a number of exercises. We will use the open and free integrated development environment from Eclipse
Cara Menulis Kode yang Aman
35 JamKursus ini bertujuan membantu dalam hal-hal berikut:
- Membantu para pengembang menguasai teknik penulisan kode yang aman
- Membantu para penguji perangkat lunak mengevaluasi tingkat keamanan aplikasi sebelum dirilis ke lingkungan produksi
- Membantu arsitek perangkat lunak memahami risiko-risiko yang dihadapi aplikasi
- Membantu para pemimpin tim menetapkan standar keamanan bagi pengembang
- Membantu para administrator web mengonfigurasi server guna menghindari kesalahan konfigurasi
Pengembangan Aplikasi Java yang Aman (Termasuk OWASP)
21 JamKursus ini membahas konsep dan prinsip pengkodean aman dalam penggunaan bahasa pemrograman Java, dengan mengacu pada metodologi pengujian dari Open Web Application Security Project (OWASP). Open Web Application Security Project merupakan komunitas online yang menyediakan artikel, metodologi, dokumentasi, alat, serta teknologi secara gratis dalam bidang keamanan aplikasi web.
Pengembang .NET yang Aman (Termasuk OWASP)
21 JamKursus ini membahas konsep dan prinsip-prinsip penulisan kode program yang aman menggunakan ASP.NET, berdasarkan metodologi pengujian dari Open Web Application Security Project (OWASP). OWASP merupakan komunitas online yang menyediakan artikel, metodologi, dokumentasi, alat, serta teknologi secara gratis di bidang keamanan aplikasi web.
Kursus ini juga mengupas fitur-fitur keamanan dalam .NET Framework dan cara menjaga keamanan aplikasi web.