Chúng tôi rất vui mừng được giới thiệu một loạt các blog phân tích kỹ thuật tập trung vào các CVE khác nhau (Các lỗ hổng và tiếp xúc phổ biến) có thể được xác định và khắc phục bằng các công nghệ phát hiện mối đe dọa tiên tiến của chúng tôi. Tất cả các nghiên cứu được thực hiện bởi các sinh viên tốt nghiệp đã tham gia vào OPSWAT Chương trình học bổng an ninh mạng, ra mắt vào tháng 12/2023.
Trong blog này, chúng tôi sẽ giải thích Rockwell Micrologix CVE-2017-14469 và cách các tổ chức có thể bảo vệ chống lại các cuộc tấn công khai thác CVE- 2017-14469.
Bộ điều khiển Rockwell Automation MicroLogix 1400
PLC (Programmable Logic Controller) là một máy tính được thiết kế đặc biệt để kiểm soát các quy trình sản xuất công nghiệp. Nó được sử dụng trong cơ sở hạ tầng trọng yếu các lĩnh vực, chẳng hạn như dây chuyền lắp ráp, giám sát máy, điều khiển quá trình, v.v. Bộ điều khiển Rockwell Automation MicroLogix 1400 là một PLC mô-đun và có thể mở rộng có số lượng I / O cao, bộ đếm tốc độ cao nhanh và hỗ trợ mạng nâng cao, phù hợp với nhiều ứng dụng.
CVE- 2017 - 14469
Một lỗ hổng trong Rockwell Automation MicroLogix 1400 Series B FRN 21.2 và các phiên bản trước đó cho phép kẻ tấn công đọc và ghi / ghi đè lên dữ liệu nhạy cảm trên thiết bị. Một gói không được xác thực, được chế tạo đặc biệt có chứa lệnh sẽ dẫn đến việc sửa đổi số thông thường lỗi do người dùng xác định, dẫn đến việc dừng thực thi thiết bị bất ngờ.
Cơ sở dữ liệu lỗ hổng quốc gia (NVD) đã phân loại lỗ hổng này là "Nghiêm trọng" với điểm CVSS (Hệ thống chấm điểm lỗ hổng chung) tối đa. Tác động của nó có thể ảnh hưởng đáng kể đến tính bảo mật, tính toàn vẹn và tính khả dụng của thiết bị mà không yêu cầu bất kỳ xác thực bổ sung nào. Tính khả dụng của hệ thống là rất quan trọng, đặc biệt là trong cơ sở hạ tầng trọng yếu Các hệ thống, nơi bất kỳ sự gián đoạn hoặc thời gian chết nào cũng có thể dẫn đến tổn thất tài chính lớn hoặc thậm chí thiệt hại vật chất. CVE này có thể dẫn đến việc dừng các chức năng PLC bằng cách kích hoạt 'lỗi hệ thống' trong bộ điều khiển, do đó có nguy cơ làm gián đoạn cơ sở hạ tầng trọng yếu Hệ thống.
Phân tích lỗ hổng bảo mật
Khái niệm lỗi gần giống với khái niệm ngoại lệ trong lập trình. Khi xảy ra lỗi, việc thực hiện lệnh bị tạm dừng, dẫn thiết bị vào trạng thái lỗi. Lỗi có thể được phân loại thành hai loại: lỗi người dùng và lỗi không phải người dùng.
Có hai cơ chế để xóa lỗi: bằng cách tự động xóa bằng cách cấp nguồn cho bộ điều khiển hoặc bằng cách xóa thủ công với quy trình lỗi của người dùng, đây là quy trình có thể được đặt để tự động thực thi để đáp ứng với lỗi người dùng. CVE-2017-14469 liên quan đến cơ chế thứ hai. Để ngăn hệ thống tắt hoặc tạm dừng thực thi bất ngờ do lỗi người dùng, quy trình lỗi của người dùng được xác định để xử lý các lỗi được gán dựa trên số lỗi của chúng và được thực thi khi xảy ra lỗi tương ứng. Nếu không có quy trình xử lý lỗi, thiết bị sẽ ngừng thực thi và hiển thị số lỗi. Giá trị cho thói quen lỗi của người dùng được đặt ở 0x00 khi thiết bị hoạt động bình thường và nó chỉ nên được định cấu hình trong phạm vi 0x03 để 0xFF xử lý lỗi.
Có ba vị trí chuyển đổi chế độ trong Rockwell Automation MicroLogix 1400: PROGRAM, REMOTE và RUN. Cả hai chế độ PROGRAM và REMOTE đều cho phép tải chương trình xuống thiết bị, đồng thời chấp nhận và xử lý các yêu cầu đến. Tuy nhiên, ở chế độ RUN, thiết bị chỉ chấp nhận các yêu cầu bị hạn chế. Trong bối cảnh lỗ hổng này, việc khai thác là không thể nếu thiết bị đang ở chế độ RUN.
- Chế độ nhàn rỗi, được sử dụng để tải xuống và chỉnh sửa chương trình
- Trả lời tin nhắn trên cổng giao tiếp
- Tạm dừng thực hiện và không có đầu ra
- Cho phép một phiên từ phần mềm điều khiển thiết bị
- Trả lời tin nhắn trên cổng giao tiếp
- Thực hiện và đầu ra bình thường
Thiết bị giao tiếp qua CIP (Common Industrial Giao thức) với phần mở rộng PCCC. Giao thức CIP được xây dựng trên Ethernet/IP ( Industrial Giao thức). Cấu trúc của một gói tin được thể hiện trong hình dưới đây:
Như có thể thấy từ hình trên, không có trường nào được chỉ định để xác thực. Điều này đặt ra một thách thức đáng kể, vì thiết bị thiếu khả năng phân biệt giữa yêu cầu của kẻ tấn công và lưu lượng truy cập bình thường từ người dùng.
Thông thường, người vận hành có thể theo dõi và cập nhật cấu hình của thiết bị thông qua phần mềm điều khiển. Để giao tiếp với thiết bị, Bộ điều khiển Software gửi yêu cầu tương ứng với lệnh ghi hoặc đọc logic được đánh máy bảo vệ, điền vào Đối tượng PCCC CIP. Trong định dạng giao thức PCCC CIP, lệnh được xác định bằng mã lệnh và mã chức năng của lệnh đó.
Mã lệnh | Mã chức năng | Sự miêu tả |
0x0F | 0 x 80 | Thay đổi chế độ |
0x0F | 0xAA | Ghi logic đã nhập được bảo vệ với ba trường địa chỉ |
0x0F | 0xA2 | Đọc logic đã nhập được bảo vệ với ba trường địa chỉ |
Lệnh ghi logic được nhập được bảo vệ được sử dụng để ghi vào các tệp nhạy cảm, chẳng hạn như tệp Trạng thái, tệp Bit, tệp Bộ đếm và các cấu hình khác của thiết bị.
Thiết bị sử dụng ba trường địa chỉ trong gói CIP để xác định vị trí đọc và ghi: loại tệp, số tệp và số phần tử. Dưới đây là một số giá trị ví dụ để xác định vị trí tệp cấu hình sẽ bị ảnh hưởng bởi lệnh:
Loại tệp | Số tập tin | Số phần tử | Sự miêu tả |
0 x 84 | 0 x 02 | 0x1d | Tệp trạng thái - Số định kỳ lỗi của người dùng |
0 x 84 | 0 x 02 | 0 x 06 | Tệp trạng thái - Mã lỗi chính |
0 x 84 | 0 x 02 | 0 x 05 | Tệp trạng thái - Mã lỗi chính |
Tuy nhiên, thiếu xác thực đầu vào khi thiết bị xử lý yêu cầu; Dữ liệu được gửi trong lệnh WRITE không được xác thực và cho phép được đặt thành bất kỳ giá trị không hợp lệ nào.
Lỗ hổng được gây ra bởi hai lý do chính. Thứ nhất, thiết bị không thể xác thực các yêu cầu đến, cho phép kẻ tấn công gửi yêu cầu chưa được xác thực để sửa đổi cài đặt nhạy cảm. Thứ hai, thiết bị xác thực dữ liệu đến không chính xác, dẫn đến cài đặt bị thay đổi thành trạng thái không hợp lệ.
Để khai thác thành công lỗ hổng, kẻ tấn công gửi yêu cầu độc hại, lạm dụng lệnh ghi logic được nhập được bảo vệ để ghi đè lên số lỗi thường xuyên trong tệp trạng thái với giá trị không hợp lệ, chẳng hạn như 0x01 hoặc 0x02. Khi số thông lệ lỗi được ghi đè bằng giá trị không hợp lệ và thiết bị chuyển sang chế độ RUN thông qua Gói CIP khác, nó sẽ kích hoạt lỗi và dừng thực thi.
Khai thác lỗ hổng bảo mật
Cuộc tấn công có thể được chia thành 4 bước.
- Thiết lập kết nối với thiết bị qua Ethernet / IP để có được xử lý phiên.
- Gửi yêu cầu độc hại để ghi đè lên số quy trình lỗi.
- Tạo một gói CIP độc hại để chuyển PLC trở lại chế độ Chạy để kích hoạt lỗi.
- Thiết bị gặp lỗi và ngừng thực thi.
Để giao tiếp với thiết bị, kẻ tấn công phải bắt đầu kết nối bằng cách đăng ký một phiên với thiết bị để có được tay cầm phiên và sử dụng nó để liên lạc liên tục. Mã sau đây thể hiện yêu cầu đăng ký phiên tiêu chuẩn:
Sau đó, kẻ tấn công tạo một yêu cầu bằng cách sử dụng xử lý phiên thu được trước đó và bao gồm một tải trọng với lệnh ghi logic được nhập được bảo vệ để ghi đè lên số thông thường lỗi, được đóng gói vào gói CIP.
Trong bước cuối cùng, một gói CIP khác được gửi để chuyển thiết bị sang chế độ chạy và kích hoạt lỗi.
Như được mô tả trong hình ảnh, việc thực thi PLC bị tạm dừng và lỗ hổng được khai thác thành công.
Khắc phục
OPSWATCác sản phẩm bảo mật ICS của ICS được thiết kế để chống lại các loại tấn công này. MetaDefender OT Security là một công cụ tình báo và phát hiện mối đe dọa được hỗ trợ bởi AI giúp phát hiện bất kỳ yêu cầu bất thường nào từ những kẻ tấn công, cho phép quản trị viên xác định các mối đe dọa tiềm ẩn.
MetaDefender OT Security có các khả năng sau để cải thiện tình trạng bảo mật của môi trường OT:
- Nhanh chóng phát hiện và xây dựng hàng tồn kho tài sản với Smart Asset Profiling
- Chủ động và thụ động theo dõi các mối đe dọa và bất thường
- Quản lý bản vá từ xa với khả năng tập trung, tự động vá lỗi
- Quy trình cảnh báo rủi ro có cấu trúc và sắp xếp hợp lý được quản lý bởi bảng điều khiển toàn diện và có thể tùy chỉnh
- Báo cáo tuân thủ quy định toàn cầu, khu vực và ngành
Ngoài ra, MetaDefender OT Security cũng có thể được tích hợp với MetaDefender Industrial Firewall để ngăn chặn các yêu cầu độc hại tác động đến các thiết bị được phát hiện bởi OT Security . Các MetaDefender Industrial Firewall là tuyến phòng thủ cuối cùng bảo vệ các PLC, VFD, RTU và các tài sản công nghiệp quan trọng khác. Nó áp dụng các chính sách truy cập thiết bị rất chi tiết và thực thi các vùng truy cập thiết bị, đảm bảo không có truy cập hoặc thay đổi trái phép nào có thể ảnh hưởng đến phần cứng quan trọng.
Cả hai cùng nhau tạo ra một IDPS liền mạch (hệ thống phát hiện và ngăn chặn xâm nhập) giúp phát hiện và ngăn chặn hiệu quả mọi kết nối mạng, yêu cầu, thông tin liên lạc, v.v. bất thường ảnh hưởng đến mạng.
MetaDefender OT Security cung cấp sự bảo vệ quan trọng cho cơ sở hạ tầng trọng yếu thông qua khả năng hiển thị tài sản và phát hiện mối đe dọa mạnh mẽ. Ngoài sức mạnh công nghệ, OPSWAT mang đến cơ hội nghề nghiệp thú vị cho những cá nhân đam mê an ninh mạng. Hãy tham gia cùng chúng tôi trong việc định hình tương lai của an ninh và bảo vệ những gì quan trọng nhất. Khám phá các vai trò đa dạng và các dự án có tác động tại OPSWAT, nơi chuyên môn của bạn có thể tạo ra sự khác biệt rõ rệt. Cùng nhau, chúng ta hãy bảo vệ các hệ thống quan trọng nhất của thế giới.