content-image
ARTICLES | 01 March 2021

Industrial Control System (ICS) Part 2

author-image

Incognito Lab

ในตอนนี้มาทำความรู้จักกับ Protocol Modbus TCP ซึ่งเป็น Protocol ที่นิยมใช้กันในระบบ ICS หรือ SCADA นะครับ

เริ่มจากการดักจับข้อมูลบน Network

ในวีดีโอจะเห็นว่าจะมีการรับส่ง Packet ของข้อมูลตลอดเวลา โดยส่วนใหญ่จะเป็น Read เนื่องจากว่า HMI (Human Machine Interface) มีการเรียกข้อมูลจาก PLC เพื่อทำการ Update หน้าจอแสดงผลตลอดเวลา จะมีการ Write ค่ากลับไปเฉพาะช่วงที่ผมกดเลือก Blinking เพื่อสั่งให้ไฟเหลืองกระพริบเท่านั้น

ใน Wireshark เรา Filter โดยใช้คำว่า mbtcp ซึ่งหมายถึง Protocol Modbus TCP นั่นเอง โดย Format ของ Modbus TCP นั้นเป็นไปตามรูปด้านล่าง

ซึ่งถ้าเทียบกับข้อมูลใน Wireshark ก็จะเห็นได้ว่าเป็นไปตาม Format เดียวกัน โดยการสั่งให้ Read หรือ Write นั้นจะขึ้นอยู่กับ Function Code

ปัญหาหลักของ Modbus TCP คือไม่มี Authentication หรือ Authorization ที่ Layer นี้ทำให้ใครก็ได้ที่สามารถเข้าถึง Network เดียวกับ ICS หรือ SCADA สามารถส่งคำสั่งเข้าเพื่อควบคุมระบบได้โดยตรง

ซึ่งมี auxiliary module ของ Metasploit ที่สามารถใช้ Read/Write ค่าต่าง ๆ ผ่าน Modbus TCP ได้ โดย module นี้ชื่อว่า auxiliary/scanner/scada/modbusclient

ลองดูตามตัวอย่างในคลิปถัดไปนะครับ แค่มีผู้ไม่ประสงค์ดีเข้าถึง Network รันคำสั่งแค่นิดเดียวก็สามารถเปลี่ยน State ของไฟจราจรจำลองได้ทันที

จากปัญหานี้ หนึ่งในวิธีการป้องกันในอดีตคือการทำให้ระบบ ICS อยู่ใน Closed Environment ไม่ต้องให้ยุ่งกับส่วนอื่น ๆ ที่ไม่เกี่ยวข้อง ตามทฤษฎีเราจะเรียกหลักการนี้ว่า "Air Gap Principle" ในยุค 1960-1990 หลักการนี้ใช้ได้ดีมาก แต่ในปัจจุบันระบบต่าง ๆ มีการเชื่อมต่อกันมากขึ้น แม้แต่ระบบ ICS เองก็มักมีการเชื่อมต่อกับระบบภายนอก หรือ บางระบบนั้นมีแม้กระทั่งการเชื่อมต่อกับ Internet โดยตรง!!!!

logologo

INCOGNITO LAB CO., LTD.

38 Soi Petchakasem 30, Petchakasem Road, Pak Khlong Phasi Charoen, Phasi Charoen, Bangkok 10160

©2025 Incognito Lab Co., Ltd. All rights reserved

Terms & Conditions Privacy Policy