OWASP APTS คืออะไร?
By Doldanai Jaipeng,
Penetration Tester Team, Datafarm Company Limited
สวัสดีครับ บทความนี้จะเน้นพูดคุยและเล่าความคิดเห็นเป็นส่วนใหญ่ หากตรงไหนผิดพลาด สามารถแชร์ความรู้ความเข้าใจเพิ่มเติมเข้ามาได้เลยนะครับ จะได้ช่วยกันลดความผิดพลาดในส่วนนั้นลง
ช่วงนี้ Automated Pentest Tools หรือพวก AI-Assisted Security Testing ถูกหยิบมาใช้และพูดถึงกันมากขึ้น หลายที่ก็พยายามทำให้ขั้นตอนที่เมื่อก่อนต้องใช้แรงคนเยอะ ๆ เบาลง ไม่ว่าจะเป็นการช่วยสแกน วาง Flow การทดสอบ หรือสรุปผลให้อ่านง่ายขึ้นกว่าเดิม แต่พอระบบเริ่มทำงานอัตโนมัติมากขึ้น คำถามที่เกิดขึ้นก็ไม่ใช่แค่ว่า “มันหาอะไรเจอได้บ้าง” แต่เป็น “มันคุมขอบเขตได้ไหม” “ถ้าเริ่มมีอะไรไม่โอเค หยุดได้ทันทีหรือเปล่า” แล้วก็ “สิ่งที่ระบบทำไป ตรวจสอบย้อนหลังได้ไหม”
ตรงนี้แหละครับที่ APTS เริ่มน่าสนใจ เพราะมันไม่ได้พาเราคุยแค่ว่าเครื่องมือเก่งไหม แต่พาคุยต่อว่า ถ้าระบบเริ่มช่วยคิด ช่วยเลือก หรือช่วยลงมือมากขึ้น เราจะคุมมันยังไง
APTS คืออะไร
APTS หรือ Autonomous Penetration Testing Standard คือกรอบสำหรับคุยเรื่องระบบ Automated Pentest ว่ามันควรถูกควบคุมอย่างไร จึงจะสามารถใช้งานได้โดยไม่หลุดขอบเขตได้ง่าย ๆ
มันไม่ได้มาแทน PTES, OWASP WSTG หรือ OSSTMM เพราะพวกนั้นยังเป็นแนวทางการทดสอบที่สำคัญเหมือนเดิม แต่ APTS จะดูอีกชั้นว่า ถ้าระบบเริ่มอัตโนมัติมากขึ้น เราจะประเมินอย่างไรได้ว่ามันยังปลอดภัย ยังควบคุมได้ และยังตรวจสอบย้อนหลังได้
สรุปสั้น ๆ คือ APTS ช่วยให้เราถามคำถามพวกนี้ได้ชัดขึ้น
- ระบบรู้ขอบเขตงานจริงไหม
- ถ้าเริ่มเสี่ยง มันหยุดได้ไหม
- ตรงไหนยังต้องมีคนคุม
- สิ่งที่มันทำไป ย้อนกลับมาตรวจสอบได้หรือเปล่า
APTS ช่วยอะไร และมีหน้าที่ทำอะไร
สิ่งที่ผมมองว่า APTS ช่วยได้ คือจากเดิมเราอาจคุยกันว่าเครื่องมือเก่งแค่ไหน ทำอะไรได้ขนาดไหน ก็จะเพิ่มมุมการพูดคุยว่า มันควบคุมได้ขนาดไหน ดูย้อนหลังได้หรือเปล่า และทำอะไรไปตรงไหนบ้าง
APTS มีหน้าที่คล้าย ๆ Baseline สำหรับประเมินว่า Platform แบบนี้ใช้งานได้แค่ไหนในมุม Governance มากกว่ามุมเทคนิคเจาะระบบโดยตรง ตัวอย่างเช่น
- ช่วยตั้งคำถามก่อนเอาเครื่องมือไปใช้จริง
- ช่วยดูว่าระบบคุม Scope ได้ไหม
- ช่วยบังคับให้คิดเรื่อง Human Oversight
- ช่วยเน้นเรื่อง Log, Audit Trail และการตรวจสอบย้อนหลัง
- ช่วยให้คุยกับ Vendor หรือคุยกันในทีมได้ง่ายขึ้น
ข้างใน APTS เน้นอะไร
ส่วนใหญ่มาตรฐานบางทีอาจทำให้รู้สึกว่ามันเป็นเรื่องเอกสารล้วน ๆ แต่จริง ๆ แล้วสิ่งที่มันพยายามจับคือ พฤติกรรมของระบบตอนกำลังทำงานอยู่
ผมขอยกตัวอย่างคร่าว ๆ ว่า ระบบ Automated Pentest หรือ AI-Assisted Security Testing ควรพิจารณาอะไรบ้าง
1. Scope
ระบบรู้ไหมว่าอะไรอยู่ในขอบเขต และอะไรอยู่นอกขอบเขต อันนี้สำคัญมาก เพราะถ้าระบบไล่ต่อเองจนหลุดออกนอก Scope ที่อนุญาตไว้ ต่อให้มันหาอะไรเก่งแค่ไหนก็ยังถือว่ามีปัญหา
2. Decision และ Stop Condition
หลายระบบไม่ได้แค่ Scan แล้วจบ แต่มันเริ่มมีการเลือกทางเอง เช่น จะ Fuzz ต่อไหม จะลอง Chain Issue ต่อหรือเปล่า หรือจะไปถึงการทำ PoC เพื่อดูว่า Impact มีต่อระบบแค่ไหน
คำถามคือ ถ้ามันเริ่มแรงขึ้น ใครเป็นคนอนุมัติ และถ้ามันเริ่มทำอะไรไม่โอเค เราหยุดมันได้เร็วแค่ไหน
3. Human Oversight
ถึงจะชื่อ Autonomous แต่ในงานจริงผมยังมองว่าคนต้องอยู่ใน Loop บางช่วง โดยเฉพาะ Action ที่มีผลกระทบสูง เช่น การ Exploit จริง หรือการแตะข้อมูลสำคัญ
4. Logging และ Auditability
อีกเรื่องที่สำคัญมากคือย้อนดูได้ไหมว่าระบบทำอะไรไปบ้าง เช่น ส่ง Request อะไร ใช้ Tool ไหน ตัดสินใจจากอะไร และมีใคร Approve อะไรไปตรงไหนบ้าง ถ้าย้อนดูไม่ได้ เวลามีปัญหาจะตอบยากมาก
5. Manipulation Resistance
พอเริ่มมี AI เข้ามาเกี่ยว เราก็ต้องคิดต่อว่าระบบจะถูกหลอก ถูกป้อนข้อมูลแปลก ๆ หรือถูกทำให้ตัดสินใจเพี้ยนได้ไหม
แล้วเอา APTS มาปรับใช้ยังไงได้บ้าง
สำหรับผมคิดว่าสามารถใช้พูดคุยในงานที่มีการใช้งาน Tools เหล่านี้ได้
ใช้คุยกับ Vendor หรือในทีม
หากมีการใช้ Tools แบบ Autonomous ในระหว่างการทดสอบ หรือมีการนำเสนอ Tools ลักษณะนี้ คำถามที่ควรถามอาจเป็น
- ถ้าระบบเจอ Path ใหม่ มันขยาย Scope เองได้ไหม
- ถ้าการทดสอบเริ่มกระทบ Service มันหยุดเองได้ไหม
- ตรงไหนต้องมีคน Approve
- เก็บ Log ได้ละเอียดแค่ไหน
- ถ้าระบบตัดสินใจพลาด จำกัดผลกระทบยังไง
- จะให้ระบบทำได้ถึงระดับไหน
- อะไรต้องมีคน Approve เสมอ
- ต้องเก็บ Log อะไรบ้าง
- ถ้าระบบหลุด Scope ใครเป็นคนหยุด
ใช้เป็น Checklist
ต่อให้ยังไม่ไล่เช็กทุก Requirement ของมาตรฐาน เราก็หยิบแนวคิดของมันมาทำ Checklist แบบง่าย ๆ ได้ เช่น
- ระบุ Scope ชัดหรือยัง
- แยก UAT, TEST กับ Production ชัดหรือยัง
- มี Stop Condition หรือยัง
- มี Owner ตอนระบบรันหรือยัง
- Trace กลับได้ไหมว่าระบบทำอะไรไป
สรุปความเห็น
APTS เข้ามาช่วยให้เราคุยเรื่อง Automated Pentest ให้มีการควบคุมการใช้งานมากขึ้น ว่าระบบที่เริ่มช่วยคิด ช่วยเลือก และช่วยลงมือมากขึ้นนั้น ยังอยู่ในขอบเขต ควบคุมได้ และตรวจสอบได้จริงหรือเปล่า
จุดสำคัญของมันไม่ใช่ว่ามันบอกว่าเครื่องมือไหนดีที่สุด แต่คือมันช่วยให้เราสามารถตอบคำถามที่จะเกิดขึ้น ระหว่างการทดสอบ ได้ดีขึ้น และเวลาเจอเครื่องมือ Autonomous หรือ AI อย่างน้อยเราจะไม่ดูแค่ความเก่ง แต่จะดูด้วยว่ามันคุมตัวเองยังไง
อ้างอิง
- OWASP APTS Project Page: https://owasp.org/APTS/
- OWASP APTS Introduction: https://owasp.org/APTS/standard/Introduction.html
- OWASP APTS GitHub Repository: https://github.com/OWASP/APTS