บทความนี้อยากทำให้ผู้อ่านได้เข้าใจถึง VA/Pentest Service ซึ่งเป็น Service หลักของ Incognito Lab โดยจะเขียนในเชิง Q&A เพื่อที่จะได้ตอบคำถามที่พบได้บ่อยในแต่ละประเด็น
คำถามทั้งหมด1. VA/Pentest คืออะไร
2. ทำไมองค์กรต้องทำ VA/Pentest
3. มีกฎหมายหรือข้อบังคับอะไรที่บอกให้ต้องทำ VA/Pentest
4. ความถี่ที่เหมาะสมในการทำ VA/Pentest
5. ระบบอะไรที่ควรเลือกมาทำ VA/Pentest
6. รูปแบบของการทำ VA/Pentest
7. ข้อมูลที่ควรให้เพื่อใช้ในการประเมินราคา VA/Pentest
8. ไม่มี Idea แต่ก็อยากทำ ควรเริ่มทำอะไรก่อน
9. สามารถทำ VA/Pentest เองได้หรือไม่
10. เลือก ผู้ให้บริการ หรือ ผู้เชี่ยวชาญ อย่างไรดี
11. ทำไมราคาแต่ละผู้ให้บริการแตกต่างกันมาก
.......
Q1: VA/Pentest คืออะไร
A: VA ย่อมาจาก Vulnerability Assessment (บางทีเรียกว่า VA Scan) คือ การ Scan หาช่องโหว่ โดยใช้เครื่องมืออัตโนมัติเป็นหลัก (Automated Tool) ปัญหาที่พบคือเรื่องของการอ่านผล Report จาก Tool เนื่องจากมีปริมาณเยอะ และถ้าไม่คุ้นเคยกับช่องโหว่อาจจะลำบากในการทำความเข้าใจ
Pentest ย่อมาจาก Penetration Testing คือ การทดสอบเจาะระบบโดยผู้เชี่ยวชาญด้าน Cybersecurity ซึ่งการทดสอบจะเป็นการผสมผสานระหว่างการใช้เครื่องมืออัตโนมัติ และ ความรู้ความสามารถของผู้ทดสอบระบบ (ภาษาชาวบ้านคือให้ (Ethical) Hacker มาทดสอบระบบ)
.......
Q2: ทำไมองค์กรต้องทำ VA/Pentest
A: ส่วนใหญ่คือ มีความเป็นห่วงเรื่องความปลอดภัยของระบบ หรือ ถูกข้อบังคับตามมาตรฐานต่าง ๆ บังคับให้ทำ
.......
Q3: มีกฎหมายหรือข้อบังคับอะไรที่บอกให้ต้องทำ VA/Pentest
A: ทั้งประกาศที่ออกโดยหน่วยงานที่มีหน้าที่กำกับดูแลในประเทศไทย และ มาตรฐานระดับสากล (ISO) มีหลายข้อกำหนดที่บอกให้ต้องทำ VA/Pentest ซึ่งการถูกบังคับใช้ก็ขึ้นอยู่กับว่าองค์กรของเรานั้นอยู่ภายใต้หน่วยงานที่กำกับหรือไม่ หรือ องค์กรของเรามีการ Comply ตาม Standard ใด
สำหรับประกาศ/ข้อบังคับในประเทศไทยโดยรวม ๆ จะไม่เข้มมาก คือ บอกกว้าง ๆ ว่าระบบอะไรที่ควรทำ ความถี่ประมาณปีละครั้ง
![1_Kuw---YV6CC4HwaMeWPHRg.jpeg](stocks/blog/o0x0/b2/gq/b2gqmwdfmau/1_Kuw---YV6CC4HwaMeWPHRg.jpeg)
หนึ่งในมาตรฐานที่น่าสนใจ และ ถูกบังคับใช้อย่างแพร่หลาย คือ PCI DSS ซึ่งใช้บังคับองค์กรที่มีธุรกรรมเกี่ยวกับบัตรเครดิต Visa, Master ที่มีการ Store, Process, Transfer Cardholder data ใน PCI DSS นั้นจะบอกชัดเจนว่าทำอะไร ความถี่แค่ไหน ซึ่งจะค่อนข้างเข้ม เช่น การทำ VA Scan คือต้องทำทุกไตรมาส
![1_dmEO8KbSQI2R5JA4GZeH2A.jpeg](stocks/blog/o0x0/b2/cv/b2cvsdl7yzu/1_dmEO8KbSQI2R5JA4GZeH2A.jpeg)
.......
Q4: ความถี่ที่เหมาะสมในการทำ VA/Pentest
A: โดยทั่ว ๆ ไปถ้าเป็น VA มาตรฐานที่เข้มหน่อยจะบอกว่าไตรมาสละครั้ง (ปีละ 4 ครั้ง) แต่มีบางที่ที่เข้มกว่านั้นคือมีการทำ VA Scan ทุกเดือน
ในส่วนของ Pentest ข้อแนะนำคือปีละ 1 ครั้ง หรือ ทุกครั้งที่มีการเปลี่ยนแปลงใหญ่ ๆ ต่อระบบ
ทั้งนี้องค์กรควรจะต้องเข้าใจบริบทของตนเอง และทราบว่าจะต้องปฏิบัติตามข้อบังคับตามมาตรฐาน หรือ Regulator ใดบ้าง เพื่อให้ทราบถึงความถี่ขั้นต่ำที่ควรจะทำ
โดยรวม ๆ แล้วถ้าไม่ได้ถูกบังคับชัดเจน แนะนำว่าอย่างน้อย VA และ Pentest ปีละ 1 ครั้ง
.......
Q5: ระบบอะไรที่ควรเลือกมาทำ VA/Pentest
A: ระบบที่สำคัญในองค์กร โดยถ้าเป็นองค์กรใหญ่จะมี Criteria ในการระบุว่าระบบใดที่มีความสำคัญอยู่แล้ว แล้วนำมาจัดเป็น Application Portfolio แยกตามระดับความสำคัญ โดย Criteria ที่ใช้ เช่น ระบบนั้นเป็นระบบ Internet-Facing, ระบบมีผู้ใช้งานภายนอก (Customer, Partner), ระบบมีเรื่องของการเงินมาเกี่ยวข้อง (Financial Application), ระบบมีข้อมูลส่วนบุคคล (Privacy Data) ยิ่งระบบไหนตรงกับ Criteria ที่กำหนด ระบบนั้นก็ยิ่งมีความสำคัญสูง
.......
Q6: รูปแบบของการทำ VA/Pentest
A: เนื่องจากรูปแบบของการทำการทดสอบมีเยอะ ขอเริ่มจาก Keyword ที่ควรรู้ และ ตัวอย่างรูปแบบ
Keyword กลุ่มที่ 1: Location ที่ใช้ทดสอบ
- External — ทดสอบจาก Internet
- Internal — ทดสอบจากภายในองค์กร
Keyword กลุ่มที่ 2: รูปแบบของ Scenario ที่ต้องการทดสอบ
- Black-box — การทดสอบโดยไม่มีความรู้ใด ๆ เกี่ยวกับเป้าหมายเลย อาจจะทราบแค่ IP address, URL (ลูกค้าบางที่บอกว่าต้องบอกด้วยเหรอ IP address, URL ถ้าไม่บอกแล้ว Tester ไปทำการทดสอบผิดระบบ หรือ ระบบที่สำคัญแล้วเกิดปัญหาด้าน Availability มาจะเรื่องใหญ่นะครับ แต่ในกรณีที่ไม่ต้องการบอกนั้นแต่ละผู้ให้บริการก็จะมีวิธีการที่แตกต่างออกไป โดยที่ Incognito Lab จะใช้ข้อมูล Intelligence ผสมกับการทำ Reconnaissance เพื่อที่จะ list เป้าหมาย เพื่อมา Confirm กับลูกค้าก่อนเริ่มทดสอบ)
- Gray-box — การทดสอบโดยมีความรู้บางส่วนเกี่ยวกับระบบ เช่น Credential สำหรับใช้งานระบบ, เข้าใจ Flow การทำงานของระบบ
- White-box — การทดสอบโดยทราบทุกอย่างเกี่ยวกับระบบนั้น ๆ (คำว่า White-box จะค่อนข้างมีการใช้สับสน บางที่ใช้คำว่า White-box แทน Gray-box แต่สำหรับที่ Incognito Lab เราจะไม่มีการทำ Pentest แบบ White-box ถ้าในกรณีที่ทำการทดสอบแบบ White-box เราจะหมายถึงงานด้าน Secure Code Review)
Keyword กลุ่มที่ 3: เป้าหมายที่ต้องการทดสอบ
- Network/Infrastructure — เน้นทดสอบระดับ System, Network ในการประเมินราคา มักจะคำนวณจากจำนวน IP Address ที่ต้องการทำการทดสอบ
- Application — เน้นทดสอบที่ระดับ Application ซึ่งมีหลากหลายรูปแบบ เช่น Web Application, Mobile Application หรือ Client-Server Application (Application สมัยก่อนที่เป็น Thick Client) ในการประเมินราคา มักจะคำนวณจากจำนวน Application ที่ต้องการทำการทดสอบและความซับซ้อนของแต่ละ Application
![1_NdBbBnHvd6me8-QPCt2O1A.jpeg](stocks/blog/o0x0/fa/oh/faohbjuow18/1_NdBbBnHvd6me8-QPCt2O1A.jpeg)
.......
Q7: ข้อมูลที่ควรให้เพื่อใช้ในการประเมินราคา VA/Pentest
A: ถ้าแจ้งไม่ละเอียดสิ่งที่เกิดขึ้นคือการประเมินแบบ Overscope หรือ Underscope ซึ่งไม่ว่าทางไหนก็ต้องมีคนเจ็บ ดังนั้นควรให้ข้อมูลที่เพียงพอในการประเมินราคาครับ
ถ้าเป็นระดับ Infrastructure ควรให้ข้อมูลเรื่องของ Location, Scenario และ จำนวน IP address ที่ต้องการทดสอบ
ถ้าเป็นระดับ Web Application ควรให้ข้อมูลเรื่องของ Location, Scenario, จำนวน IP address, จำนวน Roles บนระบบ, รายละเอียดหน้าที่ของ Application รวมถึงข้อมูลประเภทใดที่มีความสำคัญบน Application ที่ต้องการทดสอบ
ถ้าเป็นระดับ Mobile Application ควรให้ข้อมูลเรื่องของ Location, Scenario, จำนวน IP address, จำนวน Roles บนระบบ, รายละเอียดหน้าที่ของ Application, ข้อมูลประเภทใดที่มีความสำคัญบน Application ที่ต้องการทดสอบ รวมถึง Platform ที่ต้องการทำการทดสอบ เช่น บาง Application มีแต่ iOS บางอันมี iOS, Android บางอันมี Web Backend อยู่ด้วย ข้อมูลพวกนี้ควรจะต้องแจ้งให้หมด
![1_4X4qNvhpMHpQBVGgerRxsQ.jpeg](stocks/blog/o0x0/gv/oa/gvoaujjprqp/1_4X4qNvhpMHpQBVGgerRxsQ.jpeg)
Q8: ไม่มี Idea แต่ก็อยากทำ ควรเริ่มทำอะไรก่อน
A: ถ้าไม่เคยทำเลยแนะนำให้ทำตาม Scope ด้านล่างครับ
การทำ Network Pentest ทั้ง 2 แบบด้านล่างจะทำให้เห็นภาพกว้าง ให้เห็นจุดที่ต้องปรับปรุงในด้าน Infrastructure
- External Black-box Network Penetration Testing เริ่มจากลองจำลองว่าถ้าเป็น Hacker มาจาก Internet เลยจะทำอะไรกับเราได้บ้าง
- Internal Black-box Network Penetration Testing จากนั้นจำลองว่าถ้าเป็นบุคคลภายในที่เข้าถึง Network ของเราจะได้จะทำอะไรได้บ้าง
หลังจากนั้นควรเลือก Application หรือ ระบบที่มีความสำคัญสูงมาทดสอบ
- Black-box and Gray-box Application Penetration Testing
.......
Q9: สามารถทำ VA/Pentest เองได้หรือไม่
A: ในบางมาตรฐานมีการระบุชัดเจนว่าต้องให้ผู้เชี่ยวชาญภายนอกเป็นผู้ทำการทดสอบให้ ซึ่งผู้เชี่ยวชาญเหล่านั้นควรจะต้องมี Certificate ที่เกี่ยวข้องที่น่าเชื่อถือ
ในกรณีที่ไม่มีการระบุชัดเจน ก็สามารถทำเองได้ ซึ่งบุคคลที่มาทำควรเป็น Independent Party ที่มีความเชี่ยวชาญ
.......
Q10: เลือก ผู้ให้บริการ หรือ ผู้เชี่ยวชาญ อย่างไรดี
A: คำตอบสั้น ๆ คือ เลือกบริษัท/ผู้เชี่ยวชาญ ที่เรารู้สึก “Click” ด้วย
การเลือกผู้ให้บริการนั้น ควรเลือกจาก (เราตัดเรื่องราคาออกไปนะ)
- ทีม Consult/Pentester ที่มาทำงานให้เรา จุดนี้สำคัญที่สุด เพราะว่าเราจะต้องมั่นใจและแน่ใจว่าเค้าจะหาช่องโหว่และแนะนำแนวทางในการแก้ไขที่เหมาะสมได้ นอกจากนี้ในกรณีที่จะต้องไปอธิบายผู้บริหาร หรือ สื่อความกับทีมอื่น ก็ต้องแน่ใจว่าด้วยว่าจะสามารถสื่อสารได้ดี สามารถอธิบายเรื่องเทคนิคให้คนทั่วไปเข้าใจได้
- Site Reference ซึ่งเรื่องนี้ก็ยากหน่อย เพราะจะเห็นว่าแต่ละบริษัทก็มี Site Ref ของลูกค้าคล้าย ๆ กัน เพราะ ส่วนใหญ่ลูกค้าก็ลองเปลี่ยนผู้ให้บริการไปเรื่อย ๆ จนกว่าจะเจอที่ถูกใจ หรือ บางที่มีกฎว่าต้องเปลี่ยนทุก 1–2 ปี
- ขนาดของ Project ที่เคยทำ เรื่องนี้ควรจะ Concern ถ้าสิ่งที่เราทำเป็นโครงการใหญ่ ซึ่งโครงการใหญ่นั้นจำเป็นจะต้องมี Project Manager ที่สามารถควบคุมงานรวมถึงแก้ปัญหาระหว่างทางจนจบได้ แตกต่างกับโครงการเล็กที่แค่มีผู้ทดสอบระบบไม่กี่คนก็จัดการได้ เช่น ที่ Incognito Lab เคยทำงาน VA/Pentest ที่มี Sizing ประมาณ 30M เราพบว่า Challenge ในการทำงาน ไม่ใช่เรื่องการหาช่องโหว่ แต่เป็นเรื่องการบริหารจัดการ รวมถึง Consistency ของทีมงาน เช่น ทำอย่างไรถึงจะ Track Activity ของ Tester ได้, แต่ละคนทำการทดสอบไม่เหมือนกัน จะ Record Test case ที่เกิดขึ้นอย่างไร, รูปแบบของรายงานที่ส่งให้ลูกค้า รวมถึงคำอธิบาย หรือ คำบรรยายที่ใช้ในรายงาน จะทำอย่างไรให้เป็นไปในทิศทางเดียวกัน
- Quality ของ Deliverable ถ้าดูความเรียบร้อยก็ดูได้จาก Presentation, Report, การเขียนเมล มีความใส่ใจต่อคุณภาพมากน้อยแค่ไหน แต่ถ้าคุณภาพของทีมงาน ลองสัมภาษณ์ หรือ เรียกมา Present ให้ฟัง ก็จะช่วยให้สังเกต Quality ได้มากขึ้น
- Certificate ที่เกี่ยวข้อง ซึ่งจะแบ่งเป็น 2 กลุ่มคือ Certificate ในระดับองค์กร และ Certificate ในระดับบุคคล ที่ควรให้ความสำคัญมากกว่า คือ Certificate ระดับบุคคล เพราะคน ๆ นั้นจะเป็นผู้ทำการทดสอบ ส่วน Certificate ระดับองค์กรจะช่วยให้แน่ใจว่า Process โดยรวมดูน่าเชื่อถือมากขึ้น
- ส่วนอื่น ๆ เช่น การรักษาความลับของลูกค้า, Paper ที่มีการตีพิมพ์หรือนำเสนอในงาน Conference ด้าน Cybersecurity ซึ่งวัดได้ว่าเป็นทีมที่มีความเชี่ยวชาญจริง
.......
Q11: ทำไมราคาแต่ละผู้ให้บริการแตกต่างกันมาก
A: เรื่องนี้ต้องดูหลาย Factor ประกอบ เช่น
- ความคลาดเคลื่อนในการสื่อสารทำให้ผู้เสนอราคาประเมิน Scope ที่คล้ายกัน แต่มันไม่เท่ากัน บางอย่างเขียนแตกต่างกันนิดเดียว ราคาก็ต่างกันมาก เช่น ทดสอบแบบ Black-box และ ทดสอบแบบ Gray-box
- ความเข้าใจใน Scope เช่น ในโครงการทำการทดสอบ Network/Infrastructure Pentest ถ้าใน Target IP Address มีระบบที่เป็น Webs server ด้วย ผู้ให้บริการบางที่อาจจะบอกว่าไม่รวมใน Scope เพราะว่าเค้าทำแต่ Infrastructure เป็นต้น
- ความน่าเชื่อถือของบริษัท เหมือนเราจ้าง Financial Auditor แบบ Freelance, Local company หรือ Big4 ราคาก็แตกต่างกัน
- ความน่าเชื่อถือของผู้ทำการทดสอบ ซึ่งถึงแม้ทุกคนจะมี Certificate ที่เกี่ยวข้องกับการทำ VA/Pentest แต่แรงที่ใช้ เงินที่ใช้ลงทุนในการได้ Certificate ก็แตกต่างกัน
.......
บทความนี้เป็นเพียงส่วนหนึ่งในการให้ความรู้ความเข้าใจในเรื่อง VA/Pentest เท่านั้น แต่ยังมีอีกหลายแง่มุมที่องค์กรต้องให้ความสำคัญและลงรายละเอียด หากต้องการคำแนะนำเพิ่มเติม Incognito Lab ยินดีให้คำปรึกษาโดยไม่คิดค่าบริการ นอกจาก VA/Pentest แล้ว เรายังมี service อื่น ๆ อีกมากมาย ศึกษาเพิ่มเติมได้จากเอกสารข้างล่างนี้ครับ
![1_VEUMWz0PreG7NGcFfeYpIw.jpeg](stocks/blog/o0x0/5d/wq/5dwqdt4phq1/1_VEUMWz0PreG7NGcFfeYpIw.jpeg)
![1_USD2D50KPaqPl6oqo12dTw.jpeg](stocks/blog/o0x0/kl/jv/kljve3gywhz/1_USD2D50KPaqPl6oqo12dTw.jpeg)