Black Hat Asia 2023

[NCSA THNCW 2023] พัฒนา 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) ได้ที่


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

พบ ‘HinataBot’ บอทเน็ตที่อาจสร้างการโจมตี DDoS ขนาด 3.3 Tbps ได้

พบมัลแวร์บอตเน็ตใหม่ HinataBot มุ่งเป้าโจมตี Realtek SDK, Huawei Router และ Hadoop YARN Server เพื่อรวมการโจมตีที่อาจสร้าง Distributed Denial of …

CDNetworks ประกาศการสนับสนุนแพลตฟอร์มเต็มรูปแบบสำหรับ QUIC และ HTTP/3 ทำให้การสตรีมสดราบรื่นและเข้าถึงได้มากกว่าที่เคย

ด้วยเวลาตอบสนองที่เร็วขึ้นและการเข้าถึงที่มากขึ้นเพื่อเพิ่มช่วงและการรับสัญญาณสูงสุดในสภาพพื้นที่ที่มีแนวโน้มที่มีสภาพเครือข่ายที่ไม่เอื้ออำนวย การเชื่อมต่ออินเทอร์เน็ตรูปแบบ Quick UDP (QUIC) จึงพร้อมที่จะยกระดับความสามารถในการสตรีมสดของ CDNetworks ไปสู่อีกระดับ