1- Trình duyệt của người dùng yêu cầu http://apps.facebook.com/myapp. Địa chỉ này trỏ tới một cụm máy chủ trong trung tâm dữ liệu của Facebook. Các máy chủ này sẽ phân tích các yêu cầu, xác định địa chỉ của máy chủ thực sự chứa ứng dụng myapp và thực hiện lời gọi ứng dụng này.
2- Máy chủ Facebook sẽ gửi yêu cầu tới máy chủ chứa ứng dụng của người phát triển. Yêu cầu này là trong suốt đối với người dùng.
3- Máy chủ chứa ứng dụng của người phát triển tạo một lời gọi API truy vấn tới máy chủ Facebook bằng cách sử dụng FQL.
4- Máy chủ Facebook sẽ hồi đáp lời gọi API truy vấn của máy chủ ứng dụng dưới dạng XML, JSON hoặc Facebook PHP Client.
5- Máy chủ ứng dụng sử dụng kết quả trả về từ máy chủ Facebook ở bước 4 và tạo tài liệu FBML, FBJS gửi qua máy chủ Facebook để xử lý trước khi chuyển đến trình duyệt người dùng.
6- Tài liệu FBML, FBJS sẽ được máy chủ Facebook phân tích và chuyển sang dạng HTML, CSS, JavaScript trước khi được chuyển đến trình duyệt người sử dụng ứng dụng.
2. Nguy cơ bảo mật từ các ứng dụng phát triển trên nền
Facebook Platform
Như đã trình bày ở phần trên, một đặc trưng của Facebook nói riêng và của mạng xã hội nói chung là tính kết nối thiết lập các mối quan hệ. Một người dùng Facebook có thể thiết lập các mối quan hệ với một số lượng lớn người dùng khác, lập nên các nhóm chia sẻ kết nối trên mạng xã hội. Tính chất chia sẻ và tin tưởng trong các mối quan hệ trên mạng xã hội thể hiện rất rõ ở việc lan truyền thông tin nhanh chóng và sự gia tăng lượng người sử dụng các ứng dụng phổ biến trên Facebook (Bảng 1). Đây chính là điểm mà kẻ ác ý có thể lợi dụng để phát tán mã độc. Rõ ràng, việc chơi một ứng dụng game từ lời mời của một người bạn trong danh sách bạn bè có tác dụng thu hút hơn việc mở một file đính kèm trong mail mà có nguy cơ chứa mã độc. Ngoài ra, một lượng lớn người dùng Facebook không ý thức được nguy cơ có thể đi kèm khi sử dụng những ứng dụng này mà phụ thuộc hoàn toàn vào phần mềm chống virus và thiết lập tường lửa, mà các biện pháp này trong nhiều trường hợp không đủ hiệu quả.
Như vậy, kẻ tấn công có thể sử dụng Facebook Platform xây dựng một ứng dụng có chèn mã độc, sau đó phát tán ứng dụng này trong mạng Facebook thông qua việc gửi lời mời dùng ứng dụng tới danh sách bạn bè của người sử dụng ứng dụng đó. Để thực hiện mục đích này kẻ tấn công có thể chỉ cần xây dựng một ứng dụng đơn giản, nếu ứng dụng có tính thu hút thì hiệu quả lan truyền sẽ càng cao.
Bên cạnh việc phát tán mã độc, mạng xã hội Facebook còn có thể bị lợi dụng để xâm phạm tính riêng tư và an toàn thông tin của người dùng. Có nhiều cách thức để thực hiện việc này, nhưng về cơ bản cần dựa trên cơ chế hoạt động và phát triển một ứng dụng Facebook như đã phân tích ở trên và sự am hiểu các kiểu tấn công cũng như kỹ năng lập trình PHP và JavaScript.
Về mặt nguyên lý, một trong nhiều cách phổ biến là kẻ tấn công có thể chèn code là các đoạn iframe để chuyển hướng người dùng đến Web Server cài đặt ứng dụng. Sau đó có thể dễ dàng thực thi code tùy ý, chẳng hạn thực thi các code JavaScript mã nguồn mở để thực hiện thao tác quét cổng của máy tính nạn nhân, biết được IP của máy tính nạn nhân, phiên bản trình duyệt, hệ điều hành, tình trạng đóng/mở cổng, từ đó nhận dạng cách để tấn công.
Viêc thực thi các code JavaScript phía người dùng đem lại một số lợi thế cho kẻ tấn công: thứ nhất, quá trình quét cổng được thực hiện nội bộ bởi trình duyệt, kẻ tấn công che dấu được danh tính và cuộc tấn công được thực hiện thông qua ứng dụng Facebook đã được xác thực và chấp nhận bởi máy chủ Facebook; thứ hai, luồng dữ liệu sẽ vượt qua firewall vì chỉ có giao thức http được sử dụng và ứng dụng đó đã được chấp nhận chạy trên máy người dùng.
Như vậy, thông qua ứng dụng chạy trên Facebook, kẻ tấn công có thể xác định được một số ứng dụng mà người dùng có thể đang sử dụng, tìm một số lỗ hổng và tìm cách khai thác nhằm xâm phạm tính an toàn của máy tính người dùng. Thực tế, việc khai thác lỗ hổng không đòi hỏi kẻ tấn công phải có kỹ năng lập trình đặc biệt nào bởi trên mạng Internet đã có sẵn các công cụ khai thác lỗ hổng của các ứng dụng kèm theo hướng dẫn sử dụng cụ thể. Mặc dù Facebook Platform có một số bảo vệ ngăn chặn ứng dụng lấy được IP của máy nạn nhân nhưng sự bảo vệ này vẫn ở mức đơn giản và hoàn toàn có thể bị phá vỡ.
|