How WhatsApp's device verification protects your account

Bài tóm tắt WhatsApp 2023 3. Quy mô lớn Độ khó: Trung bình

WhatsApp · 2023 · 3. Quy mô lớn · Độ khó: Trung bình — bài gốc

Bối cảnh

  • Mã hoá đầu cuối chống nghe lén trên đường truyền, nên kẻ tấn công chuyển sang nhắm vào chính điện thoại.
  • WhatsApp dùng một authentication key để client nối lại server mà không phải nhập mật khẩu, PIN hay mã SMS mỗi lần. Key không bị chặn trên đường truyền, nhưng malware trên máy (đặc biệt trong các bản WhatsApp không chính thức) có thể lấy cắp nó rồi đăng nhập từ máy khác để gửi spam, lừa đảo (account takeover).

Thay đổi chính

  • Device Verification, dựa trên một hành vi malware khó giả: khi có tin, client thật thức dậy và lấy tin offline từ server.
  • Ba tham số mới:
    1. security-token lưu trên thiết bị, được làm mới mỗi lần client lấy tin offline (bootstrapping);
    2. nonce để nhận ra kết nối đang lấy tin;
    3. authentication-challenge: một ping ẩn từ server tới thiết bị, chỉ gửi khi kết nối đáng ngờ.
  • Mỗi lần kết nối, client phải gửi security-token đang có. Kết nối đáng ngờ bị gửi challenge: thiết bị đang kết nối trả lời thì thành công; thiết bị khác trả lời thì gần như chắc là kẻ tấn công, chặn; không trả lời thì thử lại vài lần rồi chặn.
  • User thật không phải làm gì và không bị gián đoạn. Đã rollout 100% Android, đang rollout iOS (4/2023).

Bài học cho SWE

  • Key "không bao giờ hết hạn" để đỡ phiền user thì cần một tín hiệu thứ hai gắn với thiết bị; tín hiệu tốt là thứ hệ đã làm sẵn (lấy tin offline) chứ không phải bước thêm cho user.
  • Chỉ thách thức khi đáng ngờ giữ chi phí và ma sát thấp cho đa số.

Liên quan