Lỗ hổng bảo mật biến thiết bị y tế trở thành công cụ giết người

16:32 | 11/03/2020

Các lỗ hổng này được gọi chung là URGENT/11, cho phép tin tặc có thể chiếm quyền điều khiển toàn bộ nhà máy tự động, thậm chí cả các thiết bị y tế từ xa, biến chúng từ những thiết bị cứu người thành giết người.

Trong thông cáo ngày 3/2/2020, công ty tư vấn an ninh Black Hat cho biết lỗ hổng URGENT/11 đã được phát hiện vào đầu năm nay trên bộ điều khiển logic lập trình (PCL) của Rockwell. Đây là các thiết bị nhúng có chức năng kiểm soát quá trình sản xuất. Tin tặc có thể lợi dụng lỗ hổng để chiếm các thiết bị PCL này trong một nhà máy, một vùng công nghiệp, từ đó kiểm soát hoàn toàn chúng.

URGENT/11 được hãng bảo mật Armis cảnh báo từ cuối năm ngoái. Ngay sau đó, Cục quản lý Thực phẩm và Dược phẩm Hoa Kỳ (FDA) đưa ra cảnh báo cho các nhà sản xuất thiết bị y tế, các cơ sở y tế và người bệnh về rủi ro khi sử dụng một số thiết bị y tế chứa lỗ hổng bảo mật.

Có 11 lỗ hổng được đặt tên là URGENT/11. Những lỗ hổng này có thể cho phép bất cứ ai kiểm soát thiết bị y tế từ xa và thay đổi chức năng của nó, gây ra tấn công chối dịch vụ, rò rỉ thông tin hoặc lỗ hổng logic, ngừng trệ hoạt động của thiết bị. Những lỗ hổng này tồn tại trong IPnet, một cấu phần phần mềm của bên thứ ba hỗ trợ giao tiếp mạng giữa các máy tính. Mặc dù phần mềm IPnet không còn được hỗ trợ bởi nhà cung cấp phần mềm gốc, nhưng một số nhà sản xuất vẫn tiếp tục sử dụng chúng. Do đó, phần mềm có thể được tích hợp vào các ứng dụng, thiết bị và hệ thống phần mềm khác, sử dụng trong nhiều thiết bị y tế và công nghiệp cho đến ngày nay.

Một số phiên bản của các hệ điều hành sau bị ảnh hưởng bởi lỗ hổng URGENT/11 gồm: VxWorks (của Wind River), Operating System Embedded (của ENEA), INTEGRITY (của Green Hills), ThreadX (của Microsoft), ITRON (của TRON Forum) và ZebOS (của IP Infusion).

Các thiết bị y tế hoặc Internet of Things (IoT) trung bình phụ thuộc vào nhiều phần mềm miễn phí hoặc các tiện ích nguồn mở. Những phần mềm này được duy trì bởi bên thứ ba - thường chỉ có một hoặc hai đối tác. Ví dụ: Giao thức thời gian mạng của phần mềm mạng có trong hàng tỷ thiết bị, mã nguồn của nó được duy trì bởi một nhà phát triển duy nhất.

Trường hợp khác, khi lỗ hổng OpenSSL Heartbleed xuất hiện vào năm 2014, dự án OpenSSL có hai nhà phát triển để khắc phục nó. Mặc dù hiện tại có rất nhiều nhà phát triển đang làm việc với nó, cuộc khủng hoảng Heartbleed là biểu tượng cho những gì xảy ra khi chúng ta sử dụng phần mềm miễn phí trong các thiết bị của mình. Phần mềm được điều chỉnh để sử dụng nhưng không thực sự được vá, bảo trì và rất ít người muốn tiếp tục dự án.

Những thiết bị như điện thoại thông minh thường ít gặp vấn đề hơn, bởi tần suất người dùng thay mới thiết bị liên tục và nhà sản xuất ít khi phải hỗ trợ những thiết bị cũ. Nhưng thiết bị y tế thì khác, chúng được sử dụng lâu hơn các thiết bị tiêu dùng thông thường. Yêu cầu các nhà cung cấp thiết bị y tế cam kết hỗ trợ lâu dài cho các cấu phần và hỗ trợ chuỗi cung ứng dài hạn dẫn đến việc tăng chi phí tương ứng, và mọi chi phí cuối cùng sẽ do người dùng cuối gánh chịu. Do chi phí lớn, nhiều tổ chức y tế sẽ bỏ qua hỗ trợ của nhà sản xuất và sử dụng dịch vụ của bên thứ ba để cung cấp hỗ trợ kỹ thuật và quản lý thiết bị thay thế. Điều này khiến các nhà sản xuất không có động lực cung cấp hỗ trợ bổ sung.

Bên cạnh đó, các nhà cung cấp thiết bị y tế không phải lúc nào cũng đủ khả năng để nâng cấp các nền tảng cơ bản của họ. Do các cấu phần của bên thứ ba thường được cấp phép cho chức năng dựng sẵn nên giấy phép chỉ có thể cho phép sử dụng thiết bị với một phiên bản nhất định của hệ điều hành.

Mặc dù cộng đồng Linux vẫn duy trì các phiên bản kernel cũ hơn và hỗ trợ giải quyết các vấn đề bảo mật rất lâu sau khi các phiên bản kernel mới hơn được phát hành, nhưng việc đưa kernel đã vá vào hoạt động trong thiết bị y tế vẫn tốn khá nhiều công sức. Có rất nhiều sự phụ thuộc giữa tất cả các bộ phận và rất khó để duy trì mọi thứ để có thể cung cấp các bản cập nhật bảo mật cho một thiết bị hoặc hệ điều hành cụ thể như Microsoft, Apple hoặc IBM Red Hat. Việc chuyển đổi sử dụng một phần mềm mới là không dễ dàng trên các phiên bản kernel và thư viện cũ hơn. Chẳng hạn, để Apache 2.4 chạy trên Red Hat Enterprise Linux 5.x là một công việc khó khăn.

Những vấn đề trên đặt ra thách thức khó vượt qua để đảm bảo an toàn của các thiết bị y tế. FDA đã nỗ lực thiết lập các tiêu chuẩn về an ninh bảo mật cho các thiết bị y tế qua Hướng dẫn Bảo mật Không gian mạng cho Thiết bị Y tế (Pre-Market Guidance for Medical Device Cybersecurity) trước khi đưa ra thị trường. Hướng dẫn này làm rõ các phụ thuộc của gói hỗ trợ bảng mạch, cập nhật kernel, các ứng dụng liên quan và phần cứng hỗ trợ.

Tuy nhiên điều đó là chưa đủ, ngành y tế cũng cần đảm bảo cách các thiết bị được thiết kế và cập nhật với mức độ hỗ trợ như Samsung và Apple cung cấp. Điều này có nghĩa, cần phải có sự cam kết của các nhà sản xuất về việc sử dụng nền tảng trong thời gian dài hơn và cam kết liên tục cung cấp các bản vá và cập nhật cho khách hàng. Đây là vấn đề về chuỗi cung ứng và kinh doanh hơn. Các nhà cung cấp thiết bị y tế và IoT cần phải cung cấp hỗ trợ và vá lỗi phần mềm trong khoảng thời gian dự kiến, đảm bảo rằng mọi thứ trên thiết bị đều được cập nhật, kể cả ứng dụng và thư viện thứ ba. Những yêu cầu đó phải được thể hiện cụ thể trong các hồ sơ thầu và hợp đồng.