ช่วงปีที่ผ่านมาเหมือนได้เรียนรู้ว่า การดูแลด้าน Cybersecurity ของระบบ Operational Technology (OT) อาจต้องมีการทำ micromanagement และ monitor อย่างใกล้ชิด ถ้าต้องการให้ทุกอย่างออกมาปลอดภัยอย่างที่ควรจะเป็น เพราะไม่ว่าในขั้นตอนไหนก็อาจมีจุดที่ทำให้หลุดได้ เช่น

  • Requirements ขั้นตอนการทำ TOR และ specifications สำหรับระบบ OT น่าจะระบุได้ประมาณว่าต้องมี device และ non-functional requirements ด้านไซเบอร์อะไรบ้างในระบบ ส่วนใหญ่ทีม security จะถูกเรียกให้เข้าไปมีส่วนร่วมในขั้นตอนนี้ แต่ปัญหาคือมักจะลง detail ไม่ได้ ทำได้แค่กำหนดกรอบ/คอนเซปต์ของระบบคร่าวๆ

  • Design ขั้นตอนนี้ขึ้นอยู่กับผู้รับจ้างและเจ้าของระบบเป็นหลัก ว่าจะให้ทีม security เข้าไปมีส่วนร่วมมากน้อยแค่ไหน ตามปกติทีม security จะโดนเรียกให้เข้าไปช่วยดูตอน design กันเสร็จแล้วและกำลังจะติดตั้ง ซึ่งพอทีม security ทักปุ๊บ ก็จะกลายเป็นคนทำให้งานเดินหน้าต่อไม่ได้ เพราะต้องไปปรับ design กันใหม่ 🙄

    • จุดสำคัญของขั้นตอนนี้คือ ถ้า detailed design ด้านไซเบอร์ไม่ละเอียดพอ จะทำให้การติดตั้ง ตรวจสอบ และ maintenance ทำได้ยากในภายหลัง
    • Secure by Design เป็นหลักการที่ดีและควรทำ แต่ก็ยังไม่เพียงพอที่จะทำให้ระบบที่ได้ออกมามี security อย่างที่ควรจะเป็น
  • Implementation ขั้นตอนนี้สำคัญมากๆ และส่วนใหญ่เท่าที่ผมพบคือ เจ้าของระบบอาจจะคิดว่าให้ทีม security ช่วยดูในขั้นตอนก่อนหน้านี้แล้ว หลังจากนี้ก็ให้ผู้รับจ้างดำเนินการไปได้เลย แต่มันจะมีความเสี่ยงอยู่หลายเรื่อง เช่น

    • detailed design ไม่ละเอียดพอ ไม่ระบุว่าต้องเชื่อมต่อเน็ตเวิร์กอย่างไร, firewall ต้องตั้งค่าอย่างไร, ทำ hardening ระบบอย่างไร, กำหนด user roles อย่างไร ไปด้นสดกันหน้างาน และไม่มี documentation ไว้สำหรับอ้างอิง
    • บางเรื่องที่เจ้าของระบบอาจคิดว่าไม่น่าเป็นประเด็น/หรือไม่มีความรู้/หรือเชื่อใจ และปล่อยให้ผู้รับจ้างดำเนินการ/ตัดสินใจ ก็อาจทำให้เกิดความเสี่ยง ทั้งๆ ที่เราสามารถหลีกเลี่ยงได้ถ้าคุยกับทีม security ก่อน
    • ถ้าผู้รับจ้างไม่มีความรู้ด้าน cybersecurity ที่เพียงพอ ก็อาจจะ implement ระบบไปตามที่เคยทำกับระบบ IT เน้นความสะดวกในการบริหารจัดการมากกว่าความปลอดภัย หรืออาจตีความ requirements ใน TOR ไปอีกแบบหนึ่ง ฯลฯ
    • แม้แต่ผู้รับจ้างที่มีประสบการณ์และความเชี่ยวชาญ ก็อาจพลาดตอน implement โดยทำตามที่ออกแบบไว้ไม่ครบ หรือไม่ตรงตาม detailed design document และไม่ได้ตรวจสอบให้ครบถ้วนเป็นต้น
  • Verification ขั้นตอนนี้ก็น่าปวดหัวถ้าใน TOR และ Specifications ไม่กำหนดรายการสิ่งที่ต้องตรวจสอบด้านไซเบอร์ไว้แบบละเอียดตั้งแต่แรก สิ่งที่พบบ่อยๆ คือ ผู้รับจ้างตีความว่า requirements ด้านไซเบอร์ทั้งหมด ตอบได้ด้วยความสามารถของอุปกรณ์ firewall 😫 เช่น

    • TOR ระบุว่าระบบต้องมีการทำ Role-Based Access Control (RBAC) ก็ไปเปิดหน้า settings ของ firewall ให้ดู
    • TOR ระบุว่าต้องกำหนดรหัสผ่านให้มีความซับซ้อนแบบนี้ๆ ก็ไปตั้ง password ใน firewall ให้เป็นไปตามนั้น แต่เครื่อง server, HMI, IED ใช้รหัสผ่าน default 😂

    ทั้งนี้ทั้งนั้นถ้าในส่วน detailed design ทำได้ละเอียดมากพอ การตรวจสอบในขั้นตอนนี้จะทำได้ง่าย เพราะมีเอกสารอ้างอิงว่าสิ่งที่ถูกต้องมันควรจะเป็นอย่างไร

  • Maintenance อันนี้ก็เป็นผลพวงจากตอน design/implementation ด้วยเช่นกัน ถ้าทำขั้นตอนก่อนหน้านี้ได้ดี ชีวิตก็จะง่าย แต่ถ้าไม่มีเอกสารใดๆ ไว้ให้อ้างอิงเวลาตรวจสอบและบำรุงรักษา ก็ชีวิตลำบาก แต่ปัญหาที่แท้จริงในขั้นตอนนี้คือ ถ้าเราไม่มีกระบวนการทำ change management ที่ชัดเจน การดูแลด้านไซเบอร์หลังติดตั้งระบบและใช้งานแล้วจะทำได้ยากมากๆ เช่น

    • ไม่สามารถควบคุมการสร้าง/กำหนดสิทธิ์/ยกเลิกสิทธิ์ ของ user ในระบบได้
    • ไม่สามารถควบคุมการแก้ไข configuration ต่างๆ เวลามีปัญหาในการใช้งานระบบ ก็อาจจะเกิดอาการตามหาคนผิด เช่น “ใครไปแก้ firewall rules หรือเปล่า”
    • หรือเวลาผู้รับจ้างเข้าบำรุงรักษา/ติดตั้ง patch/อัปเดต firmware เราก็จะไม่รู้ว่าจะมีอะไรเปลี่ยนไปในระบบบ้าง และผลกระทบเป็นอย่างไร

อ่านมาถึงตรงนี้คงพอเห็นภาพแล้วว่าทำไมทีม security ต้องเข้าไปดูรายละเอียด/ควบคุมในทุกขั้นตอนขนาดนั้น แต่แน่นอนว่าในการทำงานจริงเราไม่สามารถทำแบบนั้นได้ เพราะเราไม่ได้เป็นเจ้าของระบบ OT ทุกระบบในองค์กร รวมทั้งไม่มีบุคลากรและเวลามากพอ 💀

We Need More Communication

เนื่องจากทีม security ไม่สามารถ(และไม่ควร)ทำ micromanagement ในทุกขั้นตอนของทุกโครงการ สิ่งที่พอจะทำได้น่าจะเป็นการเพิ่มการสื่อสารระหว่างทีมเจ้าของระบบกับทีม security ในแต่ละขั้นตอน ซึ่งน่าจะใช้ได้ดีตั้งแต่ Requirements -> Verification ส่วนในขั้นตอนการ Maintenance ก็คงต้องปล่อยให้เป็นหน้าที่ของเจ้าของระบบเป็นหลัก

We Need More People

อีกแนวทางที่อาจเป็นไปได้ คือการสร้าง Security Champion 🥷 ไว้ในแต่ละหน่วยงาน เพื่อจะเป็นตัวกลางในการติดต่อกับทีม security และสื่อสารกลับไปยังทีมเจ้าของระบบ และจะเป็นคนที่มีบทบาทในการดูแล/ตรวจสอบ/ประสานงานด้าน cybersecurity ในแต่ละขั้นตอนด้านบน แทนที่ทีม security จะต้องลงไปทำเองทั้งหมด

ทั้งนี้ Security Champion แต่ละคนต้องมีความเข้าใจในระบบ OT ที่หน่วยงานตัวเองเป็นเจ้าของ และจำเป็นต้องมีพื้นฐานความรู้และทักษะด้าน cybersecurity ทั้ง red team และ blue team สูงประมาณหนึ่ง จึงจะสามารถทำหน้าที่ได้ดี