Site icon TAPIT

Chuỗi bài viết đề tài “Giải pháp bảo mật cho thiết bị Datalogger” (P2)

Với sự tiếp cận nhanh chóng của các công nghệ như IoTs, trí tuệ nhân tạo, dữ liệu lớn,… tạo tiền đề cho việc phát triển các ứng dụng thành phố thông minh, đại học thông minh, nhà thông minh. Từ đó, lượng dữ liệu được sinh ra ngày càng lớn, nhu cầu thu thập, xử lý và tổng hợp về máy chủ là rất cần thiết và đang được quan tâm rất nhiều. Thiết bị Datalogger là giải pháp hiệu quả giúp thu thập, điều khiển, xử lý dữ liệu và truyền dữ liệu tự động về máy chủ qua môi trường Internet với các giao thức HTTP, FTP. Song hành với sự phát triển đó, bảo mật dữ liệu giữ vai trò quan trọng không kém. 

Tiếp tục với phần 1 của chuỗi bài viết – Tổng quan vấn đề bảo mật trên hệ thống IoT, tại phần 2, mình sẽ phân tích thiết kế phần cứng của thiết bị, từ đó phân tích về hiện trạng bảo mật của thiết bị và kết luận về các vấn đề cần bảo mật trên thiết bị.

Phần 2. Đề xuất giải pháp bảo mật cho thiết bị Datalogger

1. Thiết kế phần cứng

Thiết bị Datalogger được phát triển bởi Công ty TNHH Kỹ thuật TAPIT. Thiết bị được thiết kế kết hợp vi điều khiển 32 bit của hãng STMicroelectronics lõi ARM Cortex – M, bao gồm 512 KBytes bộ nhớ chương trình (Flash) và 128 KBytes bộ nhớ dữ liệu (SRAM), tích hợp sẵn ngoại vi thời gian thực (RTC) và khối ngoại vi tính toán mã Cyclic Redundancy Check (CRC) để kiểm tra tính toàn vẹn dữ liệu. Datalogger tích hợp nhiều ngõ vào số, ngõ ra số và tương tự, phù hợp với nhiều tiêu chuẩn cảm biến công nghiệp khác nhau như RS485, RS232, Pulse Counter, 4-20mA. 

Hình 1. Thiết bị Datalogger (Phiên bản thử nghiệm)

 

Hình 2. Sơ đồ khối kết nối thiết kế phần cứng Thiết bị Datalogger 

Thiết kế phần cứng của thiết bị bao gồm các khối thành phần sau:

2. Cấu trúc chương trình phần mềm trong bộ nhớ thiết bị Datalogger

Thông thường, một chương trình ứng dụng sẽ được lưu trữ ở ngay địa chỉ bắt đầu của bộ nhớ Flash. Khi khởi động, vi điều khiển sẽ bắt đầu thực thi từ vị trí này. Nhưng tại thiết bị Datalogger, tính năng OTA được kết hợp, nên khối bộ nhớ chính của vi điều khiển được thay đổi và chia làm nhiều vùng khác nhau để bổ sung lưu trữ các chương trình như Bộ nạp khởi động người dùng phát triển, Chương trình OTA, Chương trình ứng dụng và Các biến liên kết. 

Hình 3. Cấu trúc chương trình trong bộ nhớ thiết bị Datalogger

Chức năng của các thành phần trong cấu trúc chương trình bộ nhớ:

3. Hiện trạng bảo mật

Tính năng chính của Datalogger là thu thập, xử lý và truyền dữ liệu về hệ thống máy chủ theo giao thức HTTP và FTP. Với phiên bản thiết bị nghiên cứu, kiểm nghiệm này, thiết bị chưa được trang bị bất cứ giải pháp bảo mật nào. Tại phần 1 của chuỗi bài viết, mình đã trình bày về các mục tiêu tấn công thường gặp với một hệ thống IoTs bao gồm 1) Đối tượng vật lý; 2) Giao thức; 3) Dữ liệu và 4) Chương trình phần mềm. Mình sẽ phân tích các mục tiêu trên theo thiết kế phần cứng và phần mềm của thiết bị.

Hình 4. Cổng debug chương trình SWD và cổng cấu hình Serial (Phiên bản thử nghiệm)

4. Đề xuất giải pháp bảo mật

Với 4 mục tiêu tấn công bảo mật liên quan đến thiết bị: đối tượng vật lý, giao thức, dữ liệu và chương trình, mình đã phân tích thực trạng các mục tiêu có thể bị tấn công tại Datalogger. Tại mục này, mình đề xuất giải pháp bảo mật dành cho Datalogger dựa trên những thực trạng đó và đảm bảo duy trì được thuộc tính bảo mật là tính bí mật, tính toàn vẹn, tính sẵn sàng và tính xác thực. Các giải pháp được đề ra bao gồm:

Mỗi giải pháp được đề cập đều mang những thuộc tính bảo mật riêng, nhưng khi kết hợp lại tất cả, thiết bị sẽ được cung cấp biện pháp đáp ứng được 4 thuộc tính quan trọng của bảo mật. Chi tiết về các sự đáp ứng các thuộc tính tại các giải pháp được mô tả tại bảng 1 dưới đây.

Bảng 1. Các thuộc tính bảo mật được đáp ứng tại các giải pháp bảo mật

Giải pháp bảo mật Tính bí mật Tính toàn vẹn Tính khả dụng Tính xác thực
Chương trình / dữ liệu tại thiết bị
Giao tiếp cổng vật lý
Quá trình khởi động
Chương trình cập nhật từ xa
Dữ liệu truyền nhận qua Internet

Để triển khai các giải pháp bảo mật trên và thực hiện đo lường các kết quả thực nghiệm, nhóm sử dụng một số công cụ sau:

Vậy là chúng ta đã nắm rõ về thiết kế phần cứng, thiết kế phần mềm, các nguy cơ tấn công trên thiết bị Datalogger; từ đó đề xuất ra các giải pháp bảo mật phù hợp. Tại phần các phần tiếp theo, chúng ta tiếp tục tìm hiểu và hướng dẫn triển khai từng giải pháp bảo mật trên. 

Chúc các bạn thành công!

Nguyễn Thùy Nhiên – Đề tài Capstone Project tại TAPIT

Tìm hiểu thêm:
Fanpage TAPIT: TAPIT – AIoT Learning