Secure Coding

หลักสูตรการพัฒนาซอฟต์แวร์อย่างมั่นคงปลอดภัยบนภาษา PHP (Secure Coding in PHP)

จุดประสงค์ของหลักสูตรนี้

การพัฒนาซอฟต์แวร์อย่างมั่นคงปลอดภัย ถือเป็นหนึ่งแนวทางสำคัญในการสร้างความมั่นคงปลอดภัยด้วยการออกแบบและพัฒนาซอฟต์แวร์ที่สามารถป้องกันการถูกบุกรุกหรือการโจมตีจากแฮกเกอร์ด้วยเทคนิคและเครื่องมือต่างๆ เพื่อลดความเสี่ยงและผลกระทบที่อาจจะเกิดขึ้นต่อหน่วยงานทั้งภาครัฐและเอกชน

ดังนั้น เพื่อเป็นการส่งเสริมทักษะและเพิ่มพูนความรู้เทคโนโลยีด้านความมั่นคงปลอดภัยระบบสารสนเทศ ต่อผู้พัฒนาซอฟต์แวร์ด้านเว็บแอปพลิเคชัน (Web Application Programmer) และ ผู้ดูแลระบบ (System Administrator) หรือ นักทดสอบเจาะระบบ (Penetration Tester) หรือสายงานด้านความมั่นคงปลอดภัยสารสนเทศทั้งหมด โดยเน้นที่การพัฒนาซอฟต์แวร์ด้านเว็บแอปพลิเคชันอย่างมั่นคงปลอดภัยบนภาษา PHP ให้มีความรู้ความเข้าใจเกี่ยวกับภัยคุกคามหรือช่องโหว่ต่างๆ ที่เกิดขึ้นจริงในปัจจุบันด้วยวิธีการเจาะเว็บแอปพลิเคชันแบบผู้ไม่ประสงค์ดี จนทำให้ผู้เข้าร่วมอบรมมีความตระหนักถึงความเสี่ยงและเข้าใจถึงปัญหาที่เกิดขึ้นพร้อมทั้งสามารถนำแนวทางไปใช้ในการปรับปรุงและแก้ไขช่องโหว่บนเว็บแอพพลิเคชันได้สำเร็จ

วัตถุประสงค์

  1. เรียนรู้การพัฒนาและการออกแบบซอฟต์แวร์อย่างมั่นคงปลอดภัย
  2. เรียนรู้แนวทางและวิธีการการบุกรุกหรือการโจมตีจากแฮกเกอร์
  3. เรียนรู้แนวทางการป้องกันการบุกรุกหรือการโจมตีจากแฮกเกอร์
  4. เรียนรู้วิธีการตั้งค่าความมั่นคงปลอดภัยบนเครื่องเว็บเซิร์ฟเวอร์

ผู้ที่เหมาะสมในการอบรมหลักสูตรนี้

  1. นักพัฒนาซอฟต์แวร์ด้านเว็บแอพพลิเคชัน (Web Application Programmer)
  2. ผู้ดูแลระบบ (System Administrator)
  3. นักทดสอบเจาะระบบ (Penetration Tester)
  4. ที่ปรึกษาด้านความมั่นคงปลอดภัยสารสนเทศ (IT Security Consultant)
  5. ผู้สนใจอื่นๆ ด้านความมั่นคงปลอดภัยสารสนเทศ

ความรู้พื้นฐานของผู้เข้าอบอรม

  • การใช้งานคอมพิวเตอร์เบื้องต้น
  • การใช้งานระบบปฎิบัติการ Linux เบื้องต้น
  • การเขียนโปรแกรมภาษา HTML, PHP, JavaScript, JAVA, C#, Python เบื้องต้น

เงื่อนไขการอบรม

  • เครื่องโน้ตบุ๊กคอมพิวเตอร์ติดตั้งระบบปฎิบัติการ Windows 7 64 bit, CPU Core i5 GEN 4 ขึ้นไป, Memory ขนาด 8 GB, พื้นที่ Hard disk ขนาด 100 GB

ระยะเวลาการอบรม จำนวน 3 วัน

จำนวนผู้เข้าอบรม 15 ท่าน

DAY-1

เวลา เนื้อหา
9.00-10.30 Introduction to Web Application

o   ภัยคุกคาม ช่องโหว่ ที่เกิดขึ้นในปัจจุบัน

o   เรียนรู้คำศัพท์ที่เกี่ยวข้อง

o   ประวัติการพัฒนาเว็บแอพพลิเคชัน

o   โครงสร้างระบบเว็บแอพพลิเคชัน

o   เว็บไซต์และเว็บแอพพลิเคชัน

o   เว็บเซิร์ฟเวอร์

o   ทำความรู้จัก HTTP Protocol

10.30-10.45 อาหารว่าง
10.45-12.00
  • Information Security Fundamental

o   Confidentiality

o   Integrity

o   Availability

  • General Security Components

o   Authentication

o   Authorization

o   Accountability/Auditing

o   Non-repudiation

12.00-13.00 รับประทานอาหารกลางวัน
13.00-14.30
  • Why do you need application security?
  • Principles and concepts (Including OWASP)
  • Security by Design
  • Threat Modelling
  • Do Programming Languages Matter?
  • Application Security Myths
  • Top 25 Most Dangerous Software Errors
14.30-14.45 อาหารว่าง
14.45-17.00
  • มาตรฐาน ISO/IEC 27001:2013
  • Technical Vulnerability Management
  • Management of technical vulnerabilities

o   Risk Management

DAY-2

เวลา เนื้อหา
9.00-10.30 Introduction to Web Application Security

o   Vulnerability Stack

o   Defence in depth

Using a Web Proxy

o   Example: Burp Proxy

o   man-in-the-middle

o   Proxy Configuration

o   Intercept & Scope Configuration

o   HTTP, HTTPS

o   Manual browser configuration

o   Browser addon

o   Using The Spider & Discover

o   Using The Repeater Tab

o   Using The Intruder Tab

o   Text Specific Searching

Using a Hacking Tools

o   Example: Kali linux

o   Commands to help you navigate any Linux system

o   Add/remove software and update/upgrade your system

o   Archive and compress files and folders

o   Use wildcards to make daily tasks easier

o   Editing files

o   Configuring and managing services

o   Managing users, groups and permissions

o   Chaining multiple commands for greater effect

10.30-10.45 อาหารว่าง
10.45-12.00 SDLC vs. SSDLC

Secure Design Principles

o   Least Privilege

o   Separation of Duties

o   Minimize Attack Surface

o   Defense In Depth

o   Fail Secure

12.00-13.00 รับประทานอาหารกลางวัน
13.00-14.30 Risk Management

o   Vulnerability

o   Threat

o   Control

Threat Modeling

o   Attack Tree

o   Use Case

14.30-14.45  
14.45-17.00 Web Application Risks (OWASP Top 10)

o   OWASP Testing Guide

o   The OWASP Testing Framework

o   Black Box Testing Tools

o   Basic HTTP Protocol

o   Web Components

o   HTTP Request & Response

o   HTTP Method

o   URL Encode

o   User Agent

o   Session & Cookie

o   X-Forwarded-For

o   Header Security

o   Cache Control

o   HSTS

§  X-XSS-Protection

§  X-Content-Type-Options

§  MIME Type

§  X-FRAME-OPTIONS

§  UI Redressing

§  Iframe busing

DAY-3

เวลา เนื้อหา
9.00-10.30 How to secure PHP application

Hardening PHP

o   Register Globals

o   Magic Quotes

o   OpenBasedir

o   Log Error

o   php.ini

o   expose_php

o   display_errors

o   allow_url_fopen

o   httpd.conf

§  ServerToken

§  ServerSignature

§  Indexes

§  TraceEnable

§  AllowOverride

§  Includes

§  HTTP 1.1

§  Timeout

§  SSL

Authentication

o   Captcha

o   Random token

o   Password strength test

10.30-10.45 อาหารว่าง
10.45-12.00 Session management

o   Session Fixation

o   Multiple session

o   HTTPOnly

o   Secure Flag

Access control

o   Basic

o   Digest

o   Client Certificate

o   Form-based

o   IWA

Input Validation

o   $_FILE

o   $_REQUEST

o   $_SERVER

o   Whitelist

o   Numeric Validation

o   String Validation

o   Path Traversal

o   Encoding

12.00-13.00 รับประทานอาหารกลางวัน
13.00-14.30 Output Validation

o   File Upload

§  Arbitrary File Upload

o   SQL Injection

§  PDO, bindParam()

§  White List Input Validation

o   XSS

§  Encode data

§  Cookie Flags

§  X-XSS-Protection

§  OWASP PHP Anti-XSS library

14.30-14.45 อาหารว่าง
14.45-17.00 o   CSRF

§  Reflected vs. Stored

§  CSRF style protection

§  OWASP CSRF Guard

o   Insecure Direct Object Reference

o   Unvalidated Redirects and Forwards

o   Insecure Cryptographic Storage

§  Hashing with salt

o   Sensitive Data Disclosure

§  Robot.txt

§  HTML Comment

§  Directory Listing

§  Backup files

§  Directory Brute-Force

§  Logging

หมายเหตุ : เนื้อหาอาจมีการปรับเปลี่ยนแก้ไขตามความเหมาะสม