Cảnh báo: lỗ hổng nghiêm trọng trong ứng dụng Bluezone

Tóm tắt


Bluezone là ứng dụng truy vết tiếp xúc, giúp cảnh báo nếu bạn đã ở gần người nhiễm COVID-19. Ứng dụng này do Chính phủ Việt Nam phát hành và được thực hiện bởi các doanh nghiệp công nghệ số Việt Nam gồm: Memozone, VNPT, MobiFone và BKAV. Ngày 18/4/2020 VnExpress dẫn lời Bộ trưởng Nguyễn Mạnh Hùng:

Bluezone là bước tiến mới, có tính đột phá trong việc sử dụng công nghệ để phòng chống dịch bệnh. Đột phá ở chỗ, chính quyền không thu thập thông tin người dân [...] người dân có thể giám sát phần mềm mình đang dùng có an toàn không. Chúng ta không phải quốc gia đầu tiên dùng giải pháp này, nhưng phần mềm Việt Nam giải quyết được cơ bản các lỗi của các phần mềm trước đó.

Trong kết luận tại cuộc họp Thường trực Chính phủ về phòng, chống dịch COVID-19 ngày 23/4/2020, Thủ tướng Nguyễn Xuân Phúc cũng đã yêu cầu “khẩn trương đánh giá [...] ứng dụng Bluezone”. Tôi thấy vui mừng khi Chính phủ Việt Nam quan tâm đến quyền riêng tư của người dân. Sẵn có chút nghề trong người, thông qua một người bạn, tôi đã ngỏ ý trực tiếp với BKAV sẽ giúp họ đánh giá an ninh, nhưng cho đến nay chưa nhận được phản hồi. Ngày 24/4/2020, sau khi thấy ứng dụng Bluezone cho Android được đưa lên Google Play, tôi đã tải về coi thử.

Bằng cách dịch ngược mã phần mềm, tôi đã phát hiện nhiều lỗ hổng nghiêm trọng ảnh hưởng đến sự an toàn và riêng tư của người dùng. Tại thời điểm tôi viết những dòng này, đã có gần 10.000 người đăng ký sử dụng Bluezone và con số này tăng lên rất nhanh, chỉ riêng hôm nay đã tăng gấp 3 lần. Tôi muốn gửi lời cảnh báo đến tất cả mọi người, ai đã lỡ cài thì nên gỡ bỏ, còn ai chưa cài thì không nên cài.

Tôi đã gửi toàn bộ thông tin chi tiết về lỗ hổng đến BKAV. Tôi đề nghị BKAV và các đơn vị phát triển Bluezone tạm ngừng phát hành sản phẩm này. Thay vì tìm cách sửa chữa giải pháp hiện thời, tôi đề nghị sử dụng lại các giải pháp mở đã được thiết kế và kiểm định bởi những chuyên gia có uy tín. Giải pháp mở tốt nhất hiện tại là DP3T của Châu Âu.

Nếu việc phát triển Bluezone diễn ra trên một không gian mở như GitHub (mạng xã hội của lập trình viên), những vấn đề này đã sớm được phát hiện. Tôi đề nghị nhóm phát triển Bluezone ngay lập tức chuyển tất cả mã nguồn, tài liệu và đưa việc phát triển Bluezone lên GitHub.

Các quốc gia khi phát triển giải pháp truy vết tiếp xúc đều tham khảo ý kiến của các chuyên gia. Tôi thấy ứng dụng Bluezone có rất nhiều lỗ hổng sơ đẳng, chứng tỏ việc thiết kế và triển khai không có sự tham gia của những chuyên gia về an ninh mạng và riêng tư. Tôi đề nghị Chính phủ Việt Nam tổ chức đánh giá và phản biện độc lập trước khi giới thiệu với người dân một ứng dụng nhạy cảm như Bluezone.

Cách thức hoạt động của Bluezone


Nguồn: https://bluezone.vn


Tóm tắt những lỗ hổng nghiêm trọng


1/ Bluezone sử dụng sóng Bluetooth để phát và thu mã số ngẫu nhiên. Thay vì liên tục thay đổi mã số ngẫu nhiên như các giải pháp của Singapore, Châu Âu hay Google/Apple, mỗi người sử dụng Bluezone chỉ có một mã số duy nhất, gọi là mã ID Bluezone. Người sử dụng không thể thay đổi mã số này, trừ khi xóa và cài lại ứng dụng. Cách làm không giống ai này khiến người sử dụng có thể bị theo dõi, bị lộ thông tin vị trí, hành trình, đã gặp ai, có bị nhiễm hay phơi nhiễm hay không.

2/ Ngoài việc không thay đổi mã ID Bluezone, ứng dụng Bluezone cũng không thay đổi địa chỉ Bluetooth của thiết bị. Nếu không thay đổi địa chỉ Bluetooth người dùng sẽ bị theo dõi và lộ bị lộ thông tin vị trí, hành trình, đã gặp ai, có bị nhiễm hay phơi nhiễm hay không. Đây cũng làm một cách làm không giống ai, vì các giải pháp của Châu Âu, Singapore hay Google/Apple đều nhấn mạnh phải thay đổi địa chỉ Bluetooth.
Cập nhật 24/4/2020 7:30PM: chỗ này không công bằng với Bluezone vì muốn thay đổi địa chỉ Bluetooth thì cần sự hỗ trợ của hệ điều hành và phần cứng. Để an toàn, mã ID Bluezone và địa chỉ Bluetooth phải được đổi cùng lúc. Trên một số dòng điện thoại Android, nếu ứng dụng khởi động lại quá trình gửi quảng cáo qua Bluetooth thì địa chỉ Bluetooth sẽ thay đổi, nhưng chuyện này còn phụ thuộc vào nhà sản xuất điện thoại. Còn trên iOS hiện giờ tôi không biết có cách nào không. API mới mà Google/Apple sắp phát hành vào tháng 5 năm nay hi vọng sẽ tự động hóa việc này, các ứng dụng truy vết như Bluezone có thể dùng lại mà không cần quan tâm đến vấn đề này nữa.

3/ Mã ID Bluezone quá ngắn, dễ dẫn đến trùng mã. Tổng số lượng mã ngẫu nhiên là ở khoảng 36^6, tức lớn hơn 2^31 một chút. Theo nghịch lý ngày sinh, chỉ cần 2^16 người đăng ký sử dụng, tức là khoảng 65 ngàn người, thì sẽ có hai người có mã ID Bluezone trùng nhau với xác suất cao. Khi đó, nếu một trong hai người bị nhiễm (phơi nhiễm), người kia cũng sẽ bị tính là nhiễm (phơi nhiễm)!

4/ Thuật toán tạo mã ID Bluezone rất dễ đoán. Chỉ cần biết thời điểm bạn đăng ký sử dụng app, người khác có thể đoán được mã ID của bạn. Tôi có thể tính được mã ID Bluezone của tất cả người dùng. Nếu bị lộ mã ID Bluezone, người dùng có thể bị kẻ xấu quy kết là đã nhiễm bệnh hoặc phơi nhiễm, dẫn đến bị cách ly, mặc dù hoàn toàn khỏe mạnh.

5/ Khi chạy app Bluezone lần đầu tiên, Bluezone đăng ký để nhận tin nhắn từ máy chủ BKAV qua dịch vụ Firebase Cloud Messaging. Quá trình đăng ký dựa vào ID Bluezone, nhưng vì ID Bluezone có thể bị đoán trước, kẻ xấu có thể dễ dàng đăng ký để nhận mã ID Bluezone của tất cả người dùng, hoặc của một nhóm người dùng. Khi đó tất cả tin nhắn mà máy chủ BKAV gửi xuống người dùng đều sẽ bị lộ.

6/ Ứng dụng Bluezone Android yêu cầu người dùng cấp quyền truy cập thông tin vị trí, hình ảnh, tài liệu lưu trên điện thoại. Bluezone không cần sử dụng những thông tin này để thực hiện truy vết. Nhóm phát triển ứng dụng nên gỡ bỏ những yêu cầu này.
Cập nhật 3PM 24/4/2020: Bluezone phải yêu cầu người dùng cấp quyền truy cập thông tin vị trí vì Android bắt buộc (nguồn). Đây là một tính năng privacy của Android, vì thông qua Bluetooth có thể định vị vị trí của người dùng. Cảm ơn bạn Triệu Minh Khôi đã chỉ ra (nhưng không hiểu sao lại xóa comment rồi àh đã post còm mới rồi). Bluezone yêu cầu quyền đọc và ghi external storage, đây là nơi Android lưu hình ảnh, tài liệu. Bạn Triệu Minh Khôi có nói sở dĩ Bluezone làm vậy là vì muốn backup các ID Bluezone đã thu thập được. Tôi nghĩ không nên backup thông tin nhạy cảm ra external storage, vì đây là nơi ai cũng có thể đọc.
Cập nhật 8:30PM 24/4/2020: Tôi đã xác nhận Bluezone ghi xuống external storage những ID Bluezone và địa chỉ của các thiết bị mà nó đã thấy. 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, vào lúc nào. Các ứng dụng này cũng có thể xóa hay ngụy tạo dữ liệu để khiến người dùng bị false positive (không bị phơi nhiễm nhưng bị quy là có) và false negative (bị phơi nhiễm nhưng tưởng là không).

Để hiểu rõ tác hại của những vấn đề này, xin tham khảo phân tích an ninh và riêng tư cho các giải pháp truy vết tiếp xúc của DP3T.

Chi tiết lỗ hổng


Toàn bộ thông tin chi tiết về tất cả lỗ hổng đã được chuyển cho BKAV và sẽ được công bố rộng rãi sau 7 ngày nữa. Thời gian biểu này tuân theo chính sách công bố lỗ hổng bảo mật của Google, nhưng xin lưu ý tôi làm việc này hoàn toàn trên danh nghĩa cá nhân, với tư cách một người Việt Nam, không liên quan gì đến nơi tôi làm việc.

(Xem phản hồi của Bluezone)

Lịch sử thay đổi
(3AM 24/4/2020) Công bố báo cáo.
(3PM 24/4/2020) Điều chỉnh lại một chỗ chưa chính xác, giải thích tại sao Bluezone phải cần quyền truy cập thông tin vị trí mặc dù không dùng đến vì đây là yêu cầu của Android. Cảm ơn bạn Triệu Minh Khôi đã chỉ ra chỗ sai này.
(24/4/2020 7:30PM) Thêm một đoạn giải thích hiện giờ Bluezone không thể tự thay đổi địa chỉ Bluetooth mà phải phụ thuộc vào hệ điều hành và phần cứng.
(8:30PM 24/4/2020) Thêm một lỗ hổng mới: Bluezone lưu dữ liệu thu thập được vào external storage, đây là phần bộ nhớ mà các app khác cài trên cùng điện thoại có thể thoải mái đọc/ghi.

Comments

Unknown said…
Mục 1 2 rất có nguy cơ xâm phạm quyền riêng tư vào mục đích xấu. Bạn thái cho hỏi nếu tải app về đăng kí tài khoản,không bật mạng,không bật bluetooth thì vị trí của mình có bị chia sẻ không?
Unknown said…
Cũng mong qua việc này chính phủ Việt Nam nên có cái nhìn rõ hơn về lĩnh vực công nghệ, ko phải đơn vị nào nói làm được được và demo đc (ít người dùng) là có thể cho phép họ thực hiện trên phạm vi lớn.
Nguồn lực của BKAV thực sự rất yếu, nhân lực phần lớn toàn mấy bạn kỹ sư mới ra trường. Để làm những việc quan trọng và có ý nghĩa đối với đất nước như thế này cần những đơn vị có nguồn lực mạnh. Ko phải chỉ tải Open source về demo là xong.
Việt Nam hiện tại đã có nhiều đơn vị, công ty có đủ khả năng để thực hiện công việc như thế này. Cộng với một đội ngủ chuyên gia sẵn sàng hỗ trợ nếu phát triển trên cộng đồng mở.
Mong phía nhà nước cân nhắc lại cũng như BKAV tự xem lại mình. Thanks.
Unknown said…
Quá fast and furious Thái. Good job.
Mình cũng vừa down trưa nay, chưa xem được bao nhiêu.
hoadongtien said…
Cảm ơn anh Thái. Nể anh ghê!
Unknown said…
Ha ha :). BKAV họ không quan tâm đâu, nói thật với bác nhân viên BKAV toàn là sinh viên mới tốt nghiệp, lấy đâu ra người phân tích. Sản phẩm thì kém nhưng lúc nào cũng lấy truyền thông ra để khoe thôi.
Le Huong said…
Bạn Thái quá nhanh và quá hay! Cảm ơn nhiều! Lúc mình down về mới có mấy trăm người nên chưa thấy kết quả gì. Tuy nhiên đọc bài này xong mình giữ rồi. Thật buồn cho một ứng dụng có ý nghĩa lại bị làm cẩu thả vậy. Mất lòng tin sau này khó có được số người dùng đủ lớn ��
anhtn said…
Một số lỗi khá sơ đẳng sao có thể mắc phải được nhỉ, chứng tỏ đội ngũ làm ứng dụng này còn khá non tay
Unknown said…
Các bác phải đưa cho báo chí tác động chứ viết ở đây r cũng bị đi vào dĩ vãng à :). Với quan điểm của em công nhận hệ thống có lỗi nhưng BKAV họ cậy sản phẩm nhà nước nên chưa chắc họ đã fix phần quyền riêng tư đâu. Cùng lắm là fix lại đoạn sinh ID. Còn chưa kể tư duy làm cái này ko biết hộ lưu data như thế nào nữa chứ lưu vết dễ bùng nổi cơ sở dữ liệu lắm.
Giàng A Pháo said…
Em rất khoái cái món quăng lựu đạn này của anh Thái, chỉ tiếc là ít người như anh quá.
Thai Duong said…
Giàng A Pháo: tôi thích tên của bạn. Gì chứ quăng lựu đạn là nghề của tôi, hồi xưa bắn Counter Strike tôi toàn quăng nhầm đồng đội chết nên bây giờ rất có kinh nghiệm.
admin said…
bkav còn bận thiết kế Bphone 5 siêu khủng đập chết hàng samsung và iphone cơ .
seanxluong said…
Ứng dụng này phát hành qua nguồn nào anh ơi? Nếu qua Google Play Store thì có thể escalate trong Google để tăng cường scrutinize các ứng dụng contact tracing kiểu này không?
This comment has been removed by the author.
This comment has been removed by the author.
Về quyền vị trí, mình tìm trong FAQ có trả lời: “Bluezone không ghi nhận cũng như sử dụng vị trí của người dùng. Khi bạn cài đặt Bluezone trên Android và kích hoạt Bluetooth thì máy sẽ xin cấp quyền vị trí, điều này là do chính sách của Google khi bật Bluetooth BLE máy sẽ tự động xin quyền vị trí. Tuy nhiên Bluezone không sử dụng tới quyền đó.”

Về hình ảnh, âm thanh, tài liệu: mình có check trong phần quyền truy cập ở điện thoại thì nó chỉ ghi là "Lưu trữ" thôi, chứ nó không đòi cấp quyền là media, hình ảnh, tài liệu giống như các app Facebook, Zalo... Khi vào Bluezone có thông báo cấp quyền "ảnh và bộ nhớ" là cách diễn giải mặc định của android chứ thực tế Bluezone ko cần cấp quyền media. Quyền truy cập "bộ nhớ" thì app nào chẳng dùng đến, để các app còn backup dữ liệu lưu trên máy nữa chứ, tại sao với Bluezone thì nó lại là vấn đề nhỉ? Chẳng hạn bây giờ nếu app ko cấp quyền cho "bộ nhớ", user xóa app, mà user đó bị nhiễm bệnh, thế là mất hết dữ liệu để so sánh à?

Nhiêu đây thấy bác còn hơi non nớt, không biết toàn bộ bài viết này đáng tin?
Thai Duong said…
Triệu Minh Khôi: tôi đã cập nhật phần thông tin vị trí, xin cảm ơn, quả thật tôi đã không biết đây là yêu cầu của Android.

Về hình ảnh, âm thanh, tài liệu: tôi đã có giải thích thêm.

Tôi nghĩ bạn có thể nói chuyện bình thường mà không cần tấn công cá nhân.
mình ko "tấn công cá nhân", vì thấy profile là hacker, cũng đọc một vài thông tin trên mặt báo nên thấy hơi bất ngờ khi thấy bác non nớt về mấy cái đơn giản như vậy. Đơn giản ở chỗ là bác có nói là Bluezone yêu cầu truy cập vào media, hình ảnh..., nhưng nếu ai dùng adnroid thường xuyên sẽ biết chính xác là thông báo mặc định của android nó như thế. Với lại, trong cách hoạt động của Bluezone hoặc tham khảo một số app tương tự như Bluezone đang triển khai thì việc truy cập vào "bộ nhớ" là bắt buộc thì mới có hiệu quả, còn yêu cầu truy cập thêm cái gì nữa hay không thì tùy từng app. Bluezone thì chỉ yêu cầu truy cấp 2 cái là vị trí và bộ nhớ.

Nhưng điều mình muốn nói ở đây là việc yêu cầu truy cập đâu có là vấn đề, đặc biệt với một app về sức khỏe. Trong khi rất nhiều app hiện nay đòi truy cập đủ thứ? Đúng không?
Tướng Quân said…
Cảm ơn anh Thái, điều này sẽ giúp Bkav hoàn thiện ứng dụng. Qua bình luận có thể thấy nhiều chỗ anh Thái cũng chưa nắm rõ, vậy Anh Thái liên hệ thẳng trực tiếp với Bkav là tốt nhất, để 2 bên trao đổi cụ thể hơn.
Thai Duong said…
Triệu Minh Khôi: ý bạn là tôi không hiểu tại sao Android ghi vậy? Chỗ này thì không đúng rồi, tôi biết mỗi khi app yêu cầu đọc ghi external storage thì Android sẽ hiển thị lên như vậy. Tôi ghi lại giống như Android thông báo vì đó là cách giải thích dễ hiểu nhất.

Bluezone không cần sử dụng external storage. Như tôi đã nói ở trên, việc backup dữ liệu ra external storage sẽ khiến dữ liệu đó bị lộ ra cho tất cả các app cài trên điện thoại.

>Nhưng điều mình muốn nói ở đây là việc yêu cầu truy cập đâu có là vấn đề, đặc biệt với một app về sức khỏe. Trong khi rất nhiều app hiện nay đòi truy cập đủ thứ? Đúng không?

Tôi đồng ý là nhiều app cũng yêu cầu như vậy, nhưng có một nguyên tắc trong bảo mật là least privilege principle, nếu mình có thể làm được việc mà không cần yêu cầu cấp thêm quyền thì không nên yêu cầu cấp thêm quyền làm gì.

Nếu người dùng xóa app, Bluezone nên tôn trọng riêng tư của người dùng, không nên tự ý chép dữ liệu ra external storage. Tôi hiểu có một conflict of interest ở dây, nếu người ta bị bệnh mà cố tình xóa app. Tôi không có phương án hoàn hảo, nhưng tôi vẫn tin mỗi người sẽ làm đúng trách nhiệm của mình trong xã hội. Hơn nữa, nếu người dùng biết Bluezone sẽ lưu dữ liệu lại ngay cả khi app đã bị xóa thì tôi nghĩ người ta sẽ có thể lý do để không sử dụng Bluezone.

Bạn nhắc đi nhắc lại chuyện "non nớt", tôi nghĩ là không cần thiết. Chúng ta đang có một cuộc nói chuyện kỹ thuật ở đây. Tôi có non nớt như thế nào không liên quan đến cuộc nói chuyện này. Nếu những vấn đề khác mà tôi chỉ ra cũng có chỗ sai sót, bạn có thể tập trung vào đó. Đó là cách dễ nhất để discredit tôi nếu bạn muốn.
Thai Duong said…
>Cảm ơn anh Thái, điều này sẽ giúp Bkav hoàn thiện ứng dụng. Qua bình luận có thể thấy nhiều chỗ anh Thái cũng chưa nắm rõ, vậy Anh Thái liên hệ thẳng trực tiếp với Bkav là tốt nhất, để 2 bên trao đổi cụ thể hơn.

Tôi đã gửi thông tin rồi. Chỗ tôi ghi sai là một chi tiết rất nhỏ, không ảnh hưởng gì đến báo cáo của tôi. Tôi nghĩ chúng ta có thể move on qua những chỗ khác mà bạn đã tìm thấy. Còn nếu chưa thấy chỗ nào sai nữa thì cũng không nên ghi là "nhiều chỗ".
Ryan said…
Một chi tiết nhỏ, mình thấy Google & Apple không có phát triển app giải pháp, mà đơn giản chỉ là mở quyền truy cập thông tin từ Bluetooth để enable khả năng track của app dạng này. App của Úc cũng đang gặp phản ứng tương tự như vầy, làm sao để bảo mật thông tin người dùng khi mà app cần phải map ID với thông tin cá nhân. Dù chỉ là thông tin cơ bản nhưng cũng quan trọng. Vd nếu hacker lấy được thông tin này, đặt bluetooth beacon ở vị trí nào đó thì có thể xác định danh tính những ai đã đi ngang beacon.
Minh said…
app kiểu như này bên Sing cũng đang gặp phản ứng tương tự khi ngoài yêu cầu quyền truy cập thì app này phải đăng ký thông tin cá nhân. Tương tự như app NCOVID ở Việt Nam, nhưng không thấy phản ứng nào cả. 2 app này có đặc điểm chung là yêu cầu bắt buộc. Vậy câu hỏi là Bluezone nếu phát triển theo hướng yêu cầu bắt buộc, trách nhiệm của công dân thì sẽ thế nào?

Còn với toàn bộ bài viết này chỉ có ý nghĩa tham khảo và phỏng đoán, bởi những vấn đề sơ đẳng nhất tác giả còn chưa nắm chắc. Đó là "lỗ hổng" của tác giả, dẫn tới toàn bộ bài viết không còn giá trị. Có thể sẽ giá trị với Bkav, với Chính phủ.

Nhưng dường như tác giả có vẻ tự tin với trình độ của mình và đánh giá thấp Chính phủ, Bộ 4T và nhóm phát triển ứng dụng gồm Bkav, VNPT, Mobifone...
Bkav và đội ngũ phát triển app nên nghiêm túc nhìn nhận và kiểm tra thật kỹ. Các còm phía trên cũng rất đáng quan tâm để cả anh Thái và Bkav cân nhắc thêm.
Quang Nguyễn said…
Tôi nghĩ chúng ta nên cảm ơn a Thái đã chỉ ra các điểm lưu ý nghiêm trọng của ứng dụng này, các bạn bkav làm tất cả để có app tốt nhất và an toàn nhất vì người dùng mà. Nếu các bạn thật sự toàn tâm vì lợi ích cộng đồng thì khi chúng ta phát hiện lội thì chúng ta mới thoải mái trao đổi với nhau. Còn ko giống như 2 bên đang quẳng bom nhau vậy. Tôi đọc bài này được cái lợi là tiếp cận được rất nhiều kiến thức. Dù sao cũng cảm ơn BKAV vì các bạn cũng đang cố gắng.
icemain said…
Mình đaz tham gia minitalk của Thaia và cảm thấy rất đồng quan điểm. Với Bluezone mình có mấy ý thế này

Không thể hiểu tư duy đột phá của Bluezone?

1- Email thư mời đóng góp như bố người ta. Nếu không vì có lời mời của Một Ông Anh thì mình cũng kệ cbn luôn.

2- Yêu cầu 3 quyền: Storage Permission, Phone Và Location nhưng không giải tgichs rõ ràng. Store để làm gì khi xóa mịa cái thư mục Bluezone thì vẫn chạy (thực tế thư mục đó lưu database backup và file log txt). Phone Permission để truy cập contact người dùng làm gì? Riêng con Location thì do yêu cầu từ Android 6.0 thì mới cho BLE scanning.

3- Nếu bạn chỉ cho app truy cập location khi mở app thì chức năng contact tracing có thể vứt zó vì có quét được đâu? Còn lúc nào cũng mở thì ahihi, tốn pin chết luôn. Xuyên tường thoải mái và vẫn nhận các máy khác. Tuy nhiên việc tách ở gần và ở xung quanh sẽ giải quyết tức thời câu chuyện 2m hay 5m.

4. Bluezone có thiết kế riêng một chữ ký theo tên của MIC nên câu chuyện middleman tráo gói tin là có thể tạm thời ok. Mình đã test dựng 1 firewall chặn giữa thì api không hoạt động. Và rất kỳ lạ, khi đó app nhảy về chế độ beta với 300 bluezoner, hahaha - quá đột phá

5- Clear data một phát lại như mới - như vậy hiệu quả cảnh báo sẽ có thể tèo nếu thực sự bạn có tiếp xúc F0 nhưng đã lỡ/cố tình thay đổi bluezone ID. Mình đánh ra khâu BA chỗ này tê

6- Cảm giác để công Bluezone chạy ngầm và lúc nào cũng thò mặt trên notification bar là rất khó chịu. Độ tiêu hao pin thì nhỏ.

7- Chưa public Whitepaper, Chưa công bốk mã nguồn, Không đưa ra thời điểm sẽ thực hiện việc này. Chả khác mịa gì vụ bán Bphone mạ vàng ở Dubai. Sự minh bạch và nhất quán đã gây ra sự phản cảm của cộng đồng.

8- Mình đã Gỡ và không dùng nữa cho tới khi Bluezone thực hiện cam kết tuân thủ việc công bố thông tin minh bạch.
icemain said…
Đây là cảm nhận đầu tiên của mình ngay khi BZ lên store và trước khi Thái công bố lỗ hổng. Xin phép được chia sẻ

Nói thật là cũng muốn ủng hộ ContactTracing App Việt lắm nhưng mà... Điều quan trọng là SỰ TIN TƯỞNG PHẢI DỰA VÀO TÍNH MINH BẠCH thay vì QUĂNG BOM THẢ THÍNH :-(

Tinh năng:

- Cứ vào Clear Data thì smartphone của bạn sẽ lại có một mã bluezone ID mới. Điều đó nghĩa là khi bạn cài lại app thì lại có 1 Contact ID mới và các dữ liệu lịch sử tiếp xúc lại thay đổi :)

- Mất kết nối Internet hoặc có lỗi với apibz thì bạn về chơi bản Beta với 300 bluezoner ngay

- 2 điện thoại Android để cách nhau 3m nhưng báo bạn tiếp xúc gần

- Sẽ kiểm tra xuyên tường và Android tiếp cận iPhone thế nào...

Liên quan:
1- Quảng cáo chéo cho một sản phẩm cộng đồng - Header không phù hợp: Covid mà lại quảng bá Phần mềm diệt Virus phổ biến nhất VN. Sau khi report thì đã có update sửa.

2- Nói không truy xuất dữ liệu người dùng, tại sao lại cần quyền truy cập Phone Contact? Về Location thì có thể hiểu do yêu cầu của Google API BLE Scanning từ các máy Android 6.0 - tuy nhiên liệu có phải khuyến cáo khách quan với người dùng lo ngại dữ liệu?

3- Về cơ chế không lấy dữ liệu thì con APIBZ trỏ về server BKAV làm gì? Lại thêm tracker Firebase?

Nói chung, sự e ngại về tính minh bạch là điều cản trở lớn nhất cho sản phẩm này :-(

Update: Mình dùng thử Mobile Security Framework để check thì thấy một đống thứ thú vị trong này. Bạn nào thích đọc full report thì đây: https://drive.google.com/open?id=1sWZWXCYlRKkzW8a9-goYI_XLWT9ybX0y

4- Trong đó chả hiểu một số persmission bị Marked cũng như các issue mô tả trong Manifest Analysis.

+ com.mic.bluezone.permission.C2D_MESSAGE: Allows cloud to device messaging & Allows the application to receive push notifications.

+android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: Permission an application must hold in order to use (Tốn pin phải biết)

+ android.permission.ACCESS_COARSE_LOCATION & android.permission.ACCESS_FINE_LOCATION: Access coarse location sources, such as the mobile network database, to determine an approximate phone location, where available. Malicious applications can use this to determine approximately where you are. Access fine location sources, such as the Global Positioning System on the phone, where available. Malicious applications can use this to determine where you are and may consume additional battery power.

5- Đặc biệt, không hiểu sao permission còn cả đống Huawei, Oppo, HTC, Sony Ericssion, Solid (majeur launcher) Launcher làm quái gì nữa?

com.sonyericsson.home.permission.BROADCAST_BADGE
com.sonymobile.home.permission.PROVIDER_INSERT_BADGE
me.everything.badger.permission.BADGE_COUNT_READ
me.everything.badger.permission.BADGE_COUNT_WRITE
com.oppo.launcher.permission.WRITE_SETTINGS
com.oppo.launcher.permission.READ_SETTINGS
com.majeur.launcher.permission.UPDATE_BADGE
com.huawei.android.launcher.permission.WRITE_SETTINGS
com.huawei.android.launcher.permission.READ_SETTINGS
com.huawei.android.launcher.permission.CHANGE_BADGE
com.htc.launcher.permission.READ_SETTINGS
com.htc.launcher.permission.UPDATE_SHORTCUT

6- Ngoài ra còn Tracker từ Google Firebase...
com.google.android.gms.gcm.GcmReceiver
com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher
com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver
com.cpmsmobileapp.BootStartReceiver
io.invertase.firebase.messaging.ReactNativeFirebaseMessagingReceiver
com.learnium.RNDeviceInfo.RNDeviceReceiver
com.google.android.datatransport.runtime.scheduling.jobscheduling.AlarmManagerSchedulerBroadcastReceiver
com.google.firebase.iid.FirebaseInstanceIdReceiver
com.google.android.gms.measurement.AppMeasurementReceiver
com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver

Sẽ ngâm cứu tiếp bạn TraceTogether của Singapore xem sao... Bác nào thích thì tự deploy cái Mobile Security Framework này lên Docker mà nghịch https://github.com/MobSF/Mobile-Security-Framework-MobSF
Unknown said…
Hay quá anh Thái ơi, bất ngờ thật, trước giờ chỉ biết anh là ca sĩ, cám ơn anh đã chia sẻ, mình không hiểu sâu, nhưng cũng xóa ngay ứng dụng bluezone. Hy vọng Bộ TT&TT và Bkav cầu thị và sớm đưa ra bản fix cho những vấn đề này
Thai Duong said…
Iceman:

>2- Nói không truy xuất dữ liệu người dùng, tại sao lại cần quyền truy cập Phone Contact?

Ý bạn là cái permission android.permission.READ_PHONE_STATE? Phát hiện hay đó! Theo Android thì permission này cho phép Bluezone:

Allows read only access to phone state, including the phone number of the device, current cellular network information, the status of any ongoing calls, and a list of any PhoneAccounts registered on the device.

Tôi đồng ý là Bluezone nên bỏ. Bạn có muốn đưa phát hiện này vào báo cáo của tôi hay là bạn sẽ liên hệ riêng với bên BKAV?

[1] https://developer.android.com/reference/android/Manifest.permission#READ_PHONE_STATE
dolphin said…
Cho em hỏi thêm là có cách nào reverse enginee để xem các app lấy thông tin có giống như thế nào họ nói không? Vì về cơ bản em không tin là các thông tin được lưu trữ mã hóa an toàn và họ không lấy thêm dữ liệu gì khác ngoài ID định danh người dùng.
icemain said…
Thái cứ update chung thôi, mình không ngại đâu.
Thai Duong said…
icemain: tôi chưa nhận được phản hồi nào của BKAV, khi nào nhận được tôi sẽ báo cho họ biết. Tôi nghĩ họ cần clean up cái AndroidManifest.xml của họ.

dolphin: phần lớn thông tin trong bài này là do reverse engineering mà ra. Tuần sau tôi sẽ tổ chức một buổi livestream chỉ cách RE Android app với ví dụ là Bluezone.
mekong farmer said…
Nếu sau khi Apple và Google thống nhất cái BLE thì có cần cái App BlueZone này nữa không các anh?
Unknown said…
Hiện bên phía BKAV vừa cho đăng một bài viết phản biện, không biết anh Thái có thể đọc và phản biện ngược lại không?

https://whitehat.vn/threads/phan-tich-cac-van-de-lien-quan-den-bluezone.13534/
MLB VN said…
có lẽ bài này là câu trả lời của Bkav: https://whitehat.vn/threads/phan-tich-cac-van-de-lien-quan-den-bluezone.13534/?fbclid=IwAR2k4Xj9ELa_DyApKijruBOjBqncyDnjtX0LDOcpozMzI6XR9itChbnMunw
me09112001 said…
Câu trả lời đây: https://whitehat.vn/threads/phan-tich-cac-van-de-lien-quan-den-bluezone.13534/?fbclid=IwAR16LtPQlldkySWfIj5e2WqiisgF3eedSBFJQn0LGQ3I2-7hnsklGz-2KM4
Unknown said…
Mấy bác nick unknown cho mình xin thông tin cá nhân liên hệ phát nhỉ, ko phải sinh viên mới ra trường được động vào dự án này đâu, nói có sách mách có chứng, đừng phỏng đoán bừa
thiendia.me said…
Hóng bác nào làm cái demo hack con app bluezone kia :D
>Mấy bác nick unknown cho mình xin thông tin cá nhân liên hệ phát nhỉ, ko phải sinh viên mới ra trường được động vào dự án này đâu, nói có sách mách có chứng, đừng phỏng đoán bừa


unknown this unknown that :D
Unknown said…
??? =>Khi chạy app Bluezone lần đầu tiên, người sử dụng phải đăng ký để nhận tin nhắn từ máy chủ BKAV
=> em có cài Bluezone nhưng ko phải đăng ký hay nhận sms lần đầu j cả anh giải thích chỗ này dc ko.
Thai Duong said…
>=> em có cài Bluezone nhưng ko phải đăng ký hay nhận sms lần đầu j cả anh giải thích chỗ này dc ko.

Bluezone tự động đăng ký với máy chủ BKAV để nhận tin nhắn qua dịch vụ Firebase Cloud Messaging, không phải SMS. Tôi đã viết lại cho rõ hơn.
Abe Nguyen said…
Dear anh Thái,


https://thanhnien.vn/tai-chinh-kinh-doanh/tro-chuyen-voi-nguoi-viet-ung-dung-truy-vet-dich-covid-19-1213112.html

Em đọc qua bài này thì có vẻ như Bluezone sẽ sử dụng một kiểu hệ thống truy vết tập trung tại nguồn chính.
"Giải pháp này không xâm phạm đến quyền riêng tư vì các số điện thoại chuyển thành mã định danh, lưu trong điện thoại người sử dụng, chỉ khi F0 phát lên trung tâm xử lý, mã định danh mới chuyển thành số điện thoại để gửi tin nhắn cảnh báo cho các đối tượng bị nghi lây nhiễm."
=> phải chăng số điện thoại cũng được ghi nhận. Thậm chí họ còn có thể truy tới F2 như quảng bá. Vậy là không khác TraceTogether là mấy về cách tiếp cận, Tuy nhiên, không hiểu tại sao mà lại để ID không thay đổi; thiệt khó hiểu.. về quyền riêng tư thì SGP và VN tiếp cận hẳn là sẽ hơi khác Âu Mỹ.. nhg VN lại giải thích như họ rất tôn trọng quyền riêng tư..

Còn về tính "ưu việt" hay mà giải được bài toán mà các nước khác đang bó tay có vẻ như là họ muốn đề cập về vấn đề chạy ngầm của iOS. và cách tiếp cận của họ là sử dụng 1 chiếc điện thoại Android/hoặc iOS ở chế độ foreground làm gateway để scan và cập nhật cho những thiết bị iOS đang chạy background còn lại...


Thai Duong said…
>có lẽ bài này là câu trả lời của Bkav: https://whitehat.vn/threads/phan-tich-cac-van-de-lien-quan-den-bluezone.13534/?fbclid=IwAR2k4Xj9ELa_DyApKijruBOjBqncyDnjtX0LDOcpozMzI6XR9itChbnMunw

Không biết có phải là trả lời chính thức của team Bluezone không nhỉ? Vì tôi gửi email cho họ 2 lần rồi, họ chỉ nói là có nhận được email, chứ chưa có phản hồi chính thức. Không phải phản hồi chính thức tôi nghĩ trả lời sẽ mất thời gian thêm thôi, không giải quyết được gì.
Thai Duong said…
Abe: TraceTogether tốt hơn Bluezone rất nhiều. Khi sử dụng TraceTogether, thông tin của người dùng chỉ bị tiết lộ cho cơ quan Y tế thôi. Cách làm này không đảm bảo privacy, nhưng vẫn còn tốt chán so với Bluezone, vì Bluezone sẽ tiết lộ thông tin cho tất cả mọi người.
IAmCoder0209 said…
Mình thấy bài viết rất hữu ích trong bối cảnh thông tin cá nhân cần được bảo về như hiện nay, mình có vài comment như sau:

- Mình thấy có một số comment ở trên nói là: App nào mặc định cũng có quyền truy cập bộ nhớ -> ĐÚNG nhưng mặc định chỉ được truy cập bộ nhớ của app đó (app data) còn muốn truy cập bộ nhớ dùng chung (External Storage/Media) thì cần phải xin quyền nhé!!!

- Việc app chỉ xin quyền BLE nhưng bắt buộc phải xin cả quyền Location về cơ bản không vấn đề gì vì đó là Policy của Android nhưng vấn đề ở đây mà chúng ta cần quan tâm là app này có dùng đến quyền đó (truy cập được vị trí của user) để làm gì khác không? Nếu không (như họ nói là không dùng đến) thì trách nhiệm của chúng ta là verify điều đó và public result !

- Theo mình không đồng ý quan điểm: việc truy cập ví trí hay data đâu có là vấn đề !!! (các app khác hiện nay vẫn đòi truy cập đủ thứ đó thôi) -> nó sẽ rất có vấn đề với 1 app của CP và sẽ public cho hàng chục triệu người dân sử dụng và nó có thể bị kẻ xấu lợi dụng nếu có lỗ hổng !!!
Thai Duong said…
>- Mình thấy có một số comment ở trên nói là: App nào mặc định cũng có quyền truy cập bộ nhớ -> ĐÚNG nhưng mặc định chỉ được truy cập bộ nhớ của app đó (app data) còn muốn truy cập bộ nhớ dùng chung (External Storage/Media) thì cần phải xin quyền nhé!!!

Chính xác. Vả lại việc Bluezone lưu lại ghi xuống external storage những Bluezone ID và địa chỉ của các thiết bị mà nó đã thấy cũng rất tai hại. Các app khác trên điện thoại có thể nhét vào đó ID của người bị bệnh, khiến người không phơi nhiễm vẫn bị cách ly, hoặc xóa bớt ID, khiến người phơi nhiễm không biết mình đã bị phơi nhiễm.

>- Việc app chỉ xin quyền BLE nhưng bắt buộc phải xin cả quyền Location về cơ bản không vấn đề gì vì đó là Policy của Android nhưng vấn đề ở đây mà chúng ta cần quan tâm là app này có dùng đến quyền đó (truy cập được vị trí của user) để làm gì khác không? Nếu không (như họ nói là không dùng đến) thì trách nhiệm của chúng ta là verify điều đó và public result!

Đồng ý. Nói cho rõ, tôi chưa thấy Bluezone truy vấn thông tin vị trí. Tôi nghĩ là họ không sử dụng thông tin này.
Thai Duong said…
Tôi đã đổi ý. Đây là ý kiến của tôi về phản hồi trên trang WhiteHat: https://vnhacker.blogspot.com/2020/04/phan-hoi-cua-bluezone.html. Tôi nghĩ team Bluezone đã hiểu sai cách thức hoạt động của Bluetooth.
‏‏‎ 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.
Anonymous01 said…
> 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ì?
học KMA thiệt hả bạn? mấy cái lập luận của bạn đọc mà thấy chán
>- Tôi đã đổi ý. Đây là ý kiến của tôi về phản hồi trên trang WhiteHat: https://vnhacker.blogspot.com/2020/04/phan-hoi-cua-bluezone.html. Tôi nghĩ team Bluezone đã hiểu sai cách thức hoạt động của Bluetooth.

Thiết nghĩ anh Thái không nên nói "tôi nghĩ" mà hãy demo thực hiện lỗ hổng của app ngay bây giờ, không cần chờ sau 7 ngày đâu.
IAmCoder0209 said…
@Triệu Minh Khôi,

Bạn không hiểu nguyên tắc 7 ngày à!

Theo tôi được biết thì nó đại loại như sau:

Khi phát hiện lỗ hỏng "nên/cần" báo báo trực tiếp tới bên phát triển. Nếu trong vòng 7 ngày họ không phản hồi hoặc không có động thái vá lỗi hoặc các hành động xử lý cần thiết thì chúng ta mới nên công bố lỗ hổng rộng rãi -> bạn hiểu vì sao không? Vì nguyên tắc cần cho bên phát triển thời gian fix lỗi trước khi lỗ hổng bị khai thác bởi những kẻ xấu nếu chúng đọc được các báo cáo rõ ràng về lỗ hổng và cách triển khai
‏‏‎ said…
Do Blog giới hạn số lượng ký tự cho phần bình luận, tôi chưa thể trình bày được hết ý của mình. Tuy nhiên, việc trích dẫn hoặc đọc hiểu thông tin cần kèm theo ngữ cảnh. Cái chỗ 7 ngày mà mọi ngưới thắc mắc, đó không phải là câu hỏi. Nó giống như "sắp chết rồi thì tiền nhiều để làm gì?". Chúng ta đang ở Việt Nam, tình hình dịch bệnh đang diễn biến phức tạp, một ứng dụng như Bluezone là cần thiết. Công bố lỗ hổng theo quy trình rồi sao nữa? được cấp mã định danh lỗ hổng? được thưởng tiền? được nổi tiếng? Theo như anh Thái, đó không phải là mục đích. Vậy nên, để rồi làm gì?
Quang Nguyễn said…
Ứng dụng kiểu như Bluzone là cần thiết, tuy nhiên ko có ứng dụng này cũng ko sao cả nhé, cái cần nhất là a Thái đã chỉ ra những lỗ hổng, từ đó đóng góp rất nhiều vào quá trình phát triển app kiểu Bluzone sau này nếu nhóm phát triển thực sự cầu thị và thực sự vì cộng đồng. Các bạn đừng tự cho mình cái quyền lấy lý do dịch bệnh này nọ mà bỏ qua sự cần thiết đảm báo tính riêng tư của dữ liệu người dùng nhé, nếu cả triệu người dùng app thì đó là vấn đề sống còn rồi... Tôi chẳng thấy những góp ý của a Thái sai ở điểm nào cả, để đưa ra những lỗi này không phải là điều đơn giản, chưa kể tôi thấy a Thái rất dũng cảm và nhiệt tình đấy.
Jack said…
>. Chúng ta đang ở Việt Nam, tình hình dịch bệnh đang diễn biến phức tạp, một ứng dụng như Bluezone là cần thiết.

Viết dài, viết dai mà viết dại quá. Viết rõ lắm rồi quên luôn cái mục đích của app Bluzone luôn :)). Bỏ qua quyền riêng tư thì làm app theo dõi chống dịch quá đơn giản và đã có sẵn rồi đấy
‏‏‎ said…
Tôi không hề phủ nhận công sức của anh Thái, cái mà tôi muốn nói đến ở đây là cái cách mà anh ấy làm.

Thứ nhất, thông tin mà anh ấy đưa ra thậm chí còn không đáng tin cậy do không hề có chứng minh và phải đính chính liên tục, nhưng anh ấy lại tự gắn nhãn đây là các lỗ hổng nghiêm trọng rồi khuyến nghị mọi người không nên cài ứng dụng.

Thứ hai, tôi không phủ nhận quyền riêng tư, việc đảm bảo quyền riêng tư trong một ứng dụng như Bluezone là cần thiết. Nếu ứng dụng đang thực sự có lỗ hổng, anh ấy có thể cho mọi người thấy anh ấy có thể thu thập được những gì từ đó, thay vì áp dụng một quy trình mà theo tôi là không có ý nghĩa trong bối cảnh này. Khi đó, mọi người có thể tự nhận thấy được nguy cơ và đội ngũ phát triển cũng buộc phải cải thiện sản phẩm.

Những gì anh ấy đã làm theo tôi chỉ thành công trong việc khuyến nghị mọi người gỡ hoặc không cài ứng dụng (cái mà anh ấy liên tục nhắc tới) chứ không giúp cho việc khiến cho đội ngũ phát triển nhận ra và khắc phục lỗ hổng trong ứng dụng nếu có (mục đích của công bố lỗ hổng).
Quang Nguyễn said…
@ said,
Thứ nhất: Đây là ý kiến của tôi và tôi không rõ là bạn có hiểu hay cố tình ko hiểu những cái lỗi a Thái đưa ra vừa qua, nó rất rõ ràng và chi tiết rồi mà các bạn đọc xong rồi cố tình lập lờ qua vấn đề khác và đi giải thích rất vòng vo. Tôi cũng ko rõ là các bạn phát triển app bluezone có tiếp nhận và thay đổi hay không, rất có thể các bạn cũng vì áp lực phải đưa ra sản phẩm nhanh nhất có thể hoặc nhiều nguyên nhân ko nằm trong khả năng phạm trù kĩ thuật...Tôi không biết bạn là khán giả như tôi hay nằm trong đội ngũ phát triển app (hi vọng là không). Tôi nghĩ mọi người ai cũng ghi nhận những nổ lực của đội ngũ phát triển app. Tuy nhiên vấn đề lớn nhất là phải chứng minh được khả năng ẩn danh và bảo vệ dữ liệu riêng tư thì app chưa làm được và đi ngược lại xu thuế so với thế giới họ đang làm (phát ngẫu nhiên ID thay vì ID cố định.
Thứ hai: Ý kiến cá nhân của bạn cho rằng "Nếu ứng dụng đang thực sự có lỗ hổng, anh Thái có thể cho mọi người thấy anh ấy có thể thu thập được những gì từ đó,". Tôi nghĩ điều này không cần thiết và mất thời gian vô ích. Tôi thấy A Thái và có một số bạn đã đưa ra rất chi tiết rồi và ko cần phải thu thập thứ gì thêm nữa để chứng minh điều gì nữa, mất thời gian của họ.
Cuối cùng thì tôi nghĩ những gì A Thái khuyên mọi người tại phiên bản này thì không nên xài app Bluezone là hoàn toàn đúng. Nếu suy nghĩ cố chấp đi theo con đường cũ và không thay đổi thì liệu rằng sau này vài triệu người dùng app có bị lộ thông tin riêng tư và khi đó ai là chịu trách nhiệm...Dù sao đi nữa tôi rất ủng hộ team đã phát triên app bluezone và hi vọng họ thay đổi quan điểm và cập nhật lên version mới như những gì a Thái đã góp ý.
Lưu ý: Đây là ý kiến cá nhân, mọi người hoàn toàn có thể góp ý nhưng trên tinh thần trao đổi chứ góp ý theo kiểu quy chụp vòng vo.
Unknown said…
Tất cả những phản hồi về lỗ hổng của Bluezone đề đáng ghi nhận nhưng nếu anh Thái kêu gọi mọi người gỡ bỏ vì những vấn đề ấy thì anh đang sai hướng. Lần đầu tiên tôi tìm hiểu về ANM tôi đã đọc bài của anh rùi sang HVA tìm hiểu. Nhưng cá nhân anh là một chuyên gia thì thừa hiểu phần mềm có lỗi thì fix rùi update là xong còn đây anh kêu gỡ xóa theo kiểu nó như một con virus thì tôi cũng chịu anh rùi. Anh xem lại bản thân anh đã đóng góp j cho tổ quốc ngoài mấy bài viết blog pr bản thân chưa.Anh giỏi lập hẳn cty mà cạnh tranh với các cty công nghệ trong nước xem anh có phát triển được sản phẩm nào ra hồn không mà kêu gỡ với xóa. Hiện tại dịch bệnh hoành hành cả thế giới phải gánh chịu hậu quả nặng nề phòng bệnh là trách nhiệm mỗi người dân nếu hành vi gỡ bỏ hay lạm dụng Bluezone gây bùng phát dịch thì người phá phải chịu trách nhiệm trước pháp luật, luật ANM sinh ra để làm trò chơi hay sao nhỉ.
thiendia.me said…
Tài liệu về Bluezone: https://bluezone.vn/Bluezone_White_paper.pdf
Nhan said…
App đã được openSource, vì vậy chúng ta có thể đóng góp sửa chữa nó hoàn thiện hơn:
https://github.com/BluezoneGlobal/bluezone-app
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
sealsatthu said…
Tôi mong chờ buổi nói chuyện về Reverse Engine của anh Thái trong tuần này
mathe said…
@Zic điên à? Một người chuyên về security/hacking thì liên quan gì đến viết code mà đòi họ tạo PR? Nói cứ y như bảo ông Trọng nếu cứ "chém gió" rằng ổng là người đại diện giai cấp công nông thì ổng phải là người đi cày ruộng vậy? Hay ý của bạn là ông ta phải đi cày ruộng mới phải? Bạn là phản động muốn phá hoại đất nước à? Chúng ta cần một ông Trọng biết lãnh đạo đất nước, cũng như cần một hacker biết phân tích lỗ hổng, vì đó là việc tốt nhất họ có thể làm. Bạn hãy chấp nhận điều đó, đừng nghe bọn phản động xúi giục...
LTN said…
Bài viết được cập nhật thường xuyên bởi anh Thái. Cám ơn anh. Các comment cũng thú vị. :)
Zic said…
@mathe:

Uốn lưỡi đi nhóc con.
Không PR thì issue POC đi
Chưa tham gia cái P0 nào cũng khó nói

Cheers
mathe said…
@Zic: Đúng là con ngựa bị che mắt hai bên, chỉ biết nhìn thẳng mà không biết gì. Tạo pull request với viết Proof of Concept thì liên quan méo gì đến công việc của hacker/security? Đúng là mấy kẻ chỉ biết làm project theo người ta yêu cầu, không có nhìn ra rộng hơn được không gian của một project.

Hãy mở mắt ra mà nhìn cho rõ, người nông dân làm ruộng thì không cần biết bán tạp hoá là như thế nào. Ngược lại, người bán tạp hoá thì có thể bán gạo nhưng không cần biết phải làm ra hạt gạo như thế nào? Tương tự, đừng có kêu hàng lãnh đạo đất nước đi xuống làm công nhân và nông dân.

Cũng như vậy, người phân tích về security không cần phải biết viết code, cũng không cần phải nhọc lòng cãi nhau với đồ thiếu hiểu biết. Và vì thế họ không thể, cũng không cần phải tạo PR hay viết PoC.

Đã dốt thì đừng có nát giùm...
Thai Duong said…
Hi vọng mọi người lịch sự.
Zic said…
@mathe:

Nói xỏ xiên gì vậy cà

Không đọc hay viết code đố tìm được bug trong những dự án thế này đấy =)) nông dân với cả thành thị.

Hi vọng 1 ai đó dùng Wycheproof fuzz được những issue hay ho, từ đấy sẽ thấy Tink hay ho

mathe said…
@Thai Duong: Okay, lịch sự...

@Zic: Cái issue mà Thái liệt kê ở đây không khó tìm ra.

Tôi dùng Android, bất cứ app nào mà yêu cầu quyền storage là lập tức từ chối, trừ khi trước đó nó nói "tiếp theo sẽ yêu cầu storage, ứng dụng này cần storage để xyz".

Cái vụ BLE với Location này nọ cũng không khó, cả tháng nay báo chí tại Úc cứ ra rả về chuyện thông tin cá nhân. Họ đưa lên cả báo bình dân về Bluetooth và Location data, nên tôi không nghĩ nó là cái gì khó hiểu.

Mặc dù tôi biết là không có gì mới, nhưng vẫn phải tôn trọng Thái vì đã viết lại có hệ thống, và nhiều vấn đề khác nữa.

Tức là, bạn đừng nghĩ là nhưng vấn đề này là khó nhận ra, người dùng bình thường cũng sẽ biết (trừ khi họ bị che mắt bằng báo chí, luôn miệng nói "không có gì đâu", mà không có phản biện).

Tất nhiên, tôi nghĩ Thái là người giỏi, biết code và code giỏi (cũng có thể tôi sai, haha). Nhưng điều đó không có nghĩa là ai đó được xỉa xói "Các chiên giá thay vì chém gió tung giời". Đây không phải là "chém gió", mà có thể coi là một công trình nghiên cứu hoàn chỉnh, và rất thiện nguyện chia sẻ cho cộng đồng. Đến lượt cộng đồng, có thể chấp nhận nó hoặc loại bỏ nó. Nhưng không được quyền đòi hỏi thêm.

Tôi muốn nhấn mạnh, Thái nghiên cứu source code, Thái viết báo cáo gửi cho đội ngũ phát triển, Thái chia sẻ cho cộng đồng,... Tất cả đều là hành động chủ động của cậu ấy, mà không nhận bất cứ sự ghi nhận công lao nào của các bên liên quan. Tôi thấy không ai có thể ép cậu ấy nữa. Hãy cảm ơn vì cậu ấy đã hoàn thành việc phân tích của mình.

Cho nên, bạn đừng bao giờ yêu cầu Thái (hoặc người khác) phải đóng góp vào source code. That's non sense!
mathe said…
@Zic: Nói thêm về cái github kia, vì tôi nghĩ bạn biết sử dụng và sử dụng rất rành.

Commit trên đó từ khi initial commit đến hiện tại đều rất ít, mặc dù đã hơn 24h trôi qua. Và tôi nghĩ trong vài ngày tới cũng sẽ có rất ít commit. Điều này chứng tỏ đó là một shadow repo mà thôi, tức là project chính mà đội ngũ phát triển làm là ở chỗ khác, nằm ở private repo của họ. Còn cái công bố ra thì chỉ là để cho thiên hạ được chiêm ngưỡng thôi.

Vì vậy tôi không chắc là những PR/issue có tâm ở đó được đội ngũ phát triển đón nhận nhiệt tình và cầu thị.

Vả lại, một người cầu thị thì lúc nào họ cũng cầu thị, dù cho người góp ý viết vào issue hay gửi email hay viết lên blog. Chỉ có người thiếu cầu thị mới đòi hỏi "góp ý phải đúng quy trình" mà thôi.
Zic said…
@mathe:

Chưa 1 từ mentation thai.dn trong comment mà lại nghỉ xỉa xói thai.dn?

Cheers.

mathe said…
@Zic: Yes. Nếu bạn không muốn người khác nghĩ sai về mình, thì đừng bao giờ vơ cả nắm nữa. Với tôi, tôi nghĩ Thái là một chuyên gia an ninh mạng, và bạn nói gom kiểu đó thì tức là bạn đã gom cả Thái vào rồi.

Ngoài ra, ý của bạn có phải là bạn xỉa xói cả Thái và tất cả người khác?

Nếu thế thì xin lỗi bạn, tôi thật sự chỉ nghĩ bạn xỉa xói 1 người, ai ngờ bạn xỉa xói tất cả mọi người.
Zic said…
@mathe:

xỉa bạn luôn đó, có thấy mentation @mathe không? haha

tính ganh đua của bạn có vẻ rất CAO. bạn có muốn thi đua kko? tính từ thời điểm 2:59:20 AM (GMT) xem ai issue được nhiều trên github kia? rồi đánh giá tiếp?

Cheers.
mathe said…
@Zic: Okay, vậy bạn tạo issue trên đó đi, điều tốt mà.

Mình thường không đánh giá được bạn giỏi hay không, chắc là bạn giỏi. Mình chỉ đánh giá những câu nói của bạn đã nói, tức là quá khứ, vốn là thứ không sửa được nữa.

Còn nếu bạn giúp họ tạo các issue tốt, mình sẽ lại ủng hộ bạn.

Nói lại cho rõ, đối với mình 2 chuyện này không liên quan. Mình chỉ đâm thẳng vào câu nói xỉa xói của bạn đã nói, còn chuyện bạn sẽ đóng góp như thế nào thì khi nào mình thấy mình sẽ hoan nghênh sau.
Unknown said…
Nói thật là không thế tin được những sản phẩm của Bkavve
Unknown said…
Chắc phải hỏi lại Google về việc này. Android của Google thì thiếu gì lỗ hổng, Google vẫn đưa ra bản vá thường xuyên. Nếu cứ có lỗ hổng là gỡ ứng dụng thì chắc khỏi dùng android luôn quá, lời khuyên từ nhân viên của Google mà.
mathe said…
Ya... Nhưng cũng còn tuỳ... Thường Google không bị các lỗi sơ đẳng, hoặc các lỗi do khâu thiết kế phần mềm. Trong khi cái lỗi mà Thái đưa ra thì lại thuộc nhóm sơ đẳng.

Thứ nữa là Google trả rất cao cho những người phát hiện ra lỗi. Thậm chí còn khuyến khích mọi người tìm lỗi hộ. Trong khi Bluezone thì không thèm trả lời email báo lỗi. Họ đã khinh người, thì cũng sẽ bị xem thường lại mà thôi.

Cuối cùng, bạn không nên xài Android vì đúng là nó có nhiều lỗi (mà theo mình thì ko cố tình vi phạm như Bluezone), bạn cũng không nên xài iPhone vì nó cũng có nhiều lỗi khác. Tôi không chắc có cái gì không có lỗi không...

Công bằng mà nói, tôi nghĩ nếu Thái phát hiện lỗi gì nghiêm trọng của Android mà team Android cứng đầu không chịu trả lời email report, thì cậu ấy vẫn sẽ khuyên mọi người đừng xài Android mà thôi. Tiếc là chưa tìm ra lỗi nghiêm trọng thôi...
Unknown said…
Gì không biết. Mới đầu có bài viết này đã kêu xóa ứng dụng rồi. Sơ đẳng hay thượng đẳng thì không biết, nhưng chắc cũng đều nghiêm trọng cả. Tôi thì vẫn biết là cái gì cũng có lỗi, nhưng vẫn xài thôi. Thấy bài này kêu xóa nên mới bảo hỏi lại.
mathe said…
Đó là vấn đề đó. Bài viết này ngay từ đầu đã kêu xoá ứng dụng là tại vì ứng dụng đó phạm lỗi nghiêm trọng và quá sơ đẳng. Bạn nói "không biết" lỗi đó là sơ đẳng hay không, thì chính bạn đã loại bỏ mọi luận điểm của Thái, nên lời bào chữa lại đều không có giá trị. Tức là luận điểm chính của người ta mà bạn không xem xét, thì không nên đưa ra bình luận về kết luận.
User said…
This comment has been removed by the author.
Dai Tay Duong said…
Tui mà là tình báo của nước lạ, mỗi khi tui nhận được ID của F0 tui fake ID chừng vài ngàn F1 là bà con và chính quyền náo loạn liền.
Thai Duong said…
icemain: cái permission READ_PHONE_STATE đã được bỏ ra khỏi phiên bản mới nhất: https://github.com/BluezoneGlobal/bluezone-app/blob/15305e20da6619a069b1e023dc305dcc8ab984bd/android/app/src/main/AndroidManifest.xml.

Vì team Bluezone không chính thức "tổ quốc ghi công" đóng góp của bạn, tôi muốn ghi lại đây để mọi người biết.
HuyNQ said…
Anh Thái đánh giá thế nào về app này của UK: https://github.com/nhsx/COVID-19-app-Documentation-BETA/blob/master/App%20and%20System%20Architecture.pdf
Unknown said…
Ứng dụng COVIDSafe của nước Anh lại ko phát triển theo hướng mà Google, Apple và Bluezone đang sử dụng, quét theo hình thức là cấp mã ID gắn với số điện thoại của người dùng và chỉ quét các tiếp xúc khi app đó được mở nên (thay vì chạy nền quét bằng Bluetooth). Giải pháp này hơi xịt và cũng ko đảm bảo về bảo mật, có nhiều lỗ hổng do cơ chế cấp ID duy nhất gắn với máy và với 1 số điện thoại của người dùng. Nếu như vậy thì giải pháp này còn ko bằng cả giải pháp của Bluezone. Anh Thái đánh giá như thế nào khi nhiều người cho rằng là VN nên áp dụng giải pháp của Âu - Mỹ?
Unknown said…
Ứng dụng COVIDSafe của nước Anh lại ko phát triển theo hướng mà Google, Apple và Bluezone đang sử dụng, quét theo hình thức là cấp mã ID gắn với số điện thoại của người dùng và chỉ quét các tiếp xúc khi app đó được mở nên (thay vì chạy nền quét bằng Bluetooth). Giải pháp này hơi xịt và cũng ko đảm bảo về bảo mật, có nhiều lỗ hổng do cơ chế cấp ID duy nhất gắn với máy và với 1 số điện thoại của người dùng. Nếu như vậy thì giải pháp này còn ko bằng cả giải pháp của Bluezone. Anh Thái đánh giá như thế nào khi nhiều người cho rằng là VN nên áp dụng giải pháp của Âu - Mỹ?
Unknown said…
Ứng dụng COVIDSafe của nước Anh lại ko phát triển theo hướng mà Google, Apple và Bluezone đang sử dụng, quét theo hình thức là cấp mã ID gắn với số điện thoại của người dùng và chỉ quét các tiếp xúc khi app đó được mở nên (thay vì chạy nền quét bằng Bluetooth). Giải pháp này hơi xịt và cũng ko đảm bảo về bảo mật, có nhiều lỗ hổng do cơ chế cấp ID duy nhất gắn với máy và với 1 số điện thoại của người dùng. Nếu như vậy thì giải pháp này còn ko bằng cả giải pháp của Bluezone. Anh Thái đánh giá như thế nào khi nhiều người cho rằng là VN nên áp dụng giải pháp của Âu - Mỹ?
Ứng dụng COVIDSafe của nước Anh lại ko phát triển theo hướng mà Google, Apple và Bluezone đang sử dụng, quét theo hình thức là cấp mã ID gắn với số điện thoại của người dùng và chỉ quét các tiếp xúc khi app đó được mở nên (thay vì chạy nền quét bằng Bluetooth). Giải pháp này hơi xịt và cũng ko đảm bảo về bảo mật, có nhiều lỗ hổng do cơ chế cấp ID duy nhất gắn với máy và với 1 số điện thoại của người dùng. Nếu như vậy thì giải pháp này còn ko bằng cả giải pháp của Bluezone. Anh Thái đánh giá như thế nào khi nhiều người cho rằng là VN nên áp dụng giải pháp của Âu - Mỹ?
mathe said…
Mình nghĩ ứng dụng mà bạn Unknown ở trên vừa nói là của NHS: https://techcrunch.com/2020/05/05/nhs-covid-19-the-uks-coronavirus-contacts-tracing-app-explained/
mathe said…
This comment has been removed by the author.