พัฒนา Threat Model ด้วยตัวคุณเอง โดย E-C.O.P. (Thailand)

ในยุคที่ภัยคุกคามทางไซเบอร์นั้นหลากหลายและซับซ้อน องค์กรทั่วโลกต่างก็มองหาแนวทางที่ชัดเจนในการปกป้องระบบของตนจากผู้ไม่หวังดี และ Threat Modelling คือหนึ่งแนวคิดที่ตอบโจทย์นั้น ในงาน Thailand National Cyber Week 2023 ที่ผ่านมาคุณณัฐพงศ์ สุระเรืองชัย – Principle Technical Consultant E-C.O.P. (Thailand) ได้ให้เกียรติมาให้ความรู้ในหัวข้อ “พัฒนา Threat Model ด้วยตัวคุณเอง” ซึ่งอธิบายวิธีการทำ Threat Model ที่องค์กรสามารถเริ่มต้นทำได้เลยในวันนี้  Threat Model คืออะไร? เริ่มต้นทำอย่างไร? และทำแล้วองค์กรจะได้ประโยชน์อะไรบ้าง เราสรุปเซสชันของคุณณัฐพงศ์มาให้อ่านแล้วในบทความนี้

Threat Model คืออะไร

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

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

เป้าหมายของการสร้าง Threat Model คือการสร้าง Visibility ด้านความปลอดภัยให้กับทั้งระบบ เพื่อวางแผนเตรียมการรับมือกับการโจมตี วิเคราะห์ความเสี่ยง และพัฒนาการรักษาความปลอดภัยให้แข็งแกร่งยิ่งขึ้น โดย Threat Model จะต้องช่วยองค์กรตอบ 4 คำถามหลัก คือ

  1. เราทำงานอย่างไร
  2. เหตุไม่ดีจะเกิดขึ้นได้อย่างไร
  3. หากเกิดเหตุไม่ดีขึ้น จะแก้ไขอย่างไร
  4. การแก้ไขนั้นทำได้ดีหรือไม่

เริ่มต้นทำ Threat Model อย่างไรให้มีประสิทธิภาพ 

ในมุมมองของ Security นั้น เราอาจเริ่มมองระบบจากสามเหลี่ยม CIA ซึ่งเป็นหัวใจของการรักษาความปลอดภัยระบบ ได้แก่ 

  • C – Confidentiality สิ่งที่เป็นความลับควรถูกเก็บรักษาอย่างดี เข้าถึงได้จากคนที่ควรเข้าถึงเท่านั้น
  • I – Integrity ระบบและข้อมูลนั้นมีความถูกต้อง ทำงานได้ตามเป้าหมาย และไม่มีการปลอมแปลง
  • A – Availability สามารถเข้าใช้งานระบบหรือ Asset ได้ตามที่ตั้งใจ ไม่ล่ม และมีความเสถียร  

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

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

1. Identify ว่ามี Asset อะไรในระบบบ้าง

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

2. Review Architecture ของระบบภายในองค์กร

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

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

Context Diagram จะช่วยให้องค์กรสามารถมองภาพของระบบและการติดต่อสื่อสารได้อย่างชัดเจน

3. Identify Threat

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

ในเซสชันนี้ คุณณัฐพงศ์ได้ยกตัวอย่าง Framework ที่น่าสนใจขึ้นมาชิ้นหนึ่ง ได้แก่ STRIDE Framework ซึ่งประกอบไปด้วย

  • S – Spoofing การเจาะเข้ามาในระบบผ่านช่องทางต่างๆ
  • T – Tampering การเปลี่ยนหรือปลอมแปลงข้อมูลให้เกิดความเสียหาย
  • R – Repudiation การที่ระบบไม่สามารถตรวจสอบได้ว่า Action ในระบบถูกกระทำโดยใคร ทำให้เกิดความเสี่ยงต่อข้อมูลหรือความถูกต้องในการทำงาน
  • I – Information Disclosure การเปิดเผยข้อมูลที่ควรเป็นความลับ
  • D – Denial of Service การทำให้ระบบล่มหรือใช้งานไม่ได้
  • E – Elevation of Privilege การเปลี่ยนแปลงสิทธิ์ในการเข้าใช้งานให้สูงกว่าที่ควรจะเป็น

จาก STRIDE ทั้ง 6 ข้อ องค์กรจะได้แนวทางในการคิดถึงวิธีต่างๆที่การโจมตีสามารถเกิดขึ้นได้กับระบบ ซึ่งจะทำให้ระบบสูญเสีย Confidentiality, Integrity, หรือ Availability ไป 

ตัวอย่างของการใช้ STRIDE Framework เพื่อวิเคราะห์ความเสี่ยงของที่อยู่อาศัย

4. Document Threats & Vulnerabilities (และหาแนวทางในการแก้ไข)

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

หนึ่ง Framework ที่คุณณัฐพงศ์ยกตัวอย่างคือ Attack Tree Framework ซึ่งเป็นการตั้งต้นจากเป้าหมายของการโจมตี จากนั้นจึงแตกยอดลงลึกไปว่าหากผู้โจมตีอยากบรรลุเป้าหมายนี้จะใช้วิธีใดในการโจมตี เมื่อแจกแจงออกมาได้แล้วองค์กรก็จะสามารถวางแผนรับมือในกรณีต่างๆได้อย่างถูกต้องและครบถ้วน เช่น ในการขโมย Username และ Password ผู้โจมตีอาจใช้การสุ่มหาแบบ Brute Force หรือการแอบดักฟังในขั้นตอนการล็อคอินของพนักงาน เมื่อองค์กรทราบถึงความเสี่ยงนี้แล้วก็จะเข้าใจว่าต้องเพิ่มความแข็งแกร่งของรหัสผ่านให้มากขึ้น มีการ Authorization เพิ่มเติม และเข้ารหัสให้การติดต่อสื่อสารกับตัวระบบนั่นเอง

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

องค์กรได้อะไรจากการทำ Threat Model

ดังที่ได้กล่าวไปข้างต้นแล้วว่าการสร้าง Threat Model นั้นจะช่วยให้องค์กรมีภาพที่ชัดเจนยิ่งขึ้นถึงความเสี่ยงและวิธีการรับมือจากภัยคุกคาม คุณณัฐพงศ์ได้สรุปประโยชน์ของ Threat Model มาไว้สั้นๆ 4 ข้อ ได้แก่

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

รับชมเซสชัน “พัฒนา Threat Model ด้วยตัวคุณเอง” โดยคุณณัฐพงศ์ สุระเรืองชัย – Principle Technical Consultant E-C.O.P. (Thailand) ได้ที่นี่