ผู้จัดซื้อมักได้ยินคำว่า "การทดสอบเจาะระบบ" และ "การสแกนช่องโหว่" ถูกใช้ราวกับเป็นสิ่งเดียวกัน ซึ่งไม่ใช่ การสแกนช่องโหว่คือการตรวจสอบอัตโนมัติที่เปรียบเทียบระบบกับฐานข้อมูลจุดอ่อนที่เป็นที่รู้จัก ส่วนการทดสอบเจาะระบบ (Penetration Test) คือกิจกรรมที่มีขอบเขตงานกำหนดไว้และดำเนินการโดยผู้เชี่ยวชาญ ซึ่งผู้ทดสอบจะตรวจสอบว่าจุดอ่อนสามารถถูกใช้โจมตีเป้าหมายที่ตกลงกันไว้ได้จริงหรือไม่ พร้อมบันทึกหลักฐาน ทั้งสองแบบมีประโยชน์ ทางเลือกที่เหมาะสมขึ้นอยู่กับคำถามที่คุณต้องการคำตอบ ระดับความพร้อมของสภาพแวดล้อมของคุณ และผู้ที่จะอ่านผลลัพธ์
คืออะไร
การสแกนช่องโหว่คือการใช้เครื่องมือตรวจสอบโฮสต์ เว็บไซต์ หรือแอปพลิเคชัน และรายงานปัญหาที่เครื่องมือรู้จัก เช่น แพตช์ที่ขาดหาย ซอฟต์แวร์เวอร์ชันเก่า บริการที่เปิดเผยต่อภายนอก การตั้งค่า TLS ที่อ่อนแอ หรือการตั้งค่าผิดพลาดที่พบบ่อย การสแกนทำได้รวดเร็วและทำซ้ำได้ จึงเหมาะกับการดูแลสุขอนามัยด้านความปลอดภัยเป็นประจำ ข้อจำกัดของการสแกนเป็นที่ทราบกันดี เครื่องสแกนให้ผลบวกลวง พลาดปัญหาที่ขึ้นอยู่กับตรรกะทางธุรกิจ และไม่สามารถบอกได้ว่าข้อค้นพบที่มีระดับความรุนแรงต่ำจะกลายเป็นเรื่องร้ายแรงหรือไม่เมื่อรวมกับข้อค้นพบอื่น การทดสอบเจาะระบบเริ่มต้นจากขอบเขตงานและกฎการปฏิบัติงาน (Rules of Engagement) ที่เป็นลายลักษณ์อักษร ผู้ทดสอบใช้เครื่องมือต่าง ๆ รวมถึงเครื่องสแกน แต่จากนั้นจะทำงานด้วยตนเอง ได้แก่ การยืนยันข้อค้นพบ การทดสอบการยืนยันตัวตนและการกำหนดสิทธิ์ การตรวจสอบการแยกบทบาทและผู้เช่า (tenant) และการไล่ตามเส้นทางที่สมจริงซึ่งผู้โจมตีอาจลองใช้ ผลลัพธ์คือรายงานที่มีหลักฐาน ระดับความรุนแรง และแนวทางการแก้ไข แทนที่จะเป็นรายการผลลัพธ์ดิบจากเครื่องมือ โดยสรุป การสแกนบอกคุณว่าอะไรอาจผิดพลาด ส่วนการทดสอบเจาะระบบบอกคุณว่าอะไรผิดพลาดอย่างพิสูจน์ได้ภายในขอบเขตงานที่ตกลงกัน และเหตุใดจึงสำคัญ
เหมาะสำหรับใคร
การเปรียบเทียบนี้มีประโยชน์สำหรับทีมที่:
- ได้รับคำขอ "การทดสอบด้านความปลอดภัย" จากลูกค้า พันธมิตร หรือบริษัทประกัน และต้องการเข้าใจว่าแท้จริงแล้วถูกขออะไร
- สแกนเป็นประจำอยู่แล้ว และต้องการทราบว่าการทดสอบด้วยมือจะให้ข้อมูลเชิงลึกที่มีความหมายเพิ่มขึ้นหรือไม่
- กำลังเปิดตัวเว็บแอปพลิเคชัน API หรือแอปมือถือใหม่ และต้องตัดสินใจว่าการทดสอบก่อนเปิดตัวควรลึกเพียงใด
- ต้องอธิบายต่อฝ่ายบริหารว่าเหตุใดใบเสนอราคา "การทดสอบ" สองฉบับจึงแตกต่างกันมากทั้งในด้านปริมาณงานและผลลัพธ์
ช่วยให้เข้าใจเรื่องใด
การอ่านทั้งสองแบบเปรียบเทียบกันช่วยให้เห็นชัดเจนว่า:
- คำถามของคุณเกี่ยวกับการดูแลปัญหาที่เป็นที่รู้จัก (การสแกน) หรือความเสี่ยงที่ถูกใช้โจมตีได้จริงในระบบเฉพาะ (การทดสอบเจาะระบบ)
- ข้อค้นพบใดในรายงานการสแกนที่มีอยู่มีแนวโน้มเป็นสัญญาณรบกวน และข้อใดควรได้รับการยืนยันด้วยมือ
- ตรรกะทางธุรกิจ การควบคุมการเข้าถึง และเส้นทางการโจมตีหลายขั้นตอนอยู่นอกเหนือสิ่งที่เครื่องมืออัตโนมัติมักตรวจพบอย่างไร
- ผู้มีส่วนได้ส่วนเสียจะคาดหวังหลักฐานใดในรายงานฉบับสุดท้าย
สิ่งที่รวมอยู่
- รายการตรวจสอบสำหรับการสแกน: กำหนดรายการสินทรัพย์ กำหนดตารางการสแกนเป็นประจำ มอบหมายผู้รับผิดชอบคัดกรองผลลัพธ์ และติดตามการแก้ไขอย่างต่อเนื่อง
- รายการตรวจสอบสำหรับการทดสอบเจาะระบบ: ตกลงเป้าหมาย สภาพแวดล้อม ช่วงเวลาทดสอบ วิธีการเข้าถึง ผู้ติดต่อที่ระบุชื่อ และเงื่อนไขการหยุดงานเป็นลายลักษณ์อักษรก่อนเริ่มงาน
- ยืนยันการอนุญาตเป็นลายลักษณ์อักษรจากเจ้าของระบบ และจากผู้ให้บริการโฮสติ้งหรือผู้ให้บริการภายนอกรายใดก็ตามที่ดูแลระบบที่อยู่ในขอบเขตงาน
- ตัดสินใจว่าจำเป็นต้องทดสอบแบบยืนยันตัวตนหรือไม่ (บัญชีทดสอบสำหรับแต่ละบทบาท) เพื่อให้ตรวจสอบปัญหาการควบคุมการเข้าถึงได้
- ตกลงวิธีการจัดระดับข้อค้นพบ และวิธีการแบ่งปันหลักฐานอย่างปลอดภัยกับผู้ติดต่อที่ระบุชื่อ
- วางแผนช่วงเวลาสำหรับการทดสอบซ้ำ เพื่อยืนยันข้อค้นพบที่ได้รับการแก้ไขแล้วหลังการแก้ไข
สิ่งที่ไม่รวมอยู่
- การกล่าวอ้างว่าการสแกนเพียงอย่างเดียวแสดงให้เห็นว่าแอปพลิเคชันปลอดภัย
- การกล่าวอ้างว่าการทดสอบเจาะระบบพบจุดอ่อนทุกจุด การทดสอบนี้ตรวจสอบขอบเขตงานที่ตกลงกันภายในเวลาที่ตกลงกัน
- คำแนะนำในการโจมตีช่องโหว่ หรือการทดสอบระบบที่คุณไม่ได้เป็นเจ้าของหรือไม่ได้รับอนุญาตให้ทดสอบ
- การรับรอง การอนุมัติด้านการปฏิบัติตามข้อกำหนด หรือความเห็นการตรวจสอบอย่างเป็นทางการ
เมื่อใดควรเลือกใช้
เลือกการสแกนเมื่อคุณต้องการมองเห็นสินทรัพย์จำนวนมากอย่างกว้างขวางและสม่ำเสมอ และมีกระบวนการคัดกรองและแก้ไขสิ่งที่รายงานพบ เลือกการทดสอบเจาะระบบเมื่อระบบใดระบบหนึ่งมีความสำคัญต่อธุรกิจ เมื่อลูกค้าหรือพันธมิตรขอหลักฐานการทดสอบด้วยมือ ก่อนการเปิดตัวที่สำคัญ หรือหลังการเปลี่ยนแปลงครั้งใหญ่ด้านการยืนยันตัวตน การชำระเงิน หรือการจัดการข้อมูล หลายองค์กรใช้ทั้งสองแบบ คือการสแกนตามกำหนดเวลาเพื่อรักษาสุขอนามัยให้คงที่ และการทดสอบเจาะระบบเป็นระยะเพื่อตรวจสอบระบบที่มีความเสี่ยงสูงที่สุด หากคุณยังไม่สามารถระบุรายการสินทรัพย์หรือผู้รับผิดชอบได้ การทบทวนพื้นฐานที่ครอบคลุมกว้างกว่าอาจเป็นก้าวแรกที่มีประโยชน์มากกว่าทั้งสองแบบ
แนวทางของเรา
เริ่มจากการตัดสินใจที่คุณต้องทำ หากแบบสอบถามของลูกค้าขอการทดสอบเจาะระบบประจำปี รายงานการสแกนมักไม่เพียงพอ หากคุณเพียงต้องการทราบว่าเซิร์ฟเวอร์ที่เชื่อมต่ออินเทอร์เน็ตได้รับการติดตั้งแพตช์แล้วหรือไม่ การทดสอบด้วยมือแบบเต็มรูปแบบอาจเกินความจำเป็น ขั้นต่อไป ให้ยืนยันขอบเขตงาน ได้แก่ แอปพลิเคชัน API สภาพแวดล้อม และบทบาทผู้ใช้ใดที่รวมอยู่ และสิ่งใดที่ถูกยกเว้นอย่างชัดเจน ตกลงช่วงเวลาทดสอบและผู้ที่มีสิทธิ์สั่งหยุดงานชั่วคราว บริการ Penetration Testing ของเราดำเนินตามแนวทางนี้ ได้แก่ ขอบเขตงาน การอนุญาตเป็นลายลักษณ์อักษร การทดสอบภายใต้กฎการปฏิบัติงานที่ตกลงกัน รายงานข้อค้นพบเป็นลายลักษณ์อักษรพร้อมแนวทางการแก้ไขที่จัดลำดับความสำคัญ การสรุปผล และการทดสอบซ้ำสำหรับข้อค้นพบที่ตกลงกันในกรณีที่รวมอยู่ในงาน ไม่ว่าคุณจะใช้ผู้ให้บริการรายใด ให้ขอดูตัวอย่างรายงานก่อนตกลง และตรวจสอบว่ารายงานแยกข้อค้นพบที่ได้รับการยืนยันออกจากข้อสังเกตเชิงข้อมูล สุดท้าย ให้กันเวลาไว้สำหรับการแก้ไข การทดสอบที่ให้ข้อค้นพบซึ่งไม่มีใครมีเวลาแก้ไขจะเพิ่มคุณค่าได้น้อย ดังนั้นควรกำหนดวันทดสอบให้สอดคล้องกับศักยภาพของทีมในการดำเนินการตามผลลัพธ์
คำถามที่พบบ่อย
บทความที่เกี่ยวข้อง
เริ่มต้นใช้งาน
ต้องการความช่วยเหลือในการเลือกระหว่างการสแกนกับการทดสอบเจาะระบบหรือไม่?
แจ้งระบบที่เกี่ยวข้อง ผู้ที่ขอให้ทดสอบ และการตัดสินใจที่คุณต้องทำ เราจะช่วยคุณกำหนดขอบเขตงานที่เหมาะสม
ขอขอบเขตงานเป็นลายลักษณ์อักษร