Vulnerability Assessment (VA) คืออะไร ต่างจาก Penetration Testing อย่างไร และองค์กรควรทำแบบใด
"เราทำ VA Scan ทุกไตรมาสอยู่แล้ว จำเป็นต้องทำ Pentest อีกหรือ"
นี่คือคำถามที่เราได้รับบ่อยที่สุดจากทีม IT และคำตอบคือจำเป็น เพราะสองแนวทางนี้ตอบคนละคำถาม ผู้ตรวจสอบทราบความแตกต่างนี้ หน่วยงานกำกับทราบ และผู้โจมตีก็ทราบเช่นกัน
เริ่มจากนิยามให้ตรงกันก่อน Vulnerability Assessment (VA) หรือการประเมินช่องโหว่ คือการสแกนระบบในวงกว้างด้วยเครื่องมืออัตโนมัติ เทียบกับฐานข้อมูลช่องโหว่ที่รู้จัก (CVE) ผลลัพธ์คือรายการช่องโหว่พร้อมระดับ Severity ส่วนคำว่า VA Scan ที่ใช้กันทั่วไป หมายถึงขั้นตอนสแกนในงานประเมินช่องโหว่นั่นเอง ขณะที่ Penetration Testing คือการทดสอบโจมตีจริงโดยผู้เชี่ยวชาญ เพื่อพิสูจน์ว่าช่องโหว่ใดนำไปใช้ได้จริงและสร้างความเสียหายถึงระดับใด
สรุปให้สั้นที่สุด: VA ตอบว่า "ระบบเรามีช่องโหว่ที่เป็นที่รู้จักสาธารณะ (Publicly Known) ตัวไหนบ้าง" Pentest ตอบว่า "ช่องโหว่เหล่านั้น รวมถึงช่องโหว่ที่ไม่อยู่ในฐานข้อมูลใด ผู้โจมตีนำไปสร้างความเสียหายอะไรกับเราได้" เปรียบได้กับการตรวจสุขภาพประจำปีกับการตรวจวินิจฉัยโดยแพทย์เฉพาะทาง แบบแรกตรวจได้หลายรายการ รวดเร็ว ค่าใช้จ่ายต่ำ แต่ไม่วินิจฉัยโรค แบบหลังใช้เวลาและค่าใช้จ่ายมากกว่า แต่ให้ข้อสรุปที่ยืนยันได้
เปรียบเทียบ VA กับ Pentest
| ประเด็น | Vulnerability Assessment | Penetration Testing |
|---|---|---|
| เป้าหมาย | ค้นหารายการช่องโหว่ที่รู้จัก | พิสูจน์ว่าโจมตีได้จริง วัดผลกระทบ |
| วิธีการ | สแกนอัตโนมัติ + ตรวจยืนยันโดยผู้เชี่ยวชาญ | ผู้เชี่ยวชาญทดสอบแบบ Manual เป็นหลัก เครื่องมือเป็นตัวช่วย |
| Business Logic | ตรวจไม่ได้ | จุดแข็งหลัก |
| ระยะเวลา | 1 ถึง 3 วัน | 5 ถึง 25 วัน |
| ความถี่ที่แนะนำ | รายเดือนหรือรายไตรมาส | ปีละครั้ง และหลังการเปลี่ยนแปลงระบบครั้งใหญ่ |
| ราคาเริ่มต้นในไทย | ฿80,000 ถึง ฿250,000 | ฿160,000 ถึง ฿1,400,000 |
| ผลลัพธ์ | รายการช่องโหว่พร้อมคะแนน CVSS | หลักฐานการโจมตี Attack Path และผลกระทบทางธุรกิจ |
งานที่ VA Scan ทำได้ดีที่สุด
ความแม่นยำของเครื่องมือสแกนแปรผันตรงกับความแพร่หลายของซอฟต์แวร์ที่ตรวจ ยิ่งซอฟต์แวร์มีผู้ใช้มาก ฐานข้อมูลช่องโหว่ยิ่งครบ งานที่ VA ให้ผลคุ้มที่สุดได้แก่:
- การตรวจปูพรมรอบแรกสำหรับ Server IP และ Domain จำนวนมาก สแกน IP หลักร้อยรายการและ Domain ทั้งหมดขององค์กรเสร็จในไม่กี่วัน ได้ภาพรวมความปลอดภัยเบื้องต้นที่ใช้จัดลำดับว่าระบบใดควรลงทุนทดสอบเชิงลึกต่อ ขอบเขตระดับนี้ทดสอบด้วยคนทั้งหมดไม่คุ้มทั้งเวลาและงบประมาณ
- ซอฟต์แวร์สำเร็จรูปและ CMS เช่น WordPress, Joomla รวมถึง Plugin และ Theme ที่ติดตั้ง ช่องโหว่ของซอฟต์แวร์กลุ่มนี้มี CVE บันทึกไว้ครบ เครื่องมือสแกนตรวจพบได้ตรงตัว
- Library และ Framework ที่ล้าสมัย กรณีอย่าง Log4Shell (CVE-2021-44228) คือตัวอย่างที่เครื่องมือสแกนตรวจพบได้ทั่วทั้งองค์กรภายในวันเดียว เร็วกว่าการไล่ตรวจด้วยคนหลายเท่า
- Misconfiguration เช่น Port ที่เปิดเกินจำเป็น Default Credentials, TLS เวอร์ชันเก่า, Security Header ที่ขาด และสิทธิ์ Cloud Storage ที่ตั้งค่าผิด
- Patch ที่ขาดหายไป ทั่วทั้ง Server และ Workstation จำนวนมาก ซึ่งการไล่ตรวจทีละเครื่องด้วยคนไม่คุ้มเวลา
- การเฝ้าระวังต่อเนื่อง สแกนซ้ำสม่ำเสมอเพื่อจับช่องโหว่ใหม่ทันทีที่มีการเปิดเผย
สรุปคือ ส่วนของระบบที่เป็นซอฟต์แวร์สำเร็จรูป การทำ VA สม่ำเสมอให้ผลคุ้มค่ามาก ส่วนที่เป็นโค้ดที่พัฒนาขึ้นเอง ต้องอาศัย Pentest
ข้อจำกัดของเครื่องมือสแกนที่ต้องเข้าใจ
สิ่งที่ต้องอาศัยความเข้าใจบริบททางธุรกิจ เครื่องมือสแกนตรวจไม่พบทั้งหมด เครื่องมือไม่ทราบว่าผู้ใช้ระดับ Basic ไม่ควรอัปเกรดสิทธิ์ตนเองเป็น Premium ได้ด้วยการแก้ค่าใน Request ตรวจไม่พบว่า Flow รีเซ็ตรหัสผ่านของระบบใช้รีเซ็ตรหัสผ่านของผู้ใช้รายอื่นได้ และไม่สามารถประเมินได้ว่าช่องโหว่ระดับ Medium สองรายการที่ดูไม่อันตรายเมื่อแยกกัน จะกลายเป็น Attack Path ที่ยึดระบบได้เมื่อนำมา Chain กัน เครื่องมือให้คะแนนทีละจุด แต่ผู้โจมตีมองทั้งระบบ
ข้อจำกัดนี้ชัดที่สุดกับระบบที่พัฒนาขึ้นเอง เครื่องมือสแกนทำงานจาก Template และ Signature ของช่องโหว่ที่เคยพบในซอฟต์แวร์สำเร็จรูป เช่น CMS, Library และ Framework เวอร์ชันต่าง ๆ แต่แอปพลิเคชันที่ทีมของคุณพัฒนาเอง หรือจ้างทีมภายนอกพัฒนา คือโค้ดที่ไม่มีใครอื่นใช้งาน ช่องโหว่ของมันจึงไม่อยู่ในฐานข้อมูลของเครื่องมือสแกนรายใดทั้งสิ้น ยิ่งระบบเป็นงานพัฒนาเฉพาะมากเท่าไร ผลสแกนยิ่งบอกอะไรได้น้อยลง และการทดสอบแบบ Manual ยิ่งจำเป็นมากขึ้น
ผลสแกนที่ระบุว่า "ไม่พบช่องโหว่ร้ายแรง" จึงหมายความเพียงว่าไม่พบช่องโหว่ที่เครื่องมือรู้จัก ระบบที่ผลสแกนสะอาดแต่ถูกเจาะผ่านช่องโหว่ Business Logic เกิดขึ้นจริงอย่างต่อเนื่อง
คุณภาพของงาน VA เองก็ต่างกันมากระหว่างผู้ให้บริการ งาน VA ที่ได้มาตรฐานต้องมีผู้เชี่ยวชาญตรวจยืนยันผลก่อนส่งมอบ คัดกรอง False Positive และจัดลำดับความสำคัญตามความเสี่ยงจริงของธุรกิจ รายงานที่เป็นเพียงไฟล์ Export จากเครื่องมือโดยไม่ผ่านการตรวจยืนยัน ไม่ควรนับเป็นงานประเมินช่องโหว่
หน่วยงานกำกับในไทยกำหนดไว้อย่างไร
ธปท. กำหนดชัดเจนว่าต้องมีทั้งสองส่วน: การทดสอบเจาะระบบประจำปีโดยหน่วยงานอิสระสำหรับระบบสำคัญ ควบคู่กับการประเมินช่องโหว่อย่างต่อเนื่อง VA Scan เพียงอย่างเดียวไม่ผ่านข้อกำหนดด้านการทดสอบเจาะระบบ
PCI DSS v4.0.1 แยกเป็นสองข้อกำหนดอย่างชัดเจน: Requirement 11.3 กำหนดสแกนช่องโหว่รายไตรมาสโดย ASV และ Requirement 11.4 กำหนดทดสอบเจาะระบบประจำปี ข้อหนึ่งใช้แทนอีกข้อไม่ได้
PDPA มาตรา 37 ใช้เกณฑ์มาตรการที่ "เหมาะสม" ซึ่งจะวัดผลจริงเมื่อเกิดเหตุข้อมูลรั่วไหลและ สคส. เข้าตรวจสอบ รายงานทดสอบเจาะระบบที่พิสูจน์ว่ามาตรการผ่านการทดสอบจริง มีน้ำหนักเป็นหลักฐานมากกว่าผลสแกนอย่างมีนัยสำคัญ
ISO 27001 Annex A 8.8 กำหนดการจัดการช่องโหว่ทางเทคนิค VA ตอบโจทย์ส่วนการค้นหา ส่วน Pentest คือหลักฐานว่ามาตรการต้านทานการโจมตีได้จริง ซึ่งผู้ตรวจประเมินสอบถามมากขึ้นทุกปี รายละเอียดอยู่ที่หน้า ISO 27001 และบทความ ISO 27001 ต้องทำ Penetration Test หรือไม่
แนวทางจัดงบประมาณที่แนะนำ
แนวทางที่เราแนะนำลูกค้าเกือบทุกราย: ทำ VA Scan รายไตรมาสกับทุกระบบ เพราะค่าใช้จ่ายต่ำพอที่จะทำสม่ำเสมอ และตรวจจับช่องโหว่ใหม่จากแพตช์และการ Deploy ได้ทันเวลา จากนั้นจัดสรรงบประมาณหลักให้การทดสอบเจาะระบบปีละครั้งกับระบบสำคัญ โดยเฉพาะระบบที่ลูกค้าใช้งานและระบบที่ประมวลผลข้อมูลส่วนบุคคล เมื่อมีการเปลี่ยนแปลงครั้งใหญ่ระหว่างปี เช่น เปิดตัวฟีเจอร์ชำระเงินใหม่ ให้ทดสอบเพิ่มเฉพาะส่วนนั้น
แนวทางนี้ให้ทั้งความครอบคลุมจาก VA และความลึกจาก Pentest ตรงตามที่เกณฑ์กำกับส่วนใหญ่กำหนด วงการเรียกแนวทางนี้ว่า VAPT (Vulnerability Assessment and Penetration Testing)
หากยังประเมินไม่ได้ว่าระบบใดควรทดสอบเจาะระบบและระบบใดเพียง VA ก็เพียงพอ ส่งรายการระบบมาปรึกษาเราได้ เราช่วยจัดลำดับตามความเสี่ยงจริงและงบประมาณที่มี พร้อมใบเสนอราคาภายใน 48 ชั่วโมง
บริการที่เกี่ยวข้อง
- การประเมินช่องโหว่ (VA) สแกนพร้อมตรวจยืนยันโดยผู้เชี่ยวชาญ คัดกรอง False Positive ก่อนถึงมือทีมของคุณ
- การทดสอบเจาะระบบ พิสูจน์ช่องโหว่ด้วยการโจมตีจริงตามกรอบ PROVE พร้อมทดสอบซ้ำหลังแก้ไข
- การทดสอบเจาะระบบเว็บแอปพลิเคชัน ทดสอบเว็บแอปพลิเคชันและ API ตาม OWASP WSTG