Trước đây mình đã từng viết một bài về vấn đề “Nhạc nền trên Facebook”. Tuy nhiên tới hiện tại thì các kiểu lừa đảo người dùng trên Facebook vẫn xảy ra hằng ngày và vẫn rất nhiều bạn bị mắc bẫy khi tin vào những thứ như “Thay đổi giao diện trên Facebook”, “Thêm nhạc nền vào Facebook”, “Đổi tên Facebook lần thứ 6”, “Vẽ chibi chỉ với vài thao tác đơn giản”… Một loại mã độc mới xuất hiện trên facebook, mã độc tự động share, like và spam trên tài khoản cá nhân của bạn.
Hình thức lừa đảo chung
Đánh vào tâm lý tò mò và thích sự mới lạ của nhiều người, những kẻ lừa đảo trên Facebook đã tạo ra ngày một nhiều những chiêu trò thu hút thị hiếu số đông để chuộc lợi. Hầu như những kiểu lừa đảo này đều có dạng:
- Đầu tiên, đưa ra một thông điệp giới thiệu về một chức năng nào đó mà Facebook không có sẵn để khơi gợi tính tò mò của người dùng.
- Giới thiệu cách thêm “chức năng” đó bằng cách yêu cầu người dùng mở một liên kết chứa mã độc (viết bằng JavaScript). Những liên kết này thường được che mắt bằng các dịch vụ rút gọn liên kết như TinyURL, Goo.gl hay Bit.ly.
- Những kẻ lừa đảo sẽ yêu cầu người dùng chạy một đoạn mã JavaScript thông qua các add-on độc hại cho phép “tiêm” những mã độc JavaScript vào trong trang Web của bạn, ví dụ như Greasemonkey (dành cho Firefox), Tampermonkey (dành cho Chrome). Cũng có trường hợp kẻ lừa đảo yêu cầu người dùng chạy các đoạn mã này trực tiếp qua Console của trình duyệt.
Bạn sẽ nhận được những gì?
Sau khi làm theo những hướng dẫn như trên, bạn vô tình đã tiếp tay kẻ lừa đảo phát tán mã độc, chính “bài hướng dẫn” đó. Sau khi chạy đoạn JavaScript bạn sẽ
- Spam lên tường tất cả danh sách bạn bè của mình với các bài post hướng dẫn lừa đảo.
- Đăng bài hướng dẫn lừa đảo vào tất cả các nhóm mà bạn tham gia
- Đăng lên tất cả những trang mà bạn đã Like
- Tag tất cả bạn bè của bạn vào một status hướng dẫn tương tự.
- Tự động theo dõi rất nhiều người lạ mà bạn thậm chí chưa từng biết
- Và còn nhiều những điều tệ hại hơn nữa.
* Hậu quả: Bạn bè than phiền vì bị spam, bị tag vào những status rất… không liên quan hay thậm chí là hủy kết bạn với bạn. Hoặc tệ hơn nếu những người bạn của bạn vô tình lại làm theo những gì bạn gửi cho họ chỉ vì… tò mò như bạn.
Phân tích một mẫu mã độc “Vẽ chibi chỉ với vài thao tác đơn giản”
Hôm nay chúng ta sẽ cùng nhau phân tích một đoạn mã độc để chứng minh cho những nguy hiểm tiềm ẩn mà mình nói bên trên. Mấy hôm nay có một vài người bạn đã spam tin nhắn hướng dẫn cách vẽ Chibi cho mình và gửi cho mình liên kết hướng dẫn http://bit.ly/chibinew8. Sau khi truy cập liên kết trên, chúng ta sẽ được dẫn tới trang web bên dưới
Kẻ lừa đảo còn cung cấp chi tiết hướng dẫn cho cả Chrome và Firefox
Thực ra cả 2 hướng dẫn trên chỉ khác nhau ở bước thứ 3, mục đích để bạn mở Console của trình duyệt. Đối với Chrome là F12 để bật Developer Tools (Công cụ cho nhà phát triển), sau đó vào thẻ Console. Còn đối với Firefox, nhấn tổ hợp phím Ctrl+Shift+K sẽ truy cập trực tiếp Console. Những công cụ trên được các trình duyệt cung cấp cho nhà phát triển để các Web Master, Web Designer có thể debug (gỡ lỗi) trong quá trình phát triển Website của họ. Tuy nhiên chức năng này hiện tại đã bị nhiều kẻ lừa đảo lợi dụng để dụ nạn nhân thực thi mã độc trên chính máy của họ mà không hề hay biết. Chúng ta sẽ cùng nhau lần theo dấu vết của mã độc, minh sẽ nhấp vô liên kết ở bước 1. Chúng ta được dẫn tới 1 liên kết chứa mã JavaScript như sau
Tệp tin TXT này chứa đoạn mã JavaScript đã được mã hóa và làm rối (obfuscation) để tránh bị phát hiện những gì sẽ được thực thi. Chúng ta sẽ giải mã đoạn mã độc trên. Trước tiên mình lưu tệp TXT này về máy và đổi tên thành chibi.js. Đầu tiên để dễ quan sát mã nguồn, mình thực hiện việc định dạng lại đoạn mã javascript bằng một công cụ trực tuyến, ta được tệp tin đã định dạng lại như sau:
Tiếp tục Format lần 2 thông qua Scratchpad của Firefox, chúng ta được:
Bạn thấy gì thay đổi sau lần Format thứ 2 không? Scratchpad đã giải mã các phần tử nằm trong mảng _0xb782. Chúng ta thấy có một phần tử rất nguy hiểm ở đây là “fb_dtsg” – đây là Anti-CSRF Token của Facebook – dùng để chặn hình thức tấn công CSRF. Phân tích dòng lệnh fb_dtsg
var fb_dtsg = document.getElementsByName(‘fb_dtsg’)[0].value; Câu lệnh này tìm phần tử có tên là fb_dtsg sau đó lấy giá trị gán vào biến cùng tên.
Mình sẽ cho các bạn thấy trực tiếp vai trò của fb_dtsg trên Facebook:
Xem mã nguồn của tại trang chủ của Facebook (trường hợp đã đăng nhập) và tìm kiếm từ khóa name=”fb_dtsg”, Chrome cho ta biết có 8 kết quả tìm được.
Mở Console và chạy lệnh getElementsByName ta thấy trình duyệt trả về một mảng gồm 8 phần tử – 8 input ẩn có name là fb_dtsg.
Cuối cùng, ta lấy giá trị của phần tử đầu tiên.
Phân tích dòng tiếp theo:
var user_id = document.cookie.match(document.cookie.match(/c_user=(\d+)/)[1]);
Dòng này có tác dụng sử dụng biểu thức chính quy (Regex) để lấy giá trị của Cookie có tên là c_user chứa ID của người dùng hiện đang đăng nhập:
* Phân tích một số hàm được thực thi trong đoạn mã độc “vẽ chibi” này:
Hàm với tên gọi “a” này sẽ ép bạn Theo dõi những người mà bạn chẳng hề biết thông qua Ajax.
Đây là hình ảnh gói tin mà trình duyệt bắt được khi bạn nhấn nút Follow một ai đó. Bạn thấy đường dẫn Request URL, nó chính là giá trị của biến url4 trong hàm “a” của đoạn mã độc “vẽ chibi” trên.
Phân tích hàm tiếp theo:
Cái tên nói lên tất cả – sublist: hàm này có tác dụng ép bạn theo dõi những danh sách được tạo sẵn bởi kẻ lừa đảo. Bạn theo dõi danh sách đồng nghĩa với việc theo dõi tất cả những thành viên nằm trong danh sách đó.
Hàm tiếp theo với tác dụng Like Fan Page, mình đã giải mã nên các bạn có thể xem chi tiết các ID của những Page được Like:
Hàm Like được gọi 6 lần đồng nghĩa với việc nếu chạy đoạn mã độc “vẽ chibi” này, bạn sẽ Like 6 page mà bạn không hề hay biết.
* Chú ý: Ngoài ra còn một số hàm độc hại khác, trong đó có cả hàm tự động cài đặt ứng dụng độc hại để lấy Access Token. Mình sẽ phân tích cụ thể và cập nhật vào bài viết này. Tuy nhiên, có một điều chắc chắn là đoạn mã độc “vẽ chibi” này không có một dòng nào cho thấy tác dụng như nó giới thiệu là vẽ chibi cả?
* Vì lý do an toàn, tránh kẻ xấu lạm dụng nên mình sẽ không công khai đoạn mã độc mà mình đã giải mã.
Vậy chúng ta cần làm gì để tự bảo vệ bản thân và bạn bè của mình?
Mặc dù là mạng xã hội lớn nhất hành tinh với hơn 1 tỷ người dùng – Facebook đã và đang cố gắng bảo vệ người dùng của họ khi đưa ra cảnh báo nếu phát hiện người dùng tự chạy những đoạn mã JavaScript trên Console trong khi đang truy cập Facebook – . Tuy nhiên, chúng ta không nên chỉ trông chờ Facebook bảo vệ mình trong khi bản thân thì vẫn làm theo những bài hướng dẫn “nguy hiểm” kia. Điều này chẳng khác gì bạn cài một chương trình Anti-Virus sau đó tải tất cả những tệp tin khác về chạy mà không tìm hiểu nguồn gốc những tệp tin đó tới từ đâu, có an toàn hay không. Bạn tuyệt đối không tin vào những chức năng mới mẻ do mọi người giới thiệu cho bạn, trừ phi những chức năng đó được giới thiệu trên trang chính thức của Facebook. Hãy tự bảo vệ mình và hãy là những người dùng Facebook thông thái.