นั่งอ่านเอกสาร OWASP Top 10 – 2017 RC 1 แล้ว
พบว่ามีทั้งการเพิ่มและการลบออกไปจากของปี 2013 นิดหน่อย
แต่มันกลับไปคล้ายกับปี 2003 มาก ๆ ซึ่งรายละเอียดลองไปอ่านกันดูนะครับ

โดย Top 10 ที่ออกมานั้น มันสะท้อนถึงการพัฒนา software สมัยใหม่ ๆ
ที่มีการพัฒนาที่รวดเร็วขึ้นกว่าเดิมเป็นอย่างมาก ๆ
โดยเฉพาะการพัฒนา APIs ต่าง ๆ ที่ระบบใหม่นิยมทำกัน
แต่สิ่งที่มักจะขาดหรือละเลยไปคือ ความใส่ใจเรื่องความปลอดภัย !!

เมื่อลงไปดูรูปแบบการโจมตีพบว่ายังคงอยู่ในรูปแบบเดิม

เพิ่มเติมคือการพัฒนา software ที่เปลี่ยนไปเท่านั้นเอง
ดังนั้นทั้งส่วนของทีมพัฒนาและทีม security application ต้องทำงานร่วมกันมากขึ้น
เนื่องจากรูปแบบการพัฒนาที่เปลี่ยนไป
ทำให้เรื่องของ security ก็เปลี่ยนไปเช่นกัน

ลองคิดดูว่า
ถ้านักพัฒนา software ยังคงไม่ใส่ใจในเรื่องความปลอดภัย
ถ้าทีม application security ยังคงไม่สนใจว่าจะพัฒนาเปลี่ยนไปอย่างไร
ต่างฝ่ายต่างสนใจแต่งานของทีม ผลที่ออกมาคือ ตีกันไปมา !!
ใครกันที่ได้ประโยชน์ ?

ดังนั้นเรื่องความปลอดภัยต้องคุย แบ่งปันกันตลอดเวลา
รวมทั้งกำหนด test case และรูปแบบการโจมตีไว้เลย
จะได้ออกแบบระบบสำหรับป้องกันการโจมตีรูปแบบต่าง ๆ ไว้
ไม่ต้องมานั่ง hack ระบบกันเองไปมาให้วุ่นวายเกินไป
ให้ทำเท่าที่จำเป็นเพื่อลดความเสี่ยง
ที่สำคัญระบบที่พัฒนามันง่ายต่อการทดสอบหรือไม่ ?

แต่สิ่งที่น่าสนใจอย่างมากจากเอกสารชุดนี้คือ What’s Next for Security Testing ?

ในเอกสารพูดถึงคำว่า Continuous Application Security Testing
นั่นคือทำการทดสอบเรื่องความปลอดภัยอย่างสม่ำเสมอ
เนื่องจากรูปแบบการพัฒนาเปลี่ยนไป ตามแนวคิด Agile และ DevOps
เนื่องจากรูปแบบการพัฒนาที่เป็นรอบสั้น ๆ นั่นคือมี feature ต่าง ๆ ออกมาเรื่อย

โดยที่การทดสอบเรื่องความปลอดภัยต้องไม่ทำให้การพัฒนาช้าลงด้วย
นั่นแสดงว่าเรื่องของ automation testing ต้องถูกนำมาใช้ให้มากขึ้น

แต่ก่อนอื่นต้องเข้าใจสิ่งต่าง ๆ เหล่านี้ก่อน

  • รูปแบบของการโจมตีระบบ สามารถดูได้จาก Testing Guide
  • เข้าใจกระบวนการพัฒนา Software ว่าเป็นอย่างไร เพื่อให้การทดสอบเรื่องความปลอดภัยเข้ากับคน ขั้นตอน และเครื่องมือในการพัฒนาให้มากที่สุด ไม่ใช่ตัวใครตัวมัน
  • Testing strategies เป็นอย่างไร แนะนำให้ง่ายและเร็วที่สุด
  • เรื่องของ Test coverage และ ความถูกต้องแม่นยำ ซึ่งต้องมีจำนวนเพิ่มขึ้นอย่างต่อเนื่อง
  • ปรับปรุงและพัฒนาอย่างต่อเนื่อง ด้วยการสื่อสารระหว่างคน ระหว่างทีม สร้างความเชื่อมั่นต่าง ๆ ด้วยการอธิบายอย่างเข้าใจ และแบ่งปันรูปแบบการโจมตีใหม่ ๆ อย่างสม่ำเสมอ เน้นที่การพูดคุยมากกว่าส่งเป็นเอกสารนะ

 

คำถามคือ ตอนนี้ Application Security Testing เป็นอย่างไร ?