Dùng Bluezone có nguy cơ lộ thông tin như thế nào?
Bluezone đã sửa lỗi! Xem cập nhật ngày 3/8/2020: https://vnhacker.blogspot.com/2020/08/cap-nhat-ve-bluezone.html.
Tôi có viết trả lời phỏng vấn cho một tờ báo, không chắc là họ sẽ đăng. Tôi gửi lên đây để mọi người hiểu dùng Bluezone nguy hiểm như thế nào.
Thú thật quỹ thời gian và năng lượng của tôi cho chuyện này đã cạn. Tôi hi vọng những anh chị em nào quan tâm sẽ tiếp tục trợ giúp.
1. Lỗi về ID hiện là một trong những lỗ hổng lớn nhất của Bluezone. Trong khi các app ở Singapore, Hàn Quốc sẽ dùng các mã thay đổi liên tục. Nhưng app Bluezone lại gắn cho mỗi tài khoản một mã số. Điều này ảnh hưởng như thế nào đến người dùng? Cụ thể hacker có thể khai thác được những thông tin gì từ điểm yếu này? Cộng đồng có thể bị ảnh hưởng thế nào nếu lỗ hổng này bị tấn công?
Các ứng dụng truy vết tiếp xúc như Bluezone hoạt động bằng cách thu phát tín hiệu Bluetooth. Mỗi tín hiệu có chứa hai thông số: mã số người dùng và địa chỉ Bluetooth. Bất kỳ điện thoại hay thiết bị thu sóng Bluetooth nào cũng có thể nhìn thấy hai thông số này khi đứng gần điện thoại của người khác.
Đối với địa chỉ Bluetooth, Android (đã thử nghiệm trên Samsung và Pixel) và iOS đã tự động ẩn đi và thay đổi theo thời gian. Đối với mã số người dùng, không riêng gì Singapore mà tất cả giải pháp của Đức, Anh, Pháp hay của Google và Apple, dẫu có khác nhau về cách thực hiện, đều giống nhau ở chỗ liên tục thay đổi mã số người dùng. Cho đến nay, chỉ có giải pháp của Bluezone là sử dụng một mã số duy nhất.
Cách làm của Bluezone khiến người dùng có nguy cơ bị theo dõi, bị lộ thông tin về danh tính, địa điểm, hành trình duy chuyển, đã gặp ai, vào lúc nào, ở đâu và có nhiễm bệnh hay không. Tôi xin đưa ra vài ví dụ.
Bluezone nói rằng mã số không tiết lộ danh tính người dùng, điều này chỉ đúng khi mã số được thay đổi liên tục. Khi chỉ có một mã số duy nhất, danh tính rất dễ bị lộ. Ví dụ anh A gặp riêng anh C, anh C có thể dễ dàng biết mã số của anh A vì đó là mã số duy nhất mà điện thoại hay thiết bị thu sóng Bluetooth của anh ghi nhận vào lúc đó. Tương tự, một người có thể dễ dàng xác định mã số của đồng nghiệp, của hàng xóm hay tất cả những người mà họ đã tiếp xúc. Việc này đòi hỏi phải biết một chút lập trình, nhưng có cầu thì sẽ có cung, người ta có thể bỏ tiền ra mua ứng dụng xác định mã số của người khác.
Vì mã số Bluezone ID chỉ có 6 chữ số và được hiển thị ngay trên màn hình ứng dụng, nó có thể bị nhìn trộm. Vì mã số được tạo dựa vào thời gian, nếu ai biết khoảng thời gian anh A cài ứng dụng (vì họ mời anh A cài) họ sẽ có thể khoanh vùng mã số của anh ấy. Đó là chưa kể đa số người dùng sẽ không hiểu mã số này có ý nghĩa gì, họ có thể vô tình chia sẻ hoặc bị người khác lừa tiết lộ mã số.
Thậm chí, không cần phải tiếp xúc trực tiếp với nạn nhân, kẻ xấu vẫn có thể xác định danh tính bằng cách theo dõi hành vi. Kẻ theo dõi đặt máy thu sóng Bluetooth ở các khu dân cư, trường học, siêu thị, văn phòng, nhà hàng, quán cafe, nhà nghỉ. Giả sử mã số của anh A là 123456. Buổi sáng anh từ nhà đưa con đi học rồi đến cơ quan. Máy thu sóng Bluetooth gần nhà anh ấy sẽ ghi nhận có một người có mã số 123456. Khi anh A đưa con đến trường hay khi anh ấy đến văn phòng, máy thu sóng ở đó sẽ lại ghi nhận mã số 123456. Buổi trưa anh A đi ăn trưa và uống cafe, máy thu sóng ở những nơi này sẽ tiếp tục "nhìn thấy" anh ấy.
Kẻ theo dõi có thể chưa biết anh A là ai, nhưng nếu anh A lập đi lập lại hành trình này hàng ngày, họ có thể suy đoán ra được nhà anh A ở đâu, con anh ấy học trường gì, anh ấy làm việc ở đâu, thích uống cafe quán nào, v.v. Từ những thông tin này có thể suy đoán ra được danh tính thật sự của anh A. Tương tự cho chị B. Nếu anh A và chị B hẹn gặp nhau, máy thu sóng Bluetooth đặt ở đó sẽ biết hai người này đã ở chung một chỗ. Ứng dụng Bluezone ID cài trên điện thoại của hai người cũng sẽ ghi lại sự gặp gỡ mà có thể họ không muốn ai khác biết.
Khi mã số và danh tính bị lộ, không những thông tin về vị trí, hành trình di chuyển, đã gặp ai, ở đâu, lúc nào của anh A sẽ có nguy cơ bị lộ, mà tình trạng sức khỏe của anh ấy cũng bị lộ. Mã số của những người bị nhiễm bệnh sẽ được công bố rộng rãi, nhìn vào danh sách này những người đã thu thập mã số của anh A sẽ biết ngay anh ấy có nhiễm bệnh hay không. Nguy hiểm hơn nữa, nếu anh A vô tình lây cho anh C, khiến anh C bị cách ly, anh C có thể xác định nguồn lây là anh A và từ đó trả thù anh A. Nếu anh D biết mã số của anh E, anh D có thể dùng mã số của anh E khi làm việc với các cơ quan Y tế, từ đó khiến những người từng tiếp xúc với anh E bị cách ly, mặc dù anh E không bị bệnh.
Nói tóm lại, giải pháp của Bluezone khiến điện thoại của bạn liên tục phát đi một mã số cố định, thông báo cho thế giới xung quanh biết bạn đang ở đâu, làm gì, vào lúc nào, với ai. Đây là những thông tin cá nhân cực kỳ nhạy cảm. Để bảo vệ những thông tin này, các giải pháp trên thế giới phát ra nhiều mã số. Bluezone không thể làm khác.
2. Đứng ở phương diện người làm về bảo mật, theo anh có những tiếp cận nào để giải quyết điểm yếu này? Biện pháp hữu dụng nhất mà Bluezone có thể áp dụng ngay lúc này là gì?
Vừa rồi Bluezone đã công bố mã nguồn. Tôi hoan nghênh tinh thần minh bạch của nhóm Bluezone. Bước tiếp theo Bluezone cần phải làm là tạm dừng ứng dụng, thay đổi thiết kế, làm lại cho tốt rồi hẵng chạy tiếp. Với nguồn lực hiện tại, Bluezone không nên tự thiết kế giải pháp mà nên dùng lại những thiết kế của các nhóm chuyên gia ở Châu Âu và Mỹ. Tôi đã gửi kiến nghị trực tiếp qua email và trang chủ của dự án trên GitHub (xem ở đây). Tôi cũng đã liên hệ với những nhóm chuyên gia ở Châu Âu và Mỹ, nhờ họ hỗ trợ Bluezone.
Có người nói nếu bây giờ tạm dừng, trong thời gian chỉnh sửa Bluezone, lỡ có người bị nhiễm bệnh thì sao? Tôi nghĩ nguy cơ lây nhiễm ở Việt Nam hiện nay rất thấp và thế giới đã chỉ ra cách thiết kế giải pháp truy vết thế nào để giảm thiểu các nguy cơ mất riêng tư mà tôi viết ở đây. Người ta đã làm sẵn hết rồi, chỉ cần dùng lại thôi, nên cũng không mất nhiều thời gian lắm đâu. Với một sản phẩm an toàn và đảm bảo riêng tư tốt hơn, Bluezone sẽ thuyết phục được nhiều người đăng ký sử dụng hơn. Lúc đó, tôi sẽ là người đầu tiên đi quảng cáo cho Bluezone.