Description
Secure Coding and Ethical Hacking
ในคอร์สนี้เราจะมาดูกันว่าเขียนโค้ดอย่างไรถึงปลอดภัย เขียนแบบไหนถูกแฮ็คและเขาแฮ็คยังไง ผลกระทบจากการถูกแฮ็คและข้อจำกัดในการแฮ็คของช่องโหว่แต่ละประเภทเป็นอย่างไร ในคอร์สนี้มุ่งเน้นไปที่การลงมือทำเป็นหลัก ผู้เข้าร่วมอบรมจะได้ลอง แฮ็คโค้ดที่มีช่องโหว่รูปแบบต่างๆในแลปที่ทาง MaYaSeVeN เตรียมให้ และแก้ไขโค้ดนั้นให้ปลอดภัย เพื่อให้สามารถนำความรู้ไปประยุกต์ใช้ในการเขียนโค้ดให้มีความปลอดภัยมากขึ้น โดยโค้ดตัวอย่างและแลปจะมีทั้งภาษา PHP, Java, .Net, C/C++ เพราะบางรูปแบบช่องโหว่เกิดขึ้นได้กับหลายภาษา บางรูปแบบช่องโหว่เกิดขึ้นได้เฉพาะกับบางภาษาเท่านั้น
ผู้เข้าร่วมอบรมควรมีพื้นฐานอะไรบ้าง?
+ มีพื้นฐานการเขียนโปรแกรมภาษาใดภาษาหนึ่ง
คอร์สนี้เหมาะกับใคร?
+ Software Developers
+ Penetration Testers
+ Information Security Professionals
สิ่งที่ผู้เข้าร่วมอบรมจะได้รับ
+ ผู้เข้าร่วมอบรมสามารถเขียนโปรแกรมได้ปลอดภัยมากขึ้น
+ เอกสารประกอบการอบรม
+ ไฟล์ประกอบการอบรม ( labs, …)
+ กลุ่ม Facebook ศิษย์เก่าในการแลกเปลี่ยนความรู้และถามตอบเนื้อหาในส่วนที่ไม่เข้าใจหลังการอบรม
สิ่งที่ผู้เข้าร่วมอบรมต้องเตรียมมาเพื่อทำแลป:
+ Notebook
+ Ram >= 2 GB
+ Harddisk Free space >= 30 GB
+ Vmware Workstation (latest version)
ระยะเวลาอบรม: สองวัน (9.00-17.00 น)
จำนวนผู้เรียน 8-12 ท่าน
วิทยากร: Nop Phoomthaisong
ประวัติการศึกษา: ปริญญาตรี วิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยขอนแก่น
ประวัติการทำงาน: ทำงานเกี่ยวกับงานเจาะระบบ, ค้นหาช่องโหว่ใหม่ๆ, สร้างเครื่องมือที่ใช้ในงานเจาะระบบ รวมถึงเป็นวิทยากรให้องค์กรต่างๆและเป็นวิทยากรคอร์สอบรมของมายาเซเว่นทุกคอร์สมาตั้งแต่ก่อตั้ง

Day 1
1. Why do you need application security
2. Principles and concepts
3. Security by Design
4. Threat Modelling
5. Do Programming Languages Matter?
6. Application Security Myths
7. Top 25 Most Dangerous Software Errors
8. Improper Neutralization of Special Elements used in an SQL Command (‘SQL Injection’)
9. Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’)
10. Buffer Copy without Checking Size of Input (‘Classic Buffer Overflow’)
11. Improper Neutralization of Input During Web Page Generation (‘Cross-site Scripting’)
12. Missing Authentication for Critical Function
13. Missing Authorization
14. Use of Hard-coded Credentials
15. Missing Encryption of Sensitive Data
16. Unrestricted Upload of File with Dangerous Type
17. Reliance on Untrusted Inputs in a Security Decision
Day 2
1. Execution with Unnecessary Privileges
2. Cross-Site Request Forgery (CSRF)
3. Improper Limitation of a Pathname to a Restricted Directory (‘Path Traversal’)
4. Download of Code Without Integrity Check
5. Incorrect Authorization
6. Inclusion of Functionality from Untrusted Control Sphere
7. Incorrect Permission Assignment for Critical Resource
8. Use of Potentially Dangerous Function
9. Use of a Broken or Risky Cryptographic Algorithm
10. Incorrect Calculation of Buffer Size
11. Improper Restriction of Excessive Authentication Attempts
12. URL Redirection to Untrusted Site (‘Open Redirect’)
13. Uncontrolled Format String
14. Integer Overflow or Wraparound
15. Use of a One-Way Hash without a Salt
16. Have fun with specific PHP vulnerable
17. More Labs and Challenges