2 điểm bởi GN⁺ 2024-12-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • X41 đã kiểm tra ứng dụng Mullvad VPN bằng kiểm thử xâm nhập hộp trắng có bao gồm quyền truy cập mã nguồn, đồng thời xây dựng một mô hình đe doạ ở mức nhẹ
  • Phạm vi kiểm toán gồm mã của Android 2024.8-beta1, iOS 2024.8 và Desktop 2024.6, với giả định ứng dụng hoạt động trên 5 nền tảng: Linux, Windows, macOS, Android, iOS
  • Quá trình kiểm thử phát hiện 6 lỗ hổng, nhưng ứng dụng Mullvad VPN nhìn chung vẫn cho thấy mức độ bảo mật cao theo mô hình đe doạ của báo cáo
  • Vấn đề nghiêm trọng nhất là hỏng bộ nhớ do điều kiện tranh chấp trong signal handler và vi phạm tính an toàn theo thời gian, nhưng mức độ nghiêm trọng giảm xuống vì kẻ tấn công trước đó phải kích hoạt signal bằng một lỗi khác
  • Một số lỗ hổng có thể dẫn tới rò rỉ thông tin nhận dạng người dùng cho kẻ tấn công trên mạng lân cận hoặc tạo điều kiện cho tấn công side-channel trong những điều kiện nhất định, và Mullvad VPN AB đã nhanh chóng áp dụng các bản sửa lỗi

Phạm vi kiểm toán và đặc điểm đối tượng

  • X41 đã thực hiện kiểm thử xâm nhập hộp trắng đối với ứng dụng VPN của Mullvad
    • Có quyền truy cập mã nguồn và cũng bao gồm việc xây dựng một mô hình đe doạ ở mức nhẹ
  • Mã nguồn được kiểm toán là các phiên bản sau
  • Ứng dụng mục tiêu có quy mô lớn và chạy trên 5 nền tảng, khiến việc kiểm toán trở nên khó hơn
    • Các nền tảng được hỗ trợ là Linux, Windows, macOS, Android và iOS
    • Mullvad VPN đã thực hiện kiểm toán định kỳ, và việc các lỗ hổng mới được tìm thấy trong mã hiện có cho thấy sản phẩm phức tạp đến mức cần được rà soát bảo mật liên tục
  • Ở các mục tiêu đã trưởng thành, các phát hiện thường có xu hướng dịch chuyển sang những khu vực nằm ngoài phạm vi kiểm soát trực tiếp hoặc trọng tâm của đội phát triển ứng dụng
    • Đặc tính hoạt động của hệ điều hành
    • Sự tương tác giữa các lớp mạng và giao thức khác nhau

Kết quả phát hiện và đánh giá bảo mật

  • Trong quá trình kiểm thử, X41 đã phát hiện tổng cộng 6 lỗ hổng
  • Ứng dụng Mullvad VPN cho thấy mức độ bảo mật cao theo mô hình đe doạ của báo cáo
    • Các mẫu thiết kế và lập trình an toàn
    • Kiểm toán và kiểm thử xâm nhập định kỳ
    • Môi trường thực thi được tăng cường bảo vệ
  • Lỗ hổng nghiêm trọng nhất là hỏng bộ nhớ do điều kiện tranh chấp trong mã signal handler và vi phạm tính an toàn theo thời gian
    • Một khi mã signal handler bị kích hoạt, khả năng bị khai thác dường như không thấp
    • Tuy nhiên, mức độ nghiêm trọng tổng thể giảm xuống vì kẻ tấn công trước tiên phải kích hoạt signal bằng một lỗi khác
  • Các lỗ hổng khác có thể cho phép kẻ tấn công trên mạng lân cận làm rò rỉ thông tin định danh người dùng, hoặc thực hiện tấn công side-channel khiến lộ ra trang web mà client đang truy cập trong một số điều kiện nhất định
    • Phần lớn các tấn công side-channel đã được giảm thiểu
    • Ngoại lệ là các cuộc tấn công ở cấp giao thức phát sinh từ sự kết hợp của nhiều công nghệ như NAT và các biến thể giao thức HTTP hiện đại, nằm ngoài phạm vi kiểm soát của Mullvad VPN AB
    • Người dùng cần mức độ bảo mật và quyền riêng tư cao hơn có thể cân nhắc các kỹ thuật làm rối và dịch vụ proxy bên trong VPN được bảo vệ
  • Mullvad VPN AB đã nhanh chóng sửa các vấn đề được phát hiện, và các bản sửa lỗi cũng đã được kiểm toán là hoạt động bình thường

Tài liệu công khai

1 bình luận

 
GN⁺ 2024-12-12
Ý kiến trên Hacker News
  • Liên kết trực tiếp đến báo cáo PDF: https://x41-dsec.de/static/reports/X41-Mullvad-Audit-Public-...
    Các vấn đề được phát hiện gồm thiếu stack thay thế cho trình xử lý tín hiệu, sử dụng hàm không an toàn bất đồng bộ, rò rỉ địa chỉ IP ảo của thiết bị tunnel, khử ẩn danh qua NAT, khử ẩn danh qua MTU, sideloading trong quá trình cài đặt, v.v.
    Nhìn chung nội dung khá trực quan, và họ dựa nhiều vào DAITA (phòng vệ trước phân tích lưu lượng bằng AI); tôi vẫn chưa hiểu hoàn toàn nhưng có vẻ đáng đọc thêm: https://mullvad.net/en/vpn/daita
    • Xử lý tín hiệu an toàn có quá nhiều cạm bẫy đến mức đáng để nghĩ lại toàn bộ API
      Ngay cả OpenSSH cũng từng có vấn đề liên quan https://blog.qualys.com/vulnerabilities-threat-research/2024..., và nếu không có cơ chế function coloring rõ ràng thì có vẻ khó tạo được abstraction tốt trong bất kỳ ngôn ngữ nào
      Có lẽ một ngôn ngữ thuần hàm như Haskell thì có thể
    • Có vẻ bài báo khoa học dễ theo dõi hơn: https://dl.acm.org/doi/pdf/10.1145/3603216.3624953
    • Việc stack quá nhỏ không có bằng chứng rằng phân bổ 8KB thực sự là không đủ, và cũng đáng nghi ngờ liệu nó có thật sự khai thác được hay không
      Việc dùng hàm không an toàn bất đồng bộ là vấn đề phổ biến nhưng khó khai thác trong thực tế; nếu là lập trình viên từng xử lý signal handler thì hẳn ai cũng từng mắc lỗi kiểu này ít nhất một lần vì vấn đề timing cực khó tái hiện
      Rò rỉ địa chỉ ARP không hẳn là vấn đề của riêng Mullvad mà chỉ có thể bị khai thác trong mạng cục bộ; các cuộc tấn công khử ẩn danh áp dụng cho mọi VPN, và có thể ẩn danh hóa hơn nữa nhưng sẽ tốn chi phí
      Sideloading có lẽ là vấn đề tệ nhất, nhưng tự nó thì không thể bị khai thác
  • Tôi định phàn nàn ngắn gọn về việc các báo cáo audit công khai hay nói kiểu “công ty này rất an toàn, làm rất tốt và lần audit này đã xác nhận điều đó”, nhưng đây không phải vấn đề riêng của X41 mà gần như mọi hãng đánh giá đều làm, thậm chí một số còn tệ hơn X41 nhiều
    Tuy vậy, việc họ tìm được một lỗ hổng làm hỏng heap trong chương trình Rust có thể kích hoạt thực tế là một phát hiện tốt
    Nhưng việc gán mức nghiêm trọng cao cho lỗ hổng tiếp theo thì có vẻ chỉ mang tính lý thuyết, không có proof of concept, cũng không phải lỗi hỏng bộ nhớ, nên trông giống thổi phồng mức xếp hạng
  • Đây là một báo cáo audit tốt
    Phần mô hình đe dọa riêng là thứ nhiều công ty audit bỏ qua trong báo cáo
    Tôi tin chắc các auditor trước đây như Cure53, Assured, Atredis cũng đã xây dựng mô hình đe dọa phù hợp từ trước với Mullvad, nhưng nếu không viết rõ cho độc giả thì kết quả có thể bị hiểu sai
    • Nếu “đã xây dựng mô hình đe dọa phù hợp từ trước với Mullvad” thì chẳng phải lại thành vô nghĩa sao
      Khi đối tượng được audit có tiếng nói trong cách audit hay cách tấn công, rất khó để kết quả không bị thiên lệch có lợi cho đối tượng đó
      Tôi nghĩ cách ít thiên lệch nhất là đối tượng hoàn toàn không biết auditor sẽ làm gì
      Nếu Mullvad có tham gia vào phương pháp hoặc giới hạn phạm vi kiểm thử, thì kết quả dù sao cũng chẳng còn giá trị
  • Liên kết bài blog của Mullvad: https://mullvad.net/en/blog/the-report-for-the-2024-security...
  • Đây là audit cho ứng dụng Mullvad VPN, không phải audit chính dịch vụ
  • Mullvad trước đây rất tuyệt, nhưng vì ngừng port forwarding nên torrent tệ hơn nhiều
    Việc ngừng hỗ trợ OpenVPN cũng không ổn với tôi, vì tôi có vài use case cần nó nên dự định chuyển sang nơi khác
    Tiếc thật, vì họ đã làm tốt trong thời gian dài
    • Xét theo tiêu chuẩn hợp lý thì họ vẫn rất tốt
      Việc bỏ port forwarding giúp giảm đáng kể tình trạng lạm dụng phải xử lý, và chỉ ảnh hưởng đến một nhóm rất nhỏ người dùng cực kỳ nerd
    • Tôi tò mò chuyện đó đã diễn ra bao lâu rồi
      Tôi đã dùng Mullvad để torrent một thời gian, và với torrent ít seed thì đôi khi mất khá lâu mới bắt đầu, nhưng cuối cùng vẫn tải được
      Với các media ngách hơn, đôi khi phải tính trước vài ngày
    • Vì việc ngừng port forwarding, dù rất nhớ Mullvad tôi vẫn phải chuyển sang nơi khác
    • Tôi không hiểu lý do bỏ OpenVPN là gì
      Thành thật mà nói, có lẽ tôi sẽ không cân nhắc nhà cung cấp không hỗ trợ OpenVPN nào cả, vậy thì còn ý nghĩa gì nữa
    • Thật tiếc khi họ bỏ OpenVPN, nhưng dù sao vẫn còn ít nhất 1 năm nữa
      Vì lý do nào đó, trên router của tôi nó hoạt động tốt và ổn định hơn nhiều dưới dạng VPN site-to-site
  • Tiêu đề “X41 đã audit ứng dụng Mullvad VPN” có vẻ rõ ràng hơn
  • Tôi đang dùng Mullvad VPN với WireGuard trên OpenBSD (man wg)
    Hoạt động tốt, và để ẩn danh cũng có thể mua theo tháng bằng Bitcoin
    • Bitcoin không ẩn danh
      Tôi có hiểu sai gì không?
    • Tôi trả phí VPN bằng thẻ tín dụng mang tên mình, đã dùng nhiều năm
      Tôi không cố che giấu việc thỉnh thoảng dùng VPN; ISP thấy tunnel, các website tôi truy cập thấy IP VPN, còn netflow lưu thời gian, thời lượng, lượng truyền dữ liệu, v.v.
      Việc dùng VPN tự nó không phải là bí mật
      Tôi nghĩ phần lớn người dùng VPN là những người bình thường như tôi, muốn có quyền riêng tư trước các công ty quảng cáo trực tuyến và công ty thu thập dữ liệu

Không mong muốn hay kỳ vọng quyền riêng tư từ nhà cung cấp VPN
Dù sao thì tôi cũng kết nối tới dịch vụ VPN của họ từ IP ISP gia đình của một tài khoản đứng tên tôi
Dù bạn che giấu việc thanh toán VPN thế nào, họ cũng sẽ biết bạn là ai
Dân kỹ thuật, đặc biệt là người làm bảo mật, thường đi quá xa trong những vấn đề kiểu này đến mức phi thực tế, và có cảm giác xa rời mô hình đe dọa cũng như các trường hợp sử dụng trong đời thực
Bài viết ngắn “This World of Ours” của James Mickens bàn rất tốt về chủ đề này: https://www.usenix.org/system/files/1401_08-12_mickens.pdf

  • Tôi trở thành fan của Mullvad khi đi Trung Quốc
    Trong số các ứng dụng VPN đã thử, nó ổn định nhất, và mỗi tài khoản dùng được tối đa 5 thiết bị
  • Dù mua bằng BTC thì rốt cuộc chẳng phải vẫn kết nối từ IP thật sao?
  • Gạt sang một bên ảo tưởng về tính ẩn danh của BTC, tôi cũng không chắc điều đó có quan trọng không
    Nếu đúng như họ nói là không lưu log, thì dù họ biết gì về bạn, IP mà cảnh sát hỏi đến có thể đã được bất kỳ ai trong số hàng nghìn khách hàng dùng, nên dù muốn họ cũng không thể giao nộp cho nhà chức trách
    Tôi có đang bỏ sót điều gì không?
  • Ngày nay VPN là một ngành kinh doanh tốt, nhưng tôi không có cảm giác họ đối xử đúng mực với khách hàng hay minh bạch cho thấy những gì mình cung cấp
    Có vẻ có khá nhiều lời nhảm nhí, và cũng có bầu không khí rằng VPN “ngầu” phải đến từ các nước Scandinavia, nhưng thực tế phần lớn không phải vậy
    • Tôi không hiểu rõ ý này
      Nói tốt nhất thì nó chỉ liên quan bên lề tới bài viết, còn cách diễn đạt thì mơ hồ khiến nghe như Mullvad đang làm điều gì xấu
      Mullvad nói rõ họ đặt tại Thụy Điển, ý là không phải vậy sao? Họ cũng công khai vị trí máy chủ và chủ sở hữu
      Họ cũng cung cấp khá nhiều thông tin về lý do nên hoặc không nên dùng VPN, không ghi dữ liệu khách hàng, đã chuyển sang hạ tầng chỉ dùng RAM, và giá rẻ với một mức thuê bao cố định duy nhất
      Tôi tò mò chính xác điều gì là lời nhảm nhí, và bạn muốn họ làm khác đi điều gì
    • Tôi không biết câu “VPN ngầu phải đến từ Scandinavia nhưng phần lớn không phải vậy” đang ám chỉ gì
      Tôi không hiểu vì sao phải như thế, cũng không hiểu vì sao điều đó không đúng
      Công bằng mà nói, trong số các VPN định hướng quyền riêng tư mạnh mà tôi biết, cái không thuộc Scandinavia chỉ khoảng ProtonVPN
    • Từ góc nhìn người tiêu dùng thì thật lộn xộn, vì ngay cả những thứ cơ bản cũng phải tự kiểm tra xem có hoạt động đúng không
      Vài năm trước khi dùng Nord, tôi phát hiện một lỗi im lặng: nó hiển thị là đã kết nối nhưng thực ra không kết nối VPN; khi báo cáo thì họ trả lời đó là vấn đề đã biết nên đừng lo
      Theo tôi biết, họ không đưa ra thông báo bảo mật nào
    • Tôi đã dùng Mullvad khoảng 5 năm và khá hài lòng
      Việc họ không đổ hàng đống tiền quảng cáo lên YouTube hay các trang affiliate ngược lại khiến tôi yên tâm
      Tôi cũng thích việc họ không nằm trong một khu vực pháp lý kiểu nơi trú ẩn cho các công ty đáng ngờ
      Tóm lại, tôi thích vì có vẻ ít lời nhảm nhí và khá ổn
      Tôi không nghĩ mình có thể tin PIA hay những công ty kiểu đó
  • Vấn đề duy nhất của Mullvad là tôi gặp CAPTCHA và chặn trên các website nhiều hơn hẳn so với các VPN khác
    • YouTube và Reddit là tệ nhất
      Tôi khá chắc rằng việc chặn mạnh tay không phải vì lạm dụng, mà vì VPN thực sự trở thành vấn đề đối với theo dõi và khai thác dữ liệu
      Thường thì một máy chủ thoát dùng được với một trong hai trang nhưng không dùng được với cả hai, nên tôi nghi rằng có một mức độ phối hợp nào đó trong việc chặn IP giữa YouTube và Reddit nhằm làm việc dùng VPN trở nên phiền phức và khiến người dùng nản
      Cản trở việc qua lại giữa các mạng xã hội của người dùng VPN có vẻ là một chiến lược hiệu quả để tác động đến hành vi, và cả hai về thực chất là độc quyền tự nhiên nên gần như không có rủi ro mất người dùng khi làm vậy
      Nó giống như cách banner cookie bị lạm dụng để khiến cảm xúc của mọi người về quy định quyền riêng tư thay đổi theo hướng có lợi cho khai thác dữ liệu
      Thậm chí nhiều dân kỹ thuật cũng tin rằng các banner cookie phiền phức là lỗi của EU, nhưng trên thực tế nhiều cách làm là tuân thủ ác ý, không cần thiết, hoặc công khai bất hợp pháp
      Dù sao thì nó thật sự khó chịu, và có cảm giác như một khía cạnh của quá trình enshittification chung trên web cùng sự bất mãn đang tăng nhanh
    • Gần đây với tôi chuyện này rất nghiêm trọng
      Gần như bị đối xử như người bị né tránh, và nhiều CAPTCHA thực chất chỉ là chặn nhưng có vẻ vẫn kỳ vọng được huấn luyện miễn phí