การทดสอบการเจาะ
การทดสอบการเจาะระบบ หรือเรียกสั้นๆ ว่าการทดสอบปากกา คือการจำลองการโจมตีระบบขององค์กรที่ได้รับอนุญาต เพื่อค้นหาช่องโหว่ก่อนที่ฝ่ายตรงข้ามจะทำ ระเบียบวินัยได้เติบโตขึ้นจากบุคคลที่ชาญฉลาดที่บุกเข้าไปในเครือข่ายไปจนถึงอุตสาหกรรมที่มีโครงสร้างพร้อมกรอบวิธีการ การรับรอง และการยอมรับตามกฎระเบียบ การทำความเข้าใจว่าการทดสอบปากกาจริงมีลักษณะอย่างไรจะช่วยให้เห็นคุณค่าและขีดจำกัดของการทดสอบได้ชัดเจนขึ้น
เนื้อหาบทความฉบับเต็มมีให้เป็นภาษาอังกฤษด้านล่าง
Penetration การทดสอบ เป็นแนวทางปฏิบัติที่ได้รับอนุญาตในการพยายามโจมตีระบบขององค์กรเพื่อระบุจุดอ่อนด้านความปลอดภัย ผู้ทดสอบปากกาดำเนินการภายใต้ข้อตกลงเป็นลายลักษณ์อักษรซึ่งกำหนดขอบเขตสิ่งที่ได้รับอนุญาต สิ่งใดที่ไม่ได้รับอนุญาต และประเภทของการรายงานที่ตามมา การทดสอบโดยไม่ได้รับอนุญาต — แม้ว่าจะมีเจตนาดี — ถือเป็นกิจกรรมทางอาญาในรูปแบบการฉ้อโกงทางคอมพิวเตอร์ในเขตอำนาจศาลส่วนใหญ่
ขั้นตอนของการทดสอบปากกา
- Scoping. กำหนดสิ่งที่อยู่ในขอบเขต (เครือข่ายเฉพาะ แอปพลิเคชัน กรอบเวลา) สิ่งที่ไม่ (ระบบที่มีความสำคัญต่อการผลิต ข้อมูลของบุคคลที่สาม) เทคนิคใดบ้างที่ได้รับอนุญาต (วิศวกรรมสังคม ใช่/ไม่ใช่ DoS ใช่/ไม่ใช่) บันทึกไว้เป็นลายลักษณ์อักษร
- Reconnaissance. การรวบรวมข้อมูล OSINT, การแมปเครือข่าย, การสแกนพอร์ต, การระบุบริการ
- การระบุช่องโหว่ การสแกนหาช่องโหว่ที่ทราบ, การตรวจสอบตรรกะของแอปพลิเคชันที่กำหนดเอง, การระบุการกำหนดค่าที่ไม่ถูกต้อง
- Exploitation. พยายามที่จะแสดงให้เห็นว่าช่องโหว่สามารถถูกเอาเปรียบได้ ไม่ใช่แค่ "สิ่งนี้อาจไม่ดี" แต่ "นี่คือสิ่งที่ผู้โจมตีจะทำ"
- Post-exploitation. เมื่อได้รับการเข้าถึงครั้งแรกแล้ว ให้สำรวจสิ่งที่ผู้โจมตีสามารถทำได้ เช่น การเคลื่อนไหวด้านข้าง การเข้าถึงข้อมูล การเพิ่มระดับสิทธิ์ หยุดลงเมื่อตรงตามวัตถุประสงค์ของการทดสอบ
- Reporting. การค้นพบโดยละเอียดพร้อมขั้นตอนการทำซ้ำ การจัดอันดับความรุนแรง คำแนะนำในการแก้ไข
- Re-test. การตรวจสอบที่แก้ไขงาน หลังจากที่องค์กรมีเวลาจัดการกับสิ่งที่ค้นพบ
Common ประเภทการทดสอบ
- การทดสอบการเจาะระบบภายนอก โจมตีองค์กรจากอินเทอร์เน็ตสาธารณะ คนนอกสามารถเห็น สแกน และใช้ประโยชน์อะไรได้บ้าง?
- การทดสอบการเจาะระบบภายใน สมมติการเริ่มต้น (แล็ปท็อปของพนักงานที่ถูกบุกรุก, คนวงในที่ประสงค์ร้าย) ผู้โจมตีสามารถเข้าถึงอะไรจากที่นั่นได้?
- การทดสอบแอปพลิเคชันบนเว็บ มุ่งเน้นไปที่แอปเฉพาะ — การแทรก SQL, XSS, ข้อบกพร่องด้านตรรกะทางธุรกิจ, จุดอ่อนในการตรวจสอบความถูกต้อง
- การทดสอบแอปพลิเคชันบนมือถือ APK/IPA แบบวิศวกรรมย้อนกลับ, การจัดการรันไทม์, API การแสวงหาประโยชน์
- API การทดสอบการเจาะ มุ่งเน้นไปที่เลเยอร์ API — ข้อบกพร่องในการอนุญาต การเปิดเผยข้อมูล การเลี่ยงขีดจำกัดอัตรา
- การประเมินการกำหนดค่า Cloud การกำหนดค่าที่ไม่ถูกต้องเฉพาะของ AWS/Azure/GCP — บัคเก็ต S3 ที่เปิดเผย, IAM ที่อนุญาตมากเกินไป, สาธารณะ Lambda.
- การประเมินไร้สาย การทดสอบความปลอดภัย Wi-Fi
- การทดสอบการเจาะระบบทางกายภาพ พยายามที่จะเข้าถึงทางกายภาพ - การปิดท้าย การล็อค วิศวกรรมสังคมที่แผนกต้อนรับ
- การประเมินวิศวกรรมสังคม แคมเปญฟิชชิ่ง พยายามชักจูงพนักงาน
กล่องดำ vs กล่องสีเทา และกล่องสีขาว
- กล่องดำ ผู้ทดสอบรู้เพียงว่าผู้โจมตีจากภายนอกจะทำอะไร สมจริงแต่ช้า
- กล่องสีเทา มีข้อมูลที่จำกัด (ข้อมูลประจำตัวบัญชี แผนภาพเครือข่าย) พบบ่อยที่สุดในทางปฏิบัติ
- White box. การเข้าถึงแบบเต็ม รวมถึงซอร์สโค้ด เอกสารประกอบสถาปัตยกรรม ข้อมูลประจำตัวของผู้ดูแลระบบ ละเอียดที่สุด; พบปัญหาเกี่ยวกับเครื่องมืออัตโนมัติและการทดสอบภายนอกอาจพลาด
เฟรมเวิร์กวิธีการ
- OWASP คู่มือการทดสอบความปลอดภัยบนเว็บ เฟรมเวิร์กที่ครอบคลุมสำหรับการทดสอบแอปพลิเคชันเว็บ
- NIST SP 800-115. คู่มือทางเทคนิคของรัฐบาลสหรัฐฯ สำหรับการทดสอบความปลอดภัย
- OSSTMM. คู่มือวิธีการทดสอบความปลอดภัยแบบโอเพนซอร์ส
- PTES. Penetration Testing Execution Standard.
- MITRE ATT&CK. ไม่ใช่วิธีการต่อกัน แต่เป็น กรอบกลยุทธ์เทคนิคขั้นตอนที่ใช้อย่างมากในการปฏิบัติการของทีมสีแดง
เครื่องมือของการค้า
- การลาดตระเวน: nmap, Masscan, Shodan, theHarvester, Recon-ng
- การทดสอบเว็บ: Burp Suite (มาตรฐานอุตสาหกรรม), OWASP ZAP, sqlmap
- เฟรมเวิร์กการสำรวจ: Metasploit, Cobalt Strike (มาตรฐานทีมสีแดง), Empire, Sliver
- Wireless: Aircrack-ng, Wifite, hcxdumptool
- การโจมตีด้วยรหัสผ่าน: Hashcat, John the Ripper
- ระบบปฏิบัติการ: Kali Linux คือ การกระจายมาตรฐานรวมเครื่องมือมากมาย
Pen การทดสอบกับการสแกนช่องโหว่
มักจะสับสน; แตกต่างที่สำคัญ:
- Vulnerability scan — เครื่องมืออัตโนมัติที่แสดงรายการปัญหาที่ทราบ ราคาถูก รวดเร็ว สามารถวิ่งรายสัปดาห์ได้ พลาดข้อบกพร่องด้านตรรกะทางธุรกิจ ช่องโหว่ที่เชื่อมโยงกัน เวกเตอร์ทางวิศวกรรมสังคม
- Penetration test — ผู้ทดสอบโดยมนุษย์พร้อมวิธีการที่สร้างสรรค์ มีราคาแพง ใช้เวลานาน พบปัญหาที่สแกนเนอร์พลาด โดยทั่วไปจะเป็นรายปีหรือรายครึ่งปี
โปรแกรมรักษาความปลอดภัยสำหรับผู้ใหญ่จะใช้ทั้งสองอย่าง — การสแกนอัตโนมัติเพื่อความครอบคลุมอย่างต่อเนื่อง การทดสอบปากกาเป็นระยะเพื่อความลึก
Certifications
- OSCP (Offensive Security Certified Professional) — เป็นมาตรฐานที่ใช้งานได้จริง การทดสอบแบบลงมือปฏิบัติจริงตลอด 24 ชั่วโมงกับห้องปฏิบัติการที่มีช่องโหว่
- OSCE3 — เว็บแอปขั้นสูง, การใช้ประโยชน์จาก Dev, การรับรองไร้สายจาก Offensive Security
- GPEN, GWAPT, GXPN — การรับรอง SANS GIAC
- CEH (Certified Ethical Hacker) — ข้อมูลรับรองระดับเริ่มต้น มีทฤษฎีมากกว่า OSCP.
- PNPT (Practical Network Penetration Tester) — การทดสอบภาคปฏิบัติของ TCM Security
OSCP เป็นข้อมูลประจำตัวที่ต้องการมากที่สุดโดยการทดสอบปากกาที่มีชื่อเสียง บริษัท
การทดสอบเลเยอร์ทางกฎหมายและจริยธรรม
Pen โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษรถือเป็นอาชญากรรมในเขตอำนาจศาลส่วนใหญ่ — US CFAA, UK Computer Misuse Act, กฎหมายที่คล้ายกันในที่อื่น แม้จะได้รับอนุญาตก็ตาม การคืบคลานของขอบเขตอาจทำให้เกิดปัญหาทางกฎหมายได้ การอนุญาตเป็นลายลักษณ์อักษร (บางครั้งเรียกว่า "จดหมายปลอดจากคุก") คือการคุ้มครองทางกฎหมายของผู้ทดสอบ
บริษัททดสอบปากกาที่มีชื่อเสียงมีการประกันสำหรับเหตุการณ์ต่างๆ ปฏิบัติตามนโยบายการจัดการข้อมูลที่เข้มงวดสำหรับข้อมูลที่ละเอียดอ่อนใดๆ ที่พบ และมีเส้นทางการยกระดับที่ชัดเจน หากพวกเขาพบกับการบุกรุกอย่างต่อเนื่องหรือข้อมูลส่วนบุคคลที่ละเอียดอ่อน
สิ่งที่องค์กรควรคาดหวังการทดสอบปากกา
A โดยทั่วไปรายงานจะประกอบด้วย:
- บทสรุปผู้บริหารสำหรับความเป็นผู้นำที่ไม่ใช่ด้านเทคนิค
- ผลการวิจัยที่มีการจัดอันดับความรุนแรงด้วยคะแนน CVSS
- ขั้นตอนการทำซ้ำโดยละเอียดสำหรับการค้นพบแต่ละรายการ
- ภาพหน้าจอและหลักฐานการพิสูจน์แนวคิด
- การแก้ไขเฉพาะ คำแนะนำ
- ข้อสังเกตโดยรวมเกี่ยวกับมาตรการรักษาความปลอดภัย
ผลการวิจัยควรสามารถดำเนินการได้ "ช่องโหว่ X มีอยู่ในองค์ประกอบ Y นี่คือวิธีการหาประโยชน์ ต่อไปนี้เป็นวิธีแก้ไข" ไม่ใช่ "ความปลอดภัยของคุณไม่ดี"
คำถามที่พบบ่อย
- เราควรทดสอบปากกาบ่อยแค่ไหน?
- จังหวะทั่วไป: ทุกปีสำหรับท่าทางทั่วไป หลังจากการเปลี่ยนแปลงครั้งใหญ่ (แอปพลิเคชันใหม่ ยกเครื่องสถาปัตยกรรม) และตามที่กำหนดโดยการปฏิบัติตามข้อกำหนด (PCI-DSS กำหนดให้ต้องมีการทดสอบปากกาประจำปีสำหรับสภาพแวดล้อมของผู้ถือบัตร)
- การทดสอบปากกากับทีมสีแดง — อะไรคือความแตกต่าง?
- การทดสอบปากกามีขอบเขตเพื่อค้นหาช่องโหว่ให้ได้มากที่สุดในเป้าหมายที่กำหนดไว้ การมีส่วนร่วมของทีมสีแดงจำลองการโจมตีในโลกแห่งความเป็นจริงที่เฉพาะเจาะจงตั้งแต่ต้นทางถึงปลายทาง (การเข้าถึงครั้งแรก การเคลื่อนไหวด้านข้าง การกรอง) เพื่อทดสอบความสามารถในการตรวจจับและการตอบสนอง ทีมสีแดงกว้างกว่า ยาวกว่า และมักจะซ่อนตัวมากกว่า ดูบทความทีม <a href="/learning/red-team-blue-team">red ของเรา </a>
- บริษัทเล็กๆ คุ้มค่ากับการทดสอบปากกาหรือไม่?
- ขึ้นอยู่กับว่ามีอะไรเป็นเดิมพัน SMB ในการจัดการข้อมูลลูกค้า การรับชำระเงิน หรือการดำเนินงานในอุตสาหกรรมที่ได้รับการควบคุมจะได้รับประโยชน์ ไซต์เครื่องโบรชัวร์ที่ไม่มีข้อมูลผู้ใช้จะได้รับประโยชน์น้อยลง ค่าใช้จ่ายมีตั้งแต่ไม่กี่พันสำหรับขอบเขตแคบไปจนถึงหลักหมื่นสำหรับครอบคลุม
- การทดสอบปากกาสามารถค้นหาช่องโหว่ทุกประการได้หรือไม่
- ไม่ พวกเขาค้นหาสิ่งที่ค้นพบได้ในเวลาที่มนุษย์จัดสรรไว้ด้วยเครื่องมือที่พวกเขาใช้ การทดสอบแบบจำกัดเวลาพลาดสิ่งต่างๆ การทดสอบที่ละเอียดเพียงพอนั้นแพงเกินกว่าจะรันบ่อยครั้ง ผสมผสานกับการสแกนอย่างต่อเนื่องและค่าหัวบั๊กสำหรับการครอบคลุมแบบเลเยอร์
- ผู้ทดสอบปากกาจำเป็นต้องทำลายสิ่งของหรือไม่?
- บางครั้ง. การแสดงผลกระทบมักต้องมีการแสวงหาประโยชน์อย่างแท้จริง ผู้ทดสอบที่มีชื่อเสียงจะสื่อสารก่อนดำเนินการทำลายล้าง ใช้การจัดเตรียมเมื่อเป็นไปได้ และบันทึกทุกอย่าง เอกสารขอบเขตควรระบุขีดจำกัดการดำเนินการทำลายล้างไว้ล่วงหน้า