-
08/10/2013
-
401
-
989 bài viết
Mô hình hệ thống IoT và top 10 lỗ hổng bảo mật
Mô hình IoT và top 10 lỗ hổng bảo mật
Để hiểu về hệ thống IoT cần nắm được mô hình. Dưới đây là một mô hình IoT điển hình với các tầng chức năng bao gồm tầng ứng dụng (Application), tầng truyền thông (Communication) và tầng thiết bị (Device). Tầng application gồm các chương trình ứng dụng (vd phân tích dữ liệu, hiển thị v.v) và các giao thức IoT phổ biến như HTTP, MQTT, CoAP. Như hình dưới có thể thấy Zigbee là một đặc tả kỹ thuật IEEE 802.15.4, mô tả một tập các giao thức chạy trên môi trường sóng radio khoảng cách gần, tiêu tốn ít năng lượng. Tầng truyền thông (bao gồm cả phần truyền tải và phần định tuyến liên mạng) cũng sử dụng Zigbee như đã nói ở trên. Có thể thấy với số lượng thiết bị lớn thì cần dùng giao thức IPv6 với không gian địa chỉ lớn. Các giao thức phổ biến hoạt động ở tầng này gồm:
- TCP/UDP
- Thread: một giao thức định tuyến cho IPv6, áp dụng cho tự động hóa nhà thông minh;
- RPL là giao thức định tuyến áp dụng cho các môi trường truyền thông có nhiễu và nguồn cấp cho thiết bị gặp hạn chế.
- Giao thức 6LoWPAN: cho phép truyền dữ liệu qua các giao thức IPv6 và IPv4 trong các mạng không dây công suất thấp với các cấu trúc mạng điểm - điểm ( P2P: point to point ) và dạng lưới ( mesh)
Tầng thiết bị gồm các công nghệ truyền dẫn như IEEE 802.15.4, Bluetooth, Wifi, NFC, LoRaWAN hoặc các công nghệ di động
10 lỗ hổng IoT theo OWASP năm 2018
1. Mật khẩu yếu, dễ đoán hoặc được mã hóa cứng (hardcode) trong firmware của thiết bị.
Thiết bị IoT: Sử dụng thông tin xác thực dễ bị tấn công brute force, thông tin đăng nhập không thể thay đổi (tồn tại các backdoor trong firmware hoặc cấp đặc quyền cho ứng dụng phía client có thể truy cập từ xa đến thiết bị để tiện lợi khi cài đặt).
2. Sử dụng dịch vụ mạng không an toàn
Trên thiết bị IoT có các dịch vụ mạng không cần thiết hoặc không an toàn, đặc biệt là những dịch vụ kết nối với internet, làm xâm phạm đến đến tính bảo mật, tính toàn vẹn/ tính xác thực hoặc tính sẵn sàng của thông tin hoặc cho phép điều khiển từ xa trái phép.
3. Các giao diện không bảo mật
Hệ thống IoT có thể coi là 1 hệ sinh thái gồm nhiều thành phần có giao tiếp với nhau. Những thành phần đó có thể có giao diện web không an toàn, các API, Cloud, giao diện mobile không an toàn, cho phép xâm nhập đến thiết bị hoặc các thành phần liên quan của nó. Các vấn đề không an toàn gồm: thiếu xác thực/ phân quyền, thiếu hoặc mã hóa yếu, thiếu việc lọc dữ liệu input và output.
4. Thiếu cơ chế cập nhật tính bảo mật
Hệ thống IoT có đặc điểm phân tán, điều kiện kết nối hạn chế do đó thường không có khả năng cập nhật thiết bị một cách an toàn. Hoặc nếu có cập nhật thì vấn đề thường gặp là thiếu xác thực firmware, truyền thông thiếu an toàn (không được mã hóa khi chuyển tiếp), thiếu cơ chế chống roll-back và không có thông báo về những phiên bản cập nhật mới.
5. Sử dụng các thành phần (thư viện) lỗi thời hoặc không bảo mật
Sử dụng các component/thư viện đã lỗi thời hoặc không an toàn có thể khiến thiết bị bị tấn công. Ví dụ việc cài đặt một hệ điều hành tồn tại lỗ hổng cho thiết bị; sử dụng phần mềm/phần cứng có lỗ hổng bảo mật,
6. Bảo vệ tính riêng tư kém
Thông tin cá nhân của người dùng được lưu trữ trên thiết bị hoặc trong hệ sinh thái một cách không an toàn, không đúng cách hoặc cố tình lưu trữ mà không được phép.
7. Truyền tải và lưu trữ không an toàn
Thiếu mã hóa và thiếu kiểm soát truy cập các dữ liệu nhạy cảm nằm trong trong hệ sinh thái IoT; bao gồm các dữ liệu lưu trữ, đang truyền tải hoặc đang trong quá trình xử lý.
8. Thiếu quản lý thiết bị
Thiếu hỗ trợ về bảo mật khi triển khai các thiết bị trong việc quản lý, cập nhật, giám sát hệ thống và phản hồi các nguy cơ.
9. Các cài đặt mặc định trên thiết bị thiếu tính bảo mật
Thiết bị hoặc hệ thống được cài đặt các thông số mặc định không an toàn hoặc thiếu tính năng an toàn.
10. Thiếu tính năng an toàn vật lý
Thiếu các biện pháp tăng cường phòng thủ vật lý, cho phép những tin tặc có thể lấy được thông tin nhạy cảm khi tấn công từ xa hoặc dùng để kiểm soát thiết bị cục bộ.
Tham khảo
Cisco IoT Fundamental
OWASP IoT 10 vulnerabilities
Để hiểu về hệ thống IoT cần nắm được mô hình. Dưới đây là một mô hình IoT điển hình với các tầng chức năng bao gồm tầng ứng dụng (Application), tầng truyền thông (Communication) và tầng thiết bị (Device). Tầng application gồm các chương trình ứng dụng (vd phân tích dữ liệu, hiển thị v.v) và các giao thức IoT phổ biến như HTTP, MQTT, CoAP. Như hình dưới có thể thấy Zigbee là một đặc tả kỹ thuật IEEE 802.15.4, mô tả một tập các giao thức chạy trên môi trường sóng radio khoảng cách gần, tiêu tốn ít năng lượng. Tầng truyền thông (bao gồm cả phần truyền tải và phần định tuyến liên mạng) cũng sử dụng Zigbee như đã nói ở trên. Có thể thấy với số lượng thiết bị lớn thì cần dùng giao thức IPv6 với không gian địa chỉ lớn. Các giao thức phổ biến hoạt động ở tầng này gồm:
- TCP/UDP
- Thread: một giao thức định tuyến cho IPv6, áp dụng cho tự động hóa nhà thông minh;
- RPL là giao thức định tuyến áp dụng cho các môi trường truyền thông có nhiễu và nguồn cấp cho thiết bị gặp hạn chế.
- Giao thức 6LoWPAN: cho phép truyền dữ liệu qua các giao thức IPv6 và IPv4 trong các mạng không dây công suất thấp với các cấu trúc mạng điểm - điểm ( P2P: point to point ) và dạng lưới ( mesh)
Hình. Mô hình giao thức IoT
Tầng thiết bị gồm các công nghệ truyền dẫn như IEEE 802.15.4, Bluetooth, Wifi, NFC, LoRaWAN hoặc các công nghệ di động
10 lỗ hổng IoT theo OWASP năm 2018
1. Mật khẩu yếu, dễ đoán hoặc được mã hóa cứng (hardcode) trong firmware của thiết bị.
Thiết bị IoT: Sử dụng thông tin xác thực dễ bị tấn công brute force, thông tin đăng nhập không thể thay đổi (tồn tại các backdoor trong firmware hoặc cấp đặc quyền cho ứng dụng phía client có thể truy cập từ xa đến thiết bị để tiện lợi khi cài đặt).
2. Sử dụng dịch vụ mạng không an toàn
Trên thiết bị IoT có các dịch vụ mạng không cần thiết hoặc không an toàn, đặc biệt là những dịch vụ kết nối với internet, làm xâm phạm đến đến tính bảo mật, tính toàn vẹn/ tính xác thực hoặc tính sẵn sàng của thông tin hoặc cho phép điều khiển từ xa trái phép.
3. Các giao diện không bảo mật
Hệ thống IoT có thể coi là 1 hệ sinh thái gồm nhiều thành phần có giao tiếp với nhau. Những thành phần đó có thể có giao diện web không an toàn, các API, Cloud, giao diện mobile không an toàn, cho phép xâm nhập đến thiết bị hoặc các thành phần liên quan của nó. Các vấn đề không an toàn gồm: thiếu xác thực/ phân quyền, thiếu hoặc mã hóa yếu, thiếu việc lọc dữ liệu input và output.
4. Thiếu cơ chế cập nhật tính bảo mật
Hệ thống IoT có đặc điểm phân tán, điều kiện kết nối hạn chế do đó thường không có khả năng cập nhật thiết bị một cách an toàn. Hoặc nếu có cập nhật thì vấn đề thường gặp là thiếu xác thực firmware, truyền thông thiếu an toàn (không được mã hóa khi chuyển tiếp), thiếu cơ chế chống roll-back và không có thông báo về những phiên bản cập nhật mới.
5. Sử dụng các thành phần (thư viện) lỗi thời hoặc không bảo mật
Sử dụng các component/thư viện đã lỗi thời hoặc không an toàn có thể khiến thiết bị bị tấn công. Ví dụ việc cài đặt một hệ điều hành tồn tại lỗ hổng cho thiết bị; sử dụng phần mềm/phần cứng có lỗ hổng bảo mật,
6. Bảo vệ tính riêng tư kém
Thông tin cá nhân của người dùng được lưu trữ trên thiết bị hoặc trong hệ sinh thái một cách không an toàn, không đúng cách hoặc cố tình lưu trữ mà không được phép.
7. Truyền tải và lưu trữ không an toàn
Thiếu mã hóa và thiếu kiểm soát truy cập các dữ liệu nhạy cảm nằm trong trong hệ sinh thái IoT; bao gồm các dữ liệu lưu trữ, đang truyền tải hoặc đang trong quá trình xử lý.
8. Thiếu quản lý thiết bị
Thiếu hỗ trợ về bảo mật khi triển khai các thiết bị trong việc quản lý, cập nhật, giám sát hệ thống và phản hồi các nguy cơ.
9. Các cài đặt mặc định trên thiết bị thiếu tính bảo mật
Thiết bị hoặc hệ thống được cài đặt các thông số mặc định không an toàn hoặc thiếu tính năng an toàn.
10. Thiếu tính năng an toàn vật lý
Thiếu các biện pháp tăng cường phòng thủ vật lý, cho phép những tin tặc có thể lấy được thông tin nhạy cảm khi tấn công từ xa hoặc dùng để kiểm soát thiết bị cục bộ.
Tham khảo
Cisco IoT Fundamental
OWASP IoT 10 vulnerabilities