![Ứng dụng PC-COVID cần khắc phục những vấn đề gì về bảo mật? - Ảnh 1. Ứng dụng PC-COVID cần khắc phục những vấn đề gì về bảo mật? - Ảnh 1.](https://cdn.tuoitre.vn/thumb_w/730/2021/10/3/sonr2962-16332493481241313244398.jpg)
Sau khi được đưa vào sử dụng, một số vấn đề cần hoàn thiện để đảm bảo bảo mật của app PC-COVID đang được các chuyên gia công nghệ thông tin chỉ ra - Ảnh: M.S
Vấn đề mã xác thực OTP (one-time password)
Khi thực hiện đăng ký / đăng nhập để sử dụng ứng dụng PC-COVID, người dùng chỉ cần nhập số điện thoại. Sau đó, hệ thống PC-COVID sẽ gửi một tin nhắn SMS chứa mã OTP để đăng nhập thay cho mật khẩu thông thường.
OTP là một phương thức xác minh được sử dụng phổ biến ở các ứng dụng ngày nay, từ các ứng dụng mạng xã hội, xem phim, giải trí thông thường đến các ứng dụng ngân hàng. OTP là viết tắt của từ one-time password, nghĩa là mật khẩu chỉ sử dụng một lần.
OTP được sinh ra và có hiệu lực trong thời gian ngắn. Chính nhờ tính chất chỉ sử dụng một lần này, OTP ngăn ngừa việc truy cập trái phép bằng cách đoán ngẫu nhiên như đối với mật khẩu thông thường.
Ứng dụng PC-COVID cũng sử dụng OTP làm phương thức xác minh như đã nói ở trên, nhưng lại cho phép người dùng sử dụng mã OTP không giới hạn số lần trong vòng 5 phút. Điều này vi phạm nguyên tắc thiết kế của khái niệm OTP.
Ngày nay, trên điện thoại thông minh của người dùng có cài đặt rất nhiều ứng dụng. Nhiều ứng dụng trong số đó được người dùng cấp phép đọc nội dung tin nhắn SMS. Từ đó, các ứng dụng này sẽ có khả năng đọc được mã OTP của PC-COVID. Có nghĩa là, việc PC-COVID cho phép mã OTP được sử dụng nhiều lần sẽ dẫn đến nguy cơ mã này sẽ bị đánh cắp và sử dụng trái phép.
![Ứng dụng PC-COVID cần khắc phục những vấn đề gì về bảo mật? - Ảnh 2. Ứng dụng PC-COVID cần khắc phục những vấn đề gì về bảo mật? - Ảnh 2.](https://cdn.tuoitre.vn/thumb_w/730/2021/10/1/sonr2844-1633090960791567915362.jpg)
Nhiều ý kiến đang băn khoăn về vấn đề bảo mật thông tin người dùng trên PC-COVID - Ảnh: M.S
Vấn đề xác minh thông tin người dùng, lộ thông tin tiêm chủng
Thông tin người dùng, thông tin về tiêm chủng của người dùng có thể bị lộ thông qua tính năng chỉnh sửa thông tin của PC-COVID.
PC-COVID cho phép người dùng tự nhập thông tin số CMND/CCCD của mình để lấy thông tin tiêm chủng. Điều đáng nói, PC-COVID chỉ dựa trên duy nhất thông tin số CMND/CCCD mà không hề kết hợp với thông tin khác để xác minh người dùng.
PC-COVID cho phép một người tùy ý chỉnh sửa thông tin CMND/CCCD vô số lần mà không bị hệ thống xác thực/hạn chế truy cập. Việc này dẫn đến khả năng một người có thể lần lượt thay đổi số CMND/CCCD bất kỳ, để từ đó lấy được thông tin tiêm chủng của người này.
Kết hợp với một số cổng thông tin công khai khác (ví dụ hệ thống mã số thuế thu nhập cá nhân, giấp phép đăng ký kinh doanh…), có thể lấy chính xác thông tin họ tên, địa chỉ..., sau đó kết hợp với số CMND/CCCD đã dò tìm ra để có thể có được bộ thông tin đầy đủ.
Khi dò tìm ra thông tin một người nào đó đã có đủ 2 mũi tiêm (thẻ xanh), họ có thể sử dụng chính tấm thẻ này để đi đường (vượt qua sự kiểm soát trong trường hợp cán bộ không kiểm tra CMND/CCCD).
Nếu đưa vào sử dụng bộ đôi thông tin số điện thoại và số CMND/CCCD để xác thực một người như một số hệ thống quốc gia khác, ví dụ tiemchungcovid19.gov.vn…, sẽ cho phép hạn chế nguy cơ trên của PC-COVID.
![Ứng dụng PC-COVID cần khắc phục những vấn đề gì về bảo mật? - Ảnh 3. Ứng dụng PC-COVID cần khắc phục những vấn đề gì về bảo mật? - Ảnh 3.](https://cdn.tuoitre.vn/thumb_w/730/2021/10/3/sonr2862-1633249348095830360153.jpg)
Chuyên gia công nghệ đề xuất có thể tăng cường yêu cầu xác thực để tăng tính bảo mật thông tin trên app PC-COVID - Ảnh: M.S
Vấn đề mạo danh trạng thái tiêm chủng bằng số CMND chính chủ
Ứng dụng PC-COVID hoạt động theo cơ chế hiển thị dữ liệu từ hệ thống backend bằng phương pháp API. API là viết tắt của application programming interface, là phương pháp giao tiếp từ một ứng dụng tới một hệ thống dữ liệu. Đây là phương pháp phổ biến, hầu hết các trang web, ứng dụng di động ngày nay đều dùng phương pháp này.
Tuy nhiên, việc hiển thị dữ liệu phụ thuộc hoàn toàn vào API này, cộng với cơ chế xác minh khá lỏng lẻo, một người dùng thông thường có thể sử dụng ứng dụng bên thứ ba (ví dụ Charles Proxy), để tiến hành thay đổi dữ liệu trả về từ hệ thống backend của PC-COVID.
Từ đó, ứng dụng PC-COVID sẽ hiển thị dữ liệu theo mong muốn của người đó. Ví dụ, một người chưa có mũi tiêm nào, có thể chỉnh sửa để khiến PC-COVID hiển thị đầy đủ 2 mũi tiêm. Việc hiển thị này không chỉ cố định như việc chỉnh sửa một tấm ảnh, mà người dùng có thể đóng/mở ứng dụng nhiều lần mà vẫn không bị mất thay đổi.
Lưu ý, việc chỉnh sửa này chỉ có tác dụng trên chính điện thoại của người đó, không phải là chỉnh sửa dữ liệu trên hệ thống quốc gia.
Những ứng dụng khác tuy cũng hoạt động với cơ chế API tương tự PC-COVID nhưng rất khó để người dùng có thể tùy ý chỉnh sửa dữ liệu, nhưng với PC-COVID hoàn toàn có thể làm được một cách đơn giản.
Vấn đề để lộ thông tin token trên đường dẫn
Token là một chuỗi mã hóa duy nhất dùng để thực hiện việc giao tiếp API giữa ứng dụng và hệ thống backend. Một người dùng khi đăng nhập thành công sẽ sinh ra một token. Đây là token duy nhất ứng với 1 người dùng, dùng để định danh, xác thực thông tin khi thực hiện việc giao tiếp đó.
Request là một kết nối bằng một đường dẫn URL. Ví dụ, truy cập http://www.xosobinhdinh.org thì đó là một kết nối. Hiện nay, trong ứng dụng PC-COVID đang tồn tại rất nhiều kết nối chứa thông tin token trên đường dẫn, ví dụ: https://qr.tokhaiyte.vn/add-qr-code?token={token}&language={Language}&PhoneNumber={PhoneNumber }, https://appkbyt.bluezone.gov.vn?userid={userId}&token={token}&qrcode={qrcode}&lang={Language}&type=0 , https://appkbyt.bluezone.gov.vn/httk?userid={userId}&token={token}&qr_code={qrcode}&lang={Language}&type=1
Về mặt nguyên tắc thiết kế hệ thống, tất cả các kết nối chứa thông tin nhạy cảm (như token chẳng hạn) phải sử dụng phương thức POST request để có thể giấu được những thông tin này.
Hiện nay, PC-COVID đang sử dụng phương thức GET request, tất cả các thông tin nhạy cảm hiển thị lộ liễu trên đường dẫn URL. Điều này vi phạm những nguyên tắc rất cơ bản trong các hệ thống có kết nối Internet. Việc lộ token sẽ dẫn đến lộ tất cả các thông tin khác, như thông tin cá nhân (họ tên, địa chỉ, số điện thoại, CMND), thông tin tiêm chủng, thông tin khai báo y tế, thông tin di chuyển, đi lại...
![Ứng dụng PC-COVID cần khắc phục những vấn đề gì về bảo mật? - Ảnh 4. Ứng dụng PC-COVID cần khắc phục những vấn đề gì về bảo mật? - Ảnh 4.](https://cdn.tuoitre.vn/thumb_w/730/2021/10/3/sonr2881-16332493481021589837772.jpg)
Bên cạnh các ưu điểm, việc sử dụng mã QR cá nhân cũng được các chuyên gia chỉ ra một vài điểm cần khắc phục - Ảnh: M.S
Vấn đề nguy cơ lộ thông tin cá nhân thông qua mã QR hợp lệ
Mã QR là một mã hai chiều, bằng mắt thường có thể thấy mã này ở dạng hình vuông, gồm các ô đen và trắng, chứa thông tin mã hóa của một chuỗi ký tự. PC-COVID tạo ra mỗi người dùng một mã QR.
Tuy nhiên, ứng dụng PC-COVID lại sử dụng chính các thông tin thuần gồm số CMND/CCCD - họ và tên - ngày tháng năm sinh - số mũi tiêm - số điện thoại để tạo ra mã QR.
Việc sử dụng thông tin thuần mà không được mã hóa trước khi dùng để tạo mã QR khiến tất cả thông tin kể trên có thể được hiện ra lộ liễu chỉ bằng một cái quét camera trong vài giây.
Trong thực tế, có rất nhiều ngữ cảnh dẫn đến việc lộ mã QR này, ví dụ: chụp màn hình đăng chia sẻ mạng xã hội, sử dụng điện thoại hớ hênh, bị lừa gạt, dụ dỗ...
Mã QR cho phép cán bộ kiểm soát có thể nhanh chóng quét và kiểm tra thông tin của một người trên hệ thống. Việc này hoàn toàn không cần thiết cung cấp các thông tin thuần (dễ bị lộ như trên), mà có thể cung cấp một thông tin đã được mã hóa. Khi quét mã QR này sẽ được một chuỗi ký tự mã hóa. Bằng việc sử dụng hệ thống nội bộ (ứng dụng hoặc website), cán bộ kiểm soát hoàn toàn có thể lấy được thông tin đầy đủ chỉ bằng chuỗi mã hóa này.
Điều này giúp cho mọi người có thể thoải mái chia sẻ hoặc để lộ mã QR nhưng không lo bị lộ thông tin cá nhân, vì chuỗi mã hóa không thể bị giải mã nếu như không có hệ thống nội bộ của Chính phủ, PC-COVID, chính quyền, cán bộ…
Tối đa: 1500 ký tự
Hiện chưa có bình luận nào, hãy là người đầu tiên bình luận