Coding Gun

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 จะเป็น ดังนี้

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)

Zero Trust Architecture vs Perimeter-Based Architecture
Zero Trust vs erimeter-Based Architecture

กระบวนการที่จะเปลี่ยนจาก Perimeter-Based Architecture ไปเป็น Zero Trust Architecture นั้นเป็นกระบวนการที่ต้องใช้เวลา ต้องค่อยๆเปลี่ยน(Continuous Process) ดังนั้นการจะ Implement อาจต้องใช้เวลาเป็นปี

Zero Trust Principles(NIST 800-207)

ใน NIST 800-207 จะพูดถึงวิธีการออกแบบ Zero Trust Architecture โดยจะให้แนวคิดไว้ 7 ข้อ

  1. เราจะมอง Data sources และ Computing services เป็น Resources
  2. จะต้องมีการสื่อสารด้วย Protocols ที่มีความปลอดภัย เช่น TLS หรือ mTLS
  3. เข้าถึง Resources ต่างๆ ได้เฉพาะใน Session นั้นเท่านั้น
  4. Zero Trust Policy สำหรับการเข้าถึง Resources จะต้องเปลี่ยนแปลงได้ไม่ตายตัว และต้องสามารถเปลี่ยนแปลงได้โดยอัตโนมัติ
  5. ต้องมีการ Monitor Assets ต่างๆ
  6. การ Authentication และ Authorization จะต้องถูกบังคับใช้ในทุกๆจุด
  7. ต้องเก็บข้อมูลให้ได้มากที่สุด และนำมาใช้ในการ Update Security Policy ให้เหมาะสมมากขึ้น

AWS Zero Trust Principles

นอกจาก NIST 800-207 แล้วยังมี Principles จากหลายๆค่าย ซึ่งในบทความนี้ผมจะยกตัวอย่าง Zero Trust Principles ของ AWS ซึ่งจะมีแนวคิดดังต่อไปนี้

  1. เราต้องรักษาความปลอดภัยโดยใช้ทั้ง 2 มุมมองนี้ร่วมกัน
    • Identity(Authentication, Authorization)
    • Network(Micro-Segmentation)
  2. Zero Trust จะมีความหมายไม่เหมือนกันเมื่ออยู่ในบริบทที่ต่างกัน
  3. ต้นทุนของ Zero Trust ต้องไม่เกินกว่ามูลค่าของ Asset ที่เรากำลังป้องกัน
  4. ต้องมีการ Monitor ตรวจสอบหาความผิดปกติ
  5. ต้องมีการใช้ Automation

Microsoft Zero Trust

ในมุมมองของ Microsoft ได้ให้ความหมายของคำว่า Zero Trust ไว้ 3 ข้อดังนี้

  1. Verify Explicitly เราต้องทำ Authentication และ Authorization โดยเอาข้อมูลอื่นๆเข้าไปใช้ด้วย เช่น Location ของ User, Device health, Data classification และมีการตรวจสอบหาพฤติกรรมที่ผิดปกติ(Anomalies Detection)
  2. Use Least Privileges Access กำหนดสิทธิแค่พอใช้งาน โดยใช้
    • Just-in-Time(JIT) มีการปรับเปลี่ยน Policy ตลอดเวลา
    • Just-Enough-Access(JEA) และการปรับเปลี่นนั้นต้องเป็น Least Privileges
  3. Assume Breach เราต้องจินตนาการถึงความเสียหายเมื่อถูกโจมตีตลอดเวลา ดังนั้นเราต้องทำ Network Segmentation เพื่อลดผลกระทบของการโจมตีนั้น

Zero Trust Maturity Model

การวัดระดับของการเป็น Zero Trust เราจะแบ่งออกเป็นองค์ประกอบหลักๆได้ 5 เรื่องนี้

  1. Identity
  2. Devices
  3. Networks
  4. Applications และ Workloads
  5. Data

Zero Trust Maturity Model
Zero Trust Maturity Model

Zero Trust Maturity Level

เราจะแบ่งระดับของการเป็น Maturity Levels เป็น 4 Levels ซึ่งแต่ละเสาอาจมี Maturity ที่แตกต่างกันได้

Microsoft Zero Trust Model

Microsoft ได้สร้าง Diagram ขึ้นมาเพื่ออธิบาย Zero Trust ให้เข้าใจได้ง่ายมากขึ้น ดังรูป

Microsoft Zero Trust Model
Microsoft Zero Trust Model

อ่านบทความเกี่ยวกับ Zero Trust ต่อได้ที่นี่

Phanupong Permpimol
Follow me