
Tuần này, chúng tôi sẽ giới thiệu nghiên cứu điển hình hội thảo thứ sáu: Tấn công Replay vào Hệ thống Camera Giám sát An toàn Đỗ Tàu tại Ga Đường sắt. Chúng tôi sẽ trình bày một cách toàn diện các chiến thuật, kỹ thuật và quy trình (TTP) tấn công và sẽ bao gồm các trình diễn thực tế về nỗ lực của cuộc tấn công replay. Toàn bộ kịch bản tấn công cũng bao gồm tấn công FCI và tấn công firmware đã được giới thiệu trong các nghiên cứu điển hình trước đây. Nếu bạn quan tâm đến các nghiên cứu điển hình khác, vui lòng tham khảo các liên kết bên dưới:
- Nghiên cứu điển hình 1: Tấn công chèn dữ liệu/lệnh sai
- Nghiên cứu điển hình 2: Tấn công giả mạo ARP mạng OT
- Nghiên cứu điển hình 3: Tấn công DDoS trên Kênh Modbus
- Nghiên cứu điển hình 4: Tấn công Man-in-the-Middle trên Chuỗi Điều khiển HMI-PLC
- Nghiên cứu điển hình 5: Tấn công và Phòng thủ Firmware Drone
Mục đích thiết kế chương trình: Mục tiêu của nghiên cứu điển hình tấn công mạng này là phát triển một hội thảo nhằm giới thiệu một trình diễn thực tế về một cuộc tấn công replay trên một camera giám sát an toàn đỗ tàu tại ga trong một hệ thống OT đường sắt. Trong kịch bản tấn công, cuộc tấn công replay được thực hiện bởi một kẻ tấn công mạng tinh vi trong hệ thống OT, khai thác một cuộc tấn công firmware camera thành công. Cụ thể, cuộc tấn công nhắm vào camera phát hiện tàu nằm trong khu vực đỗ tàu tại ga, đóng vai trò là một cơ chế an toàn quan trọng cho hệ thống giám sát tàu. Kịch bản bao gồm một kẻ tấn công red team cấy firmware độc hại vào camera phát hiện tàu, do đó làm tổn hại đến chức năng của nó. Camera bị xâm nhập này sau đó được sử dụng để quay video, sau đó được phát lại và gửi trở lại phòng điều khiển ga. Mục tiêu của cuộc tấn công này là phá vỡ hệ thống giám sát an toàn và đánh lừa người điều hành ga, làm nổi bật các lỗ hổng vốn có trong hệ thống OT và tác động tiềm tàng của các cuộc tấn công mạng đối với cơ sở hạ tầng quan trọng.
Vector tấn công: Tấn công Firmware, Tấn công Replay
Quan trọng: Trường hợp tấn công được trình diễn được sử dụng cho giáo dục và đào tạo cho các khóa học ICS an ninh mạng IT-OT ở các cấp độ khác nhau, vui lòng không áp dụng nó trên bất kỳ hệ thống thực tế nào.
Video demo: https://youtu.be/nTv7dcfjZts?si=h-ptx8jN6Gs1Q1JK
# Author: Yuancheng Liu
# Created: 2024/03/11
# Version: v_0.1.4
# Copyright: Copyright (c) 2024 LiuYuancheng
# License: MIT License
Giới thiệu
Nghiên cứu điển hình này nhằm mục đích tạo ra một mô phỏng đơn giản của hệ thống giám sát phát hiện tàu đường sắt, đóng vai trò là một cơ chế an toàn kép trong hệ thống hỗ trợ đỗ tàu của ga. Mục tiêu chính là minh họa tác động tiềm tàng của một cuộc tấn công replay trên hệ thống bằng cách sử dụng nền tảng này. Dự án bao gồm hai phần chính:
-
Hệ thống hỗ trợ đỗ tàu tại ga thuộc hệ thống OT đường sắt: Trong thiết lập mô phỏng đường sắt của chúng tôi, chúng tôi sẽ đưa ra một cơ chế cho phép người điều hành ga quản lý các quy trình đỗ tàu. Hệ thống này kết hợp một cơ chế kiểm tra an toàn kép sử dụng cả cảm biến vị trí/chuyển động của tàu và camera phát hiện hình ảnh tàu. Khi một trong hai cảm biến phát hiện một đoàn tàu đang di chuyển vào ga, nó sẽ kích hoạt việc kích hoạt phanh tàu để giảm tốc độ của tàu.
-
Demo tấn công Replay hệ thống OT: Phần này sẽ trình bày một kịch bản trong đó một kẻ tấn công red team xâm nhập vào mạng OT của hệ thống đường sắt, sau đó tấn công cơ chế kiểm tra an toàn kép của việc đỗ tàu thông qua các cuộc tấn công chèn dữ liệu sai (FCI) trên chuỗi điều khiển tín hiệu cảm biến vị trí tàu và phá vỡ hệ thống phát hiện camera an toàn thông qua tấn công replay video camera.
Trình diễn tận dụng hệ thống camera an toàn phát hiện tàu, chèn dữ liệu sai, tấn công firmware camera, tấn công replay video camera và thuật toán chứng thực firmware động được nêu trong bài báo PAtt: Chứng thực dựa trên vật lý của hệ thống điều khiển.
Giới thiệu hệ thống hỗ trợ đỗ tàu tại ga thuộc hệ thống OT đường sắt
Trong hệ thống OT đường sắt của chúng tôi, khu vực đỗ tàu lối vào của mỗi ga được trang bị hai cảm biến riêng biệt:
-
Một cảm biến phát hiện chuyển động và vị trí tàu bên cạnh đường ray.
-
Một camera giám sát phát hiện đối tượng tàu hướng về khu vực đỗ tàu.
Cả hai cảm biến đều có nhiệm vụ phát hiện chuyển động của tàu khi nó đi vào ga. Quy trình làm việc của hệ thống được mô tả trong hình ảnh bên dưới:

Khi một đoàn tàu tiếp cận một ga và đi vào khu vực chuẩn bị đỗ tàu:
-
Cảm biến phát hiện vị trí và chuyển động, được kết nối với PLC điều khiển ga, phát hiện sự hiện diện của tàu, nhắc PLC gửi một tín hiệu cho biết tàu đến HMI của ga (được mô tả trong phần tín hiệu màu xanh lam của sơ đồ quy trình làm việc).
-
Đồng thời, camera phát hiện đối tượng tàu truyền video về đoàn tàu đang đi qua đến một máy tính phát hiện tàu chuyên dụng. Máy tính này sử dụng các thuật toán phát hiện đối tượng bằng thị giác máy tính (CV) để xác định tàu và tính toán tốc độ của nó, sau đó gửi thông tin này đến HMI (được minh họa trong phần tín hiệu màu xanh lục của sơ đồ quy trình làm việc).
-
HMI xử lý dữ liệu từ cả PLC và máy tính phát hiện tàu, đánh giá xem tàu có giảm tốc hay không và quản lý các hoạt động của ga cho phù hợp.
Demo tấn công Replay hệ thống giám sát đỗ tàu tại ga OT
Demo tấn công sẽ tập trung vào việc xâm phạm hai cơ chế an toàn: cảm biến phát hiện chuyển động tàu và camera phát hiện đối tượng tàu.
Đối với cảm biến phát hiện chuyển động được kết nối với PLC, kẻ tấn công red team có thể thao túng trạng thái cảm biến của nó thông qua một cuộc tấn công chèn dữ liệu sai.
Đối với camera phát hiện đối tượng tàu, rất khó để hacker sửa đổi dữ liệu byte trong luồng video thông qua tấn công man in the middle. Thay vào đó, kẻ tấn công sẽ thực hiện một cuộc tấn công firmware trên camera để thiết lập một "cửa hậu". Sau đó, các bước sau sẽ được thực hiện để thực hiện cuộc tấn công replay:
-
Khởi tạo một cuộc tấn công firmware để chèn một cửa hậu vào camera.
-
Sử dụng cửa hậu của camera để ghi lại một video cho biết không phát hiện tàu.
-
Đồng thời với cuộc tấn công chèn dữ liệu sai trên phần PLC-HMI, kẻ tấn công sẽ truyền video đã ghi trước đó đến máy tính phát hiện tàu, kích hoạt cuộc tấn công replay.
Bằng cách kết hợp cuộc tấn công chèn dữ liệu sai trên PLC và cuộc tấn công replay trên camera, kẻ tấn công red team có thể phá vỡ hệ thống hỗ trợ đỗ tàu tại ga, khiến HMI và người điều hành ga không thể phát hiện các đoàn tàu đang đến để đỗ tàu.
Các chiến thuật, kỹ thuật và quy trình (TTP) chính của tấn công Replay
Các chiến thuật, kỹ thuật và quy trình (TTP) của một cuộc tấn công replay camera giám sát bao gồm một số bước mà một kẻ tấn công có thể thực hiện để chặn, thao túng và phát lại video từ một camera giám sát trong một hệ thống OT (Công nghệ vận hành).
Trinh sát
-
Chiến thuật: Xác định camera hoặc camera giám sát mục tiêu trong hệ thống OT.
-
Kỹ thuật: Thu thập thông tin về nhãn hiệu và kiểu máy của camera, vị trí, cấu hình mạng và bất kỳ biện pháp bảo mật hiện có nào.
-
Quy trình: Kẻ tấn công red team sẽ quét dịch vụ mạng để tìm máy chủ video RTSP được lưu trữ bởi camera, dựa trên trang quản trị camera để tìm kiểu máy của camera, sau đó tìm một số API camera từ tài liệu trực tuyến.
Chặn và Phân tích
-
Chiến thuật: Giám sát giao tiếp giữa camera giám sát và hệ thống giám sát/ghi âm.
-
Chiến thuật: Chụp video và các gói dữ liệu liên quan khi chúng được truyền qua mạng.
-
Quy trình: Kẻ tấn công red team sẽ phân tích chi tiết các gói kết nối camera để tìm máy tính xử lý video được kết nối để xác định mục tiêu tấn công replay.
Replay
-
Chiến thuật: Phát lại video đã được thao túng cho hệ thống giám sát/ghi âm hoặc người điều hành.
-
Chiến thuật: Đảm bảo rằng video được phát lại phù hợp với mục tiêu của kẻ tấn công, chẳng hạn như che giấu truy cập trái phép, giả mạo hoặc các hoạt động độc hại khác.
-
Quy trình: Kẻ tấn công red team sẽ gửi video giả đã lưu trước đó đến máy tính xử lý video để làm rối loạn cơ chế an toàn phát hiện tàu.
Kiến thức nền
Trong phần này, chúng tôi sẽ giới thiệu kiến thức cơ bản về Tấn công Replay và Giao thức Truyền trực tuyến Thời gian thực được sử dụng để gửi video camera đến máy tính phát hiện CV hình ảnh tàu.
Tấn công Replay
Trong các cuộc tấn công mạng hệ thống OT, tấn công replay thường được sử dụng để nhắm mục tiêu các kênh liên lạc hoặc chuỗi điều khiển sử dụng các giao thức phức tạp hoặc xử lý các luồng dữ liệu lớn. Phương pháp này khác với các phương pháp tấn công truyền thống như FDI/FCI (Chèn dữ liệu sai/Chèn lệnh sai) hoặc tấn công Man-in-the-Middle (MitM). Thay vì trực tiếp can thiệp vào dữ liệu hoặc lệnh, một cuộc tấn công replay bao gồm việc chặn và truyền lại các gói dữ liệu đã được chụp trước đó. Cách tiếp cận này có thể đặc biệt hiệu quả khi xử lý các giao thức phức tạp hoặc luồng dữ liệu khối lượng lớn, cho phép kẻ tấn công khai thác các lỗ hổng trong quá trình liên lạc mà không trực tiếp thay đổi thông tin được truyền.
Một cuộc tấn công replay là một loại tấn công mạng trong đó một kẻ tấn công chụp một truyền tải mạng hợp lệ và sau đó truyền lại nó sau đó. Mục tiêu chính là đánh lừa hệ thống chấp nhận việc truyền lại dữ liệu như một dữ liệu hợp pháp. Ngoài ra, các cuộc tấn công replay rất nguy hiểm vì rất khó phát hiện. Hơn nữa, nó có thể thành công ngay cả khi truyền tải ban đầu được mã hóa.
Một kẻ tấn công có thể thực hiện một cuộc tấn công replay để giành quyền truy cập trái phép vào các hệ thống hoặc mạng. Hơn nữa, một cuộc tấn công replay có thể phá vỡ hoạt động thường xuyên của một hệ thống bằng cách làm ngập nó với các yêu cầu lặp đi lặp lại. Một kẻ tấn công có thể lên kế hoạch thực hiện cuộc tấn công này bằng cách chặn và truyền lại các gói dữ liệu qua mạng. Ngoài ra, một cuộc tấn công replay thành công có thể được thực hiện bằng cách phát lại các truyền tải âm thanh hoặc video đã ghi.
Một sơ đồ replay đơn giản được hiển thị bên dưới:

Tham khảo: https://www.baeldung.com/cs/replay-attacks
Một cuộc tấn công replay trên một camera trong một hệ thống OT (Công nghệ vận hành) bao gồm việc chụp video từ camera, thay đổi nó hoặc phát lại nó, và sau đó gửi nó trở lại để đánh lừa hệ thống hoặc người điều hành của nó. Loại tấn công này có thể có nhiều tác động khác nhau tùy thuộc vào ứng dụng cụ thể của camera trong hệ thống OT.
Giao thức Truyền trực tuyến Thời gian thực
Để làm cho cuộc tấn công replay có thể dễ dàng thực hiện, giao thức video chúng tôi sử dụng cho camera là RTSP (không được mã hóa).
Giao thức Truyền trực tuyến Thời gian thực (RTSP) là một lớp ứng dụng mạng giao thức được thiết kế để ghép kênh và đóng gói đa phương tiện các luồng truyền tải (chẳng hạn như phương tiện tương tác, video và âm thanh) qua một giao thức truyền tải phù hợp. RTSP được sử dụng trong các hệ thống giải trí và liên lạc để điều khiển phương tiện truyền trực tuyến máy chủ. RealNetworks đã phát triển RTSP vào năm 1996, được thiết kế để điều khiển các hệ thống giải trí và liên lạc trong một máy chủ truyền trực tuyến. RTSP sử dụng Giao thức Datagram Người dùng (UDP) và Giao thức Truyền tải Thời gian thực (RTP). RTSP là giao thức tiêu chuẩn được sử dụng để truyền trực tuyến video dữ liệu từ camera IP và hỗ trợ truyền trực tuyến theo phân đoạn đáng tin cậy, cho phép người dùng xem các luồng trong khi nó vẫn đang được tải xuống. Giao thức này cũng cung cấp các tùy chọn tùy chỉnh mở rộng để giúp bạn xây dựng các ứng dụng truyền trực tuyến của riêng mình và thêm các tính năng mới. Nhược điểm chính của RTSP là nó không được sử dụng rộng rãi để phát sóng đa phương tiện qua Internet.
Một ví dụ về RTSP đang hoạt động với dữ liệu video và âm thanh được phân phối qua một luồng RTP dựa trên UDP riêng biệt được hiển thị bên dưới:

Giao thức này được sử dụng để thiết lập và kiểm soát các phiên phương tiện giữa các điểm cuối. Khách hàng của các máy chủ phương tiện đưa ra các lệnh như play, record và pause, để tạo điều kiện kiểm soát thời gian thực của việc truyền trực tuyến phương tiện từ máy chủ đến máy khách (video theo yêu cầu) hoặc từ máy khách đến máy chủ.
Tham khảo https://www.informit.com/articles/article.aspx?p=169578&seqNum=3
Thiết kế dự án
Trong phần này, chúng tôi sẽ giới thiệu cách chúng tôi thiết kế hệ thống hỗ trợ đỗ tàu tại ga thuộc hệ thống OT đường sắt và các bước chi tiết của cuộc tấn công replay.
Thiết kế hệ thống hỗ trợ đỗ tàu tại ga thuộc hệ thống OT đường sắt
Camera giám sát an toàn tàu được xây dựng bằng Raspberry Pi 3B+ được trang bị mô-đun camera. Trong thiết lập vật lý, trước khu vực giảm tốc được chỉ định của ga đường sắt, hai cảm biến phản xạ nhiệt được đặt. Các cảm biến này được liên kết với PLC cho mục đích phát hiện tàu. Bên cạnh các cảm biến này, camera giám sát của chúng tôi được lắp đặt để phát hiện thêm các đoàn tàu đang đến gần. Camera chụp video, sau đó được truyền đến một máy tính xử lý video chuyên dụng. Chương trình của chúng tôi sử dụng các thuật toán thị giác máy tính (CV) để thực hiện cả phát hiện chuyển động và phát hiện đối tượng tàu.
Vị trí của camera và cảm biến được hiển thị bên dưới:

Trong trình giả lập thế giới thực song sinh kỹ thuật số của chúng tôi, chúng tôi sao chép cấu hình này một cách trung thực. Khi một đoàn tàu đi qua khu vực phát hiện cảm biến và camera:
-
PLC chuyển đổi tín hiệu điện từ các cảm biến thành định dạng kỹ thuật số và truyền nó đến Giao diện Người-Máy (HMI). HMI hiển thị kết quả phát hiện tàu và, dựa trên thời gian phát hiện và chiều dài tàu, tính toán tốc độ của tàu
speed-val-1. -
Đồng thời, chương trình phát hiện chuyển động chạy trên máy tính xử lý video của camera kích hoạt thuật toán phát hiện đối tượng tàu để xác nhận sự đi qua của tàu. Sau đó, nó tính toán tốc độ của tàu
speed-val-2.
Nếu một trong hai giá trị tốc độ (speed-val-1 và speed-val-2) vượt quá tốc độ đỗ tàu được chỉ định, HMI điều khiển ga sẽ phát ra tín hiệu để hướng dẫn tàu giảm tốc.
Kịch bản hoạt động chi tiết được hiển thị bên dưới:

Thiết kế tấn công Replay camera giám sát
Như đã minh họa trong phần giới thiệu trước về quy trình làm việc của hệ thống hỗ trợ ghép nối ga đường sắt OT, có hai cơ chế an toàn được thiết lập: cảm biến phát hiện chuyển động tàu và camera phát hiện vật thể tàu. Về cảm biến phát hiện chuyển động được kết nối với PLC, một tác nhân độc hại có thể thay đổi trạng thái của nó thông qua một cuộc tấn công giả mạo dữ liệu. Tuy nhiên, việc thao túng dữ liệu byte trong luồng video của camera phát hiện vật thể tàu thông qua một cuộc tấn công "người ở giữa" tỏ ra khó khăn đối với tin tặc. Do đó, kẻ tấn công chọn thực hiện một cuộc tấn công firmware trên camera, tạo ra một "cửa hậu" để tạo điều kiện cho cuộc tấn công phát lại, theo các bước sau:
-
Thực hiện một cuộc tấn công firmware để cho phép camera chạy firmware đã sửa đổi với một cửa hậu.
-
Sử dụng cửa hậu của camera để ghi lại một video mô tả đường sắt mà không có tàu đi qua.
-
Đồng thời với cuộc tấn công giả mạo dữ liệu trên giao diện PLC-HMI, hãy làm gián đoạn luồng video được truyền từ camera đến máy tính phát hiện tàu. Sau đó, phát lại video đã được ghi trước đó được chụp ở bước trước.
Lưu đồ tấn công chi tiết được hiển thị bên dưới:

Bằng cách sử dụng cuộc tấn công giả mạo dữ liệu trên PLC và cuộc tấn công phát lại trên camera, kẻ tấn công thuộc đội đỏ làm gián đoạn hệ thống hỗ trợ ghép nối ga, khiến HMI và người vận hành ga không thể phát hiện các đoàn tàu đang đến gần để ghép nối.
Thiết lập chương trình
Môi trường phát triển
Python 3.7.4, C
Lib bổ sung cần thiết
-
Python OpenCV (cần cài đặt để phát hiện chuyển động và theo dõi mục tiêu)
Raspberry PI install opencv:
sudo pip3 install opencv-contrib-python==3.4.3.18
sudo apt-get install libhdf5-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev
sudo apt-get install libqt4-test
sudo apt-get install libqtgui4
sudo apt-get update
-
numpy (cần thiết cho mã hóa/giải mã hình ảnh)
pip install numpyHardware (Raspberry PI3B+ with Camera module)
Phần cứng cần thiết
Raspberry PI3B+ với mô-đun Camera. https://projects.raspberrypi.org/en/projects/getting-started-with-picamera

Danh sách tệp chương trình
| Tệp chương trình | Môi trường thực thi | Mô tả |
|---|---|---|
| cameraClient.py | python3.7 | Mô-đun này sẽ tạo một chương trình client chạy trên Raspberry PI để chụp ảnh camera và gửi ảnh trở lại máy chủ camera được kết nối. |
| cameraServer.py | python3.7 | Mô-đun này sẽ tạo một máy chủ xem camera để kết nối với |
| pattChecker.py | python3.7 | Mô-đun này sẽ tạo một hàm kiểm tra PATT firmware camera. |
| pattClient.py | python3.7 | Mô-đun này tạo một client kiểm tra PATT tệp và gửi lại giá trị PATT khi máy chủ kết nối và gửi danh sách địa chỉ đến nó. |
| pattServer.py | python3.7 | Mô-đun này sẽ tạo một chương trình kiểm tra tệp PATT. Nó sẽ gửi danh sách kiểm tra byte PATT đến client và so sánh giá trị PATT phản hồi. |
| udpCom.py | python3.7 | Mô-đun này sẽ cung cấp một API giao tiếp UDP client và server. |
| udpComTest.py | python3.7 | Mô-đun này sẽ cung cấp một chương trình test case đa luồng để kiểm tra các mô-đun giao tiếp UDP bằng cách sử dụng cổng 5005. |
| firmwareSample | Tệp mẫu firmware được sử dụng trong chế độ test. | |
| my_video.h264 | Video H264 được sử dụng để hiển thị tình huống bị tấn công. |
Sử dụng/thực thi chương trình
Giao thức giao tiếp
Hệ thống sử dụng UDP để điều khiển luồng video camera và kiểm tra chứng thực.
| Camera client + server và PATT check +verifier sẽ giao tiếp với nhau bằng UDP với các cổng khác nhau. |
|---|
| Camera client [ UDP server port: 5005] <= yêu cầu hình ảnh <= Camera server [UDP client] |
| Camera client [ UDP server port: 5005] => hình ảnh đã mã hóa => Camera server [UDP client] |
| PATT checker [ UDP server port: 5006] <= Danh sách địa chỉ ngẫu nhiên <= PATT verifier [UDP client] |
| PATT checker [ UDP server port: 5006] => giá trị cameraClient PATT => PATT verifier [UDP client] |
Sơ đồ chi tiết giao tiếp được hiển thị bên dưới:

Chạy chương trình
Chứng thực cập nhật Firmware: Trong phần này, chúng ta sẽ tạo một chương trình kiểm tra firmware và một chương trình xác minh để thực hiện chứng thực firmware bằng cách sử dụng thuật toán PATT (Chứng thực dựa trên Vật lý của Hệ thống Điều khiển). Trình kiểm tra chạy trong Raspberry PI sẽ tính toán giá trị băm PATT của firmware camera (camera Client) dựa trên địa chỉ byte ngẫu nhiên được gửi từ trình xác minh. Trình xác minh sẽ so sánh giá trị PATT của firmware với kết quả tính toán tệp cục bộ của nó để đưa ra kết quả chứng thực.
Chạy chương trình trên Raspberry PI :
IOT IP camera program: python cameraClient.py
Attestation program checker: python pattClient.py
Chạy chương trình trên Host Computer :
IOT camera targets detection program: python cameraServer.py
Attestation program verifier: python pattServer.py
Chương trình xác minh chứng thực sẽ hiển thị kết quả như bên dưới:

Vui lòng kiểm tra chi tiết cách sử dụng trong Usage menu.pdf trong thư mục doc.
Tham khảo
-
Chứng thực firmware PATT: https://www.usenix.org/system/files/raid2019-ghaeini.pdf
-
Giao thức video RTSP: https://www.informit.com/articles/article.aspx?p=169578&seqNum=3
-
Tấn công phát lại: https://www.baeldung.com/cs/replay-attacks
Cảm ơn bạn đã đọc, nếu bạn có bất kỳ câu hỏi và đề xuất nào, vui lòng nhắn tin cho tôi. Rất cảm ơn nếu bạn có thể đưa ra một số nhận xét và chia sẻ bất kỳ lời khuyên cải thiện nào để chúng tôi có thể làm cho công việc của mình tốt hơn ~
Chỉnh sửa lần cuối bởi LiuYuancheng([email protected]) vào ngày 26/03/2024, , nếu bạn có bất kỳ vấn đề gì, vui lòng nhắn tin cho tôi.
No comment for this article.