Tấn công mạng bằng AI: Cách phát hiện, ngăn chặn và phòng thủ trước các mối đe dọa thông minh

Đọc ngay
Chúng tôi sử dụng trí tuệ nhân tạo để dịch trang web và trong khi chúng tôi cố gắng đạt được độ chính xác, chúng có thể không phải lúc nào cũng chính xác 100%. Sự hiểu biết của bạn được đánh giá cao.

Bảo vệ hệ thống OT khỏi các cuộc tấn công trên Rockwell Automation PLCs 

bằng cách OPSWAT
Chia sẻ bài viết này

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. 

Luan Phạm và Việt Trần, nghiên cứu sinh Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh
Học sinh tham gia OPSWAT Chương trình học bổng.

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.

hình ảnh sản phẩm của Bộ điều khiển Rockwell Automation MicroLogix 1400
Bộ điều khiển Rockwell Automation MicroLogix 1400

CVE- 2017 - 14469

Sự miêu tả

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ờ.

sơ đồ minh họa một kịch bản bảo mật với kẻ tấn công nhắm mục tiêu vào thiết bị MicroLogix 1400, dẫn đến nhiều kết quả tiềm ẩn
Tác độ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. 

xếp hạng mức độ nghiêm trọng đối với lỗ hổng an ninh mạng CVE-2017-14469, nêu chi tiết điểm CVSS từ NIST NVD và Talos với điểm cơ sở quan trọng
Thông tin về CVE-2017-14469 trên NIST NVD 

Phân tích lỗ hổng bảo mật

Lỗi và lỗi thường xuyên là gì?

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.

Lưu đồ giải thích quy trình xử lý lỗi thiết bị, bao gồm phát hiện lỗi, kiểm tra định kỳ và hiển thị mã lỗi
Cơ chế xóa lỗi người dùng bằng cách sử dụng thói quen lỗi của người dùng.
Phương thức hoạt động của Rockwell Automation MicroLogix 1400

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ương trình
  • 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
Xa
  • 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
Chạy
  • Thực thi các chương trình trong vòng lặp liên tục
  • Chỉ trả lời tin nhắn bị hạn chế
CVE-2017-14469 hoạt động như thế nào

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:

biểu diễn sơ đồ cấu trúc của các gói Ethernet / IP và các đối tượng CIP cho giao tiếp giao thức công nghiệp
Cơ chế xóa lỗi người dùng bằng cách sử dụng thói quen lỗi của người dùng.

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ả
0x0F0 x 80Thay đổi chế độ
0x0F0xAAGhi logic đã nhập được bảo vệ với ba trường địa chỉ
0x0F0xA2Đọ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 840 x 020x1dTệp trạng thái - Số định kỳ lỗi của người dùng
0 x 840 x 020 x 06Tệp trạng thái - Mã lỗi chính
0 x 840 x 020 x 05Tệ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.

  1. Thiết lập kết nối với thiết bị qua Ethernet / IP để có được xử lý phiên.
  2. Gửi yêu cầu độc hại để ghi đè lên số quy trình lỗi.
  3. 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.
  4. Thiết bị gặp lỗi và ngừng thực thi.
Đoạn mã Python cho kết nối ổ cắm, đăng ký phiên và gửi lệnh để thay đổi quy trình lỗi của thiết bị và trạng thái CPU, được đánh dấu là khai thác
Mã hiển thị các chức năng từng bước để khai thác lỗ hổng. 
Bước chân 1

Để 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:

Hàm Python để đăng ký một phiên với dữ liệu byte thô, gửi nó qua một socket và giải mã phản hồi xử lý phiên
Bước chân 2

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.

Mã Python xác định một hàm để gửi lệnh qua ổ cắm mạng và nhận phản hồi, một phần của tập lệnh giao tiếp mạng
Bước chân 3

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.

Hàm python đặt trạng thái CPU của thiết bị thành chế độ chạy hoặc chế độ chương trình bằng cách gửi các tải trọng lệnh cụ thể
Bước chân 4

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.

mô tả giao diện người dùng hệ thống và Rockwell Automation MicroLogix 1400 hoạt động trong điều kiện bình thường
Hệ thống hoạt động trong điều kiện bình thường
mô tả giao diện người dùng hệ thống và Rockwell Automation MicroLogix 1400 xuống sau khi khai thác lỗ hổng bảo mật
Hệ thống ngừng hoạt động sau khi khai thác lỗ hổng này

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: 

  1. 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
  2. Chủ động và thụ động theo dõi các mối đe dọa và bất thường
  3. Quản lý bản vá từ xa với khả năng tập trung, tự động vá lỗi
  4. 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
  5. Báo cáo tuân thủ quy định toàn cầu, khu vực và ngành
bảng điều khiển hiển thị đánh giá lỗ hổng chi tiết cho thiết bị PLC Rockwell Automation MicroLogix 1400, bao gồm danh sách CVE và điểm CVSS

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.

Luôn cập nhật với OPSWAT!

Đăng ký ngay hôm nay để nhận thông tin cập nhật mới nhất về công ty, câu chuyện, thông tin sự kiện và nhiều thông tin khác.