Secure Code Warrior

วันก่อนเจอ Tweet ที่คุณ Troy Hunt เจ้าของ haveibeenpwned ได้ share มาเกี่ยวกับ paper อันนึงที่น่าสนใจมาก คือเค้าอยากรู้ว่าถ้าจ้าง Developer มาพัฒนา Code เนี่ยจะการนึกถึงเรื่อง Security ด้วยหรือไม่ ดังนั้นเค้าจึงได้จ้างให้มีการเขียนโปรแกรมเกี่ยวกับ Registration Process โดยเค้าได้จ้าง Developer จาก freelancer.com เป็นจำนวน 43 คน โดยที่ไม่ได้บอก Security requirement เลย ซึ่งผลลัพธ์ที่ได้ในครั้งแรกนั้นมีจำนวน 18 คนที่ไม่ได้ใส่เรื่องของ Security เข้ามาในระบบเลย ในส่วนของคนที่ไม่ได้มีเรื่อง Security ก็จะถูกบอกให้กลับไปแก้มาใหม่ เมื่อทั้ง 43 คนได้ส่ง code เรียบร้อยแล้ว เค้าก็นำมาศึกษาต่อก็พบว่าวิธีการเก็บ password ของแต่ละคนนั้นแตกต่างกัน บางคนเลือกใช้ Base64 ที่เป็นแค่การ Encoding หรือ บางคนก็เลือกใช้ hashing algorithm ที่ไม่ปลอดภัยในปัจจุบันแล้ว โดยสรุปทั้ง 43 คนได้เลือกใช้วิธีการดังนี้
10 - MD5
8 - Base64
7 - Bcrypt
5 - SHA-256
5 - PBKDF2
3 - AES
3 - 3DES
1 - SHA-1
1 - HMAC/SHA1
โดย Paper นี้ได้มีการสรุป Key Findings มาหลายจุด แต่ผมขอดึงเรื่อง Security ที่เกี่ยวข้องมาดังนี้ครับ
- If You Want Security, Ask For It. ถ้าต้องการเรื่องของ Security ให้แจ้ง Requirement นี้ไปด้วยเลยตั้งแต่แรก
- Misconceptions มีความเข้าใจผิดอยู่มากเรื่องของ Encoding, Hashing, Encryption ทั้งในส่วนของ Encoding ที่หน้าตาของมันเหมือนจะถูกแปลงให้อ่านยาก และในส่วนของ Hashing กับ Encryption ที่ยังมีความเข้าใจว่าทั้ง 2 อย่างเหมือนกันอยู่
- Continuous Learning ส่วนใหญ่ของกลุ่มตัวอย่างนี้ขาดการเรียนรู้ในสิ่งใหม่ๆ เนื่องจาก Final solution ที่ถูกส่งมานั้นมีจำนวนหลายอันที่ใช้วิธีการเก็บ password แบบเก่าๆที่ไม่ปลอดภัยในปัจจุบันแล้ว
- Copy and Paste พบว่า security code ที่ส่งมานั้นหาได้จากบน Internet
สนใจอ่านรายละเอียดของ Paper นี้เต็ม ๆ ได้ที่ https://net.cs.uni-bonn.de/.../Naiakshina_Password_Study.pdf
ในส่วนของการเก็บ Password นั้น OWASP Password_Storage_Cheat_Sheet (https://github.com/.../Password_Storage_Cheat_Sheet.md) ได้แนะนำว่ามี 2 วิธีคือ
- Leverage an adaptive one-way function ใช้ one-way function คู่กับ salt โดย algorithm ที่แนะนำคือ Argon2 และ PBKDF2
- Leverage Keyed functions ใช้ HMAC คู่กับ Salt (HMAC แบบง่ายๆ ก็คือ one-way function ที่มีการทำ encryption ซ้ำอีกที)
ถ้าสนใจอยากเรียนรู้ Secure Coding แล้วล่ะก็มาลอง Secure Code Warrior ได้ โดยเป็น Platform ที่มีจุดเด่นคือ
-ครบถ้วนทุก platform การเขียน ไม่ว่าจะเป็น web, mobile และอื่นๆ
-รวมทุกภาษาไว้ด้วยกัน ตั้งแต่ Java, C#.net, IOS, Android, Node, Python, COBOL และอื่นๆ ซึ่งมีการ update วิธีเขียน coding รวมถึงช่องโหว่ใหม่ๆ ตาม trend ของโลก
-เข้าใจมุมมองของ hacker รวมถึงช่องโหว่ที่ hacker มักจะใช้ และเรียนรู้การเขียน code ให้ปลอดภัยตาม OWASP Top 10
-สนุกในรูปแบบของ gamification และ flexible กับ life style ของ programmer ผู้เรียนสามารถ enjoy กับบทเรียนที่ไหน เมื่อไหร่ก็ได้
นอกจากนี้ยังมี tournament ให้วัดพลังกันในทีมได้อีกด้วย
-license มีระยะเวลา 1 ปี ไม่มีเงื่อนไขจุกจิก เรียนได้ทุกอย่างที่มีใน platform จึงช่วยสร้าง awareness ให้กับ programmer ได้มากกว่าการเรียนรูปแบบเก่า
-องค์กรได้พัฒนาคน สามารถนำผลการฝึกอบรมไปปิด audit issue และนำค่าใช้จ่ายไปลดหย่อนภาษีได้ 200%
หากท่านสนใจสามารถติดต่อได้ที่ email: contact@incognitolab.com หรือโทร +66800898800
บริการของเรา
TRAINING
เสริมทักษะที่จำเป็นทั้งการพัฒนาแอปพลิเคชันอย่างปลอดภัยและการสร้าง security awareness ให้องค์กร พร้อมหลักสูตรเฉพาะทางสำหรับหน่วยงานบังคับใช้กฎหมาย สอนโดยทีมผู้เชี่ยวชาญ
Up Next

ARTICLES
Dec
26
2025
ฝึกซ้อม Cyber Drill ด้วย CYBER RANGES
CYBER RANGES แพลตฟอร์มที่ช่วยเพิ่มขีดความสามารถทางด้าน cybersecurity แบบ all-in-one แน่นอนว่ามีโมดูลมากมายที่ช่วยพัฒนาขีดความสามารถด้าน cybersecurity มากมาย
READ MORE

ARTICLES
Mar
04
2021
Cybersecurity for Startup/SME Business ตอนที่ 3/3
นี่เป็นตอนสุดท้ายของ Series นี้ วัตถุประสงค์ของบทความนี้เราอยากให้องค์กร Startup และ SME เห็นความเสี่ยงและแนวทางในการจัดการด้าน Cybersecurity เพื่อไม่ให้เกิดการสิ้นเปลืองทั้งในด้านของเวลา และ ทรัพยากร (บุคลากร และ เงินที่ใช้)
READ MORE

ARTICLES
Jun
26
2026
Security Hardening รากฐานความปลอดภัยของระบบ ที่ทุกคนควรใส่ใจ
ระบบปฏิบัติการ (OS) หรือ Server ที่ถูกติดตั้งมาในตอนแรก มักจะมีฟังก์ชันการทำงาน, Services หรือ Ports ต่าง ๆ เปิดทิ้งไว้เป็นค่าเริ่มต้นเพื่อความสะดวกในการใช้งาน กระบวนการทำ Security Hardening จึงเข้ามาจัดการอุดหรือแก้ไขปัญหาเหล่านี้ผ่านเทคนิคสำคัญ
READ MORE

