Các lỗ hổng ngăn xếp TCP/IP trên IoT

ThS. Hoàng Sỹ Tương, Học viện Kỹ thuật Mật mã| 29/11/2021 11:10
Theo dõi ICTVietnam trên

Với sự phát triển của Internet vạn vật (IoT) và sự hội tụ của OT và IT, các mạng dựa trên bộ giao thức TCP/IP đã được phát triển mạnh mẽ trong thời gian gần đây và dần thay thế các mạng giao tiếp truyền thống hiện nay.

Mô hình mạng TCP/IP cho thấy các mạng giao tiếp với nhau như thế nào tại các tầng và cách các tầng giao tiếp dựa trên các tầng khác của giao thức TCP/IP. Chúng ta có thể thấy cách tầng ứng dụng giao tiếp (chẳng hạn giao thức HTTP) dựa vào tầng Internet (IP) và tầng giao vận (TCP) ở bên dưới. Các tầng của giao thức TCP/IP đóng một vai trò cực kỳ quan trọng trong việc tạo ra các giao tiếp trong các mạng hiện đại vì chúng chính là nền tảng của mọi giao tiếp thông qua bất kỳ giao thức nào.

Chức năng của giao thức TCP/IP được thực hiện thông qua phần mềm được gọi là ngăn xếp giao thức. Các ngăn xếp giao thức, cho dù là thực hiện nhiệm vụ quảng bá như SMB hoặc thực hiện nhiệm vụ trong một miền như DNP3, đều là mục tiêu hấp dẫn đối với tác nhân độc hại, bởi vì (a) chúng tiếp xúc trực tiếp với mạng; (b) chúng thường được triển khai dưới dạng chức năng của hệ thống cấp thấp và như vậy chúng thường được viết dưới dạng các ngôn ngữ lập trình bậc cao không an toàn như C và C++; (c) chúng được triển khai rộng rãi; (d) chúng thường cung cấp nhiều chức năng chưa được xác thực vì vậy tạo ra nhiều lổ hổng tiềm ẩn để hacker khai thác. 

Ngoài ra, bộ mã lệnh ở các tầng dưới của các ngăn xếp giao thức (như TCP/IP) được sử dụng để xử lý các khung dữ liệu được gửi đến các thiết bị, điều này có thể tạo kẻ hở cho phép hacker có thể khai thác lỗ hổng của hệ thống ngay cả khi nó không chạy một ứng dụng cụ thể nào, hoặc có thể thực hiện nghe trộm thông tin trao đổi trên một cổng nào đó của giao thức. 

Cuối cùng, các hệ thống nhúng, chẳng hạn như các thiết bị IoT và OT, có xu hướng tạo ra các lỗ hổng bảo mật tồn tại lâu dài hơn do sự kết hợp của các vấn đề bảo mật như việc vá lỗi, vòng đời hỗ trợ kéo dài hơn và các lỗ hổng “trickling down” có độ phức tạp cao cũng như chuỗi cung ứng phức tạp. Do đó, các lỗ hổng được nhúng trong các ngăn xếp TCP/IP có khả năng ảnh hưởng đến hàng triệu – thậm chí hàng tỷ thiết bị và nó vẫn là một vấn đề lớn về bảo mật trong thời gian tới.

Các lỗ hổng ngăn xếp TCP/IP trên IoT - Ảnh 1.

Mô hình mạng TCP/IP.

Các lỗ hổng ngăn xếp TCP/IP trên IoT 

Các thiết bị IoT rất dễ bị tấn công, vi phạm và các lỗi phát sinh từ các vấn đề trong kiến trúc truyền thông của mạng TCP/IP. Vì vậy người dùng phải nắm được những lỗ hổng này để giúp giảm thiểu rủi ro khi sử dụng giao thức. 

Mặc dù IoT được cho là phương pháp tối ưu trong việc thu thập, quản lý và sử dụng dữ liệu, nhưng nó cũng là điểm thu hút lớn đối với các tấn công mạng. Một trong những lỗ hổng lớn nhất nằm trong các ngăn xếp của giao thức TCP/IP, nó thường tồn tại trong các tầng ứng dụng, giao vận, mạng và vật lý. 

Xuất phát từ nhiều phương diện, kiến trúc ngăn xếp TCP/IP không được thiết kế cho IoT. Mặc dù các kỹ sư và các nhà phát triển đã cố gắng sửa đổi và thêm các thành phần mở rộng vào ngăn xếp TCP/IP – và nhiều mô đun được xây dựng dưới dạng mã nguồn mở - do sự phức tạp của môi trường triển khai cũng với thực tế là các ngăn xếp này được thiết kế không phải để phục vụ mục đích bảo mật vì vậy nó cũng mang đến nhiều thách thức bảo mật, cũng như các vấn đề về an ninh khi được triển khai trong thực tế. Điều làm cho các lỗ hổng trong ngăn xếp TCP/IP được chú ý là số lượng các thiết bị bị ảnh hưởng. Ngăn xếp TCP/IP là một phần mềm chủ chốt trong mọi thiết bị IoT.

Nguyên nhân các mối đe dọa ngăn xếp TCP/IP trên IoT 

Ở cấp độ cơ bản nhất, kiến trúc TCP/IP cho phép các thiết bị IoT giao tiếp với nhau. Các ngăn xếp này là các phần mềm mã nguồn mở và được sử dụng miễn phí bởi hầu hết các thiết bị nhúng và các nhà sản xuất các mô đun IoT. Các nhà sản xuất thiết bị IoT sau đó mua các chip và các mô đun có mã ngăn xếp TCP/IP đã được nhúng sẵn từ các nhà cung cấp các sản phẩm IoT. Tuy nhiên, nhiều nhà sản xuất không biết rằng trong thiết bị của mình tồn tại các lỗ hổng dễ bị tấn công, nguyên nhân là do họ không có khả năng xem xét tường tận các ngăn xếp được sử dụng trong các chip và các mô đun trong các thiết bị IoT. Hơn nữa, việc phân tích từng thiết bị để tìm và vá lỗi hoặc phân tích các vấn đề an ninh tồn tại trong các ngăn xếp TCP/IP là không khả thi. Do đó, tất cả các thiết bị dễ bị tấn công, vi phạm và sai sót điều này dẫn đến các lỗi liên quan đến hiệu suất, mất mát hoặc làm hỏng dữ liệu cũng như phá hỏng thiết bị, cùng với đó là việc làm tăng chi phí đảm bảo an ninh mạng.

Những mối đe dọa tồn tại trong ngăn xếp TCP/IP trên IoT 

Mức độ của các mối đe dọa hiện nay là rất đáng lo ngại. Năm 2020, một tập hợp các lỗ hổng có tên URGENT/11 và RIPPLE20 đã được đề cập. Năm nay, các lỗ hổng AMNESIA:33 với 33 lổ hổng dạng zero-day đã ảnh hưởng đến 4 ngăn xếp TCP/IP mã nguồn mở đang được sử dụng rộng rãi là - uIP, FNET, picoTCP và Nut / Net – đóng vai trò như các thành phần kết nối nền tảng cho hàng triệu thiết bị IoT, OT, mạng và các thiết bị IT, bao gồm các thiết bị trong lĩnh vực y tế, hệ thống điều khiển công nghiệp, các bộ định tuyến, bộ chuyển mạch và các thành phần của hệ thống nhà thông minh. Những kẻ tấn công có thể sử dụng các mã thực thi từ xa, tấn công từ chối dịch vụ (DoS), hoặc chỉ đơn giản là điều khiển một thiết bị. Theo Forecout, các thiết bị từ 150 nhà cung cấp đang gặp rủi ro, và đã được thông báo về các lỗ hổng vào tháng trước. 

Lỗ hổng Flaws có thể nằm trong cả các thiết bị thương mại và mã nguồn mở. Các thiết bị nhúng có thể bao gồm cả hệ thống tích hợp trên chip (SoC), các mô đun kết nối và các bo mạch OEM. Các thiết bị IoT có thể còn bao gồm các phích cắm thông minh, điện thoại thông minh, cảm biến và các bảng điều khiển trò chơi. Hệ thống OT bao gồm các điều khiển truy nhập, camara IP, các cổng giao thức và HVAC. Các thiết bị mạng và IT bao gồm máy in, định tuyến, và máy chủ. 

Các lỗ hổng ngăn xếp TCP/IP trên IoT - Ảnh 2.

Các lỗ hổng AMNESIA:33 gia tăng cả về số lượng và mức độ nghiêm trọng.

Các lỗ hổng AMNESIA:33 không chỉ gia tăng về số lượng, độ nghiêm trọng mà còn bao gồm nhiều lý do khác nữa. Điều này bao gồm sự phụ thuộc vào các thành phần mã nguồn mở và các sai sót trong phần cứng. Các mã từ các ngăn xếp giao tiếp với tất cả các gói tin trong thiết bị, do đó cho phép các lỗ hổng ảnh hưởng đến cả các thiết bị không hoạt động. Vì mã nguồn mở được sử dụng trong 88% các dự án nhúng, vì vậy các lỗ hổng như AMNESIA tăng lên theo cấp số nhân. Do đó, kẻ tấn công có thể sử dụng các mã thực thi từ xa (RCE) để chiếm quyền điều khiển các thiết bị mục tiêu và tấn công DoS hướng tới mục tiêu làm suy giảm hiệu năng, ảnh hưởng trực tiếp đến hoạt động kinh doanh của doanh nghiệp. Theo báo cáo của Forescout, những kẻ tấn công cũng có thể khai thác các lỗ hổng để thu thập thông tin nhạy cảm và đầu độc bộ nhớ cache của giao thức DNS để định tuyến thiết bị đến một trang web độc hại.

Giải pháp hạn chế lỗ hổng ngăn xếp TCP/IP trên IoT 

Người sử dụng nên thực hiện quy trình 3 bước như sau để xử lý các lỗ hổng liên quan đến ngăn xếp TCP/IP: 

- Kiểm tra tất cả các thiết bị trong mạng để phát hiện các thiết bị dễ bị tấn công; 

- Đánh giá rủi ro do các thiết bị gây ra, bao gồm cả bối cảnh kinh doanh, mức độ nghiêm trọng và khả năng tiếp xúc với Internet; 

- Làm giảm thiểu các rủi ro đã được đánh giá. 

Mục tiêu trên có thể đạt được thông qua các biện pháp sau: 

- Vá lỗ hổng cho các thiết bị;

- Phân đoạn mạng và cô lập các thiết bị quan trọng; 

- Tuân thủ các quy tắc bảo mật và giám sát mạng để tìm các mã độc; 

Đối với các lỗ hổng AMNESIA:33, người dùng nên tắt hoặc chặn lưu lượng IPv6 và sử dụng máy chủ DNS nội bộ bất cứ khi nào có thể. 

Ngoài ra cũng cần triển khai các giải pháp an ninh mạng có thể tự động hóa và tối ưu hóa. Điều này bao gồm việc thực hiện cách tiếp cận chủ động, chẳng hạn như thực hiện phân đoạn và cô lập các thiết bị mạng quan trọng – cho dù chúng có lỗ hổng hay không – để giảm mức độ phơi nhiễm và hạn chế các vi phạm. 

Các tổ chức cũng có thể giảm thiểu rủi ro và thiệt hại tiềm ẩn bằng cách triển khai các thiết bị IoT trong các phân đoạn mạng hoặc thực hiện biện pháp cô lập mạng; luôn cập nhật các bản vá, cập nhật chính sách và thay thế các thiết bị; thực hiện việc kiểm soát chặt chẽ hơn và chi tiết hơn đối với các thành phần và các mã trong mạng.

Kết luận 

Mặc dù các thư viện mã nguồn mở đã giúp đơn giản hóa việc viết mã, nhưng đồng thời các nhà phát triển cũng cần hiểu về chúng và nắm được những gì các đoạn mã đang thực hiện - thực tế hiện nay chúng ta có thể dễ dàng để liên kết đến một thư viện mà không cần biết nội dung của các đoạn mã đó. Một điều chắc chắn rằng các lỗ hổng AMNESIA:33 và IoT liên quan đến giao thức TCP/IP vẫn sẽ luôn tồn tại nguyên nhân là do hầu hết các lỗ hổng Amnesia:33 trong ngăn xếp TCP/IP xuất phát từ những yếu kém trong khâu quản lý và phát triển phần mềm. Việc cập nhật phần mềm sẽ giải quyết các lỗ hổng, nhưng vấn đề thực sự ở đây là chúng ta phải xác định được thiết bị nào có các ngăn xếp bị ảnh hưởng - vì các nhà sản xuất thiết bị IoT thường mua chíp và các mô đun từ các nhà cung cấp (sử dụng các phần mềm ngăn xếp TCP/IP do các nhà cung cấp chỉ định, nhưng việc cập nhật các lỗ hổng trên thiết bị lại do các nhà sản xuất thiết bị IoT thực hiện).

Tài liệu tham khảo:

1. Samuel Greengard Understanding TCP/IP Stack Vulnerabilities in the IoT https://www. darkreading.com.

2. Jessica Davis 33 TCP/IP Stack Flaws Pose Hacking Risk to Millions of IT, IoT Devices https:// healthitsecurity.com.

3. Zeljka Zorz Vulnerable TCP/IP stacks open millions of IoT and OT devices to attack https://www. helpnetsecurity.com.

4. Jeremy_kirk Millions of IoT Devices at Risk from TCP/IP Stack Flaws https://www. bankinfosecurity.com.

5. Tim Starks 33 connectivity flaws render millions of IT, IoT devices vulnerable https://www. cyberscoop.com.

(Bài đăng ấn phẩm in Tạp chí TT&TT số 11/tháng 11/2021)

Nổi bật Tạp chí Thông tin & Truyền thông
Đừng bỏ lỡ
Các lỗ hổng ngăn xếp TCP/IP trên IoT
POWERED BY ONECMS - A PRODUCT OF NEKO