← บทความทั้งหมด

OT Security

Purdue Model คืออะไร และใช้แบ่งเครือข่ายโรงงานยังไง

Purdue Model: กรอบสถาปัตยกรรมความมั่นคงปลอดภัยสำหรับจัดโซนเครือข่าย IT/OT ตั้งแต่ระดับกระบวนการผลิตจนถึงระบบองค์กร พร้อมหลักการควบคุมทราฟฟิกเพื่อลด Attack Surface ภายในโรงงาน

ถ้าเราลองถามทีมไอทีกับวิศวกรโรงงานว่าเครือข่ายของโรงงานเราหน้าตาเป็นยังไง หลายครั้งจะได้คำตอบที่ไม่ตรงกัน หรือบางทีก็ไม่มีใครวาดออกมาได้ครบเลยครับ

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

มาจากไหน

Purdue Model มีต้นกำเนิดมาจาก Purdue Enterprise Reference Architecture (PERA) ซึ่งพัฒนาขึ้นที่มหาวิทยาลัย Purdue ในสหรัฐอเมริกาช่วงต้นทศวรรษ 1990 ในยุคแรกโมเดลนี้สร้างขึ้นเพื่ออธิบายโครงสร้างการทำงานของระบบควบคุมอุตสาหกรรม โดยยังไม่ได้เน้นเรื่องความปลอดภัยไซเบอร์เป็นหลัก แต่ในเวลาต่อมา วงการ OT Security ได้นำกรอบนี้มาใช้เป็นแผนที่สำหรับแบ่งโซนเครือข่าย (Network Segmentation) จนกลายเป็นภาษากลางที่ผู้เชี่ยวชาญใช้สื่อสารร่วมกันมาจนถึงปัจจุบัน

หน้าตาของ Purdue Model

┌────────────────────────────────────────┐
│ Level 5    Internet / Cloud            │
├────────────────────────────────────────┤
│ Level 4    Enterprise IT               │
│            ERP, email, office PCs      │
╞═══════════════ FIREWALL ═══════════════╡
│ Level 3.5  IT/OT DMZ                   │
│            Jump host, patch server,    │
│            historian mirror            │
╞═══════════════ FIREWALL ═══════════════╡
│ Level 3    Site operations             │
│            Historian, MES,             │
│            OT domain controller        │
├────────────────────────────────────────┤
│ Level 2    Supervisory control         │
│            SCADA, HMI,                 │
│            engineering workstation     │
├────────────────────────────────────────┤
│ Level 1    Basic control               │
│            PLC, RTU, safety (SIS)      │
├────────────────────────────────────────┤
│ Level 0    Physical process            │
│            Sensors, motors, valves     │
└────────────────────────────────────────┘

ถ้าเราลองไล่จากล่างขึ้นบน จะเห็นภาพแบบนี้ครับ

Level 0 (Physical Process): อุปกรณ์จริงหน้างานทางกายภาพ เช่น เซนเซอร์วัดอุณหภูมิและแรงดัน มอเตอร์ วาล์ว และปั๊ม ชั้นนี้ไม่มีหน่วยประมวลผลตัดสินใจ มีหน้าที่เพียงตรวจวัดค่าและทำงานตามคำสั่งที่ได้รับ

Level 1 (Basic Control): อุปกรณ์ควบคุมหลักที่สั่งการ Level 0 โดยตรง เช่น PLC และ RTU รวมถึงระบบความปลอดภัย (Safety Instrumented System: SIS) ที่ทำหน้าที่หยุดเครื่องจักรฉุกเฉินเมื่อเกิดความเสี่ยง หากผู้ไม่ประสงค์ดีสามารถเข้าควบคุมชั้นนี้ได้ ก็จะสามารถแทรกแซงเครื่องจักรได้ทันที

Level 2 (Supervisory Control): ชั้นสำหรับมอนิเตอร์และควบคุมกระบวนการผลิต ประกอบด้วยระบบ SCADA, หน้าจอ HMI และเครื่อง Engineering Workstation ที่วิศวกรใช้เขียนและปรับปรุงโปรแกรม PLC ซึ่งเครื่องหลังนี้ถือเป็นจุดวิกฤต เพราะมีทั้งสิทธิ์และซอฟต์แวร์ที่สามารถเขียนโปรแกรมลง PLC ได้โดยตรง

Level 3 (Site Operations): ระบบบริหารจัดการระดับโรงงาน เช่น Data Historian สำหรับเก็บข้อมูลกระบวนการผลิตย้อนหลัง, ระบบ MES (Manufacturing Execution System) และ Domain Controller ของฝั่ง OT

Level 3.5 (IT/OT DMZ): เขตปลอดทหาร (DMZ) ที่คั่นกลางระหว่างเครือข่าย IT และ OT ชั้นนี้ไม่มีในโมเดลต้นฉบับ แต่ถูกเพิ่มเข้ามาเพื่อเป็นจุดพักข้อมูลและควบคุมการเชื่อมต่อข้ามฝั่ง เช่น Jump Host สำหรับเข้าถึงระยะไกล (Remote Access), เซิร์ฟเวอร์ Historian Mirror สำหรับให้ฝั่งออฟฟิศดึงข้อมูล และเซิร์ฟเวอร์กระจายแพตช์ (Patch Server)

Level 4 และ 5 (Enterprise IT / Cloud): เครือข่ายของฝั่งสำนักงานและไอทีทั่วไป ครอบคลุมทั้งระบบ ERP, อีเมล, คอมพิวเตอร์พนักงาน ไปจนถึงระบบคลาวด์และอินเทอร์เน็ตภายนอก

กฎง่าย ๆ ที่ทำให้ Purdue Model ใช้ได้จริง

แผนภาพเพียงอย่างเดียวไม่สามารถปกป้องระบบได้ สิ่งที่ทำให้โมเดลนี้เกิดประโยชน์จริงคือกฎการควบคุมการไหลเวียนของข้อมูล (Traffic Flow) ระหว่างชั้น ซึ่งมีหลักสำคัญ 4 ข้อ:

  1. ห้ามกระโดดข้ามชั้น โดยเฉพาะจากฝั่ง IT ลงไปถึงฝั่ง OT ทุกการเชื่อมต่อต้องผ่าน DMZ ก่อนเสมอ ลองเอาสองเส้นทางนี้มาเทียบกันดูนะครับ
BAD                 GOOD

Office PC (L4)      Office PC (L4)
     │                   │
     │                   ▼
     │              Jump host (L3.5)
     │                   │ MFA + logs
     │                   ▼
     │              Eng. WS (L2)
     │                   │
     ▼                   ▼
PLC (L1)            PLC (L1)

เส้นซ้ายคือสิ่งที่ไม่ควรเกิดขึ้น แต่ดูแล้วน่าจะเจอได้บ่อยกว่าที่คิด เช่น เครื่องในออฟฟิศที่ต่อ remote desktop ไปหาเครื่องในโรงงานได้ตรง ๆ ส่วนเส้นขวาคือทางที่ควรเป็น คือต้องผ่าน jump host ที่ใส่ MFA และบันทึกทุกการใช้งานไว้

  1. การเชื่อมต่อควรจบที่ DMZ ไม่ใช่วิ่งทะลุผ่าน DMZ ไป ตัวอย่างเช่น ถ้าฝ่ายบริหารอยากดูยอดผลิต ก็ให้ดึงข้อมูลจาก historian สำเนาที่อยู่ใน DMZ แทนที่จะเปิดทางให้วิ่งเข้าไปหา historian ตัวจริงใน Level 3

  2. ข้อมูลไหลขึ้นได้ง่าย แต่คำสั่งไหลลงต้องยาก การส่งข้อมูลการผลิตจากล่างขึ้นบนเป็นเรื่องปกติ แต่อะไรก็ตามที่วิ่งจากบนลงล่าง โดยเฉพาะคำสั่งที่ไปถึง Level 1 และ 2 ควรมีน้อยที่สุดและต้องควบคุมได้

  3. Remote access ทุกช่องทางต้องมาจบที่ jump host ใน DMZ ไม่ว่าจะเป็นของผู้ขายเครื่องจักรหรือของวิศวกรที่ทำงานจากบ้าน

Purdue Model ยังใช้ได้ไหมในยุค IIoT และคลาวด์

ทุกวันนี้เซนเซอร์ IIoT บางตัวส่งข้อมูลจาก Level 0 หรือ 1 ขึ้นคลาวด์ตรง ๆ ข้ามทุกชั้นไปเลย ซึ่งไม่ตรงกับภาพข้างบน ก็เลยมีคนสงสัยกันอยู่บ่อย ๆ ว่าโมเดลนี้ยังใช้ได้อยู่หรือเปล่า

ในมุมของเรา Purdue Model ยังใช้เป็นแผนที่ได้ดีอยู่ แค่ต้องมองว่าอุปกรณ์พวกนี้คือช่องทางออกนอกโรงงานอีกทางหนึ่งที่ต้องรู้ว่ามีอยู่และต้องควบคุมให้ได้ เช่น ให้วิ่งผ่าน gateway ที่จำกัดปลายทางได้ ส่วนถ้าอยากแบ่งโซนให้ละเอียดกว่านี้ มาตรฐาน IEC 62443 มีแนวคิด Zones and Conduits ที่นำมาใช้ต่อยอดจาก Purdue Model ได้อีกด้วยครับ

ลองวาดของโรงงานตัวเองดู

ถ้าเราลองเอาแผนภาพข้างบนไปวางเทียบกับโรงงานของตัวเอง ก็จะเริ่มเห็นภาพได้ไม่ยากครับ

  1. ไล่รายการอุปกรณ์ทั้งหมด แล้วจัดลงชั้นต่าง ๆ ตามหน้าที่ ถ้ายังไม่มีรายการ ลองเริ่มจากขั้นตอนทำรายการอุปกรณ์ OTในบทความก่อนหน้าได้

  2. ลากเส้นการเชื่อมต่อที่มีอยู่จริงระหว่างเครื่องต่าง ๆ รวมถึง remote access และเครื่องที่มีการ์ดแลนสองใบ

  3. วงเส้นที่กระโดดข้ามชั้นหรือไม่ได้ผ่าน DMZ เอาไว้ เส้นพวกนี้คือจุดที่ควรแก้ก่อน

พอได้แผนภาพนี้มาแล้ว เวลาคุยกันระหว่างทีมไอทีกับวิศวกรโรงงานก็จะง่ายขึ้นเยอะ เพราะทุกคนดูภาพเดียวกันอยู่

ถ้าวาดแล้วเจอเส้นที่ไม่แน่ใจว่าควรจัดการยังไง ก็นัดคุยกับเราได้เลย ทาง Quackbase ยินดีให้บริการครับ