Spam, Phishing trên faceboook thông qua Graph API

ping

VIP Members
19/06/2013
57
101 bài viết
Spam, Phishing trên faceboook thông qua Graph API
Thời gian gần đây, khi dạo qua một số group,page trên facebook, tôi nhận thấy một số link chia sẻ trên tường dạng như thế này

14908930372.png


Hình 1: Một link được chia sẻ trên facebook

nhưng khi click vào thì lại bị chuyển hướng đến một trang khác.

Bản chất của vấn đề này là gì ?
Việc có thể thay đổi mô tả và hình ảnh giới thiệu về link trước khi xác nhận Post trên facebook thì không có gì mới, người dùng có thể thao tác bằng tay để thực hiện công việc này. Tuy nhiên cách làm này thì không phải hoàn hảo lắm, vì phần caption của link không thể thay đổi được và ảnh đại diện thì cũng chỉ có thể bị bỏ hoặc chọn từ những ảnh có sẵn.

14908930372.png

Hình 2: Minh họa về việc sửa đổi thông tin khi share 1 liên kết trên facebook

Tuy nhiên trong trường hợp của tôi(với link share ở hình 1), mọi thứ hiện ra hiện ra như một link share thông thường, từ ảnh đại diện, mô tả cho đến caption của link đều giống như thật. Nhưng khi click vào tôi vẫn bị chuyển hướng đến trang khác, không phải là techcrunch nữa.

Chú ý một chút, chúng ta có thể thấy cụm từ Graph API Explorer trên link share này (trong 1 số trường hợp khác có thể là via Graph API Explorer hoặc via một ứng dụng nào đó).
Như vậy, link này không được share trực tiếp từ người dùng mà thông qua một ứng dụng khác(có thể là ứng dụng của lập trình viên bên thứ 3 hoặc cũng có thể ứng dụng facebook cung cấp). Facebook cung cấp một phương pháp để thực hiện điều này, đó là sử dụng Graph API.

Graph API là gì ?
Đơn giản thì đây là 1 loại API mà Facebook cung cấp cho các lập trình viên để có thể tương tác với các đối tượng trong mạng Facebook. Mạng Facebook có thể được xem như một đồ thị và thông qua Graph API có thể tương tác được với:
• Các node: người dùng, ảnh, trang hay comment...
• Các cạnh: là liên kết giữa các node như ảnh của trang, ảnh của comment...
• Các trường: thông tin về các node như tên, ngày sinh...

Graph API hỗ trợ nhiều ngôn ngữ và nền tảng khác nhau như JavaScript, PHP, Unity, Android, iOS.

Post bài thông qua Graph API như thế nào ?
Khi muốn post một bài viết lên facebook, lập trình viên thông qua Graph API thực hiện một request POST với các đầu vào bao gồm:

1. URL đại diện cho đích của request, có thể là tường người dùng, group, page hay một event và thường có dạng:
group_id/feed/
trong đó group_id là chuỗi số đại diện cho group muốn post bài
2. Access Token
Là một chuỗi string duy nhất đại diện cho đối tượng post bài và các quyền đi theo.
3. Các trường dữ liệu POST
• Link: Là liên kết thực tế sẽ được truy cập khi click vào
• Message: Nội dung status kèm theo link
• Picture: Liên kết đến ảnh đại diện muốn sử dụng
• Name: Tiêu đề liên kết
• Caption: Tên hiển thị của liên kết, đây là trường mà chúng ta không thể sửa khi thao tác trực tiếp.
• Description: Mô tả về liên kết

Bên cạnh việc cung cấp Graph API , Facebook còn cho ra đời Graph API Explorer, là công cụ khai thác thông tin sử dụng Graph API được cung cấp tại: https://developers.facebook.com/tools/explorer
Các link chia sẻ mà chúng ta thấy có dòng chữ via Graph API Explorer chính là thực hiện qua công cụ này
Khi một kẻ lừa đảo muốn lừa người dùng truy cập vào một trang bất kỳ, hắn ta chỉ việc sửa nội dung trường caption khác với trường link đồng thời thêm description và picture cho phù hợp với link muốn giả mạo

14908930373.png


Cần chú ý thêm là facebook yêu cầu quyền truy cập thông qua access token, nên người dùng cần phải lựa chọn những quyền mình cần để có thể đăng nội dung.
Với cách làm này, có thể thực hiện post link vào:
• Tường của chính mình
• Group
• Page
• Event

Nguy cơ từ Graph API

1. Phishing.
Với khả năng tương tác dữ liệu thông qua Graph API, một kẻ tấn công hoàn toàn có thể tạo liên kết giả để lừa người dùng truy cập vào.
2. Spam
Graph API Explorer không cho phép request nhiều URL đồng thời, nhưng một spammer thì có thể tự viết 1 công cụ spam bằng việc sử dụng Graph API


Kết luận
Trong quá trình tìm hiểu về GraphAPI, tôi nhận thấy nhiều người dùng đã bắt đầu chịu tác động từ nạn spam thông qua GraphAPI. Facebook dường như cũng đã biết về vấn đề này, nhưng có thể họ xem đây là một tính năng, không phải lỗi (It’s Not A Bug, It’s A Feature) và chỉ là tác dụng phụ không mong muốn.
Về phía người dùng, lời khuyên của tôi là hãy cẩn trọng trước khi click vào 1 liên kết chia sẻ trên facebook, chú ý vào các link không phải do người dùng trực tiếp post các link này sẽ có tên ứng dụng phía dưới như là “via Graph API Explorer “ hay “via một ứng dùng gì khác“, đồng thời chú ý dưới thanh status của trình duyệt khi di chuột vào link, địa chỉ request thật sẽ hiển thị ở đấy.
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Bên trên