การทดสอบการเจาะทะลุ
การทดสอบการเจาะระบบหรือที่เรียกกันทั่วไปว่าเพนเทสต์คือการจำลองการโจมตีทางไซเบอร์ ที่ได้รับอนุญาต บนระบบคอมพิวเตอร์ ซึ่งดำเนินการแบบเรียลไทม์เพื่อประเมินความปลอดภัยของระบบ[ 1 ]การทดสอบนี้ดำเนินการเพื่อระบุจุดอ่อน (หรือช่องโหว่ ) รวมถึงศักยภาพที่บุคคลที่ไม่ได้รับอนุญาตจะสามารถเข้าถึงคุณสมบัติและข้อมูลของระบบ[ 2 ] [ 3 ]ตลอดจนจุดแข็ง[ 4 ]ซึ่งช่วยให้สามารถประเมินความเสี่ยงได้ อย่างครบถ้วน
โดยทั่วไป กระบวนการนี้จะระบุระบบเป้าหมายและเป้าหมายที่เฉพาะเจาะจง จากนั้นจะตรวจสอบข้อมูลที่มีอยู่และดำเนินการต่างๆ เพื่อบรรลุเป้าหมายนั้น เป้าหมายของการทดสอบการเจาะระบบอาจเป็นกล่องขาว (ซึ่งข้อมูลพื้นฐานและข้อมูลระบบจะถูกจัดเตรียมไว้ล่วงหน้าให้กับผู้ทดสอบ) หรือกล่องดำ (ซึ่งมีเพียงข้อมูลพื้นฐานอื่นๆ นอกเหนือจากชื่อบริษัทเท่านั้น) การทดสอบการเจาะระบบ แบบกล่องเทาเป็นการผสมผสานระหว่างสองอย่างนี้ (โดยที่ความรู้เกี่ยวกับเป้าหมายจะถูกแบ่งปันกับผู้ตรวจสอบอย่างจำกัด) [ 5 ] [ 6 ] [ 4 ]มีการทดสอบการเจาะระบบหลายประเภท ขึ้นอยู่กับเป้าหมายขององค์กร ซึ่งรวมถึง: เครือข่าย (ภายนอกและภายใน), ไร้สาย, แอปพลิเคชันเว็บ, วิศวกรรมสังคม และการตรวจสอบการแก้ไข การทดสอบการเจาะระบบสามารถช่วยระบุช่องโหว่ของระบบต่อการโจมตีและประเมินว่าระบบนั้นมีความเสี่ยงมากน้อยเพียงใด
ศูนย์ความปลอดภัยทางไซเบอร์แห่งชาติของสหราชอาณาจักรได้อธิบายการทดสอบการเจาะระบบไว้ว่า: "วิธีการเพื่อให้มั่นใจในความปลอดภัยของระบบไอทีโดยการพยายามเจาะระบบรักษาความปลอดภัยบางส่วนหรือทั้งหมดของระบบนั้น โดยใช้เครื่องมือและเทคนิคเดียวกันกับที่ฝ่ายตรงข้ามอาจใช้" [ 7 ]การทดสอบการเจาะระบบเป็นส่วนประกอบหนึ่งของการตรวจสอบความปลอดภัย อย่างเต็มรูปแบบ ตัวอย่างเช่นมาตรฐานความปลอดภัยข้อมูลอุตสาหกรรมบัตรชำระเงินกำหนดให้มีการทดสอบการเจาะระบบตามกำหนดเวลาปกติ และหลังจากมีการเปลี่ยนแปลงระบบ[ 8 ]การทดสอบการเจาะระบบยังสามารถสนับสนุนการประเมินความเสี่ยงตามที่ระบุไว้ในกรอบการจัดการความเสี่ยง NIST SP 800-53 ได้อีกด้วย[ 9 ]
มีกรอบการทำงานและวิธีการมาตรฐานหลายอย่างสำหรับการทดสอบการเจาะระบบ ได้แก่ คู่มือวิธี การทดสอบความปลอดภัย แบบโอเพนซอร์ส (OSSTMM) มาตรฐานการดำเนินการทดสอบการเจาะระบบ (PTES) เอกสารเผยแพร่พิเศษของNIST 800-115 กรอบการประเมินความปลอดภัยของระบบสารสนเทศ (ISSAF) และ คู่มือการทดสอบของ OWASP CREST ซึ่งเป็นองค์กรวิชาชีพที่ไม่แสวงหาผลกำไรสำหรับอุตสาหกรรมความปลอดภัยทางไซเบอร์ทางเทคนิค ได้จัดทำมาตรฐานการทดสอบการเจาะระบบที่ป้องกันได้ของ CREST ซึ่งให้คำแนะนำแก่อุตสาหกรรมเกี่ยวกับกิจกรรมการรับรองที่สมเหตุสมผลในเชิงพาณิชย์เมื่อดำเนินการทดสอบการเจาะระบบ[ 10 ]
ตั้งแต่ปี 2017 คำว่า Penetration Testing as a Service (PTaaS) ได้รับความนิยมมากขึ้น ซึ่งเกี่ยวข้องกับการใช้แพลตฟอร์มเพื่อเรียกใช้การทดสอบแทนการใช้ที่ปรึกษา[ 11 ]
วัตถุประสงค์
เป้าหมายของการทดสอบการเจาะระบบจะแตกต่างกันไปตามประเภทของกิจกรรมที่ได้รับอนุมัติสำหรับการมีส่วนร่วมใดๆ โดยเป้าหมายหลักมุ่งเน้นไปที่การค้นหาช่องโหว่ที่อาจถูกผู้ไม่ประสงค์ดีใช้ประโยชน์ และแจ้งให้ลูกค้าทราบถึงช่องโหว่เหล่านั้นพร้อมกับกลยุทธ์การบรรเทาที่แนะนำ รายงานการทดสอบการเจาะระบบอาจประเมินผลกระทบที่อาจเกิดขึ้นกับองค์กรและแนะนำมาตรการตอบโต้เพื่อลดความเสี่ยง[ 12 ]
ประวัติศาสตร์
ในช่วงกลางทศวรรษ 1960 ความนิยมที่เพิ่มขึ้นของ ระบบคอมพิวเตอร์ แบบแบ่งเวลาที่ทำให้สามารถเข้าถึงทรัพยากรผ่านสายสื่อสารได้สร้างความกังวลด้านความปลอดภัยใหม่ๆ ดังที่นักวิชาการ Deborah Russell และ GT Gangemi Sr. อธิบายว่า "ทศวรรษ 1960 ถือเป็นจุดเริ่มต้นที่แท้จริงของยุคแห่งความปลอดภัยของคอมพิวเตอร์" [ 13 ] : 27
ตัวอย่างเช่น ในเดือนมิถุนายน พ.ศ. 2508 ผู้เชี่ยวชาญด้านความปลอดภัยคอมพิวเตอร์ชั้นนำของสหรัฐอเมริกาหลายคนได้จัดการประชุมใหญ่ครั้งแรกๆ เกี่ยวกับความปลอดภัยของระบบ ซึ่งจัดโดยบริษัทรับเหมาของรัฐบาลSystem Development Corporation (SDC) ในระหว่างการประชุม มีคนสังเกตเห็นว่าพนักงานของ SDC คนหนึ่งสามารถเจาะระบบป้องกันต่างๆ ที่เพิ่มเข้าไปใน ระบบคอมพิวเตอร์แบบแบ่งเวลา AN/FSQ-32 ของ SDC ได้อย่างง่ายดาย ด้วยความหวังว่าการศึกษาความปลอดภัยของระบบเพิ่มเติมจะเป็นประโยชน์ ผู้เข้าร่วมประชุมจึงขอให้ "...ดำเนินการศึกษาในด้านต่างๆ เช่น การเจาะระบบป้องกันความปลอดภัยในระบบแบบแบ่งเวลา" กล่าวอีกนัยหนึ่ง ผู้เข้าร่วมประชุมได้ริเริ่มคำขออย่างเป็นทางการครั้งแรกๆ ในการใช้การเจาะระบบคอมพิวเตอร์เป็นเครื่องมือในการศึกษาความปลอดภัยของระบบ[ 14 ] : 7–8
ในการประชุมคอมพิวเตอร์ร่วมประจำฤดูใบไม้ผลิปี 1968 ผู้เชี่ยวชาญด้านคอมพิวเตอร์ชั้นนำหลายคนได้มาพบปะกันอีกครั้งเพื่อหารือเกี่ยวกับข้อกังวลด้านความปลอดภัยของระบบ ในระหว่างการประชุมนี้ ผู้เชี่ยวชาญด้านความปลอดภัยของคอมพิวเตอร์อย่างWillis Ware , Harold Petersen และ Rein Turn จากRAND Corporationและ Bernard Peters จากสำนักงานความมั่นคงแห่งชาติ (NSA) ต่างใช้คำว่า "การเจาะระบบ" เพื่ออธิบายการโจมตีระบบคอมพิวเตอร์ ในบทความหนึ่ง Ware ได้กล่าวถึงระบบแบ่งเวลาใช้งานที่เข้าถึงได้จากระยะไกลของกองทัพ โดยเตือนว่า "ต้องคาดการณ์ถึงความพยายามโดยเจตนาที่จะเจาะระบบคอมพิวเตอร์ดังกล่าว" เพื่อนร่วมงานของเขา Petersen และ Turn ก็มีความกังวลเช่นเดียวกัน โดยสังเกตว่าระบบการสื่อสารออนไลน์ "...มีความเสี่ยงต่อภัยคุกคามต่อความเป็นส่วนตัว" รวมถึง "การเจาะระบบโดยเจตนา" Bernard Peters จาก NSA ก็ได้กล่าวถึงประเด็นเดียวกัน โดยยืนยันว่าข้อมูลเข้าและข้อมูลออกของคอมพิวเตอร์ "...สามารถให้ข้อมูลจำนวนมากแก่โปรแกรมที่เจาะระบบได้" ในระหว่างการประชุม การเจาะระบบคอมพิวเตอร์จะถูกระบุอย่างเป็นทางการว่าเป็นภัยคุกคามสำคัญต่อระบบคอมพิวเตอร์ออนไลน์[ 14 ] : 8
ภัยคุกคามจากการเจาะระบบคอมพิวเตอร์ได้รับการอธิบายเพิ่มเติมในรายงานสำคัญที่จัดทำโดยกระทรวงกลาโหมสหรัฐฯ (DoD) ในช่วงปลายปี 1967 โดยหลักแล้ว เจ้าหน้าที่ DoD ได้ขอให้ Willis Ware เป็นผู้นำคณะทำงานผู้เชี่ยวชาญจาก NSA, CIA , DoD, สถาบันการศึกษา และอุตสาหกรรม เพื่อประเมินความปลอดภัยของระบบคอมพิวเตอร์แบบแบ่งเวลาอย่างเป็นทางการ โดยอาศัยเอกสารจำนวนมากที่นำเสนอในระหว่างการประชุมคอมพิวเตอร์ร่วมในฤดูใบไม้ผลิปี 1967 คณะทำงานได้ยืนยันภัยคุกคามต่อความปลอดภัยของระบบที่เกิดจากการเจาะระบบคอมพิวเตอร์เป็นส่วนใหญ่ รายงานของ Ware ถูกจัดเป็นเอกสารลับในตอนแรก แต่ผู้เชี่ยวชาญด้านคอมพิวเตอร์ชั้นนำของประเทศหลายคนระบุอย่างรวดเร็วว่าการศึกษานี้เป็นเอกสารที่ชัดเจนเกี่ยวกับความปลอดภัยของคอมพิวเตอร์[ 14 ] Jeffrey R. Yost จากสถาบัน Charles Babbageได้อธิบายรายงานของ Ware เมื่อไม่นานมานี้ว่า "...เป็นการศึกษาที่สำคัญและละเอียดถี่ถ้วนที่สุดเกี่ยวกับประเด็นทางเทคนิคและการปฏิบัติงานเกี่ยวกับระบบคอมพิวเตอร์ที่ปลอดภัยในช่วงเวลานั้น" [ 15 ]โดยสรุปแล้ว รายงานของ Ware ยืนยันภัยคุกคามสำคัญที่เกิดจากการเจาะระบบคอมพิวเตอร์ต่อระบบคอมพิวเตอร์แบบแบ่งเวลาออนไลน์ใหม่
เพื่อทำความเข้าใจจุดอ่อนของระบบให้ดียิ่งขึ้น รัฐบาลกลางและผู้รับเหมาของรัฐบาลจึงเริ่มจัดตั้งทีมเจาะระบบ หรือที่รู้จักกันในชื่อทีมเสือเพื่อใช้การเจาะระบบคอมพิวเตอร์ในการทดสอบความปลอดภัยของระบบ Deborah Russell และ GT Gangemi Sr. กล่าวว่าในช่วงทศวรรษ 1970 "...'ทีมเสือ' ปรากฏตัวครั้งแรกในวงการคอมพิวเตอร์ ทีมเสือเป็นทีมแฮกเกอร์ที่ได้รับการสนับสนุนจากรัฐบาลและอุตสาหกรรม ซึ่งพยายามทำลายระบบป้องกันของระบบคอมพิวเตอร์เพื่อค้นหาและแก้ไขช่องโหว่ด้านความปลอดภัย" [ 13 ] : 29
Donald MacKenzie นักวิชาการชั้นนำด้านประวัติศาสตร์ความปลอดภัยของคอมพิวเตอร์ ชี้ให้เห็นในทำนองเดียวกันว่า "RAND ได้ทำการศึกษาการเจาะระบบ (การทดลองในการหลีกเลี่ยงการควบคุมความปลอดภัย ของคอมพิวเตอร์ ) ของระบบไทม์แชร์รุ่นแรกๆ ในนามของรัฐบาล" [ 16 ] [ 17 ] Jeffrey R. Yost จากสถาบัน Charles Babbage ในงานของเขาเองเกี่ยวกับประวัติศาสตร์ความปลอดภัยของคอมพิวเตอร์ ยังยอมรับว่าทั้ง RAND Corporation และ SDC ได้ "มีส่วนร่วมในการศึกษาการเจาะระบบที่เรียกว่า 'penetration studies' ครั้งแรกๆ เพื่อพยายามแทรกซึมเข้าไปในระบบไทม์แชร์เพื่อทดสอบช่องโหว่ของระบบ" [ 15 ]ในการศึกษาช่วงแรกๆ เหล่านี้ ทีม Tiger Team ประสบความสำเร็จในการเจาะระบบคอมพิวเตอร์เป้าหมายทั้งหมด เนื่องจากระบบไทม์แชร์ของประเทศมีการป้องกันที่อ่อนแอ
จากการดำเนินการของทีมเสือในช่วงแรก ความพยายามที่ RAND Corporation แสดงให้เห็นถึงประโยชน์ของการเจาะระบบในฐานะเครื่องมือในการประเมินความปลอดภัยของระบบ ในขณะนั้น นักวิเคราะห์ของ RAND คนหนึ่งตั้งข้อสังเกตว่าการทดสอบได้ "...แสดงให้เห็นถึงความสามารถในการใช้งานจริงของการเจาะระบบในฐานะเครื่องมือในการประเมินประสิทธิภาพและความเพียงพอของมาตรการป้องกันความปลอดภัยของข้อมูลที่นำมาใช้" นอกจากนี้ นักวิเคราะห์ของ RAND หลายคนยังยืนยันว่าแบบฝึกหัดการทดสอบการเจาะระบบทั้งหมดมีประโยชน์หลายประการที่สนับสนุนการใช้งานอย่างต่อเนื่อง ดังที่พวกเขาตั้งข้อสังเกตไว้ในเอกสารฉบับหนึ่งว่า "ผู้เจาะระบบดูเหมือนจะพัฒนากรอบความคิดที่ชั่วร้ายในการค้นหา จุดอ่อนและความไม่สมบูรณ์ ของระบบปฏิบัติการซึ่งยากที่จะเลียนแบบ" ด้วยเหตุผลเหล่านี้และเหตุผลอื่นๆ นักวิเคราะห์หลายคนของ RAND จึงแนะนำให้ศึกษาเทคนิคการเจาะระบบอย่างต่อเนื่องเนื่องจากมีประโยชน์ในการประเมินความปลอดภัยของระบบ[ 14 ] : 9
เจมส์ พี. แอนเดอร์สัน เป็นหนึ่งในผู้เชี่ยวชาญด้านการเจาะระบบคอมพิวเตอร์ชั้นนำในช่วงปีแห่งการก่อตัวนี้ ซึ่งเคยทำงานร่วมกับ NSA, RAND และหน่วยงานรัฐบาลอื่นๆ เพื่อศึกษาความปลอดภัยของระบบ ในช่วงต้นปี 1971 กองทัพอากาศสหรัฐฯ ได้ว่าจ้างบริษัทเอกชนของแอนเดอร์สันให้ศึกษาความปลอดภัยของระบบแบ่งเวลาใช้งานที่เพนตากอน ในการศึกษาของเขา แอนเดอร์สันได้สรุปปัจจัยสำคัญหลายประการที่เกี่ยวข้องกับการเจาะระบบคอมพิวเตอร์ แอนเดอร์สันได้อธิบายลำดับการโจมตีทั่วไปเป็นขั้นตอน[ 18 ] :
- ค้นหาช่องโหว่ที่สามารถใช้ประโยชน์ได้
- ออกแบบกลยุทธ์การโจมตีโดยใช้ประโยชน์จากสิ่งนั้น
- ทดสอบการโจมตี
- จับสายเบ็ดที่กำลังใช้งานอยู่
- เริ่มการโจมตี
- ใช้ประโยชน์จากช่องโหว่นี้เพื่อกู้คืนข้อมูล
เมื่อเวลาผ่านไป คำอธิบายขั้นตอนทั่วไปของการเจาะระบบคอมพิวเตอร์ของแอนเดอร์สันได้ช่วยชี้นำผู้เชี่ยวชาญด้านความปลอดภัยอื่นๆ อีกมากมาย ซึ่งอาศัยเทคนิคนี้ในการประเมินความปลอดภัยของระบบคอมพิวเตอร์แบบแบ่งเวลา[ 14 ] : 9
ในช่วงหลายปีต่อมา การเจาะระบบคอมพิวเตอร์ในฐานะเครื่องมือสำหรับการประเมินความปลอดภัยได้รับการพัฒนาและซับซ้อนมากขึ้น ในช่วงต้นทศวรรษ 1980 นักข่าวWilliam Broadได้สรุปความพยายามอย่างต่อเนื่องของทีม Tiger ในการประเมินความปลอดภัยของระบบ โดย Broad รายงานว่า รายงานที่ได้รับการสนับสนุนจากกระทรวงกลาโหมโดย Willis Ware "...แสดงให้เห็นว่าสายลับสามารถเจาะระบบคอมพิวเตอร์ ขโมยหรือคัดลอกไฟล์อิเล็กทรอนิกส์ และทำลายอุปกรณ์ที่ปกติใช้ปกป้องข้อมูลลับสุดยอดได้อย่างไร การศึกษาดังกล่าวจุดประกายกิจกรรมเงียบๆ นานกว่าทศวรรษโดยกลุ่มนักวิทยาศาสตร์คอมพิวเตอร์ชั้นนำที่ทำงานให้กับรัฐบาลซึ่งพยายามเจาะเข้าไปในคอมพิวเตอร์ที่มีความอ่อนไหว พวกเขาประสบความสำเร็จในทุกครั้งที่พยายาม" [ 19 ]
แม้ว่าการศึกษาต่างๆ เหล่านี้อาจชี้ให้เห็นว่าความปลอดภัยของคอมพิวเตอร์ในสหรัฐอเมริกายังคงเป็นปัญหาสำคัญ แต่เมื่อไม่นานมานี้ นักวิชาการ Edward Hunt ได้กล่าวถึงประเด็นที่กว้างขึ้นเกี่ยวกับการศึกษาการเจาะระบบคอมพิวเตอร์อย่างกว้างขวางในฐานะเครื่องมือรักษาความปลอดภัย Hunt แนะนำในบทความล่าสุดเกี่ยวกับประวัติศาสตร์ของการทดสอบการเจาะระบบว่าในที่สุดหน่วยงานด้านการป้องกันประเทศ "...ได้สร้างเครื่องมือมากมายที่ใช้ในสงครามไซเบอร์สมัยใหม่" เนื่องจากได้กำหนดและวิจัยวิธีการต่างๆ ที่ผู้เจาะระบบคอมพิวเตอร์สามารถแฮ็กเข้าไปในระบบเป้าหมายได้อย่างรอบคอบ[ 14 ] : 5
เครื่องมือ
มี เครื่องมือประเมินความปลอดภัยหลากหลายประเภทให้เลือกใช้เพื่อช่วยในการทดสอบการเจาะระบบ รวมถึงซอฟต์แวร์ฟรีและซอฟต์แวร์เชิงพาณิชย์[ 20 ]
ระเบียบวิธีสมมติฐานข้อบกพร่อง
ระเบียบวิธีสมมติฐานข้อบกพร่องเป็น เทคนิค การวิเคราะห์ระบบ และการทำนายการเจาะระบบ โดย จะรวบรวมรายการข้อบกพร่อง ที่คาดการณ์ไว้ ในระบบซอฟต์แวร์ ผ่านการวิเคราะห์ ข้อกำหนดและเอกสารประกอบของระบบ จากนั้นรายการข้อบกพร่องที่คาดการณ์ไว้จะถูกจัดลำดับความสำคัญตามความน่าจะเป็นโดยประมาณที่ข้อบกพร่องนั้นมีอยู่จริง และความง่ายในการใช้ประโยชน์จากข้อบกพร่องนั้นในระดับของการควบคุมหรือการบุกรุก รายการที่จัดลำดับความสำคัญแล้วจะใช้เพื่อกำหนดทิศทางการทดสอบระบบจริง[ 21 ]
การแจกจ่ายระบบปฏิบัติการเฉพาะทาง
ระบบปฏิบัติการหลายเวอร์ชันได้รับการออกแบบมาเพื่อรองรับการทดสอบการเจาะระบบ[ 22 ]ระบบปฏิบัติการเหล่านี้มักจะมีชุดเครื่องมือที่บรรจุและกำหนดค่าไว้ล่วงหน้า ผู้ทดสอบการเจาะระบบไม่จำเป็นต้องค้นหาเครื่องมือแต่ละชิ้น ซึ่งอาจเพิ่มความเสี่ยงของปัญหาต่างๆ เช่น ข้อผิดพลาดในการคอมไพล์ ปัญหาการพึ่งพา และข้อผิดพลาดในการกำหนดค่า นอกจากนี้ การจัดหาเครื่องมือเพิ่มเติมอาจไม่เหมาะสมในบริบทของผู้ทดสอบ
ตัวอย่างระบบปฏิบัติการที่โดดเด่นสำหรับการทดสอบเจาะระบบ ได้แก่:
- BlackArch ซึ่งใช้ Arch Linuxเป็นพื้นฐาน
- BackBoxที่ใช้Ubuntu เป็นพื้นฐาน
- Kali Linux (แทนที่BackTrackในเดือนธันวาคม 2012) ที่ใช้Debian เป็นพื้นฐาน
- Parrot Security OS ที่ใช้ Debianเป็นพื้นฐาน
- Pentooสร้างขึ้นบนพื้นฐานของGentoo
- WHAXสร้างขึ้นบนพื้นฐานของSlackware
ระบบปฏิบัติการเฉพาะทางอื่นๆ อีกมากมายช่วยอำนวยความสะดวกในการทดสอบเจาะระบบ โดยแต่ละระบบจะเน้นไปที่ด้านใดด้านหนึ่งของการทดสอบเจาะระบบโดยเฉพาะ ระบบปฏิบัติการลินุกซ์หลายเวอร์ชันมีช่องโหว่ของระบบปฏิบัติการและแอปพลิเคชันที่ทราบกันดีอยู่แล้ว และสามารถนำมาใช้เป็นเป้าหมายในการฝึกฝนได้ ระบบเหล่านี้ช่วยให้ผู้เชี่ยวชาญด้านความปลอดภัยมือใหม่ได้ลองใช้เครื่องมือรักษาความปลอดภัยล่าสุดในสภาพแวดล้อมห้องปฏิบัติการ ตัวอย่างเช่น Damn Vulnerable Linux (DVL), OWASP Web Testing Environment (WTW) และ Metasploitable
เฟรมเวิร์กซอฟต์แวร์
เครื่องมือฮาร์ดแวร์
มีอุปกรณ์ฮาร์ดแวร์ที่ออกแบบมาโดยเฉพาะสำหรับการทดสอบเจาะระบบ อย่างไรก็ตาม อุปกรณ์ฮาร์ดแวร์ที่ใช้ในการทดสอบเจาะระบบไม่ได้ถูกสร้างขึ้นมาเพื่อภารกิจนี้โดยเฉพาะเสมอไป อุปกรณ์บางอย่าง เช่น อุปกรณ์วัดและแก้ไขข้อบกพร่อง ถูกนำมาดัดแปลงใช้สำหรับการทดสอบเจาะระบบเนื่องจากมีฟังก์ชันการทำงานขั้นสูงและความสามารถที่หลากหลาย
- Proxmark3 — เครื่องมือฮาร์ดแวร์อเนกประสงค์สำหรับการวิเคราะห์ความปลอดภัยของระบบระบุตัวตนด้วยคลื่นวิทยุ (RFID)
- BadUSB — ชุดเครื่องมือสำหรับใช้ประโยชน์จากช่องโหว่ในอุปกรณ์ USB เพื่อแทรกการกดแป้นพิมพ์ที่เป็นอันตรายหรือเพย์โหลด
- Flipper Zero — อุปกรณ์พกพาแบบโอเพนซอร์สอเนกประสงค์สำหรับการทดสอบเจาะระบบไร้สายด้วยโปรโตคอลต่างๆ เช่น Sub-GHz, RFID, NFC, อินฟราเรด และบลูทูธ
- Raspberry Pi — คอมพิวเตอร์แบบบอร์ดเดี่ยวขนาดกะทัดรัดและใช้งานได้หลากหลาย นิยมใช้ในการทดสอบการเจาะระบบสำหรับงานต่างๆ เช่น การสอดแนมและการโจมตีเครือข่าย
- SDR (Software-defined Radio) — เครื่องมืออเนกประสงค์สำหรับการวิเคราะห์และโจมตีการสื่อสารและโปรโตคอลทางวิทยุ รวมถึงการดักฟัง การจำลอง การถอดรหัส และการส่งสัญญาณ
- ChipWhisperer — เครื่องมือฮาร์ดแวร์เฉพาะทางสำหรับการโจมตีแบบ Side-channel ซึ่งช่วยให้สามารถวิเคราะห์การใช้งานและการช่องโหว่ทางด้านการเข้ารหัสผ่านการใช้พลังงานหรือการปล่อยคลื่นแม่เหล็กไฟฟ้า
ขั้นตอนการทดสอบการเจาะระบบ
กระบวนการทดสอบการเจาะระบบสามารถสรุปได้ง่ายๆ เป็น 7 ขั้นตอนดังต่อไปนี้:
- การสอดแนม: การรวบรวมข้อมูลสำคัญเกี่ยวกับระบบเป้าหมาย ข้อมูลนี้สามารถนำมาใช้เพื่อโจมตีเป้าหมายได้อย่างมีประสิทธิภาพยิ่งขึ้น ตัวอย่างเช่น เครื่องมือค้นหาแบบโอเพนซอร์สสามารถใช้ค้นหาข้อมูลที่สามารถนำมาใช้ในการโจมตีโดยใช้กลวิธีทางสังคม ได้
- การสแกน: ใช้เครื่องมือทางเทคนิคเพื่อเพิ่มพูนความรู้ของผู้โจมตีเกี่ยวกับระบบ ตัวอย่างเช่นสามารถใช้Nmap ในการสแกนหาพอร์ตที่เปิดอยู่ได้
- การเข้าถึงระบบ: ผู้โจมตีสามารถใช้ข้อมูลที่รวบรวมได้ในขั้นตอนการสอดแนมและการสแกน เพื่อใช้เพย์โหลดในการเจาะระบบเป้าหมาย ตัวอย่างเช่น Metasploit สามารถใช้ในการโจมตีช่องโหว่ที่รู้จักโดยอัตโนมัติ เมื่อผู้โจมตีเจาะช่องโหว่หนึ่งได้แล้ว พวกเขาอาจเข้าถึงเครื่องอื่น ๆ ได้ ดังนั้นกระบวนการจึงซ้ำรอย กล่าวคือ พวกเขาจะมองหาช่องโหว่ใหม่และพยายามเจาะระบบเหล่านั้น กระบวนการนี้เรียกว่า การเปลี่ยนเป้าหมาย (pivoting)
- การรักษาการเข้าถึง: การรักษาการเข้าถึงนั้นจำเป็นต้องดำเนินการตามขั้นตอนต่างๆ เพื่อให้สามารถอยู่ในสภาพแวดล้อมเป้าหมายได้อย่างต่อเนื่อง เพื่อรวบรวมข้อมูลให้ได้มากที่สุดเท่าที่จะเป็นไปได้
- การปกปิดร่องรอย: ผู้โจมตีต้องลบร่องรอยการโจมตีระบบของเหยื่อ ข้อมูลทุกประเภทที่รวบรวม บันทึกเหตุการณ์ เพื่อรักษาความเป็นนิรนาม[ 23 ]
- การรายงาน: ช่องโหว่จะถูกจำแนกตามเมทริกซ์ความเสี่ยงและบันทึกไว้ในรายงาน ซึ่งประกอบด้วยบทสรุปสำหรับผู้บริหาร คำอธิบายช่องโหว่ และข้อเสนอแนะสำหรับการแก้ไข
- การแก้ไขและการทดสอบซ้ำ: เมื่อองค์กรเป้าหมายประเมินรายงานการทดสอบการเจาะระบบและแก้ไขรายการต่างๆ ตามระดับความเสี่ยงที่ยอมรับได้ภายในองค์กรแล้ว จะมีการทดสอบช่องโหว่เหล่านั้นซ้ำอีกครั้งเพื่อยืนยันว่าการแก้ไขประสบความสำเร็จ และจะมีการจัดทำรายงานการทดสอบซ้ำฉบับย่อเพื่อแสดงผลลัพธ์[ 24 ]
การทดสอบ DDoS อย่างต่อเนื่อง
ความถี่และขนาดของ การโจมตี แบบปฏิเสธการให้บริการแบบกระจาย (DDoS) ที่เพิ่มขึ้น ซึ่งเพิ่มขึ้นมากกว่าสองเท่าในปี 2025 เป็นมากกว่า 47 ล้านครั้ง โดยการโจมตีแบบไฮเปอร์โวลูเมตริกเติบโตขึ้น 700% ในแต่ละปี[ 25 ]ได้ผลักดันให้เกิดความสนใจในแนวทางต่อเนื่องในการตรวจสอบความปลอดภัยของ DDoS
แตกต่างจากการทดสอบการเจาะระบบแบบเดิม ซึ่งโดยทั่วไปจะดำเนินการในช่วงเวลาการบำรุงรักษาตามกำหนด การทดสอบ DDoS อย่างต่อเนื่องเป็นวิธีการที่ดำเนินการจำลองการจราจร DDoS ที่มีผลกระทบต่ำอย่างต่อเนื่องกับสภาพแวดล้อมการผลิตหรือเทียบเท่ากับการผลิต เพื่อตรวจสอบความถูกต้องของการป้องกันทั่วทั้งเครือข่าย (L3) การขนส่ง (L4) และแอปพลิเคชัน (L7) [ 26 ]ผู้ให้บริการแพลตฟอร์มคลาวด์ เช่นMicrosoft Azureได้รวมการทดสอบ DDoS อย่างต่อเนื่องเข้ากับระบบนิเวศด้านความปลอดภัยของตน โดยระบุพันธมิตรการจำลองที่ได้รับการอนุมัติ ได้แก่ MazeBolt, Red Button และ RedWolf สำหรับใช้กับสภาพแวดล้อมที่ได้รับการป้องกัน[ 26 ]
แนวทางนี้สอดคล้องกับการเปลี่ยนแปลงที่กว้างขึ้นไปสู่การจัดการความเสี่ยงอย่างต่อเนื่อง (CTEM) ซึ่งเป็นกรอบการทำงานที่Gartner นำเสนอ ในปี 2022 ซึ่งสนับสนุนการระบุ การจัดลำดับความสำคัญ และการตรวจสอบความเสี่ยงด้านความปลอดภัยอย่างต่อเนื่อง แทนที่จะเป็นการประเมินเป็นระยะ Gartner ประมาณการว่าองค์กรที่นำโปรแกรมการจัดการความเสี่ยงอย่างต่อเนื่องมาใช้จะมีโอกาสน้อยลงถึงสามเท่าที่จะประสบกับการละเมิดภายในปี 2026 [ 27 ]ผู้สนับสนุนการทดสอบ DDoS อย่างต่อเนื่องโต้แย้งว่าการทดสอบดังกล่าวช่วยแก้ไขข้อจำกัดของการประเมิน ณ จุดเวลาใดเวลาหนึ่ง รวมถึงการตรวจจับการเปลี่ยนแปลงการกำหนดค่าในโครงสร้างพื้นฐานการบรรเทา และการสร้างหลักฐานที่ตรวจสอบได้สำหรับการกำกับดูแลและการปฏิบัติตามกฎระเบียบ[ 26 ]
ช่องโหว่
การดำเนินการทางกฎหมายที่อนุญาตให้ผู้ทดสอบดำเนินการที่ผิดกฎหมาย ได้แก่ คำสั่ง SQL ที่ไม่ได้หลีกเลี่ยง รหัสผ่านที่ถูกแฮชโดยไม่เปลี่ยนแปลงในโครงการที่มองเห็นได้จากซอร์สโค้ด ความสัมพันธ์ระหว่างบุคคล และฟังก์ชันการแฮชหรือการเข้ารหัสแบบเก่า[ 28 ]ข้อบกพร่องเพียงอย่างเดียวอาจไม่เพียงพอที่จะทำให้เกิดการโจมตีที่สำคัญ การใช้ประโยชน์จากข้อบกพร่องที่รู้จักหลายอย่างและการปรับแต่งเพย์โหลดในลักษณะที่ดูเหมือนเป็นการดำเนินการที่ถูกต้องนั้นเกือบจะจำเป็นเสมอ Metasploit มีไลบรารี Ruby สำหรับงานทั่วไป และดูแลฐานข้อมูลของการโจมตีที่รู้จัก[ 29 ]
เมื่อทำงานภายใต้ข้อจำกัดด้านงบประมาณและเวลาการทดสอบแบบฟัซซิ่งเป็นเทคนิคทั่วไปที่ใช้ในการค้นหาช่องโหว่[ 30 ]โดยมีเป้าหมายเพื่อให้ได้ข้อผิดพลาดที่ไม่ได้รับการจัดการผ่านอินพุตแบบสุ่ม ผู้ทดสอบใช้อินพุตแบบสุ่มเพื่อเข้าถึงเส้นทางโค้ดที่ใช้งานไม่บ่อยนัก เส้นทางโค้ดที่ใช้งานบ่อยมักจะไม่มีข้อผิดพลาด ข้อผิดพลาดมีประโยชน์เพราะมันเปิดเผยข้อมูลเพิ่มเติม เช่น การขัดข้องของเซิร์ฟเวอร์ HTTP พร้อมข้อมูลการติดตามแบบเต็มรูปแบบ หรือสามารถใช้งานได้โดยตรง เช่นบัฟเฟอร์โอเวอร์โฟลว์[ 31 ]
ลองนึกภาพเว็บไซต์ที่มีช่องป้อนข้อความ 100 ช่อง บางช่องมีความเสี่ยงต่อการโจมตีแบบ SQL injectionเมื่อป้อนข้อความแบบสุ่มลงในช่องเหล่านั้นสักพัก จะช่วยให้พบโค้ดส่วนที่ผิดพลาดได้ ข้อผิดพลาดจะแสดงออกมาเป็นหน้า HTML ที่เสียหาย แสดงผลไม่สมบูรณ์เนื่องจากข้อผิดพลาด SQL ในกรณีนี้ เฉพาะช่องป้อนข้อความเท่านั้นที่ถูกมองว่าเป็นสตรีมข้อมูลขาเข้า อย่างไรก็ตาม ระบบซอฟต์แวร์มีสตรีมข้อมูลขาเข้าได้หลายประเภท เช่น ข้อมูลคุกกี้และเซสชัน สตรีมไฟล์ที่อัปโหลด ช่องทาง RPC หรือหน่วยความจำ ข้อผิดพลาดสามารถเกิดขึ้นได้ในสตรีมข้อมูลขาเข้าเหล่านี้ เป้าหมายของการทดสอบคือการหาข้อผิดพลาดที่ไม่ได้รับการจัดการก่อน จากนั้นจึงทำความเข้าใจข้อบกพร่องโดยอิงจากกรณีทดสอบที่ล้มเหลว ผู้ทดสอบจะเขียนเครื่องมืออัตโนมัติเพื่อทดสอบความเข้าใจเกี่ยวกับข้อบกพร่องจนกว่าจะถูกต้อง หลังจากนั้น อาจเห็นได้ชัดว่าควรบรรจุเพย์โหลดอย่างไรเพื่อให้ระบบเป้าหมายเรียกใช้งาน หากวิธีนี้ใช้ไม่ได้ผล ก็อาจหวังว่าข้อผิดพลาดอื่นที่เกิดจากฟัซเซอร์จะให้ผลลัพธ์ที่ดีกว่า การใช้ฟัซเซอร์ช่วยประหยัดเวลาโดยไม่ต้องตรวจสอบโค้ดส่วนที่มีโอกาสน้อยที่จะถูกโจมตี
เพย์โหลด
การทำงานที่ผิดกฎหมาย หรือที่เรียกว่า payload ในศัพท์ของ Metasploit นั้น อาจรวมถึงฟังก์ชันต่างๆ เช่น การบันทึกการกดแป้นพิมพ์ การถ่ายภาพหน้าจอ การติดตั้งแอดแวร์การขโมยข้อมูลประจำตัว การสร้างช่องโหว่โดยใช้shellcodeหรือการแก้ไขข้อมูล บริษัทบางแห่งมีฐานข้อมูลขนาดใหญ่ของช่องโหว่ที่รู้จัก และมีผลิตภัณฑ์ที่ทดสอบระบบเป้าหมายเพื่อหาช่องโหว่โดยอัตโนมัติ
บริการทดสอบการเจาะระบบภาครัฐแบบมาตรฐาน
สำนักงานบริหารบริการทั่วไป (GSA) ได้กำหนดมาตรฐานบริการ "การทดสอบการเจาะระบบ" ให้เป็นบริการสนับสนุนที่ผ่านการตรวจสอบล่วงหน้า เพื่อจัดการกับช่องโหว่ที่อาจเกิดขึ้นได้อย่างรวดเร็ว และหยุดยั้งศัตรูก่อนที่จะส่งผลกระทบต่อรัฐบาลกลาง รัฐ และท้องถิ่นของสหรัฐอเมริกา บริการเหล่านี้มักถูกเรียกว่า บริการรักษาความปลอดภัยทางไซเบอร์ที่ปรับตัวได้สูง (HACS) และมีรายชื่ออยู่ในเว็บไซต์ US GSA Advantage [ 32 ]
ความพยายามนี้ได้ระบุผู้ให้บริการหลักที่ได้รับการตรวจสอบและคัดกรองทางเทคนิคแล้วว่าสามารถให้บริการเจาะระบบขั้นสูงเหล่านี้ได้ บริการของ GSA นี้มีจุดประสงค์เพื่อปรับปรุงการสั่งซื้อและการใช้งานบริการเหล่านี้ให้รวดเร็วยิ่งขึ้น ลดการซ้ำซ้อนของสัญญารัฐบาลสหรัฐฯ และเพื่อปกป้องและสนับสนุนโครงสร้างพื้นฐานของสหรัฐฯ ในเวลาที่เหมาะสมและมีประสิทธิภาพมากขึ้น
132-45A การทดสอบการเจาะระบบ[ 33 ]คือการทดสอบความปลอดภัยที่ผู้ประเมินบริการจำลองการโจมตีในโลกแห่งความเป็นจริงเพื่อระบุวิธีการหลีกเลี่ยงคุณสมบัติความปลอดภัยของแอปพลิเคชัน ระบบ หรือเครือข่าย บริการทดสอบการเจาะระบบของ HACS โดยทั่วไปจะทดสอบประสิทธิภาพของมาตรการรักษาความปลอดภัยเชิงป้องกันและเชิงตรวจจับขององค์กรที่ใช้ในการปกป้องทรัพย์สินและข้อมูล ในส่วนหนึ่งของบริการนี้ แฮกเกอร์จริยธรรมที่ได้รับการรับรองมักจะทำการโจมตีจำลองบนระบบ แอปพลิเคชัน หรือเป้าหมายอื่นในสภาพแวดล้อม เพื่อค้นหาจุดอ่อนด้านความปลอดภัย หลังจากการทดสอบ พวกเขาจะบันทึกช่องโหว่และระบุว่าการป้องกันใดมีประสิทธิภาพและการป้องกันใดที่สามารถเอาชนะหรือใช้ประโยชน์ได้
ในสหราชอาณาจักร บริการทดสอบการเจาะระบบได้รับการกำหนดมาตรฐานผ่านหน่วยงานวิชาชีพที่ทำงานร่วมกับศูนย์ความปลอดภัยทางไซเบอร์แห่งชาติ[ 34 ]
ผลลัพธ์ของการทดสอบการเจาะระบบจะแตกต่างกันไปขึ้นอยู่กับมาตรฐานและวิธีการที่ใช้ มีมาตรฐานการทดสอบการเจาะระบบอยู่ 5 มาตรฐาน ได้แก่ Open Source Security Testing Methodology Manual (OSSTMM), [ 35 ] [ 36 ] Open Web Application Security Project (OWASP), National Institute of Standards and Technology (NIST00), Information System Security Assessment Framework (ISSAF) และ Penetration Testing Methodologies and Standards (PTES)
การทดสอบการเจาะระบบและปัญญาประดิษฐ์
ด้วยการถือกำเนิดของโมเดลภาษาขนาดใหญ่ (Large Language Models: LLM)ในช่วงปลายปี 2022 นักวิจัยได้สำรวจว่า วิธี การปัญญาประดิษฐ์ (AI)สามารถนำมาใช้ในการทดสอบการเจาะระบบได้อย่างไร เนื่องจากการทดสอบการเจาะระบบในโลกแห่งความเป็นจริงในองค์กรขนาดใหญ่ส่วนใหญ่ใช้ซอฟต์แวร์กึ่งอัตโนมัติ เช่นNmap , WiresharkและMetasploitสมมติฐานจึงเป็นการทดสอบว่า LLM สามารถทำการทดสอบการเจาะระบบโดยอัตโนมัติได้หรือไม่ เมื่อได้รับสิทธิ์เข้าถึงเครื่องมือและสภาพแวดล้อมเดียวกัน ความท้าทายที่สำคัญบางประการ ได้แก่ การทำให้กระบวนการเป็นอัตโนมัติอย่างสมบูรณ์ การที่ LLM เข้าใจบริบทและเรียนรู้จากประสบการณ์ในอดีต และการรับรองความถูกต้องของคำสั่งที่ดำเนินการ
ดูเพิ่มเติม
เอกสารอ้างอิงทั่วไป
- คู่มือฉบับสมบูรณ์สำหรับการทดสอบการเจาะระบบ[ 37 ]