Những thách thức bảo mật hàng đầu về IoT

Testthuthoi

VIP Members
26/06/2018
31
35 bài viết
Những thách thức bảo mật hàng đầu về IoT
Hello xin chào các bác!
Là tôi đây, ở đây có bao nhiêu bác đang làm trong lĩnh vực tự động hóa hay phát triển các thiết bị liên quan đến cụm từ IoT. Sau mấy ngày lượm lặt tôi quyết định viết một bài viết tóm tắt chia sẻ nhiều thông tin liên quan đến lĩnh vực của các bác. Nội dung bài viết xoay quanh các thách thức hàng đầu về bảo mật cho IoT mà tôi cất công ngồi mấy ngày Google. Các bác xem và đưa ra đề xuất cho các vấn đề trên xem để anh em cùng học hỏi. Vài hôm nữa chắc sẽ ngồi nghịch CEH liên quan đến IoT bác nào hứng thú thì cứ qua WhiteHat đặt gạch, tôi nhận hết, tôi đang muốn xây nhà cấp 4.

Đầu tiên để xem coi đây phải miếng mồi béo bở với các hắc cơ hay không thì chúng ta nên thống kê xem tình hình các thiết bị dính líu đến IoT phát triển thế nào? Số lượng và tương lai?

Theo phòng nghiên cứu Statista hiện có 26,66 tỷ thiết bị kết nối IoT trong năm 2019, dân số thế giới 2019 là 7,7 tỷ người. So sánh thú vị này có thể thấy số lượng thiết bị IoT gấp 3,5 lần dân số. Vài thống kê vui là mỗi giây trên toàn thế giới có 127 thiết bị mới được kết nối Internet.
upload_2019-10-8_10-40-4.png

Rõ ràng xem qua số lượng và mức độ tăng trưởng, tôi mà nắm được cách tấn công và làm chủ các thiết bị trên thì tôi vào ở cao ốc chứ không cần gạch của các bác xây cấp 4 nhể :v. Đây là link bài viết chi tiết về thống kê và tăng trưởng của thiết bị IoT các bác muốn xem kỹ thì đọc nhé!

Mọi người đều biết bảo mật là một vấn đề lớn đối với Internet of Things, nhưng cụ thể chúng ta nên sợ điều gì nhất? OWASP xác định 10 lỗ hổng hàng đầu trong năm 2019.
upload_2019-10-8_10-40-25.png
1. Mật khẩu yếu, có thể đoán được hoặc mật khẩu được đặt mặc định.

Đây là điều dễ gặp trên các thiết bị IoT rẻ tiền và sự chủ quan của các nhà phát triển thường thì đoạn mã xác thực trong các thiết bị được viết như sau:

Trong C/C++:

int VerifyAdmin(char *password) {
if (strcmp(password, "Mew!")) {
printf("Incorrect Password!\n");
return 0;
}
printf("Entering Diagnostic Mode\n");
return 1;
}

upload_2019-10-8_10-40-54.png


Để khắc phục được vấn đề trên, tôi theo đề xuất của OWASP:
- Đối với người dùng nên chủ động tìm những thiết bị bán ra bởi các đơn vị uy tín, có chứng nhận về an ninh mạng. Nếu không thì phải tìm hiểu xem thiết bị mình mua về có đổi được mật khẩu hay không rồi mới quyết định mua.
- Đối với nhà phát triển ứng dụng:
+ Thiết kế (đối với tài khoản mặc định): Thay vì mã cứng tên người dùng và mật khẩu mặc định cho lần đăng nhập đầu tiên, hãy sử dụng chế độ "đăng nhập lần đầu" yêu cầu người dùng nhập mật khẩu mạnh duy nhất.
+ Thiết kế (đối với các kết nối từ đầu đến cuối): Có thể có ba giải pháp, mặc dù không có giải pháp nào hoàn chỉnh. Gợi ý đầu tiên liên quan đến việc sử dụng mật khẩu tạo tự động được thay đổi. Các mật khẩu này sẽ được giữ trong bộ nhớ và chỉ có giá trị trong các khoảng thời gian. Tiếp theo, mật khẩu được sử dụng nên được giới hạn phân quyền với từng đối tượng cụ thể, trái ngược với việc một người dùng bình thường có toàn quyền truy cập. Cuối cùng, các tin nhắn được gửi phải được gắn thẻ và kiểm tra với các giá trị nhạy cảm với thời gian để ngăn chặn các cuộc tấn công kiểu phát lại.
2. Dịch vụ mạng không an toàn.
Để tìm hiểu kỹ vấn đề này nó là cụm từ Insecure network services
Điểm này liên quan đến các lỗ hổng trong các dịch vụ mạng được sử dụng để truy cập thiết bị IoT có thể cho phép kẻ xâm nhập truy cập trái phép vào thiết bị hoặc dữ liệu liên quan. Các lỗ hổng bảo mật cụ thể có thể dẫn đến vấn đề này bao gồm:
- Tràn bộ đệm
- Mở cổng thông qua UPnP
- Dịch vụ UDP có thể khai thác
- Từ chối dịch vụ
- DoS thông qua thiết bị mạng Fuzzing
Để khắc phục vấn đề trên:
- Đảm bảo chỉ có các cổng cần thiết
- Đảm bảo các dịch vụ không dễ bị tấn công tràn bộ đệm và các cuộc tấn Fuzzing
- Đảm bảo các dịch vụ không dễ bị tấn công DoS, điều này có thể ảnh hưởng đến chính thiết bị hoặc các thiết bị khác và / hoặc người dùng trên mạng cục bộ hay các mạng khác
- Đảm bảo các cổng hoặc dịch vụ mạng không được tiếp xúc với internet thông qua UPnP chẳng hạn.
3. Các kết nối mở rộng trong hệ sinh thái IoT không an toàn
Việc mà kết nối mở trong trong các hệ sinh thái IoT là điều tất yếu nhưng việc kết nối này đôi khi cũng có thể gây ra lỗi khiến phá vỡ quy tắc bảo mật. Các vấn đề phổ biến bao gồm thiếu xác thực / ủy quyền, thiếu hoặc mã hóa yếu, thiếu bộ lọc đầu vào và đầu ra.

upload_2019-10-8_10-42-23.png

4. Thiếu các cơ chế cập nhật an toàn
Đây là vấn đề khá khó khăn do để vá được một lỗi trên phần cứng đồng nghĩa với việc nạp lại mã nguồn cho thiết bị đó, gần như các thiết bị rẻ tiền không có tính năng này. Hoặc các thiết bị IoT vẫn chưa có cơ chế chuẩn để cập nhật lên một phiên bản an toàn hơn. Việc cập nhật này vẫn chưa có khả năng tự động mà phải phụ thuộc vào người dùng. Việc cập nhật phần cứng còn gây ra rất nhiều lỗi phát sinh mà người dùng không thể chủ động.

upload_2019-10-8_10-42-36.png

5. Sử dụng các thành phần không an toàn hoặc lỗi thời
Sử dụng các thành phần / thư viện phần mềm không dùng hoặc không an toàn có thể cho phép thiết bị bị xâm phạm. Điều này bao gồm tùy chỉnh không an toàn các nền tảng hệ điều hành và sử dụng các thành phần phần cứng hoặc phần cứng của bên thứ ba từ chuỗi cung ứng bị xâm phạm.

6. Bảo vệ quyền riêng tư không đầy đủ
Những lo ngại về quyền riêng tư được tạo ra bởi việc thu thập dữ liệu cá nhân bên cạnh việc thiếu sự bảo vệ đúng đắn của dữ liệu đó. Những lo ngại về quyền riêng tư rất dễ phát hiện bằng cách xem xét dữ liệu đang được thu thập khi người dùng thiết lập và kích hoạt thiết bị. Các công cụ tự động cũng có thể tìm kiếm các mẫu dữ liệu cụ thể có thể chỉ ra việc thu thập dữ liệu cá nhân hoặc dữ liệu nhạy cảm khác.
Để chống lại vấn đề này :
- Đảm bảo rằng mọi dữ liệu được thu thập có tính chất ít nhạy cảm hơn (nghĩa là cố gắng không thu thập dữ liệu nhạy cảm)

- Đảm bảo rằng mọi dữ liệu được thu thập sẽ được xác định lại hoặc ẩn danh

- Đảm bảo mọi dữ liệu thu thập được bảo vệ đúng cách bằng mã hóa

- Đảm bảo thiết bị và tất cả các thành phần của thiết bị bảo vệ đúng thông tin cá nhân

- Đảm bảo chỉ những cá nhân được ủy quyền mới có quyền truy cập vào

- Thu thập dữ liệu: đảm bảo người dùng cuối được cung cấp "Thông báo và lựa chọn" nếu dữ liệu được thu thập nhiều hơn những gì mong đợi từ sản phẩm.

7. Truyền và lưu trữ dữ liệu không an toàn

Thiếu mã hóa hoặc kiểm soát truy cập dữ liệu nhạy cảm ở bất cứ đâu trong hệ sinh thái, bao gồm cả việc lưu trữ hoặc trong quá trình xử lý. Khắc phục vấn đề này cần mã hóa trong quá trình truyền nhận, nếu truyền nhận qua mạng cần sử dụng TLS

upload_2019-10-8_10-43-12.png

8. Thiếu quản lý thiết bị

Không có hỗ trợ bảo mật trên các thiết bị được triển khai trong sản xuất, bao gồm quản lý thiết bị, quản lý cập nhật, ngừng hoạt động an toàn, giám sát hệ thống và khả năng phản hồi. Các thiết bị IoT có thể nhỏ, rẻ tiền và được triển khai với số lượng lớn, nhưng điều đó không có nghĩa là bạn không phải quản lý chúng. Trong thực tế, nó làm cho việc quản lý chúng quan trọng hơn bao giờ hết.

upload_2019-10-8_10-43-24.png

9. Cài đặt mặc định không an toàn
Các thiết bị hoặc hệ thống được cung cấp với cài đặt mặc định không an toàn hoặc thiếu khả năng làm cho hệ thống an toàn hơn bằng cách hạn chế người vận hành sửa đổi cấu hình.
10. An ninh vật lý kém
Điểm yếu bảo mật vật lý có mặt khi kẻ tấn công có thể tháo rời thiết bị để dễ dàng truy cập phương tiện lưu trữ và mọi dữ liệu được lưu trữ trên phương tiện đó. Điểm yếu cũng xuất hiện khi các cổng USB hoặc các cổng bên ngoài khác có thể được sử dụng để truy cập thiết bị bằng các tính năng dành cho cấu hình hoặc bảo trì. Điều này có thể dẫn đến dễ dàng truy cập trái phép vào thiết bị hoặc dữ liệu.

Như vậy tôi và các bác vừa đi qua những vấn đề còn tồn đọng về bảo mật trong IoT. Để tiếp tục có những bài lab tấn công làm rõ như khai thác học thuật, hãy nhấn like và ủng hộ gạch cho tôi nhé!
Nguồn: Tổng Hợp
 
Chỉnh sửa lần cuối:
Bên trên