Zero Trust คืออะไร?
Zero Trust คือหลักการออกแบบระบบรักษาความปลอดภัย ซึ่งเราจะไม่เชื่ออะไรง่ายๆ เราจะตรวจสอบสิ่งนั้นก่อน ไม่ว่าจะเป็น Users, Devices, Networks, Applications รวมทั้ง Data ที่จะนำไปใช้งาน
นอกจากนี้เรายังต้อง แบ่งแยก Network และ Application ให้มีขนาดเล็กที่สุด(Micro-segmentation) และมีสิทธิเท่าที่ใช้(least-privilege) รวมทั้งยังต้องมีการทำ Monitoring และสามารถ Response ได้ทันทีเมื่อมีความผิดปกติเกิิดขึ้น(Automated Response)
Zero Trust จะบอกเราว่า Never Trust, Alway Verify
The ABC of Zero Trust
แนววคิดของ Zero Trust จะเป็น ดังนี้
- Assume Nothing ทุกจุดจะต้องเริ่มตรวจสอบตั้งแต่ตั้น เหมือนเริ่มเข้ามาใน Services นี้ครั้งแรก เช่น ต้องมีการตรวจสอบ Access Token ใหม่ในทุกครั้งที่มีการขอใช้ API ถึงแม้จะวิ่งผ่าน API Gateway เข้ามาแล้วก็ตาม
- Believe No One เราจะไม่เชื่อ Users หรือ Devices ใดๆทั้งสิ้น
- Check Everything เราต้องมี Logging และ Monitoring สำหรับตรวจสอบการทำงานในทุกๆขั้นตอน
Zero Trust จะมีความสำคัญมากเมื่อมี Components ย่อยๆใน Ecosystem หลายตัว โดยเฉพาะการใช้ Cloud Services และ Microservices Architecture เพราะเมื่อมีการคุยกันเยอะ ความเสี่ยงก็จะเยอะตามไปด้วย
Zero Trust Architecture(ZTA) คือการนำเอาแนวคิดและหลักการของ Zero Trust ไป Implement ในองค์กร
NIST 800-207 เป็นเอกสารที่จะอธิบายรายละเอียดของ Zero Trust ซึ่งจะพูดถึงการนำไปใช้ร่วมกับ Risk Management Framework ของ NIST และการผสมผสานกับการใช้ Architecture แบบเดิม(Perimeter-Based Architecture)
กระบวนการที่จะเปลี่ยนจาก Perimeter-Based Architecture ไปเป็น Zero Trust Architecture นั้นเป็นกระบวนการที่ต้องใช้เวลา ต้องค่อยๆเปลี่ยน(Continuous Process) ดังนั้นการจะ Implement อาจต้องใช้เวลาเป็นปี
Zero Trust Principles(NIST 800-207)
ใน NIST 800-207 จะพูดถึงวิธีการออกแบบ Zero Trust Architecture โดยจะให้แนวคิดไว้ 7 ข้อ
- เราจะมอง Data sources และ Computing services เป็น Resources
- จะต้องมีการสื่อสารด้วย Protocols ที่มีความปลอดภัย เช่น TLS หรือ mTLS
- เข้าถึง Resources ต่างๆ ได้เฉพาะใน Session นั้นเท่านั้น
- Zero Trust Policy สำหรับการเข้าถึง Resources จะต้องเปลี่ยนแปลงได้ไม่ตายตัว และต้องสามารถเปลี่ยนแปลงได้โดยอัตโนมัติ
- ต้องมีการ Monitor Assets ต่างๆ
- การ Authentication และ Authorization จะต้องถูกบังคับใช้ในทุกๆจุด
- ต้องเก็บข้อมูลให้ได้มากที่สุด และนำมาใช้ในการ Update Security Policy ให้เหมาะสมมากขึ้น
AWS Zero Trust Principles
นอกจาก NIST 800-207 แล้วยังมี Principles จากหลายๆค่าย ซึ่งในบทความนี้ผมจะยกตัวอย่าง Zero Trust Principles ของ AWS ซึ่งจะมีแนวคิดดังต่อไปนี้
- เราต้องรักษาความปลอดภัยโดยใช้ทั้ง 2 มุมมองนี้ร่วมกัน
- Identity(Authentication, Authorization)
- Network(Micro-Segmentation)
- Zero Trust จะมีความหมายไม่เหมือนกันเมื่ออยู่ในบริบทที่ต่างกัน
- ต้นทุนของ Zero Trust ต้องไม่เกินกว่ามูลค่าของ Asset ที่เรากำลังป้องกัน
- ต้องมีการ Monitor ตรวจสอบหาความผิดปกติ
- ต้องมีการใช้ Automation
Microsoft Zero Trust
ในมุมมองของ Microsoft ได้ให้ความหมายของคำว่า Zero Trust ไว้ 3 ข้อดังนี้
- Verify Explicitly เราต้องทำ Authentication และ Authorization โดยเอาข้อมูลอื่นๆเข้าไปใช้ด้วย เช่น Location ของ User, Device health, Data classification และมีการตรวจสอบหาพฤติกรรมที่ผิดปกติ(Anomalies Detection)
- Use Least Privileges Access กำหนดสิทธิแค่พอใช้งาน โดยใช้
- Just-in-Time(JIT) มีการปรับเปลี่ยน Policy ตลอดเวลา
- Just-Enough-Access(JEA) และการปรับเปลี่นนั้นต้องเป็น Least Privileges
- Assume Breach เราต้องจินตนาการถึงความเสียหายเมื่อถูกโจมตีตลอดเวลา ดังนั้นเราต้องทำ Network Segmentation เพื่อลดผลกระทบของการโจมตีนั้น
Zero Trust Maturity Model
การวัดระดับของการเป็น Zero Trust เราจะแบ่งออกเป็นองค์ประกอบหลักๆได้ 5 เรื่องนี้
- Identity
- Devices
- Networks
- Applications และ Workloads
- Data
Zero Trust Maturity Level
เราจะแบ่งระดับของการเป็น Maturity Levels เป็น 4 Levels ซึ่งแต่ละเสาอาจมี Maturity ที่แตกต่างกันได้
-
Traditional เป็นการจัดการ Zero Trust Policy(ข้อกำหนดในการเข้าถึง resources ต่างๆ) แบบ Manual โดยที่ Policy จะไม่สามารถเปลี่ยนแปลงได้ และการ Response ก็จะเป็นแบบ Manual
-
Initial เป็น Level ที่เริ่มทำ Automation โดยจะเริ่มมี Policy Decision(การกำหนดว่าจะให้เข้าใช้งานหรือไม่) ที่จะสามารถลดสิทธิลงให้น้อยที่สุด(Least Privilege) โดยอัตโนมัติ
-
Advanced เริ่มมีการ Monitor ตรงกลางและ Integrate ข้อมูลระหว่างเสาต่างๆเข้าหากัน
-
Optimal เป็นการจัดการ Zero Trust Policy แบบอัตโนมัติตาม Triggers ที่เรากำหนด(Just-in-Time Lifecycles) และมีการทำ Continuous Monitoring ที่นำข้อมูลของทุกๆเสาเข้ามารวมกัน
Microsoft Zero Trust Model
Microsoft ได้สร้าง Diagram ขึ้นมาเพื่ออธิบาย Zero Trust ให้เข้าใจได้ง่ายมากขึ้น ดังรูป
อ่านบทความเกี่ยวกับ Zero Trust ต่อได้ที่นี่
- https://www.nist.gov/blogs/taking-measure/zero-trust-cybersecurity-never-trust-always-verify
- https://www.cisa.gov/sites/default/files/2023-04/CISA_Zero_Trust_Maturity_Model_Version_2_508c.pdf
- https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-zero-trust-architecture/zero-trust-principles.html
- https://www.microsoft.com/en-us/security/business/zero-trust