Trust ความเชื่อมั่น แต่ทำไมวงการ Cyber Security ถึงมูฟออนไป Zero-Trust กัน

หากใครติดตามพวกวงการ Cyber Security ในช่วง 3-4 ปีที่ผ่านมา คำว่า Zero-Trust น่าจะเป็นคำที่น่าจะเคยผ่านหูผ่านตามาไม่มากก็น้อย หลายคนบอกว่า มันเป็นทางออกสำหรับการบริหาร และจัดการ IT Resource สำหรับการทำงานในปัจจุบันเลยก็ว่าได้ วันนี้เราจะมาเล่าให้อ่านกันว่า มันคืออะไร และ ทำไมหลาย ๆ คนคิดว่า มันเป็นเส้นทางที่ดีที่เราจะมูฟออนกันไปทางนั้น

การทำงานแบบเดิม

ก่อนเราจะไปถึง Zero-Trust กัน เราอยากให้ทุกคนเป็นภาพตรงกันก่อนว่า ระบบ Security และ Access Management มันเป็นอย่างไร ปกติ เราจะใช้ Network Security Model ตัวนึงที่เรียกว่า Castle-and-moat หลาย ๆ คนอาจจะไม่คุ้นชื่อ

แต่ถ้าเราบอกว่า มันเป็นหลักการที่เราจะไม่อนุญาติให้คนที่อยู่ภายนอกเข้าถึง Resource ของเราได้เปรียบเสมือนกับ Moat แต่กลับกัน คนที่อยู่ด้านใน Network ขององค์กร ก็จะสามารถเข้าถึง Resource ต่าง ๆ ได้ เปรียบเสมือน Castle หรือก็คือ เมื่อเราเข้าสู่ปราสาท (Castle) ได้แล้ว เราก็จะสามารถเดินไปเดินมาในปราสาทได้อย่างอิสระ เราจะเข้าถึงได้แทบทุกอย่างในนั้น คิดภาพถึง Ethan Winter ในเกม Resident Evil Village ได้ เข้าไปในปราสาท ฟาร์มของไปขายยังกะเป็นบ้านตัวเองยังไงยังงั้น

เพื่อไม่ให้เกิดการฟาร์มของไปขายกันฉ่ำ ๆ แบบที่ Ethan ทำ เราจะต้อง Fortified ปราสาทของเราเพื่อให้มั่นใจว่า จะมีแต่คนที่ได้รับอนุญาติเท่านั้นที่จะเดินทางเข้าสู่ปราสาทของเราได้ ไม่เอาพวกชาวบ้านไพร่ในหมู่บ้านเข้าไปฟาร์มของในปราสาทได้ ในฝั่ง Implementation นั่นคือ เรา Deploy พวก Firewall, IPS และ IDS เพื่อตรวจสอบผู้ใช้ก่อนเข้าถึง Network ขององค์กรเรานั่นเอง

ตัวอย่างของการ Implementation ที่เราเห็นเยอะในปัจจุบันคือ หากเราต้องการเข้าถึง Resource ที่อยู่ในเครือข่ายจากภายนอก เราจะใช้ VPN เข้าไป เมื่อเรา VPN ผ่าน ก็เท่ากับว่าเราสามารถเข้าถึง Resource ต่าง ๆ ได้เสมือนเราอยู่ในปราสาท หรือ Network ขององค์กรเลย

ลักษณะการทำงานแบบ Castle-and-moat บอกตรง ๆ ว่า มัน Works มานานหลายสิบปีแล้วละ แต่ต้องยอมรับว่า ลักษณะการทำงานของระบบ IT ในปัจจุบันมันเปลี่ยนไป เราค่อย ๆ เริ่มขยับจากการวางระบบแบบ On-Premise อยู่ภายในองค์กร ทำงานกันอยู่แค่ในองค์กร เปรียบเสมือนเรามีปราสาทหลังเดียว ไปสู่การทำงานบนระบบ Cloud มากขึ้น บ้างก็เป็น Hybrid บ้างก็ Cloud เพียว ๆ เปรียบเสมือน เราจะต้องมีการลงทุน Fortified มากขึ้นตามจำนวนปราสาทที่เรามี ยังไม่นับว่า เรามี Cloud หลาย Service หลายตัวที่อยู่กระจัดกระจายอยู่เต็มไปหมด เหมือนกับเรามีปราสาทอยู่แต่ละฝั่งของประเทศที่จะต้องมีการขนของส่งกันไปมาตลอดเวลา ทำให้การจัดการระบบรักษาความปลอดภัยแบบเดิม ๆ จึงทำให้มีประสิทธิภาพได้ยากมาก ๆ

Zero-Trust คืออะไร ?

Credit: Microsoft

พอแบบเดิมเริ่มไม่เหมาะ เราก็เริ่มสรรหา Model รูปแบบใหม่ ๆ ที่จะเข้ามาช่วยจัดการ จนมาจบกันที่ Model ที่เรียกว่า Zero-Trust แต่อาจจะ งง ว่ามันคืออะไร งั้นลองไปดูนิยามของมันกัน ใน NIST SP 800-160 เขียนเอาไว้แบบด้านล่างนี้

A security model, a set of system design principles, and a coordinated cybersecurity and system management strategy based on an acknowledgement that threats exist both inside and outside traditional network boundaries. The zero trust security model eliminates implicit trust in any one element, component, node, or service and instead requires continuous verification of the operational picture via real-time information from multiple sources to determine access and other system responses. - NIST SP 800-160

ก็ลองไปแปลเอาได้แต่สั้น ๆ เราสรุปให้คือ Zero-Trust เป็นหลักการที่มี Concept สั้น ๆ ว่า "Never trust, always verify" หรือแปลไทยตรง ๆ คือ ห้ามเชื่อใคร ให้ตรวจสอบเสมอ นี่คือประเด็นสำคัญของหลักการนี้เลยก็ว่าได้ แตกต่างจากหลักการก่อนหน้าที่เราใช้กันมานานที่ เมื่อเราตรวจสอบแล้ว เราจะเชื่อถือตลอดเวลา หรือถ้าเราอยู่ในองค์กรเท่ากับเชื่อถือ โดยหลักการนี้ต้องบอกว่า มันไม่ได้อาศัยว่า เราไปซื้อ Zero-Trust Product เข้ามาแล้วเราจะใช้งาน Zero-Trust เลยนะ มันเป็นกลยุทธ์ในการจัดการเท่านั้น มันต้องอาศัยทั้ง Product และ Policy ไปพร้อม ๆ กัน โดยมี Core หลักอยู่ทั้งหมด 3 เรื่องด้วยกัน

Least Privilege Access เป็นหลักการแรกที่หยิบเข้ามาใช้ และเราคิดว่ามันเป็นหลักการพื้นฐานในโลก Cybersecurity เลยก็ว่าได้ ที่เราจะต้องให้สิทธิการเข้าถึงเฉพาะที่คน หรือ ระบบนั้น ๆ จำเป็นต้องเข้าถึงเท่านั้น คิดภาพเหมือนเวลาเราไปตึก Office ในกทม เวลาเราจะขึ้นลิฟท์ เราไม่สามารถกดชั้นได้ เราจะต้องเอาบัตรที่ได้รับอนุญาติแตะเข้าไป มันจะพาเราไปที่ชั้นที่ได้รับอนุญาติเท่านั้น ไม่สามารถไปชั้นอื่นได้ ทำให้ลดโอกาสที่เมื่อโดนโจมตีมันจะลามไป Service อื่น ๆ นั่นเอง

Continues Verification เราขึ้นลิฟท์ไปถึงชั้นที่ได้รับอนุญาติไปได้ละ แต่ถ้าเกิดว่า เปิดมาแล้วเป็นออฟฟิศเราเลย มันก็น่าจะไม่ดี เพราะมันอาจจะมีคนที่ได้รับอนุญาติขึ้นลิฟท์มาด้วยแต่อนุญาติที่ชั้นอื่นเดินเนียนออกมา มันก็ไม่ได้ใช่มะ ทำให้มันจะดีกว่า ถ้ามันมีประตูกั้นให้เราเอาบัตรสแกนเข้าไปอีกชั้น เพื่อป้องกันอีกขั้นหนึ่ง หรือก็คือ เมื่อเราเข้ามาแล้ว มันก็ต้องมีการตรวจสอบอยู่ทุกครั้งที่เราเข้าถึง หรือเอาอะไรออกไป ในความเป็นจริง มันสามารถตรวจสอบได้จากหลายอย่างเช่น Identity เราเข้ามาด้วย Credential อะไร, Device เราเข้ามาด้วยอุปกรณ์อะไร และ Context เราทำอะไรบ้าง

Assume Breach หรือการออกแบบระบบโดยมีสมมุติฐานว่า ระบบของเราสามารถถูกแทรกซึม หรือถูกโจมตีได้ตลอดเวลา เราจำเป็นต้องมีแผนรับมือ และระบบการตรวจสอบอย่างเข้มงวด เพื่อให้สามารถตอบสนองต่อการโจมตีได้อย่างรวดเร็ว และตรงจุดมากที่สุด

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

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

Zero-Trust มีประโยชน์กับองค์กรอย่างไร ?

Zero-Trust มันค่อนข้างเหมาะกับระบบ IT สมัยใหม่ที่เรามีการเข้าถึง Resource ด้วหลากหลายอุปกรณ์ และสถานที่ ไม่ได้จำกัดอยู่เพียงแค่ในองค์กรของเราเท่านั้น หรือกระทั่งกลับกัน ข้อมูลที่เมื่อก่อนอยู่ภายในองค์กรของเรา แต่ตอนนี้เราขยับตัวข้ึนไปใช้ Cloud กันบ้างไม่มากก็น้อยแล้ว การใช้ Zero-Trust เข้ามา ทำให้สามารถลด Attack-Surface ได้มหาศาล มากกว่านั้นคือ มันสามารถลดความเสียหายข้างเคียงเมื่อถูกโจมตีได้ เพราะมีการ Micro-Segmented ส่วนต่าง ๆ ออกจากกันเหมือนเรือดำน้ำ ส่งผลไปถึงช่วงหลังจากถูกโจมตี ก็จะลดระยะเวลา และทรัพยากรต่าง ๆ ที่จะต้องทำให้ส่วนที่เสียหายกลับมาใช้งานได้อีกครั้ง และท้ายสุดคือ