Building Private Processing for AI tools on WhatsApp
Bài tóm tắt WhatsApp 2025 3. Quy mô lớn Độ khó: Khó
WhatsApp · 2025 · 3. Quy mô lớn · Độ khó: Khó — bài gốc
Bối cảnh
- LLM chạy trên server, nên nhà cung cấp thấy request. Điều này mâu thuẫn với lời hứa mã hoá đầu cuối khi user muốn AI tóm tắt chat chưa đọc hay gợi ý câu trả lời.
- Nguyên tắc sản phẩm: tuỳ chọn, minh bạch khi dùng, user chặn được AI trên chat nhạy cảm (Advanced Chat Privacy).
Thay đổi chính
- Yêu cầu nền: xử lý bí mật (không hệ nào khác, kể cả Meta, truy cập được dữ liệu khi đang xử lý hay đang truyền); bảo đảm thực thi được (sửa đổi thì hệ fail closed hoặc bị phát hiện công khai); minh bạch kiểm được. Thêm hai lớp: không nhắm được một user cụ thể (muốn tấn công một người phải tấn công cả hệ) và stateless, forward secure (hết phiên là không còn truy cập tin).
- Luồng một request:
- lấy anonymous credential (Meta 2022) để chứng minh là client WhatsApp thật;
- lấy public key HPKE từ CDN bên thứ ba để dùng Oblivious HTTP;
- kết nối OHTTP tới gateway của Meta qua relay bên thứ ba, nên Meta không thấy IP;
- lập phiên RA-TLS (remote attestation + TLS) với TEE; client đối chiếu số đo phần mềm với một ledger bên thứ ba để chỉ nói chuyện với mã đã công bố;
- request mã hoá đầu cuối giữa thiết bị và TEE bằng khoá tạm;
- model chạy trong confidential VM (CVM), không lưu tin; CVM nói chuyện với nhau bằng cùng loại RA-TLS;
- kết quả mã hoá trả về thiết bị.
- Mô hình đe doạ: tài sản là tin nhắn (cùng TCB của CVM, phần cứng, khoá); kẻ tấn công là người trong nội bộ, nhà cung cấp trong chuỗi cung ứng, và user độc hại. Các kịch bản: khai thác bề mặt sản phẩm (zero-day, prompt injection), lấy tin qua log/quan sát, can thiệp CVM lúc boot hay lúc chạy bằng truy cập vật lý.
- Biện pháp:
- bề mặt vào nhỏ, binary được làm cứng và chạy trong container;
- lọc log, chỉ cho xuất các dòng được phép (như log lỗi), vì observability mâu thuẫn với điện toán bí mật;
- cấm remote shell kể cả từ host;
- build chỉ từ mã đã check-in, đổi build cần nhiều kỹ sư, mọi thay đổi kiểm toán được;
- CPU confidential virtualization cùng GPU ở chế độ Confidential Compute, DRAM mã hoá;
- định tuyến qua OHTTP để không ai dẫn một user tới một máy cụ thể;
- request chỉ chứa dữ liệu cần cho prompt (tóm tắt thì chỉ các tin user chọn).
- Minh bạch: log trong app các request gửi tới Private Processing; công bố image CVM, một số mã nguồn (gồm mã kiểm attestation), mở bug bounty và sẽ ra whitepaper.
Bài học cho SWE
- Đưa tính toán phía server vào một hệ E2EE cần cả ba lớp: phần cứng cách ly (TEE), mạng ẩn danh (OHTTP + credential ẩn danh), và bằng chứng công khai về mã đang chạy (attestation đối chiếu ledger).
- Observability và debug phải được thiết kế lại khi chính người vận hành không được xem dữ liệu: danh sách trắng dòng log thay cho log tự do.
Liên quan
Mã hoá đầu cuối và hệ thống mà server không được đọcHạ tầng phục vụ LLM inferenceBảo mật hạ tầng và quản lý secret
#Private Processing#TEE#Confidential VM#Confidential GPU#RA-TLS#Remote attestation#OHTTP#Third-party relay#Anonymous credentials#Stateless#Non-targetability#Transparency log#Threat model
Được nhắc tới trong
Chủ đề (3)
Công ty (1)