Trong môi trường IoT, tất cả các thiết bị đều có thể kết nối với nhau qua mạng Internet. Các thiết bị này có thể là điện thoại thông minh, máy pha cà phê, máy giặt, tai nghe, bóng đèn chiếu sáng... có kết nối wifi và khả năng cảm biến. Theo dự báo của các chuyên gia, đến năm 2020 sẽ có khoảng 50 tỷ thiết bị có thể được kết nối. Lợi ích của IoT mang lại rất lớn đối với người dùng. Hiện nay, IoT được sử dụng trong các ứng dụng về theo dõi sức khỏe, nhà thông minh, phát triển xe hơi tự lái....
IoT có sự khác biệt lớn so với Internet truyền thống trong cách triển khai. Rất nhiều mạng trong IoT là mạng tiêu thụ năng lượng và hao tổn thấp (Low-power Lossy Networks - LLN), một số khác được triển khai theo mô hình mạng động ở mức cao, tùy thuộc vào từng ứng dụng (mạng những thiết bị giao thông, mạng những thiết bị y tế...).
Mạng LLN có sự hạn chế về năng lượng, bộ nhớ và khả năng tính toán, thường có xác suất mất gói dữ liệu ở mức cao và được triển khai ở dưới dạng mạng lưới bao gồm nhiều nút (với mỗi nút là một thiết bị). Hầu hết thiết bị trong LLN là di động hoặc có gắn cảm biến, vì vậy vấn đề đảm bảo tài nguyên và tự động hóa được xem xét một cách nghiêm túc. Những vấn đề này của LLN chưa được đưa vào và xem xét trong các chuẩn của mạng Internet truyền thống.
Nguy cơ mất ATTT trong IoT
Vòng đời của mọi thiết bị đều phải trải qua 3 giai đoạn: sản xuất, cài đặt/vận hành và hoạt động. Có rất nhiều tấn công gây ra mất an toàn thông tin và xâm phạm tính riêng tư cho người dùng có thể được thực hiện trong suốt vòng đời của thiết bị.
Giai đoạn sản xuất: Các thiết bị trong IoT có xu hướng được thiết kế hướng tới một nhiệm vụ cụ thể và không chỉ được phát triển bởi cùng một hãng sản xuất. Điều này dẫn đến các tấn công trong giai đoạn sản xuất như việc sao chép và làm giả thiết bị bất hợp pháp. Các thiết bị sao chép thường được bán với giá rẻ hơn rất nhiều dù có cùng chức năng như các sản phẩm chính hãng. Phần mềm của thiết bị có thể bị thay đổi hoặc cài đặt thêm các chức năng gây hại tới người dùng (ví dụ cửa hậu để ăn cắp thông tin).
Giai đoạn cài đặt/vận hành: thiết bị được cài đặt một định danh và một khóa bí mật được sử dụng trong toàn bộ giai đoạn hoạt động. Thiết bị có thể bị thay thế bởi thiết bị khác có chất lượng thấp hơn nếu quá trình cài đặt không đáng tin cậy. Tấn công giai đoạn này sẽ giúp kẻ tấn công tiết kiệm được tiền cài đặt và có thể thu được lợi nhuận bằng việc bán các sản phẩm chính hãng đã thay thế. Những cuộc tấn công khác trong giai đoạn cài đặt liên quan tới việc chiếm dụng định danh và khóa bí mật gây tổn hại đến quá trình cài đặt trong mạng.
Giai đoạn hoạt động: Những tấn công trong giai đoạn này có thể bao gồm: chặn bắt trên môi trường vật lý, làm gián đoạn hoạt động mạng, từ chối dịch vụ, tấn công nghe lén và các cuộc tấn công điều khiển.
Mục sau của bài này sẽ đi sâu phân tích các cuộc tấn công trong giai đoạn hoạt động.
Kiến trúc IoT
Hai tính chất quan trọng để đảm bảo an toàn thông tin trong IoT là tính tập trung và tính tự nạp khởi động.
Tính tập trung: Những kiến trúc phổ biến nhất hiện nay đối với IoT là hoàn toàn tập trung bởi lý do an toàn. Có thể kể đến ZigBee, là một giao thức phát triển cho IoT, trong đó tồn tại một trung tâm tin cậy; Giao thức 6LoWPAN/CoRE có Router biên 6LoWPAN chính là thực thể trung tâm. Kiến trúc quản lý tập trung IoT sẽ đơn giản hóa chức năng của thiết bị và việc quản lý khóa, nhưng cũng tồn tại rủi ro an toàn ở chính thực thể trung tâm của kiến trúc. Một yếu tố khác cần xem xét là, đối với các mạng LLN, các nút sẽ thường xuyên trong chế độ “ngủ đông” hoặc tiết kiệm năng lượng, dẫn tới kiến trúc IoT an toàn tập trung sẽ làm phức tạp quá trình xác thực và đồng bộ các tham số an toàn.
Tính tự nạp khởi động: Đề cập tới quá trình kết nối an toàn của thiết bị khi khởi động tới IoT. Hiện nay, có một số giao thức thực hiện chức năng xác thực các nút trong quá trình khởi động thiết bị như: PANA (Protocol for Carrying Authentication for Network Access) trên nền UDP, hoặc giao thức xác thực mở EAP (Extensible Authentication Protocol) trong lớp mạng của IoT [RFC5191]. EAP là một giao thức đôi bên (two party), trong đó có sự tạo khóa chủ xác thực. Nếu như các giao thức Internet truyền thống luôn giả định rằng, định danh của thiết bị là sẵn sàng, thì thiết kế giao thức xác thực của IoT sử dụng các mạng LLN, việc giả định về định danh của thiết bị đã bị thay đổi (thiết bị trong chế độ ngủ đông). Sau khi EAP xác thực nút, các thông số cấu hình sẽ được gửi thông qua một trong các giao thức: IKEv2, HIP, TLS hoặc DTLS. Tất cả các giao thức này đều bảo vệ các thông số cấu hình vì đều thực hiện mã hóa dữ liệu trước khi gửi đi. TLS và DTLS cho phép chỉ xác thực các thiết bị phản hồi lại, tính năng này giúp ngăn chặn kẻ tấn công nghe lén, khôi phục định danh thiết bị khởi tạo ban đầu [RFC5246]. HIP và IKEv2 phải đồng nhất khóa công khai, được sử dụng để xác thực định danh các thiết bị khởi tạo ban đầu [RFC5282]. Thiết kế của giao thức HIP hướng đến việc giảm năng lực tính toán và năng lượng sử dụng trong quá trình mã hóa, do đó độ bảo mật thấp hơn so với IKEv2.
Một số phương thức tấn công trong IoT
Những hiểm họa an toàn đối với các dịch vụ trong IoT trên các mạng LLN là do nguyên nhân hạn chế về năng lực tính toán, năng lượng và băng thông kết nối. Để có thể kiểm thử và nhận biết được những mối đe dọa an toàn và các cuộc tấn công vào IoT, dưới đây sẽ khảo sát an toàn tại lớp vật lý và lớp mạng của IoT.
Tấn công lớp vật lý
Trên đường truyền giữa hai nút trong IoT, dễ dàng xảy ra những tấn công chặn bắt luồng dữ liệu. Những cuộc tấn công này có thể khai thác được những dữ liệu mật, khóa… từ thiết bị. Dựa vào đó, những kẻ tấn công có thể khởi động lại thiết bị khi cần. Nếu kẻ tấn công chặn bắt được khóa riêng thì chỉ làm tổn thương một nút mạng, nhưng nếu là khóa chung thì tấn công này có thể ảnh hưởng tới toàn bộ mạng. IoT cũng có thể phải đối mặt với các cuộc tấn công từ chối dịch vụ từ lớp vật lý làm tắc nghẽn mạng, cản trở thiết bị gây ra mất kết nối.
Tấn công lớp mạng
Các giao thức được sử dụng định tuyến trong IoT cũng giống như trên mạng Internet truyền thống. Tuy nhiên, các giao thức trong IoT được thiết kế mang tính định hướng cho mạng LLN.
- Tấn công lỗi xác thực: là tấn công mạo danh có thể dẫn tới một loạt các tấn công khác như: cung cấp các thông tin điều khiển sai, kiểm soát nút mạng hoặc ảnh hưởng tới truyền thông trên toàn mạng. Một nút mạng giả mạo hình thành khi tấn công giả mạo vào một nút hợp pháp thành công. Khi có nhiều nút giả mạo có thể thực hiện cuộc tấn công trên toàn mạng bằng những nút này.
- Tấn công tiêu hao tài nguyên nút: xảy ra khi kẻ tấn công liên tục xâm nhập vào mạng, làm tràn bộ nhớ lưu trữ của nút mạng và còn có thể ảnh hưởng xuống nút phía dưới của mạng, gây tiêu hao tài nguyên mạng.
- Tấn công tính bí mật: diễn ra tại tầng mạng nhằm mục đích dò tìm những thông tin định tuyến hoặc dữ liệu trao đổi định tuyến. Cuộc tấn công này xảy ra khi thực thể định tuyến để lộ thông tin trong khi kết nối với một thực thể định tuyến ngoài mạng do lỗi cấu hình hoặc một cuộc tấn công vào điểm yếu của thực thể định tuyến. Để có thể chống lại tấn công này thì tất cả các nút mạng cần phải được xác thực. Việc truyền thông giữa các nút nên theo phương thức ngang hàng (peer-to-peer) để đảm bảo không có nút nào gửi thông tin tới bên nhận chưa được biết. Những biện pháp trên không thể ngăn chặn được hết các cuộc tấn công dò tìm thông tin định tuyến sơ hở, nhưng có thể hạn chế được chúng. Để thành công thì các cuộc tấn công này phải làm cho các nút tổn thương hoạt động nhiều hơn, nhằm làm lộ, lọt các thông tin định tuyến.
- Tấn công nghe lén thụ động: nghe lén dữ liệu được truyền đi giữa các nút bằng cách phân tích lưu lượng truyền thông. Qua đó, kẻ tấn công có thể tìm hiểu được về hệ thống mạng. Để chống lại những tấn công này, có thể dùng biện pháp mã hóa dữ liệu khi truyền trên kênh. Trong IoT, với nền tảng là mạng LLN, có mức năng lượng và tiêu hao thấp, thì thuật toán mật mã thường được dùng là AES ở chế độ CCM (Counter with CBC-MAC) [RFC6550]. CCM kết hợp bản mã ở chế độ đếm (Counter mode) và mã xác thực thông báo xích mã khối (CBC-MAC) để xác thực. Ví dụ, ZigBee chỉ rõ việc sử dụng CCM, PANA và EAP-TLS trong việc quản lý khóa. Việc sử dụng AES-CCM sẽ an toàn đối với hầu hết các cuộc tấn công vét cạn. Mạng IoT sử dụng mã hóa an toàn với tấn công nghe lén nhưng lại tồn tại nhiều điểm yếu từ những tấn công khai thác nút bị tổn thương.
- Tấn công tính toàn vẹn: sửa đổi bất hợp pháp thông điệp trên đường truyền hoặc dữ liệu lưu trữ. Những tấn công này có thể dễ dàng được ngăn chặn bằng cách tăng thêm quyền kiểm soát truy cập với dữ liệu lưu trữ và cài đặt các dịch vụ toàn vẹn dữ liệu trên đường truyền cho thông điệp (như hàm băm mật mã).
- Tấn công Overclaiming và Misclaiming: nhằm mục đích thay đổi mô hình lôgic của mạng và các thông tin định tuyến bằng cách tạo ra các tuyến đường sai. Tấn công này có thể chống được bằng cách xác định các tuyến đường xấu thông qua các gói tin cũ và thiết kế mô hình mạng phân vùng hạn chế quyền truy cập.
- Tấn công dùng lại các thông tin định tuyến: xảy ra khi kẻ tấn công ghi lại những thông điệp đã được gửi đi trên mạng và gửi chúng quay trở lại nhằm làm gián đoạn hoạt động của mạng. Giao thức định tuyến cho mạng LLN là RPL (RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks) trên nền IPv6 được IETF thiết kế để chống lại loại tấn công này. Trong RPL, thông điệp sẽ có nhiều phiên bản và những thông điệp phiên bản cũ sẽ bị loại bỏ mà không ảnh hưởng tới hoạt động định tuyến bình thường [RFC6550].
-
Tấn công tính sẵn sàng: là những cuộc tấn công chuyển tiếp lựa chọn mục tiêu gây ảnh hưởng tới các tuyến đường định tuyến, nhằm mục đích làm gián đoạn truyền thông trong mạng. Trong Hình 1, có thể thấy một nút bị tổn thương có thể tạo bộ lọc chọn ngẫu nhiên các gói tin đi qua gây rối loạn trong mạng. Nếu như nút mạng loại bỏ tất cả các gói tin nhận được thì được gọi là cuộc tấn công hố đen. Có hai biện pháp ngăn chặn tấn công này là định tuyến đa điểm trên các tuyến đường tách biệt không giao nhau hoặc mỗi nút phải có cơ chế lựa chọn ngẫu nhiên điểm đến tiếp theo trong tập hợp những điểm đến. Phương pháp định tuyến đa đường tốn nhiều năng lượng nên không được sử dụng trong IoT.
Hình 1. Tấn công chuyển tiếp lựa chọn
-
Tấn công Wormhole: là khi hai nút bị tổn thương hoặc nhiễm mã độc, nên ngộ nhận rằng có một tuyến đường ngắn và tốt hơn cho chúng. Một cuộc tấn công Wormhole thuần túy rất khó phát hiện, vì nó không ảnh hưởng tới dữ liệu cũng như lưu lượng truyền thông. Trong trường hợp xấu, tấn công Wormhole sẽ khiến thiết bị mạng tính toán lại các tuyến đường. Khi kết hợp Wormhole với tấn công khác như tấn công chuyển tiếp lựa chọn mục tiêu có thể làm gián đoạn truyền thông mạng (Hình 2).
Hình 2. Tấn công Wormhole
- Tấn công Sinkhole: sử dụng một nút tổn thương để đánh lừa về tuyến đường tốt, nhằm thu hút lưu lượng mạng truy cập đến. Tấn công này chỉ có thể thực hiện bởi một nút bên trong mạng. Nếu Sinkhole kết hợp với tấn công chuyển tiếp có lựa chọn, thì một phần mạng có thể bị vô hiệu hóa. Biện pháp để ngăn chặn tấn công này là, cần phải có một ngưỡng nhất định tiếp nhận lưu lượng mạng trong mỗi nút, hoặc cơ chế lựa chọn điểm đến kế tiếp cho thông điệp trong một tập hợp các điểm đến có thể.
- Tấn công giả mạo gói ACK và HELLO Flood của giao thức TCP trong IoT có thể được thực hiện bởi những cách thức khác nhau nhằm mục đích khiến cho các nút tin rằng tồn tại những tuyến đường mà thực tế không có. Cách tối ưu để chống lại những cuộc tấn công này là thông qua kết nối hai hướng trong đó có sự điều khiển xác nhận kết nối hợp lệ ở lớp liên kết dữ liệu.
Tính riêng tư trong IoT
Lượng thông tin về người dùng thu thập được trong IoT là lớn hơn rất nhiều so với Internet truyền thống, thậm chí có thể dùng chúng để xây dựng được một hồ sơ cá nhân hoàn chỉnh của người dùng. Ủy ban thương mại liên bang Hoa Kỳ (Federal Trade Commission - FTC) đã ghi nhận 3 mối quan tâm chính về tính riêng tư trong IoT là: sự thuận lợi trong thu thập một lượng lớn dữ liệu về người dùng, việc sử dụng dữ liệu thu thập được theo cách người dùng không mong muốn và tính bí mật của dữ liệu.
Việc xử lý số lượng dữ liệu lớn trong IoT còn ít các quy định ràng buộc nên có thể gây nhiều bất lợi cho người dùng. FTC thực hiện mục tiêu đẩy mạnh ba biện pháp mang tính thực tế bao gồm: bảo đảm tính riêng tư trong thiết kế, đơn giản hóa sự lựa chọn của người dùng và minh bạch hóa. Những tổ chức hoạt động trong lĩnh vực IoT phải thực hiện ba biện pháp thực tế này và phải thể hiện nỗ lực bảo vệ người dùng ngay từ khi bắt đầu.
Bên cạnh đó, FTC đang xây dựng những biện pháp bảo vệ người dùng khỏi việc bị các tổ chức lạm dụng dữ liệu của họ bằng cách thúc đẩy xây dựng cơ chế bảo mật tích hợp vào các thiết bị mới và cần xây dựng niềm tin từ người dùng đối với những dữ liệu liên quan trực tiếp tới người dùng. Một Green Button (nút bấm màu xanh) được tạo ra để chuẩn hóa việc sử dụng thông tin, cho phép người dùng tải những thông tin của mình và biết được dữ liệu đó được sử dụng như thế nào. Nâng cao vai trò và hiểu biết cho người dùng sẽ tạo điều kiện thuận lợi cho sự hội nhập của IoT vào cuộc sống hàng ngày.
Thực tế, đã có rất nhiều nghi ngờ về sự thiếu an toàn và các quy định về an toàn trong IoT. Hầu hết mọi người đều cho rằng quy định hiện hành chưa thể kiểm soát, điều khiển được tính riêng tư trong IoT, do sự đa dạng của thiết bị IoT và số lượng lớn các nhà sản xuất. Việc quy định đối với nhà sản xuất trong việc thiết kế sản xuất từng loại thiết bị là một việc rất khó. Các chuyên gia cho rằng phần mềm vá lỗi và các bản vá cập nhật là không khả thi cho rất nhiều ứng dụng trong IoT. Với tốc độ tăng trưởng nhanh chóng của IoT thì các quy định về đảm bảo tính riêng tư là không theo kịp. Nhất là khi IoT phát triển hướng tới các lĩnh vực y tế và tự động hóa xe cộ thì vấn đề an toàn và quyền riêng tư còn có thể dẫn tới những nguy cơ mang tính vật lý cho người dùng.
Kết luận
IoT với nền tảng là các mạng LLN, làm cho vấn đề an toàn trở lên phức tạp hơn, bởi sự bổ sung thêm các ràng buộc về tài nguyên và năng lượng. Những giao thức như RPL được trình bày ở trên sẽ đảm bảo được an toàn trước những tấn công trong khi vẫn bảo tồn được tài nguyên mạng. IoT sẽ thay đổi thế giới trong kỷ nguyên sắp tới nhưng vấn đề về an toàn cần phải theo kịp để có thể bảo vệ người dùng mạng.