-
08/10/2013
-
401
-
989 bài viết
Nghiên cứu về botnet Mirai phần 6 - Một vài giải pháp phòng chống mã độc Mirai
Mã độc Mirai là một bước phát triển mới của mã độc nhắm vào các thiết bị IoT do chính người dùng quản lý. Trong một hệ thống thông tin thì điểm yếu nhất thường là ở yếu tố con người, và hơn nữa các thiết bị IoT thường không được trang bị các tính năng bảo mật cần thiết so với trên các thiết bị cổ điển như máy tính hay smartphone. Như vậy kẻ tấn công đã khai thác cùng lúc 2 điểm yếu để đạt được mục đích là xây dựng một mạng botnet có sức tấn công DDoS lớn chưa từng có vào các mục tiêu.
Vậy vấn đề là cần đưa ra một cách tiếp cận để giải quyết vấn đề này như thế nào?
- Làm khỏe thiết bị (device hardening): Để cụ thể hóa phương pháp cần chỉ ra nguyên nhân của việc xâm nhập các thiết bị IoT là bắt nguồn từ việc dò quét mật khẩu mặc định, cổng mở mặc định. Do vậy các thiết bị IoT cần chuyển từ các cổng mở mặc định sang cổng đóng mặc định; giới hạn quyền truy cập từ các địa chỉ bên ngoài vào thiết bị. Bên cạnh việc siết các chính sách về truy cập mạng trên thiết bị, cần áp dụng các kỹ thuật như ASLR (Address space layout randomization -ngăn cản mã độc khai thác lỗ hổng trên bộ nhớ để lây nhiễm vào thiết bị).Tuy nhiên các hãng chế tạo thiết bị thì có thể không thích vì nó làm tăng chi phí sản phẩm dẫn đến giảm tính cạnh tranh. Do vậy các tổ chức quốc tế cần đưa ra các quy chuẩn hoặc các chứng chỉ tuân thủ bảo mật cho các hãng sản xuất thiết bị.
- Update các bản vá: nếu như trên máy tính và smartphone thì điều này đang được thực hiện khá tốt, nhưng đối với các thiết bị IoT thì lại là một thách thức lớn. Vì để update được thì cần làm nhiều việc, từ xây dựng kiến trúc phần mềm phù hợp đến việc thiết lập hạ tầng chứng thực để đảm bảo những bản vá tải về là tin cậy. Ngoài ra còn cơ chế rollback nếu update thất bại. Các hãng cũng cần tổ chức các cuộc thi tìm lỗ hổng thiết bị IoT để sớm phát hiện và vá. Hãng viễn thông Deutsche Telekom đã thực hiện vá lỗ hổng tốt chính nhờ việc xây dựng hệ thống update đúng cách cho các Router của hãng. Như vậy có thể thấy rằng mặc dù là thách thức nhưng không phải là không làm được, và nếu đã làm thì cần làm đúng.
- Cơ chế thông báo cho người dùng về việc thiết bị đã bị xâm nhập: vì người dùng quản lý thiết bị IoT nên việc có cơ chế thông báo cho họ biết là cần thiết. Ví dụ khi camera của người dùng bị xâm nhập và xem trộm các thông tin thì cần có cơ chế báo cho chủ nhân biết một cách tự động, có thể là qua email. Đây là một vấn đề còn bỏ ngỏ để tiếp tục nghiên cứu giải pháp.
- Thúc đẩy việc định danh thiết bị: để xác định thiết bị nào trên mạng có firmware tồn tại lỗ hổng là việc khó, do vậy cần cơ chế định danh loại thiết bị và phiên bản firmware trên thiết bị. Các thông tin này được gửi từ thiết bị cho nhà mạng và từ đó có thể xác định được vấn đề nêu trên. Việc kết hợp phiên bản với địa chỉ MAC là một gợi ý cho việc triển khai. Tuy nhiên nếu mỗi hãng lại có một cách định danh khác nhau thì sẽ khó cho vấn đề quản lý tập trung, cần một cơ chế thống nhất/tiêu chuẩn công nghiệp cho việc này.
- Thúc đẩy việc sử dụng các hệ điều hành mở, tiêu chuẩn như Android Thing, RIOT OS, Tock, and Windows for IoT là một cách làm hiệu quả trong việc quản trị tập trung và bảo mật các thiết bị IoT trên mạng.
- Thiết bị hết vòng đời sử dụng (End-of-line): việc không tiếp tục hỗ trợ các các thiết bị IoT đã hết hạn sử dụng trên mạng lưới có thể tạo ra nhiều lỗ hổng bị khai thác, giống như việc khi ra đời Windows 10 thì Windows XP trước đây bị Mircosoft loại khỏi danh sách các hệ điều hành được hãng hỗ trợ, trong khi có hàng triệu máy vẫn chạy hệ điều hành này. Vì vậy cần có cơ chế loại bỏ thiết bị IoT đã hết đát ra khỏi mạng lưới.
Tham khảo:
https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-antonakakis.pdf
Vậy vấn đề là cần đưa ra một cách tiếp cận để giải quyết vấn đề này như thế nào?
- Làm khỏe thiết bị (device hardening): Để cụ thể hóa phương pháp cần chỉ ra nguyên nhân của việc xâm nhập các thiết bị IoT là bắt nguồn từ việc dò quét mật khẩu mặc định, cổng mở mặc định. Do vậy các thiết bị IoT cần chuyển từ các cổng mở mặc định sang cổng đóng mặc định; giới hạn quyền truy cập từ các địa chỉ bên ngoài vào thiết bị. Bên cạnh việc siết các chính sách về truy cập mạng trên thiết bị, cần áp dụng các kỹ thuật như ASLR (Address space layout randomization -ngăn cản mã độc khai thác lỗ hổng trên bộ nhớ để lây nhiễm vào thiết bị).Tuy nhiên các hãng chế tạo thiết bị thì có thể không thích vì nó làm tăng chi phí sản phẩm dẫn đến giảm tính cạnh tranh. Do vậy các tổ chức quốc tế cần đưa ra các quy chuẩn hoặc các chứng chỉ tuân thủ bảo mật cho các hãng sản xuất thiết bị.
- Update các bản vá: nếu như trên máy tính và smartphone thì điều này đang được thực hiện khá tốt, nhưng đối với các thiết bị IoT thì lại là một thách thức lớn. Vì để update được thì cần làm nhiều việc, từ xây dựng kiến trúc phần mềm phù hợp đến việc thiết lập hạ tầng chứng thực để đảm bảo những bản vá tải về là tin cậy. Ngoài ra còn cơ chế rollback nếu update thất bại. Các hãng cũng cần tổ chức các cuộc thi tìm lỗ hổng thiết bị IoT để sớm phát hiện và vá. Hãng viễn thông Deutsche Telekom đã thực hiện vá lỗ hổng tốt chính nhờ việc xây dựng hệ thống update đúng cách cho các Router của hãng. Như vậy có thể thấy rằng mặc dù là thách thức nhưng không phải là không làm được, và nếu đã làm thì cần làm đúng.
- Cơ chế thông báo cho người dùng về việc thiết bị đã bị xâm nhập: vì người dùng quản lý thiết bị IoT nên việc có cơ chế thông báo cho họ biết là cần thiết. Ví dụ khi camera của người dùng bị xâm nhập và xem trộm các thông tin thì cần có cơ chế báo cho chủ nhân biết một cách tự động, có thể là qua email. Đây là một vấn đề còn bỏ ngỏ để tiếp tục nghiên cứu giải pháp.
- Thúc đẩy việc định danh thiết bị: để xác định thiết bị nào trên mạng có firmware tồn tại lỗ hổng là việc khó, do vậy cần cơ chế định danh loại thiết bị và phiên bản firmware trên thiết bị. Các thông tin này được gửi từ thiết bị cho nhà mạng và từ đó có thể xác định được vấn đề nêu trên. Việc kết hợp phiên bản với địa chỉ MAC là một gợi ý cho việc triển khai. Tuy nhiên nếu mỗi hãng lại có một cách định danh khác nhau thì sẽ khó cho vấn đề quản lý tập trung, cần một cơ chế thống nhất/tiêu chuẩn công nghiệp cho việc này.
- Thúc đẩy việc sử dụng các hệ điều hành mở, tiêu chuẩn như Android Thing, RIOT OS, Tock, and Windows for IoT là một cách làm hiệu quả trong việc quản trị tập trung và bảo mật các thiết bị IoT trên mạng.
- Thiết bị hết vòng đời sử dụng (End-of-line): việc không tiếp tục hỗ trợ các các thiết bị IoT đã hết hạn sử dụng trên mạng lưới có thể tạo ra nhiều lỗ hổng bị khai thác, giống như việc khi ra đời Windows 10 thì Windows XP trước đây bị Mircosoft loại khỏi danh sách các hệ điều hành được hãng hỗ trợ, trong khi có hàng triệu máy vẫn chạy hệ điều hành này. Vì vậy cần có cơ chế loại bỏ thiết bị IoT đã hết đát ra khỏi mạng lưới.
Tham khảo:
https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-antonakakis.pdf