การทดสอบเจาะระบบ (PenTest) คืออะไร? ทำไมต้องทำ?

Thanatchakaewmanee
SRS Integration
Published in
3 min readJun 20, 2023

สวัสดีค่ะทุกคน ก่อนอื่นแนะนำตัวกันก่อนนะคะ “น้ำผึ้ง จาก SRSI” ค่ะ วันนี้น้ำผึ้งจะมาอัปเดตความรู้และความเข้าใจในเรื่องการทดสอบเจาะระบบให้กับเพื่อนๆค่ะ หากพูดถึงเรื่องความปลอดภัย Cyber security เป็นไปไม่ได้เลยที่เราจะไม่นึกถึงการทดสอบเจาะระบบ (PenTest) ซึ่งเราจะมาพูดถึงการทำ Pentest เบื้องต้น เพื่อให้เพื่อน ๆ เข้าใจและเริ่มต้นในการศึกษาด้านนี้กัน เพราะในยุคที่เทคโนโลยีเป็นส่วนสำคัญของการดำเนินธุรกิจและการทำงาน เรื่องความปลอดภัยของระบบคอมพิวเตอร์เป็นปัญหาที่ซึ่งก็คงจะหนีไม่พ้น ผู้ไม่ประสงค์ดีมากมายที่พยายามเข้าถึงข้อมูลที่สำคัญภายในองค์กร โดยการเจาะระบบคอมพิวเตอร์คนภายในองค์กรเพื่อวัตถุประสงค์ที่ไม่ดี เช่น การโจรกรรมข้อมูล เป็นต้น

Penetration Test หรือ PenTest คือกระบวนการที่สำคัญมากในด้านการรักษาความปลอดภัยของระบบคอมพิวเตอร์ ซึ่งจะช่วยให้ผู้ดูแลระบบสามารถตรวจสอบและวิเคราะห์ประเด็นที่เป็นไปได้ที่อาจทำให้ระบบเสียหายหรือถูกเจาะ หรือค้นหาช่องโหว่ที่อาจถูกใช้โจมตีได้

PenTest คืออะไร

Penetration Test หรือ PenTest เป็นกระบวนการที่จำลองการโจมตีจากผู้ไม่ประสงค์ดีเพื่อค้นหาช่องโหว่และจุดอ่อนของระบบคอมพิวเตอร์ จุดมุ่งหมายหลักของการทดสอบ คือการตรวจสอบและประเมินความปลอดภัยของระบบ โดยใช้วิธีการโจมตีที่เหมาะสม เช่น การสแกนพอร์ตเพื่อค้นหาบริการที่เปิดอยู่ในระบบ การพยายามเข้าสู่ระบบโดยใช้ช่องโหว่ที่มีอยู่ หรือการสร้างสคริปต์และเครื่องมือที่เกี่ยวข้องเพื่อทดสอบระบบเป้าหมาย

ประโยชน์ของการทำ PenTest

1. การค้นหาช่องโหว่:

การทำ PenTest ช่วยในการเห็นช่องโหว่ของระบบเครือข่ายที่ไม่ปลอดภัยที่อาจเกิดขึ้นในระบบ ซึ่งอาจเป็นจุดที่ผู้ไม่ประสงค์ดีใช้โจมตีได้ เช่น ช่องโหว่ของระบบเครือข่ายที่ไม่ปลอดภัย หรือข้อผิดพลาดในการกำหนดสิทธิ์ในระบบ

2. การป้องกันการเจาะระบบ:

ช่วยให้ผู้ดูแลระบบสามารถรับรู้และแก้ไขช่องโหว่ที่อาจถูกใช้โจมตี โดยการปรับปรุงระบบคอมพิวเตอร์และนโยบายความปลอดภัย เพื่อลดความเสี่ยงในการถูกเจาะระบบ

3. การประเมินความเสี่ยง:

PenTest ช่วยในการประเมินความเสี่ยงทางความปลอดภัยของระบบคอมพิวเตอร์ โดยการตรวจสอบปัจจัยที่อาจทำให้เกิดความไม่ปลอดภัยหรือความเสี่ยงขึ้นกับระบบ เช่น การใช้พาสเวิร์ดที่อ่อนแอหรือการไม่ประยุกต์ใช้การป้องกันที่เหมาะสม

ประเภทของการทำ PenTest

ในการทำ PenTest มีหลายวิธี แต่ในบทความนี้เราจะพูดถึงสามวิธีหลัก ๆ ที่ทำกันอย่างแพร่หลาย นั่นก็คือ Black Box Testing, White Box Testing, และ Gray Box Testing ซึ่งมีลักษณะและวิธีการทดสอบ ที่แตกต่างกันดังนี้

1. Black Box Testing:

Black Box Testing เป็นการทดสอบที่ไม่มีการเผยแพร่ข้อมูลเกี่ยวกับระบบที่จะถูกทดสอบแก่นักทดสอบ นักทดสอบจะมองระบบเป็นกล่องดำที่ไม่มีข้อมูลภายใน วัตถุประสงค์หลักของ Black Box Testing คือการค้นหาข้อผิดพลาดและช่องโหว่โดยไม่มีความรู้ล่วงหน้า

2. White Box Testing:

White Box Testing เป็นการทดสอบที่ผู้ทดสอบมีข้อมูลและความรู้เกี่ยวกับระบบที่จะถูกทดสอบ นักทดสอบสามารถเข้าถึงรายละเอียดข้อมูลภายในระบบได้ วัตถุประสงค์หลักของ White Box Testing คือการค้นหาข้อผิดพลาดและช่องโหว่ภายในระบบ

3. Gray Box Testing:

Gray Box Testing เป็นการทดสอบที่ผสมระหว่าง Black Box Testing และ White Box Testing นักทดสอบจะมีข้อมูลบางส่วนเกี่ยวกับระบบที่จะถูกทดสอบ แต่ยังคงไม่รู้ข้อมูลที่ sensitive สำหรับองค์กร เช่น source code เป็นต้น วัตถุประสงค์หลักของ Gray Box Testing คือการทดสอบความคงทนของระบบในสภาพแวดล้อมที่นักทดสอบได้ข้อมูลบางส่วนไป

วิธีการทดสอบความปลอดภัย (Pentest)

1. การวางแผน (Planning)

- กำหนดวัตถุประสงค์ของการทดสอบและขอบเขตของระบบที่จะทดสอบ

- รวบรวมข้อมูลเกี่ยวกับระบบป้าหมาย เช่น สถาปัตยกรรมทางเครือข่าย รายละเอียดของแอปพลิเคชัน เป็นต้น

- จัดทำแผนการดำเนินงานรวมถึงกำหนดเวลาและทรัพยากรที่ใช้ในการทดสอบ

2. การเก็บข้อมูล (Reconnaissance)

- รวบรวมข้อมูลเกี่ยวกับเป้าหมายที่เป็นประโยชน์ เช่น ชื่อโดเมน ที่อยู่ IP รายชื่อผู้ใช้ ข้อมูลทาง เป็นต้น

- วิเคราะห์และสำรวจข้อมูลที่เก็บรวบรวมเพื่อหาช่องโหว่หรือจุดอ่อนในระบบ

3. การสแกนและการระบุช่องโหว่ (Scanning and Enumeration)

- ใช้เครื่องมือสแกนระบบเพื่อค้นหาเครื่องแม่ข่ายและบริการที่ทำงานอยู่

- ระบุช่องโหว่และจุดอ่อนที่สามารถใช้เจาะระบบได้ เช่น การตรวจสอบการกำหนดสิทธิ์ผู้ใช้ ช่องโหว่ทางเครือข่าย เป็นต้น

4. การเข้าสู่ระบบ (Gaining Access)

- ใช้เทคนิคและเครื่องมือที่เหมาะสมเพื่อเข้าสู่ระบบที่มีช่องโหว่

- ทดสอบการเจาะระบบโดยใช้เทคนิค หรือการใช้ช่องโหว่ในแอปพลิเคชัน

5. การรักษาความมั่นคงปลอดภัย (Maintaining Access)

- รักษาการเข้าถึงระบบหลังจากที่ได้เข้าสู่ระบบแล้ว เพื่อให้สามารถเข้าถึงและสำรวจข้อมูลเพิ่มเติมได้

- สร้างช่องโหว่หรือบันทึกการเข้าถึงระบบเพื่อใช้ในขั้นตอนต่อไปหรือการส่งเสริมความปลอดภัย

6. การลบร่องรอยของการเข้าถึงระบบ (Covering Tracks)

- ลบร่องรอยของการเข้าถึงระบบที่สร้างขึ้นในขั้นตอนก่อนหน้า เช่น ลบไฟล์บันทึกที่สร้างขึ้น หรือปิดบัฟเฟอร์ที่สร้างขึ้น

7. การรายงานและการส่งมอบ (Reporting and Deliverables)

- เขียนรายงานเกี่ยวกับผลการทดสอบความปลอดภัยระบบ

- อธิบายช่องโหว่และข้อเสนอแนะเพื่อเพิ่มความปลอดภัย

- ส่งมอบรายงานและแนะนำให้แก้ไขช่องโหว่แก่ผู้ดูแลระบบ

Vulnerability Assessment vs. Penetration Testing

การประเมินช่องโหว่ (Vulnerability Assessment) กับการทดสอบความปลอดภัยระบบ คือสองกระบวนการที่มักถูกใช้ในการตรวจสอบความปลอดภัยของระบบ ซึ่งมีความแตกต่างกันดังนี้:

การประเมินช่องโหว่ (Vulnerability Assessment):

- การประเมินช่องโหว่เน้นการตรวจสอบและระบุช่องโหว่ที่อาจเกิดขึ้นในระบบ

- ใช้เครื่องมือและเทคนิคที่ช่วยในการสแกนและวิเคราะห์ระบบเพื่อค้นหาช่องโหว่ที่เปิดเผย

- ผลลัพธ์ที่ได้ระบุช่องโหว่และแนะนำการแก้ไขหรือป้องกันช่องโหว่ที่พบ

การทดสอบความปลอดภัยระบบด้วยวิธีการแทรกซึม (Penetration Testing):

- การทดสอบความปลอดภัยระบบด้วยวิธีการแทรกซึมเน้นการจำลองการโจมตีจริงของผู้ไม่ประสงค์ดี

- ใช้เทคนิคและเครื่องมือที่ช่วยในการเจาะระบบและทดสอบความทนทานของระบบต่อการโจมตี

- ผลลัพธ์ที่ได้ระบุช่องโหว่ที่สามารถใช้เจาะระบบได้และส่งมอบรายงานเกี่ยวกับผลการทดสอบและข้อเสนอแนะที่เกี่ยวข้อง

การประเมินช่องโหว่เน้นการระบุและรายงานช่องโหว่ที่เปิดเผยในระบบ ในขณะที่การทดสอบความปลอดภัยระบบด้วยวิธีการแทรกซึมเน้นการจำลองการโจมตีจริงและรายงานช่องโหว่ที่สามารถใช้เจาะระบบได้ การใช้ทั้งสองกระบวนการนี้ช่วยให้องค์กรสามารถรับรู้และแก้ไขช่องโหว่ที่อาจเปิดเผยหรือทำให้ระบบเสี่ยงต่อการโจมตีได้อย่างเหมาะสม

เครื่องมือและ framework สำหรับการทดสอบความปลอดภัยระบบ

1. Metasploit Framework: เป็น Framework ที่ใช้ในการทดสอบความปลอดภัยและการเจาะระบบ มีความสามารถในการรวบรวมช่องโหว่ การสร้างเครื่องมือการโจมตีที่กำหนดเองและการดำเนินการเพื่อเข้าสู่ระบบเป้าหมาย

2. Nmap: เป็นเครื่องมือรูปแบบ Open source สำหรับสแกนและค้นหาบริการที่สามารถเข้าถึงอุปกรณ์หรือ Network นั้นได้ ผ่านเครื่องแม่ข่ายและบริการที่ทำงานอยู่บนเครือข่าย เพื่อระบุช่องโหว่และจุดอ่อนในระบบ

3. Burp Suite: เป็นชุดเครื่องมือที่ใช้ในการทดสอบความปลอดภัยของ Web Application มีความสามารถในการส่งคำขอและรับคำตอบ HTTP/HTTPS การระบุช่องโหว่และการสร้างรายงาน

4. Wireshark: เป็นเครื่องมือในการวิเคราะห์และตรวจสอบการสื่อสารในระบบเครือข่าย สามารถบันทึกและวิเคราะห์ข้อมูล Package เพื่อระบุช่องโหว่หรือการโจมตีในระบบ

5. Aircrack-ng: เป็นชุดเครื่องมือที่ใช้ในการทดสอบความปลอดภัยของเครือข่ายไร้สาย สามารถทำการเจาะระบบ Wi-Fi และการบูรณาการสัญญาณได้

6. OWASP Zap: เป็นเครื่องมือสแกนและทดสอบความปลอดภัยของ Web Application มีฟังก์ชันในการระบุช่องโหว่ที่เกี่ยวข้องกับ Web Application และการจำลองการโจมตี

7. Hydra: เป็นเครื่องมือในการทดสอบการรับรองตัวตนและการทดสอบความแข็งแกร่งของรหัสผ่าน สามารถใช้ในการทดสอบการเข้าสู่ระบบโดยการลองรหัสผ่านแบบคำนวณหรือดิกชันนารี

เครื่องมือและ framework ดังกล่าวเป็นเพียงส่วนหนึ่ง ของที่มีอยู่ในวงการทดสอบความปลอดภัย การเลือกใช้เครื่องมือที่เหมาะสมต้องพิจารณาตามเป้าหมายของการทดสอบและความต้องการขององค์กร

สรุป

การทำ PenTest เป็นกระบวนการสำคัญที่ช่วยให้องค์กรประเมินและเพิ่มประสิทธิภาพในด้านความปลอดภัยของระบบคอมพิวเตอร์ การเลือกใช้วิธีการทดสอบที่เหมาะสม เช่น Black Box Testing, White Box Testing, หรือ Gray Box Testing ขึ้นอยู่กับความต้องการและวัตถุประสงค์ของการทดสอบ เพื่อให้ได้ผลลัพธ์ที่เป็นประโยชน์และปลอดภัยอย่างมากที่สุดสำหรับองค์กร

เป็นอย่างไรบ้างคะเพื่อน ๆ จะเห็นได้ว่าการทำ Pentest ไม่ได้เข้าใจยากอย่างที่คิดเลยใช่มั้ยคะ หากองค์กรใดมีระบบที่สำคัญ และข้อมูลที่เป็นข้อมูลอ่อนไหวภายในที่สำคัญอยู่เป็นจำนวนมาก จะดีกว่ามั้ยคะหากว่าเราทำการทดสอบเจาะระบบให้รู้ช่องโหว่ของตนเอง และทำการปรับปรุง แก้ไขก่อนที่จะถูกผู้ไม่ประสงค์ดีโจมตีโจรกรรมข้อมูลดังกล่าวไป บริษัท SRS Integration เป็นหนึ่งในผู้ให้บริการทำ Pentest ที่มีทีมงานที่มีคุณภาพ สำหรับการทำ Service Pentest หากสนใจสามารถติดต่อได้ที่ Link ดังนี้ค่ะ

https://www.srsi.co.th/

https://www.facebook.com/SRSIntegration/

ขอบคุณแหล่งข้อมูลดีๆจาก

https://shorturl.asia/Jslh0

https://shorturl.asia/70XM3

--

--