นั่งอ่านเอกสาร 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 เป็นอย่างไร ?