ทำความรู้จักการทำ “Penetration Test”

Pentest tools

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

Penetration test คืออะไร?

“penetration testing” หรือที่เรียกย่อ ๆ ว่า “pentest” คือกระบวนการทดสอบระบบคอมพิวเตอร์, เครือข่าย, หรือเว็บแอปพลิเคชันเพื่อระบุช่องโหว่และความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้น โดยวิธีของ pentest คือการจำลองการโจมตีระบบและระบุจุดอ่อนที่อาจถูกโจมตีได้

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

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

องค์กรใดบ้างที่ควรทำ pentest?

การทำ pentest เป็นส่วนสำคัญในการรักษาความปลอดภัยขององค์กรใด ๆ ก็ตามที่อาศัยเทคโนโลยีเพื่อการจัดเก็บ, ประมวลผล, หรือส่งข้อมูลที่ละเอียดอ่อน เช่น ข้อมูลที่สามารถระบุตัวตนได้ (PII), ข้อมูลทางการเงิน, บันทึกการรักษาพยาบาล, หรือข้อมูลที่เป็นความลับอื่นๆ และยังเหมาะสำหรับองค์กรใดก็ตามที่มีการพึ่งพาเทคโนโลยีเป็นอย่างหนัก เช่น สถาบันการเงิน, หน่วยงานรัฐบาล, และเว็บไซต์อีคอมเมิร์ซ โดยควรพิจารณาดำเนินการทดสอบเป็นประจำเพื่อให้แน่ใจว่าระบบและเครือข่ายของคุณปลอดภัย

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

ทำความรู้จักการทำ “Penetration Test”

เราสามารถทำ pentest ได้อย่างไร?

วิธีการทำ pentest นั้นมีมากมายหลายทาง แต่วิธีที่ใช้กันเยอะที่สุดคือ

  1. การสำรวจ: ผู้ทดสอบต้องทำการรวบรวมข้อมูลเกี่ยวกับระบบหรือเครือข่ายเป้าหมาย เช่น ที่อยู่ IP, ชื่อโดเมน, และ topology เครือข่าย
  2. การสแกน: ผู้ทดสอบจะต้องใช้เครื่องมือสแกนต่าง ๆ เพื่อระบุพอร์ต, บริการ, และช่องโหว่บนระบบเป้าหมายหรือเครือข่ายที่เปิดอยู่
  3. การได้รับการเข้าถึง: ผู้ทดสอบจะพยายามเข้าถึงระบบหรือเครือข่ายเป้าหมายโดยใช้วิธีการต่างๆ เช่น การใช้ประโยชน์จากช่องโหว่, การเดารหัสผ่าน, หรือ social engineering
  4. การรักษาการเข้าถึง: เมื่อผู้ทดสอบได้รับสิทธิ์การเข้าถึงแล้ว พวกเขาจะพยายามรักษาการเข้าถึงระบบหรือเครือข่ายเป้าหมายในขณะที่กำลังทำการเพิ่มสิทธิ์ในการเข้าถึงข้อมูลหรือระบบที่ละเอียดอ่อน
  5. การปกปิด track: ผู้ทดสอบพยายามที่จะปกปิดเส้นทางของพวกเขาโดยการลบ log file และหลักฐานอื่น ๆ เกี่ยวกับกิจกรรมของพวกเขาบนระบบหรือเครือข่ายเป้าหมาย

มีวิธีการหลายอย่างที่เป็นไปตามรูปแบบเหล่านี้ เช่น คู่มือการทดสอบ Open Web Application Security Project (OWASP), Penetration Testing Execution Standard (PTES) และ NIST Special Publication 800-115 ซึ่งวิธีการเหล่านี้ให้แนวทางเชิงโครงสร้างในการทดสอบ เพื่อให้แน่ใจว่าพื้นที่ทั้งหมดของระบบหรือเครือข่ายเป้าหมายได้รับการทดสอบอย่างละเอียดเพื่อหาช่องโหว่และความเสี่ยงด้านความปลอดภัย

เครื่องมือที่แนะนำสำหรับการทดสอบมีอะไรบ้าง?

มีเครื่องมือมากมายสำหรับการทำ pentest และเครื่องมือเฉพาะที่ใช้จะขึ้นอยู่กับระบบหรือเครือข่ายเป้าหมายและวัตถุประสงค์ของ pentest อย่างไรก็ตาม เราจะขอแนะนำบางเครื่องมือที่ใช้กันทั่วไปสำหรับแต่ละขั้นตอนต่าง ๆ ของ pentest:

  1. การสำรวจ: Nmap, Whois, Shodan, Google Dorks, Recon-ng
  2. การสแกน: Nessus, OpenVAS, Nikto, Burp Suite, ZAP, Wireshark
  3. การได้รับการเข้าถึง: Metasploit, Exploit-db, Social Engineering Toolkit (SET), BeEF, John the Ripper
  4. การรักษาการเข้าถึง: Netcat, Meterpreter, PowerShell Empire, Cobalt Strike
  5. การปกปิด track: Metasploit, Sysinternals Suite, Eraser

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