1 điểm bởi GN⁺ 2024-10-18 | 1 bình luận | Chia sẻ qua WhatsApp
  • Thế giới vận hành máy chủ CSGO

    • Tác giả từng vận hành InvexGaming, một hệ thống máy chủ cộng đồng CSGO có trụ sở tại Australia và New Zealand. Máy chủ này trở nên phổ biến nhờ cộng đồng, nội dung, giải đấu và các plugin trò chơi tùy chỉnh.
    • Việc vận hành máy chủ bao gồm duy trì diễn đàn cộng đồng và hạ tầng máy chủ, quản lý chi phí, bổ sung nội dung, tự động hóa hệ thống VIP, viết plugin tùy chỉnh, sửa lỗi game, ngăn chặn tấn công DDOS và xử lý người chơi vi phạm quy tắc.
    • Công việc phiền toái nhất là xác định và chặn những kẻ gian lận.
  • Trò chơi mèo vờn chuột

    • Trong game luôn có kẻ gian lận, và quản trị viên máy chủ có thể dùng nhiều kỹ thuật khác nhau để phát hiện họ.
    • Có thể tận dụng mã phía máy chủ, hệ thống Valve Anti-Cheat (VAC), hoặc các giải pháp anti-cheat ở mức kernel.
    • Tuy nhiên, các phương pháp này không thể tự động phát hiện mọi loại cheat, nên biện pháp cuối cùng là phải phân tích thủ công thông qua demo CSGO.
    • Khi bắt được kẻ gian lận thì phải cấm vĩnh viễn khỏi máy chủ. Nhưng họ sẽ tiếp tục tìm cách gian lận trở lại, và những người chơi có kỹ năng kỹ thuật có thể lách lệnh cấm.
  • Kỹ thuật né lệnh cấm

    • Việc né lệnh cấm được thực hiện bằng cách thay đổi thông tin nhận dạng như địa chỉ IP và Steam ID.
    • Dùng Steam ID hoặc địa chỉ IP mới có thể giúp né lệnh cấm, nhưng hệ thống có thể phát hiện những thay đổi này và liên kết định danh mới với lệnh cấm cũ.
    • Có thể dùng VPN để đổi địa chỉ IP, nhưng nếu Steam ID đã bị cấm thì vẫn sẽ bị chặn lại.
    • Nếu thay đổi đồng thời cả hai thông tin nhận dạng, hệ thống sẽ nhận diện đó là người chơi mới và có thể bị qua mặt.
  • Vấn đề của nhận diện dấu vân tay bằng địa chỉ IP

    • Steam ID có thể định danh người chơi một cách duy nhất, nhưng địa chỉ IP thì không.
    • Điều này có thể gây ra vấn đề trong các mạng dùng chung như anh em trong cùng nhà hoặc mạng đại học.
    • Tác giả đã xây dựng một hệ thống ngoại lệ cho những trường hợp như vậy, nhưng vẫn khuyến nghị không nên chơi từ các mạng không đáng tin cậy.
  • IdentityLogger

    • Kẻ gian lận luôn là vấn đề trong game, và đến đầu năm 2017 thì tình trạng né lệnh cấm đã trở nên nghiêm trọng.
    • Để giải quyết việc thay đổi đồng thời Steam ID và địa chỉ IP, tác giả đã nghĩ ra cách tận dụng trình duyệt VGUI để lưu cookie.
    • Cookie này vẫn được giữ lại ngay cả khi thoát game và khởi động lại, đồng thời được lưu trong thư mục cài đặt Steam mà kẻ gian lận không dễ dàng xóa được.
    • Nhờ đó, có thể tạo thêm một định danh gọi là Tracking ID để nhận diện người chơi.
  • Làn sóng cấm quy mô lớn năm 2017

    • Vào tháng 2/2017, hệ thống này đã được triển khai lên toàn bộ máy chủ CSGO của Invex Gaming, và rất nhiều kẻ gian lận đã bị cấm.
    • Cộng đồng này đã có được danh tiếng là nơi “khó gian lận”, và các báo cáo liên quan đến cheat giảm mạnh.
    • Cách làm này hoạt động hiệu quả cho đến khi Valve loại bỏ trình duyệt VGUI; sau đó tác giả đã công khai kỹ thuật này và cung cấp plugin dưới dạng mã nguồn mở.

Tóm tắt của GN⁺

  • Bài viết này nêu ra một trường hợp thú vị về cách xác định và chặn kẻ gian lận khi vận hành máy chủ CSGO.
  • Phương pháp nhận diện dựa trên cookie bằng trình duyệt VGUI vừa sáng tạo vừa hiệu quả, và đã giúp giảm mạnh vấn đề cheat trong cộng đồng.
  • Dù phương pháp này không còn dùng được do bản cập nhật của Valve, nó vẫn cho thấy một cách tiếp cận mới đối với bảo mật trong game.
  • Những dự án có chức năng tương tự bao gồm hệ thống VAC hoặc các phần mềm anti-cheat khác.

1 bình luận

 
GN⁺ 2024-10-18
Ý kiến Hacker News
  • Trong UT2004, người ta dùng GUID hoặc IP để chặn người chơi. Nhưng khi Epic bỏ rơi trò chơi, các keygen xuất hiện khiến việc chặn theo GUID trở nên vô dụng. Chặn IP cũng có giới hạn vì người dùng có thể dùng VPN
    • Giải pháp hiện có là kết hợp chặn IP với chặn VPN bằng cách thêm các subnet VPN đã biết vào tường lửa, đồng thời dùng kỹ thuật lấy dấu vân tay bằng cách quét cấu trúc thư mục hệ thống cụ thể
  • Gửi lời khen tới tác giả vì đã dùng địa chỉ RFC5737 TEST-NET-2
  • Người chơi ở các nước lớn thường bỏ lỡ cảm giác cộng đồng vốn tồn tại ở những nước nhỏ. Khi bạn biết những người chơi game hằng ngày trên một số ít máy chủ, cuộc trò chuyện và niềm vui sẽ tăng lên
  • Một hệ thống anti-cheat chỉ hoạt động phía máy chủ là một mảng vấn đề mà tôi rất muốn được đụng tới ít nhất một lần trong sự nghiệp. Càng suy nghĩ sâu về kiểu đối đầu này càng thấy thú vị
  • Nếu trang web bị sập hoặc chậm mà vẫn muốn đọc bài, có cung cấp ảnh chụp màn hình toàn bộ trang
  • Chủ đề ở đây không phải phát hiện cheat mà là chặn những kẻ gian lận tái phạm. Phát hiện cheat là một vấn đề hoàn toàn khác, đặc biệt khi liên quan đến cheat phần cứng
    • Cá nhân tôi thấy cách hiệu quả nhất là thu phí trò chơi
  • Lưu lượng được mã hóa bằng HTTPS thì các công cụ như Wireshark sẽ không thể tìm thấy token thô. Nhưng với các công cụ như Fiddler hoặc Burp Suite thì có thể giải mã HTTPS khá dễ dàng
  • Tôi chỉ chia sẻ giải pháp và kỹ thuật với các quản trị viên máy chủ đáng tin cậy. Việc dùng VGUI từng rất hiệu quả, nhưng thật tiếc là khoảng năm 2018 trình duyệt web đã bị gỡ bỏ
  • Tôn trọng tính sáng tạo và hiệu quả của giải pháp. Nhưng sẽ tốt hơn nếu ngay từ đầu không có VGUI
    • Việc theo dõi kiểu này trên web quá phổ biến nên gần như không thể né tránh. Khai thác lỗ hổng logic để đạt kết quả tốt hơn là điều hấp dẫn
  • Chặn Steam ID mới từ một IP đã bị chặn là quá hà khắc. Một số ISP dùng CG-NAT hoặc xoay vòng IP, nên một người dùng xấu có thể gây hại cho rất nhiều người chơi vô tội