Facebook vừa cho hay họ bị hack và số tài khoản bị ảnh hưởng có thể lên tới 50 triệu. Mình làm rõ thêm một số thông tin cho anh em hay để đỡ lo lắng cũng như thực hiện một số biện pháp để bảo vệ tài khoản của mình tốt hơn.
1. Lỗi xuất phát từ việc Facebook phát hiện 1 hacker đã khai thác lỗ hổng kĩ thuật để trộm access token của người khác. Access token của Facebook là một chuỗi nhiều kí tự, nó sinh ra để các hệ thống / web / trình duyệt giao tiếp với nhau và nó KHÔNG phải là password mà bạn dùng để đăng nhập. Mỗi người sau khi đăng nhập sẽ có một access token, và khi bạn log out rồi log in lại thì access token cũng thay đổi.
Facebook token nhìn giống thế này
Khi bạn dùng app Facebook trên điện thoại, server Facebook biết bạn là ai để trả thông tin cho đúng cũng là nhờ access token. Mỗi một yêu cầu (request) gửi lên server Facebook đều phải đính kèm access token để hệ thống thực hiện việc xác thực, định danh.
Access token được sử dụng rộng rãi, khắp mọi nơi, gần như app / web nào cũng dùng. Tinh tế cũng dùng, ngân hàng cũng dùng, Apple cũng dùng, Google cũng dùng. Có điều access token của mỗi công ty mỗi khác, và có một số chuẩn chung cho việc tạo ra access token như JSON Web Token (JWT) là được xài phổ biến nhất, nhưng cũng có công ty tự xài cấu trúc access token riêng.
1. Lỗi xuất phát từ việc Facebook phát hiện 1 hacker đã khai thác lỗ hổng kĩ thuật để trộm access token của người khác. Access token của Facebook là một chuỗi nhiều kí tự, nó sinh ra để các hệ thống / web / trình duyệt giao tiếp với nhau và nó KHÔNG phải là password mà bạn dùng để đăng nhập. Mỗi người sau khi đăng nhập sẽ có một access token, và khi bạn log out rồi log in lại thì access token cũng thay đổi.
Facebook token nhìn giống thế này
Khi bạn dùng app Facebook trên điện thoại, server Facebook biết bạn là ai để trả thông tin cho đúng cũng là nhờ access token. Mỗi một yêu cầu (request) gửi lên server Facebook đều phải đính kèm access token để hệ thống thực hiện việc xác thực, định danh.
Access token được sử dụng rộng rãi, khắp mọi nơi, gần như app / web nào cũng dùng. Tinh tế cũng dùng, ngân hàng cũng dùng, Apple cũng dùng, Google cũng dùng. Có điều access token của mỗi công ty mỗi khác, và có một số chuẩn chung cho việc tạo ra access token như JSON Web Token (JWT) là được xài phổ biến nhất, nhưng cũng có công ty tự xài cấu trúc access token riêng.
Access token đều có thời hạn, ví dụ sau 30-45-60 ngày thì hết hạn, khi đó web / app hoặc sẽ tự đi lấy access token mới cho bạn, hoặc bắt bạn đăng nhập lại thủ công, cái này tùy thiết kế của app chứ không bắt buộc.
2. Facebook nói hacker trên đã sử dụng access token để đăng nhập vào tài khoản của 50 triệu người dùng thông qua lỗ hổng của tính năng View As. Đây thực chất là một công cụ có sẵn của Facebook cho phép bạn xem thử trang hồ sơ (profile) của mình sẽ hiển thị như thế nào khi người khác vào xem.
Nhưng đây chỉ mới là lỗ hổng đầu tiên, Facebook còn thông báo 2 lỗ hổng khác nữa, và chi tiết như sau:
1. View As, như đã đề cập ở trên, đáng ra chỉ là tính năng chuyên dùng để xem mà thôi nhưng có một hộp thoại (là cái mà bạn hay gõ vào để post status mới lên Facebook) trong View As lại cho phép đăng video và chúc bạn bè sinh nhật vui vẻ.
2. Tình cờ là tính năng upload video phiên bản mới (ra mắt vào tháng 7/2017) lại tạo ra access token có quyền truy cập app mobile của Facebook. Đáng ra nó không nên như thế.
3. Khi công cụ upload video này xuất hiện trong View As, nó tạo ra access token nhưng không phải là access token của người đang xem, thay vào đó lại tạo access token của chủ trang hồ sơ.
Kết hợp cả 3 vấn đề này lại, lỗ hổng có thể diễn giải như sau: khi bạn vào xem trang hồ sơ của @cuhiep, access token sẽ được trình upload video của Facebook tạo ra, và đây lại là access token của cuhiep chứ không phải của bạn. Access token này lại được chèn vào mã HTML của trang web nên hacker có thể trích xuất và sử dụng nó để đăng nhập vào tài khoản của người khác.
Hiện View As đã bị gỡ bỏ khỏi Facebook, và hãng nói rằng dù lỗ hổng đã được khắc phục nhưng vẫn gỡ để điều tra kĩ hơn và nhằm đảm bảo an toàn.
Quảng cáo
Việc hacker dùng access token ra sao chưa rõ, nhưng mình nghĩ là hacker đã viết ra một đoạn script (mã) để lấy thông tin của 50 triệu người dùng này chứ hắn ta chắc chắn không rảnh ngồi login / can thiệp thủ công cho từng tài khoản. Tình huống xấu nhất là mình có thể dùng cái API của Facebook + access token của bạn để rút thông tin của bạn về lưu trữ trong một nơi nào đó của riêng mình xong đem đi bán 😁
3. Ngoài 50 triệu người bị can thiệp thông qua View As, Facebook cũng logout thêm 40 triệu người khác nữa đã từng sử dụng View As cho chắc. Nếu bạn nằm trong số 50 triệu người dùng bị can thiệp, bạn sẽ thấy thông báo ở đầu News Feed khi bạn login vào lại tài khoản của mình, CÒN KHÔNG THẤY LÀ KHÔNG BỊ can thiệp ít nhất là tới thời điểm này khi Facebook chưa tìm thấy dấu hiệu nào chứng minh cho điều đó.
4. Giờ bạn nên làm gì? Có cần đổi password không?
Theo lý thuyết là không, vì mật khẩu của bạn không bị rò rỉ. Có thể thông tin cá nhân của bạn bị leak ra ngoài thông qua tính năng View As như Facebook đã kể trên, nhưng mật khẩu thì không. Mật khẩu là một trong những thứ được Facebook bảo vệ kĩ nhất.
Tuy nhiên, để cho chắc ăn thì bạn vẫn nên đổi mật khẩu đi, vì cuộc điều tra của Facebook chỉ mới ở giai đoạn đầu và chưa biết được hacker đã làm gì thêm. Nếu tài khoản Facebook của bạn dùng chung password email, tài khoản ngân hàng... thì hãy đổi mật khẩu hết những chỗ còn lại. Tốt nhất là mỗi tài khoản xài mật khẩu riêng.
Việc làm tiếp theo bạn có thể thực hiện là ngồi hóng tiếp coi có gì xảy ra nữa không, có phát hiện nào mới nữa hay không.
Quảng cáo