Phản hồi của Bluezone

Hôm qua có bạn gửi vào blog bài viết sau, được cho là phản hồi của Bluezone về báo cáo của tôi: https://whitehat.vn/threads/phan-tich-cac-van-de-lien-quan-den-bluezone.13534. Từ ngày đầu tiên, tôi đã gửi 2 email cho nhóm Bluezone, vì chưa nhận được phản hồi chính thức, nên ban đầu tôi không có ý định trả lời. Hôm nay tôi lỡ mất công giải thích cho một số người bạn, nên gửi lên đây luôn vậy. Cảm ơn anh Minh Trần đã giúp kiểm chứng cách Bluetooth hoạt động như thế nào.

Tôi trả lời 2 ý đầu tiên. Những ý còn lại tôi đã viết đầy đủ trong báo cáo, tôi nghĩ cán bộ coi thi không cần giải thích gì thêm. Tôi vẫn giữ lời khuyên ban đầu: ai đang cài Bluezone nên tạm thời gỡ bỏ, ai chưa cài thì không nên cài, cho đến khi tôi gửi thông báo mới.

Tôi hi vọng việc này sẽ không trở thành "tin tôi hay tin Bluezone", vì đó là một sự chia rẽ không đem lại lợi ích gì cho tất cả mọi người, nhất là giữa lúc dịch bệnh này. Tôi có hỏi M. tại sao mình làm đúng và muốn mọi thứ tốt hơn mà kết quả lại không như mong muốn, M. nói nếu thấy đúng cứ làm, kết quả còn phụ thuộc nhiều yếu tố khác nữa.

Mục tiêu của tôi không phải là hạ bệ Bluezone, mà là bảo vệ riêng tư cho mọi người. Tôi tự thấy đây là trách nhiệm xã hội của tôi, nhưng mấy nay tôi cũng thấy tôi rảnh quá. Tôi có những người bạn Việt Nam rất tài năng và hoàn toàn không quan tâm đến Việt Nam. Họ tập trung giải quyết các vấn đề của thế giới. Tôi cũng không thiếu chuyện để làm, sao cứ phải bận tâm Việt Nam làm gì cho phiền phức nhỉ? Thú thật với các bạn, trên hành tinh của tôi mọi thứ đơn giản hơn nhiều. Tôi không cần phải đi giải thích hay tranh luận về những chuyện hiển nhiên. Nói đi thì cũng nói lại, nếu không thể thuyết phục người khác chuyện tôi thấy hiển nhiên thì âu cũng là một thất bại của tôi.

Lúc tôi đang viết tới đây thì tôi nhận được email của lãnh đạo Cục Tin học hóa (Bộ TTTT) nói rằng phản hồi ở trang WhiteHat không phải là phản hồi của team Bluezone. Phản hồi chính thức ở đây. Sau khi tôi đăng báo cáo vào hôm thứ năm, tôi có nhận được email từ Cục Tin học hóa giải thích rằng Bluezone không phải là sản phẩm của BKAV mà là của Bộ TTTT. Lãnh đạo Cục Tin học hóa  mời tôi tham gia làm cho sản phẩm này tốt hơn. Tôi nói tôi sẽ tham gia nếu tài liệu thiết kế, mã nguồn, toàn bộ quá trình phát triển sản phẩm được đưa lên GitHub. Tôi sẽ vào file bug và thảo luận. Vị lãnh đạo này nói rằng hôm nay sẽ yêu cầu đưa lên GitHub.

--

Bluezone viết như vầy (in nghiêng):

Hãy xem việc sinh mã ngẫu nhiên giúp ích gì? Đầu tiên cần hiểu rõ về cơ chế hoạt động của Bluetooth. Điện thoại khi bật Bluetooth sẽ phát ra 2 loại tín hiệu là Bluetooth Classic và BLE. Trong tín hiệu Bluetooth classic quảng bá luôn có thông tin về địa chỉ MAC static của điện thoại (có từ khi sản xuất). Như vậy, nếu để trace một ai đó thì bạn có thể theo dõi MAC static này, và thực tế thì nó vẫn sẽ tồn tại cho tới khi Apple/Google cùng nhau ra chuẩn mới vào tới đây, tất nhiên với điều kiện là họ sửa để không phát ra Bluetooth classsic nữa. Rõ ràng chưa cần phải đeo mặt nạ nếu như bạn vẫn mặc quần áo có in tên trên ngực áo. Việc sinh nhiều mã Bluezone ID không làm bạn ẩn danh tốt hơn.

Nhóm phát triển đã cho tôi biết, địa chỉ Bluetooth của thiết bị là thuộc quản lý của hệ điều hành, nó được hệ điều hành tự thay đổi, ứng dụng KHÔNG THAY ĐỔI ĐƯỢC địa chỉ Bluetooth này. Hiện tại Thái đã tự thấy sai lầm và sửa lại nhận định ban đầu.

Tóm tắt: Bluezone không cần tự đổi địa chỉ Bluetooth như tôi đề nghị, vì Android và iOS đã tự động ẩn và thay đổi địa chỉ Bluetooth rồi, nhưng Bluezone phải đổi Bluezone ID, nếu không người dùng vẫn bị theo dõi.

Nhắc lại, các ứng dụng truy vết như Bluezone thực hiện truy vết 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 (Bluezone ID) và địa chỉ Bluetooth. Nếu hai thông số này không được thay đổi liên tục, người dùng vẫn bị theo dõi. Nhóm Bluezone cho rằng vì họ không thể đổi địa chỉ Bluetooth, nên có đổi mã số Bluezone ID cũng không giúp được gì. Do đó họ đã dùng một mã Bluezone ID duy nhất cho mỗi người dùng.

Đầu tiên, nếu thật sự "sinh nhiều mã Bluezone ID không làm bạn ẩn danh tốt hơn", ta nên hỏi tại sao các giải pháp của Singapore, Châu Âu hay của Google/Apple lại sinh ra nhiều mã trước khi gửi qua Bluetooth? Không có giải pháp nào trên thế giới gửi một mã duy nhất, trừ Việt Nam. Nếu Bluezone tự tin rằng giải pháp của họ rất an toàn, họ nên công bố giải pháp bằng tiếng Anh để xem thế giới sẽ phản ứng như thế nào.

Việc thay đổi mã Bluezone ID là cần thiết, nhưng địa chỉ Bluetooth cũng phải được thay đổi. Tôi đã nghĩ Android và iOS cho phép ứng dụng tự ý thay đổi địa chỉ Bluetooth, nên khi không thấy Bluezone làm việc này trong mã nguồn, tôi đã ghi vào báo cáo. Đây là sai lầm mà Bluezone nhắc đến trong phản hồi của họ. Kỳ thực đề nghị của tôi không sai, mà chỉ thừa, vì hệ điều hành đã tự động ẩn và thay đổi địa chỉ Bluetooth rồi, Bluezone không cần phải làm gì thêm.

Có hai loại sóng Bluetooth: Bluetooth Classic và Bluetooth LE.

Mặc định, Bluetooth Classic trên Android và iOS ở chế độ ẩn (non-discoverable) [1] [2], tức là không tự động quảng bá tín hiệu. Android và iOS chuyển qua chế độ tìm thấy được (discoverable) khi và chỉ khi người dùng mở ứng dụng Bluetooth Setting trên điện thoại, để chuẩn bị kết đôi (pairing) với thiết bị khác. Ngay khi ứng dụng Bluetooth Setting không còn ở màn hình chính (foreground) thì điện thoại sẽ quay trở lại chế độ ẩn. Việc này rất dễ kiểm tra, ai có hai điện thoại là có thể kiểm tra ngay.

Ở chế độ ẩn, điện thoại vẫn có thể gửi và nhận tín hiệu Bluetooth LE, nhưng các tín hiệu này sẽ dùng địa chỉ ngẫu nhiên. Android và iOS có cách thay đổi địa chỉ khác nhau. Trên Android, địa chỉ được thay đổi mỗi khi ứng dụng tái khởi động việc quảng bá qua sóng Bluetooth LE. Trên iOS thì việc thay đổi địa chỉ do hệ điều hành quyết định. Thử nghiệm thực tế cho thấy iOS đổi địa chỉ Bluetooth LE khoảng 1h/lần. Nghiên cứu [3] chỉ ra rằng địa chỉ được đổi khoảng 20 phút/lần.

Android và iOS làm như vầy để chống bị theo dõi. Tính năng này đã có từ lâu. Nó cung cấp cho người dùng một lớp bảo vệ riêng tư, dẫu không hoàn hảo, nhưng vẫn rất hữu dụng. Rất tiếc, việc sử dụng một Bluezone ID cố định đã vô hiệu hóa lớp bảo vệ này.

Giải pháp của Google/Apple không phải để ẩn địa chỉ Bluetooth Classic hay Bluetooth LE (vì như đã nói, địa chỉ Bluetooth Classic mặc định đã được ẩn rồi, còn địa chỉ Bluetooth LE được tạo ngẫu nhiên), mà để đồng bộ hóa việc đổi địa chỉ Bluetooth LE và đổi mã số của người dùng, đảm bảo mỗi địa chỉ ngẫu nhiên chỉ gắn với một mã số duy nhất [1].

Tôi thấy thông cảm khi Bluezone đã hiểu sai cách Bluetooth hoạt động. Đây là một bộ giao thức phức tạp, tôi cũng lúng túng khi đọc tài liệu. Sai thì sửa thôi, tôi nghĩ không có gì phải ngại hay xấu hổ cả. Trong báo cáo cũ của tôi có vài chỗ không chính xác, tôi cũng đã nhận lỗi và chỉnh lại cho đúng. Tôi hi vọng những gì tôi viết ở đây sẽ giúp Bluezone nhận ra sai sót và sửa lỗi.

Tài liệu tham khảo
[1] Trích Privacy and Security Attacks on Digital Proximity Tracing Systems, mục GR 5
The designs we consider use BLE for proximity detection. Using the tracing application and therefore enabling Bluetooth brings some fundamental risks:
* Enabling Bluetooth can make the device trackable if the OS does not implement MAC address randomization and disables advertisements.
* Bad synchronization between MAC address randomization and Bluetooth identifiers makes a device trackable as long as the attacker stays within range.
The first point is addressed in modern smartphone operating systems. The second point would be solved by the Apple/Google proposal.

[2] Trích từ tài liệu Bluetooth của Android
For privacy, Android is not discoverable by default.

[3] Tracking Anonymized Bluetooth Devices, mục 6.1.2
MacOS and iOS devices regularly advertise their presence as well. The advertising rates in macOS and iOS are much higher than in Windows 10, at up to two advertising events per second. Address lifetimes are highly variable, ranging from seconds up to around two hours in rare edge cases, with an average of around 20 minutes.

Comments

icemain said…
Bravo Thái. Mình cũng thấy các ý 3-4-5 của Whitehate trả lời vòng vo, không mang tính tranh luận mà còn bỉ cá nhân. Cụ thể:

Mục 5 - khi chỉ nói server chỉ nhận dữ liệu từ máy với lịch sử tiếp xúc F0. Thực tế, nếu sau khi cài app, ta tiến hành tắt kết nối Internet thì khi mở app sẽ bị nhảy vào Beta Mode với 300 bluezoner. Khi mở lại Internet thì số bluezoner mới được update. Điều này cho thấy con APIBZ chắc chắn có trao đổi dữ liệu -> BKAV lảng tránh giải thích

Mục 6 - bỉ cá nhân. Không giải thích việc tại sao lại dùng quyền Phone Permission cũng như giải thích nếu anh xóa béng folder Bluezone thì app vẫn chạy bình thường? Trong khi Thái nói rõ là việc sao lưu dữ liệu tại external data sẽ khiến bất kỳ app thứ 3 trên điện thoại có quyền truy xuất dữ liệu đều đọc và thu thập toàn bộ (cập nhật 8.30pm 24/4 còn bài đăng white hat 5.12p, 25/4)-> cái này lại lờ đi để bỉ cá nhân

Quan điểm cũng mình thế này:

1- App hay giải pháp nào cũng có hạn chế nên cứ keep walking theo hướng đóng góp theo góc độ tích cực vì mục tiêu cộng đồng, nothing but the community only. Đừng coi cộng đồng là con bò để dẫn dắt.

2- Công bố Whitepaper và Source Code càng sớm càng tốt và để cộng đồng cũng đóng góp, xây dựng, phát triển. Thay vì im ỉm đóng cửa tự làm và lúc nào thích thì mới đưa ra thì hối không kịp để fix lỗi

3- thừa nhận thiếu sót và đưa ra lộ trình thử nghiệm, bổ sung thêm các tình huống / phương án. Chấp nhận coi giai đoạn từ tháng 4 đến tháng 6 là open beta để cộng đồng đóng góp, cùng hoàn thiện. Thời gian chửi nhau trên forum thì thà ngồi Online trao đổi trực tiếp với Thái còn hơn.
Yen Nghie said…
Tôi không hiểu biết về công nghệ nhưng tôi rất rất rất ủng hộ bạn. Để đất nước phát triển được rất cần có những nhười như bạn. Tôi đọc không sót một chữ nào trong tất cả các bài anh viết. Chúc a nhiều sức khỏe!!!
Yen Nghie said…
Tôi không hiểu biết về công nghệ nhưng tôi rất rất rất ủng hộ bạn. Để đất nước phát triển được rất cần có những nhười như bạn. Tôi đọc không sót một chữ nào trong tất cả các bài anh viết. Chúc a nhiều sức khỏe!!!
admin said…
tôi không rành về security, không rành về lập trình nhưng chỉ rành 1 thứ là : đồ quốc doanh VN tôi luôn dè dặt và phải soi nó thật rõ dù chỉ là 1 tin đồn! những thứ như bkav antivirus cho tặng mời mọc cũng không dám sài chứ đừng nói là mua. Nội cái việc tắt server để dập dịch là thấy không đúng đắn về chuẩn mực đạo đức công nghệ của xứ này ! anh có thể dùng công nghệ để chống công nghệ chứ không thể dùng chính sách "bằng tay" với giải thích đánh lận con đen đầy mưu đồ đằng sau dưới sự chỉ đạo của ai đó ! ai dám chắc anh hoàn toàn là chủ đích bảo vệ tính riêng tư người dùng ? thôi quăng hết mã nguồn lên công cộng cho các chuyên gia trong và cả ngoài nước đánh giá, chừng nào thiên hạ thấy ổn thì hãy quảng cáo cho dân sài. Em cám ơn em xin hết !
MLB VN said…
cái vụ này bắt đầu thấy nhảm rồi. Lập luận của anh Thái cũng không còn chặt chẽ như trước nữa.
‏‏‎ said…
Tôi là sinh viên. Tôi chưa cài và không có ý định cài Bluezone. Tôi quan tâm đến quyền riêng tư. Tôi xin đưa ra ý kiến và hỏi anh một số vấn đề như sau:
- "Lỗ hổng nghiêm trọng"? Anh dựa vào đâu để đánh giá những những cái mà anh gọi là lỗ hổng là nghiêm trọng? Trong khi thế giới họ đánh giá mức độ nghiêm trọng của một lỗ hổng qua nhiều tiêu chí khác nhau, chẳng hạn các tiêu chí về khả năng khai thác, về phạm vi ảnh hưởng,... và đây dường như không phải là công việc của người đưa ra báo cáo lỗ hổng. Các vấn đề được anh đề cập thậm chí còn đang được tranh luận và anh chưa hề đưa ra được các bằng chứng nào (chẳng hạn về cách thức và mức độ phức tạp để khai thác).
- Anh thường xuyên đề cập đến việc cách làm của Bluezone là "không giống ai", và cho rằng việc họ không làm theo "đề nghị không sai mà chỉ thừa" của anh là một lỗ hổng nghiêm trọng (mục 1, 2). Anh không hề đưa ra các phân tích hay giải thích cho khẳng định của mình: nếu mỗi người sử dụng Bluezone chỉ có một mã số duy nhất,... thì "người sử dụng có thể bị theo dõi, bị lộ thông tin vị trí,...". Đây không giống cách làm của một chuyên gia hay một người có kinh nghiệm, có uy tín, ít nhất là như tôi kỳ vọng (tôi không cho rằng cái không giống này của anh là một lỗ hổng).
- Việc nhầm lẫn mà nhiều người cho rằng là "non tay", là "thiếu hiểu biết" về những kiến thức mà mọi người đều biết của anh là nghiêm trọng. Nếu thực sự có kinh nghiệm thì chắc chắn anh sẽ không gặp phải những sai lầm cơ bản như thế này trong báo cáo này, từ đó đưa ra những khuyến nghị không tin cậy.
- Sau khi nhận ra các nhầm lẫn của mình, anh tiếp tục đưa ra ý kiến về các vấn đề liên quan, như: "Tất cả các ứng dụng khác trên cùng điện thoại có thể đọc được dữ liệu này và qua đó có thể biết được người dùng đã gặp ai, ở đâu,...". Đây tiếp tục là một sai lầm. Liệu có phải tất cả các ứng dụng khác trên cùng điện thoại đều có quyền truy cập external storage hay không? Nếu có thì việc có một ứng dụng có mục đích xấu như anh mô tả trên điện thoại có phải là lỗi của Bluezone? Liệu một ứng dụng đọc được dữ liệu mà Bluezone lưu trên external storage thì có chắc nó có thể hiểu hoặc suy ra các thông tin nhạy cảm hay không? Cho dù câu trả lời là có hoặc không, việc không đưa ra các phân tích lại một lần nữa khẳng định mức độ hiểu biết và chuyên nghiệp của anh về vấn đề này.
- Trong một bình luận, anh có đề cập tới least privilege principle, vậy theo anh có cách làm nào khác? tại sao anh không liệt kê và đề xuất cho họ (câu gợi ý), liệu họ có thể làm được việc theo cách mà anh nói? Và anh có biết tới nguyên tắc đầy đủ, hợp lý trong đảm bảo an toàn thông tin, trong đó đề cập đến việc không có an toàn tuyệt đối, đến rủi ro ở mức chấp nhận được, đến chi phí...?
- Rất may mắn, với những lo ngại của anh, Việt Nam đang có các phương pháp phi chính tắc trong đảm bảo an toàn thông tin, như giáo dục, cưỡng chế,.. thông qua các phương tiện như Luật an toàn thông tin mạng, Luật an ninh mạng,... Các ràng buộc này sẽ góp phần bảo vệ thông tin của người dùng. Điều này chắc anh đã nắm được. Hơn nữa, anh cũng tin rằng "mỗi người sẽ làm đúng trách nhiệm của mình trong xã hội". Vậy mình đâu còn điều gì phải lo lắng nữa, phải không anh?
- Anh có đề cập đến giải pháp của nước này, nước nọ, vậy chắc anh cũng biết đến các lỗ hổng theo như anh là nghiêm trọng trong các ứng dụng này, chẳng hạn như có yêu cầu quyền truy cập vị trí,.. anh đã báo cáo cho họ chưa? Nếu chưa, anh còn do dự điều gì?
- Trong tình hình dịch bệnh như hiện nay, các đội ngũ phát triển phần mềm đang tích cực phát triển các giải pháp hỗ trợ cho công tác phòng chống dịch bệnh, còn anh, anh đang "rảnh quá", vậy thay vì cố gắng đưa ra các phán xét rồi chờ phản hồi, tại sao anh không đề xuất giải pháp để hoàn thiện ứng dụng quan trọng và thiết yếu này? Anh cố gắng chứng minh ứng dụng có lỗ hổng, rồi chờ 7 ngày gì đó, để rồi làm gì? Biết đâu sau 7 ngày, người đáng lẽ sẽ ghi nhận lỗ hổng cho anh lại chết vì dịch bệnh do không cài Bluezone?

From KMA.
loc hoang said…
@bạn KMA gì đấy,

Trong tình hình dịch bệnh như hiện nay, các đội ngũ phát triển phần mềm đang tích cực phát triển các giải pháp hỗ trợ cho công tác phòng chống dịch bệnh, còn anh, anh đang "rảnh quá", vậy thay vì cố gắng đưa ra các phán xét rồi chờ phản hồi, tại sao anh không đề xuất giải pháp để hoàn thiện ứng dụng quan trọng và thiết yếu này?
=> bạn nên xem video: https://www.youtube.com/watch?v=UcYriiVekGI&feature=youtu.be

Anh cố gắng chứng minh ứng dụng có lỗ hổng, rồi chờ 7 ngày gì đó, để rồi làm gì?Biết đâu sau 7 ngày, người đáng lẽ sẽ ghi nhận lỗ hổng cho anh lại chết vì dịch bệnh do không cài Bluezone?
=> bạn nên đọc hết bài này: https://vnhacker.blogspot.com/2020/04/lo-hong-nghiem-trong-trong-phan-mem.html, anh Thái nói đã gửi chi tiết lỗ hổng đến Bkav và sau 7 ngày mới công bố chi tiết lỗ hổng ra cộng đồng để tránh lỗ hổng bị khai thác trong thực tế, theo đúng chính sách của Google: https://www.google.com/about/appsecurity/

Rất may mắn, với những lo ngại của anh, Việt Nam đang có các phương pháp phi chính tắc trong đảm bảo an toàn thông tin, như giáo dục, cưỡng chế,.. thông qua các phương tiện như Luật an toàn thông tin mạng, Luật an ninh mạng,... Các ràng buộc này sẽ góp phần bảo vệ thông tin của người dùng. Điều này chắc anh đã nắm được. Hơn nữa, anh cũng tin rằng "mỗi người sẽ làm đúng trách nhiệm của mình trong xã hội". Vậy mình đâu còn điều gì phải lo lắng nữa, phải không anh?
=> ý bạn là khi đã có luật chống trộm cắp, có công an thì chúng ta không cần phải đóng cổng, khoá cửa nữa?

Lần sau bạn nên tìm hiểu kĩ trước khi phát biểu một cách chụp mũ như thế nhé.
Truong Anh Tuan said…
Bluezone đã thấy lên GitHub rồi ae ơi: https://github.com/BluezoneGlobal :)
Thái & anh em vào xem nhé!

Cá nhân tớ cũng thấy ra một số vấn đề rồi, đang cân đối lại resource cá nhân để tham gia cùng từ những việc "thạo" để giúp team mở thế nào cho đúng.
Chiến được trực tiếp thì pull request luôn.
hihi said…
This comment has been removed by the author.
hihi said…
Cảm ơn đóng góp của anh cho cộng đồng, đóng góp dù đúng hay sai cũng là động lực để app bluezone phát triển tốt lên.
Như môn triết em đã được học, có mâu thuẫn mới có phát triển.

From KMA, khác KMA ở trên :)
thiendia.me said…
Tài liệu về Bluezone: https://bluezone.vn/Bluezone_White_paper.pdf
Zic said…
Các chiên giá thay vì chém gió tung giời
Adua acong
Thì PR (pull request) trên github đi nào

Cheers
Cl0v3r said…
Đúng là mặc định Bluetooth Classic trên Android ở chế độ ẩn (non-discoverable). Nhưng việc để chế độ mặc định này là discoverable hay non-discoverable là tùy thuộc hãng sản xuất. Ví dụ SamSung, Google Nexus có tùy chọn cho phép non-discoverable/discoverable khi setting bluetooth. Tuy nhiên đa phần các dòng điện thoại Android của Trung Quốc đều luôn luôn là discoverable - không có tùy chọn nào khác. Em đã thử nghiệm trên các dòng máy của Xiaomi, Oneplus, Oppo - tất cả đều luôn luôn discoverable. Có rất nhiều phàn nàn về vấn đề này trên các mạng, ví dụ: https://www.reddit.com/r/Xiaomi/comments/7c5mhx/apparently_in_miui_9_bluetooth_is_always/

Ngoài ra anh Thái có nhận xét gì về vấn đề lỗ hổng RCE BlueFrag (CVE-2020-0022) ảnh hưởng trên Android 8.0, 8.1, 9.0. Nếu bật Bluetooth Classic thì chắc chắn có thể bị exploit, còn nếu chỉ có BLE thì sao? Việc chạy các ứng dụng contact tracing thì luôn luôn phải bật Bluetooth nên vấn đề lỗ hổng này chắc chắn phải quan tâm.
Thai Duong said…
>Đúng là mặc định Bluetooth Classic trên Android ở chế độ ẩn (non-discoverable). Nhưng việc để chế độ mặc định này là discoverable hay non-discoverable là tùy thuộc hãng sản xuất. Ví dụ SamSung, Google Nexus có tùy chọn cho phép non-discoverable/discoverable khi setting bluetooth. Tuy nhiên đa phần các dòng điện thoại Android của Trung Quốc đều luôn luôn là discoverable - không có tùy chọn nào khác. Em đã thử nghiệm trên các dòng máy của Xiaomi, Oneplus, Oppo - tất cả đều luôn luôn discoverable. Có rất nhiều phàn nàn về vấn đề này trên các mạng, ví dụ: https://www.reddit.com/r/Xiaomi/comments/7c5mhx/apparently_in_miui_9_bluetooth_is_always/

Cảm ơn bạn, thông tin rất hữu ích. Tôi thấy có người giới thiệu cái app [1], giúp tự động tắt Bluetooth discoverability, tôi nghĩ contact tracing apps cũng nên làm việc này.

[1] https://play.google.com/store/apps/details?id=com.minol.miuibluetoothfix

>Ngoài ra anh Thái có nhận xét gì về vấn đề lỗ hổng RCE BlueFrag (CVE-2020-0022) ảnh hưởng trên Android 8.0, 8.1, 9.0. Nếu bật Bluetooth Classic thì chắc chắn có thể bị exploit, còn nếu chỉ có BLE thì sao? Việc chạy các ứng dụng contact tracing thì luôn luôn phải bật Bluetooth nên vấn đề lỗ hổng này chắc chắn phải quan tâm.

Ừ, đây là inherent issue của việc sử dụng Bluetooth. Tôi nghe nói, nhưng không có kinh nghiệm trực tiếp, BLE tốt hơn BC, vì xử lý BLE advertisement khá đơn giản, nên attack surface nhỏ hơn.

Cảm ơn còm này của bạn. Tôi sẽ đi nói chuyện với team CT để coi họ tính xử lý những vấn đề này ra sao.
Thai Duong said…
Cl0v3r: bạn có thể email cho tôi ở địa chỉ thaidn@gmail.com được không? Tôi muốn làm vài cái test, mà không có Android TQ nên không biết làm sao.

Cụ thể tôi kiểm tra xem khi gửi BLE advertisements, các điện thoại này có thay đổi địa chỉ MAC không? Nếu bạn có thể kiểm tra thì báo lại cho tôi biết nhé. Chắc bạn biết rồi, nhưng nếu chưa biết thì trên Linux bạn có thể xài mấy cái tool này để scan: https://null-byte.wonderhowto.com/how-to/bt-recon-snoop-bluetooth-devices-using-kali-linux-0165049/.
Thai Duong said…
Dựa vào thông tin của bạn Cl0v3r, Team của tôi đã báo cho Xiaomi, họ nói họ sẽ sửa lỗi này. Trong thời gian chờ Xiaomi sửa lỗi, tụi tôi cũng sẽ chỉnh Android để tắt Bluetooth discoverability khi Exposure Notification API trên Android được kích hoạt.