2 điểm bởi GN⁺ 2024-07-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • Mật khẩu dùng một lần và SMS

    • Mật khẩu dùng một lần thường được gửi qua SMS
    • Các nhà nghiên cứu bảo mật của CCC đã truy cập theo thời gian thực vào hơn 200 triệu tin nhắn SMS do hơn 200 công ty gửi đi
  • Xác thực hai lớp qua SMS (2FA-SMS)

    • 2FA-SMS là một phương pháp nhằm tăng cường bảo mật xác thực
    • Cần có mã động được gửi qua SMS cùng với mật khẩu tĩnh
    • Khi đăng nhập, người dùng phải nhập mã này; điều đó chứng minh cả mật khẩu (yếu tố thứ nhất: kiến thức) và quyền truy cập vào số điện thoại (yếu tố thứ hai: sở hữu)
    • Chỉ với mật khẩu bị đánh cắp thì không thể chiếm đoạt tài khoản của người dùng
  • Các vector tấn công đã được biết đến rộng rãi

    • Kẻ tấn công có thể chặn tin nhắn SMS bằng cách lợi dụng SIM swapping hoặc các lỗ hổng SS7 của mạng di động
    • Có thể dụ người dùng làm lộ mật khẩu dùng một lần thông qua các cuộc tấn công phishing
    • CCC đã không khuyến nghị sử dụng SMS làm yếu tố thứ hai kể từ năm 2013
    • Dù vậy, 2FA-SMS vẫn được dùng rất rộng rãi và mang lại bảo mật cao hơn so với xác thực chỉ bằng mật khẩu đơn thuần
  • Giờ đây còn có thể xem được trên mạng!

    • CCC đã trình diễn một kiểu tấn công trước đây bị bỏ qua đối với 2FA-SMS
    • Các nhà cung cấp dịch vụ gửi lượng lớn SMS cho nhiều công ty và dịch vụ khác nhau, đồng thời có quyền truy cập vào nội dung SMS
    • Vì vậy, độ an toàn của quy trình xác thực phụ thuộc vào mức độ bảo mật của các nhà cung cấp này
  • Sai lầm của IdentifyMobile

    • IdentifyMobile đã chia sẻ mật khẩu dùng một lần lên Internet theo thời gian thực
    • CCC đã tình cờ truy cập được dữ liệu này
    • Chỉ cần đoán ra subdomain có tên idmdatastore là đủ
    • Ngoài nội dung SMS, còn có thể thấy số điện thoại người nhận, tên người gửi và các thông tin tài khoản khác
  • 200 triệu SMS từ hơn 200 công ty

    • Hơn 200 công ty như Google, Amazon, Facebook, Microsoft, Telegram, Airbnb, FedEx, DHL... đã bị ảnh hưởng
    • Tổng cộng 198 triệu SMS đã bị rò rỉ
    • Chỉ cần theo dõi luồng dữ liệu thời gian thực cũng có thể chiếm đoạt số WhatsApp, thực hiện giao dịch tài chính hoặc đăng nhập vào nhiều dịch vụ khác nhau nếu đã biết mật khẩu
  • (Chưa hẳn là) thảm họa

    • Để lạm dụng mã SMS, thông thường vẫn cần có mật khẩu
    • Tuy nhiên, trong dữ liệu cũng có cả các liên kết đăng nhập "1-click login"
    • Với một số công ty lớn, chỉ những dịch vụ riêng lẻ được IdentifyMobile bảo vệ mới bị ảnh hưởng
    • Sự bất cẩn của IdentifyMobile đã đẩy các công ty và khách hàng vào rủi ro lớn
    • Các bộ phận bảo vệ dữ liệu trên khắp thế giới đang nhận dồn dập những yêu cầu tương tự
  • Chúng tôi không lưu giữ dữ liệu

    • Tuy nhiên, không thể loại trừ khả năng người khác cũng đã truy cập được
  • 2FA-SMS tốt hơn không có gì, nhưng nên dùng cách khác

    • Sử dụng mật khẩu dùng một lần do ứng dụng tạo ra hoặc token phần cứng sẽ an toàn hơn và không phụ thuộc vào mạng di động
    • Nếu có thể dùng các lựa chọn này thì nên sử dụng
    • Và dù sao thì bất kỳ yếu tố thứ hai nào cũng tốt hơn chỉ dùng mật khẩu đơn thuần

Tóm tắt của GN⁺

  • Bài viết này nói về các lỗ hổng bảo mật của xác thực hai lớp dựa trên SMS
  • Do sai lầm của IdentifyMobile, hơn 200 triệu SMS đã bị rò rỉ, gây ra rủi ro lớn cho nhiều công ty và khách hàng
  • 2FA-SMS an toàn hơn so với chỉ dùng mật khẩu, nhưng tốt hơn là nên dùng mật khẩu dùng một lần dựa trên ứng dụng hoặc token phần cứng
  • Bài viết này hữu ích với những người quan tâm đến bảo mật và cảnh báo về rủi ro của xác thực dựa trên SMS

1 bình luận

 
GN⁺ 2024-07-12
Ý kiến trên Hacker News
  • Chia sẻ trải nghiệm một người quen trong gia đình bị dính đòn tấn công phishing dẫn dụ qua Google Ads

    • Kẻ tấn công chạy quảng cáo với các từ khóa như BANKNAME login
    • Đã nhập mã 2FA vào trang giả, nhưng sau đó bị yêu cầu nhập mã thứ hai
    • Mã thứ hai được dùng để thêm một người nhận mới cho tính năng "pay anyone"
    • Cuối cùng bị mất tiền nhưng sau đó đã lấy lại được
  • Có hai tài khoản ngân hàng, một dùng SMS 2FA và một dùng ứng dụng

    • Ban đầu nghĩ rằng ứng dụng mặc định an toàn hơn, nhưng trong một số tình huống thì SMS có thể tốt hơn
    • 2FA lý tưởng là tạo ra các token khác nhau tùy theo loại giao dịch
  • Nghi ngờ rằng các công ty ép buộc dùng SMS 2FA thực ra không quan tâm đến bảo mật mà chỉ muốn có số điện thoại

    • NIST khuyến nghị không nên dùng SMS 2FA
    • Nhiều ngân hàng ép dùng SMS 2FA vì ứng dụng của họ không chạy trên điện thoại đã root
  • Dùng ChatGPT 4 để phân tích ảnh chụp màn hình trang web ngân hàng nhằm kiểm tra xem có phải phishing hay không

    • Khi thay đổi một ký tự trong URL, mô hình nhận ra đó là một nỗ lực phishing
    • Có thể tự động phân tích ảnh chụp màn hình để mô hình đánh giá tính hợp pháp
  • Ở Anh, gần như mọi giao dịch ngân hàng trực tuyến đều được xác minh qua SMS

    • Có vẻ như đây là yêu cầu pháp lý
    • Hệ thống xác minh trước đây gồm thẻ + đầu đọc thẻ + mã PIN an toàn hơn
    • Hy vọng họ sẽ nhận ra đây là một lựa chọn sai lầm và sửa lại
  • Bài viết đang trộn lẫn hai vấn đề bảo mật khác nhau

    • Liên kết "1-click login" là rủi ro chỉ với quyền truy cập SMS
    • Mã 2FA là yếu tố thứ hai, vẫn cần mật khẩu nên ít đáng lo hơn
  • Thụy Điển giải quyết vấn đề này bằng BankID

    • Điều này có được nhờ sự hợp tác giữa các tổ chức công và tư
    • Được dùng để đăng nhập và 2FA trên dịch vụ chính phủ và phần lớn ngân hàng
    • Thật đáng ngạc nhiên khi các nước khác hoặc toàn EU lại không có hệ thống như vậy
  • Thông điệp trong S3 bucket được cập nhật mỗi 5 phút

    • Không chỉ Twilio Verify (API 2FA) mà mọi SMS được gửi qua nhà cung cấp này đều bị ảnh hưởng
  • Nhiều tổ chức tài chính yêu cầu SMS 2FA và không cung cấp tùy chọn HOTP/TOTP