1 điểm bởi GN⁺ 2024-10-18 | 1 bình luận | Chia sẻ qua WhatsApp
  • Invex Gaming vận hành máy chủ cộng đồng CSGO tại Úc và New Zealand từ năm 2014 đến 2019, và việc người chơi liên tục né lệnh cấm khiến quản trị viên phải tốn nhiều công sức xem xét demo thủ công
  • Cách cấm trước đây theo dõi bằng cách liên kết địa chỉ IP với Steam ID, nhưng nếu kẻ gian lận thay cả hai cùng lúc thì máy chủ khó xác định đó có phải cùng một người chơi hay không
  • IdentityLogger dùng cookie bền vững của trình duyệt VGUI tích hợp trong CSGO để lưu Tracking ID, rồi dùng địa chỉ IP, Steam ID và Tracking ID cùng nhau làm dấu vân tay
  • Sau khi được triển khai trên toàn bộ máy chủ vào tháng 2/2017, ngay cả những người chơi đã đổi cả Steam ID lẫn địa chỉ IP cũng bị nhận diện lại bằng Tracking ID và bị cấm ngay lập tức
  • Cách này hoạt động cho đến khi Valve loại bỏ trình duyệt VGUI vào tháng 10/2017 để tăng cường bảo mật, sau đó kỹ thuật và plugin được công bố

Hoạt động của Invex Gaming và gánh nặng đối phó gian lận

  • Invex Gaming là máy chủ cộng đồng CSGO tại Úc và New Zealand, hoạt động từ năm 2014 đến 2019
  • Công việc vận hành rất rộng, từ duy trì diễn đàn và hạ tầng máy chủ, quản lý chi phí và tài trợ, thêm model người chơi, chỉnh sửa hitbox, tự động hóa hệ thống VIP, viết plugin tùy chỉnh, vá exploit và lỗi game, phòng chống DDoS cho đến xử lý báo cáo
  • Trong số đó, việc lặp đi lặp lại là xác định và cấm kẻ gian lận là công việc nhàm chán và tốn sức nhất
  • Có các phương pháp phát hiện tự động như mã phía máy chủ và Valve Anti-Cheat, nhưng do cuộc đối phó liên tục giữa nhà phát triển cheat và nhà phát triển anti-cheat, rất khó tự động bắt được mọi loại cheat
  • Cuối cùng, biện pháp sau cùng là phân tích thủ công bằng cách xem demo CSGO, trong đó quản trị viên phải tự phán đoán người chơi có gian lận hay không

Điểm yếu của việc cấm theo địa chỉ IP và Steam ID

  • Cách cấm thông thường là lưu thông tin có thể nhận diện để chặn quyền truy cập dịch vụ
  • Máy chủ Invex Gaming chủ yếu dùng hai định danh
    • Địa chỉ IP: định danh Internet do ISP hoặc nhà cung cấp máy chủ cấp
    • Steam ID: định danh duy nhất gắn với tài khoản Steam
  • Khi một người chơi bị cấm, địa chỉ IP và Steam ID được lưu vào danh sách cấm; về sau nếu truy cập bằng cùng địa chỉ IP hoặc Steam ID, họ sẽ bị máy chủ đá ra
  • Nếu chỉ đổi Steam ID và quay lại bằng cùng địa chỉ IP, có thể liên kết Steam ID mới với lệnh cấm cũ và cấm lại
  • Trường hợp chỉ đổi địa chỉ IP nhưng vẫn dùng cùng Steam ID thì địa chỉ IP mới cũng được gắn với lệnh cấm cũ
  • Vấn đề phát sinh khi kẻ gian lận đổi Steam ID và địa chỉ IP cùng lúc
    • Với máy chủ, đó là tổ hợp địa chỉ IP và Steam ID lần đầu xuất hiện
    • Không có cách nào liên kết với lệnh cấm trước đó, nên họ có thể chơi lại
    • Dù bị cấm lại, họ vẫn có thể né lệnh cấm bằng cách đổi cả hai định danh cùng lúc
  • Phương án duy trì danh sách VPN phổ biến và các địa chỉ IP liên quan cũng được cân nhắc, nhưng đội vận hành không ưa cách này vì gánh nặng bảo trì liên tục
  • Trong phân tích sau đó, kẻ gian lận khét tiếng nhất có quyền truy cập vào các địa chỉ IP phân tán theo địa lý và hơn 87 tài khoản Steam đã mua CSGO

Khả năng dương tính giả do dấu vân tay địa chỉ IP

  • Steam ID nhận diện người chơi một cách duy nhất, nhưng địa chỉ IP không phải định danh duy nhất
  • Nếu hai anh em trong cùng một nhà cùng vào máy chủ và chỉ một người gian lận, dấu vân tay của cả hai có thể bị lẫn với nhau vì dùng cùng địa chỉ IP, khiến cả hai đều bị cấm
  • Vấn đề cũng xảy ra ở mạng dùng chung, chẳng hạn trường đại học nơi toàn bộ lưu lượng ra ngoài đi qua một địa chỉ IP duy nhất
    • Một người bị cấm vì gian lận trên mạng trong khuôn viên
    • Steam ID và địa chỉ IP nhà riêng của những người chơi khác dùng cùng mạng có thể bị liên kết và bị cấm oan
  • Invex Gaming đã tạo hệ thống ngoại lệ cho những trường hợp hiếm như vậy, đồng thời khuyến cáo người chơi không nên chơi trên mạng không đáng tin cậy

Dùng cookie trình duyệt VGUI làm định danh thứ ba

  • Đầu năm 2017, vấn đề né lệnh cấm trên máy chủ trở nên nghiêm trọng hơn nhiều, khiến quản trị viên phải tiếp tục xem xét demo thủ công
  • Bài toán cốt lõi là nhận ra cùng một người chơi ngay cả khi Steam ID và địa chỉ IP bị đổi cùng lúc
  • CSGO có một trình duyệt web cơ bản trong game cho phép quản trị máy chủ hiển thị MOTD khi kết nối, được gọi là trình duyệt VGUI
  • Trình duyệt VGUI cho phép quản trị máy chủ mở một website tùy ý trên màn hình người chơi, và cũng có thể ẩn cửa sổ đó
  • Trình duyệt này được xác thực sẵn bằng cookie Steam nên có thể tự động đăng nhập vào domain Steam, đồng thời cho phép chạy JavaScript phía client do quản trị máy chủ gửi tới
  • Điểm cốt lõi của IdentityLogger là trình duyệt VGUI hỗ trợ cookie và vẫn giữ cookie giữa các phiên
    • Kết quả thử nghiệm cho thấy cookie lưu bằng trình duyệt VGUI vẫn còn sau khi thoát CSGO và chạy lại
    • Dường như cũng không có giới hạn ngày hết hạn cookie, và có thể lưu cookie với ngày hết hạn hơn 10 năm
    • Dữ liệu cookie được lưu trong một tệp bên trong thư mục cài đặt Steam của người chơi
  • Bằng cách này, có thể gán cho mỗi người chơi một định danh thứ ba gọi là Tracking ID
  • Để trông như người chơi mới, họ phải đổi cả Steam ID, địa chỉ IP và thư mục cài đặt Steam; nhóm cho rằng sẽ không có người chơi nào đổi cả thư mục cài đặt Steam

Luồng triển khai IdentityLogger

  • IdentityLogger là một hệ thống tích hợp để lấy dấu vân tay người chơi dựa trên địa chỉ IP, Steam ID và Tracking ID
  • Khi người chơi kết nối đến máy chủ, trước tiên hệ thống thực hiện kiểm tra lệnh cấm trong cơ sở dữ liệu
    • Địa chỉ IP, Steam ID và Tracking ID là các đối tượng được kiểm tra
    • Nếu có lệnh cấm hiện hữu, người chơi bị đá khỏi máy chủ và định danh mới được liên kết với lệnh cấm cũ
  • Với người chơi không bị cấm, hệ thống mở một trang web bí mật trong cửa sổ trình duyệt VGUI bị ẩn
  • Yêu cầu được xác thực bằng một giá trị bí mật; yêu cầu từ trình duyệt VGUI được tạo ở phía client nhưng lưu lượng được mã hóa bằng HTTPS
  • Script PHP kiểm tra xem cookie Tracking ID đã tồn tại hay chưa
    • Nếu chưa có, nó tạo và lưu Tracking ID mới
    • Tracking ID là chuỗi chữ-số ngẫu nhiên dài 64 ký tự như TeStsCOhZO1TQsumJkDUOdMMo13ReRLEngrQTg7S49LKT2rBvgPhauzSYbegscOT
    • Cuối cùng cookie được lưu vào tệp vgui.browser.cookies.dat trong thư mục cài đặt Steam của người chơi
  • Steam ID, địa chỉ IP và Tracking ID được lưu vào cơ sở dữ liệu mỗi khi người chơi kết nối đến máy chủ
  • Cơ sở dữ liệu này được tích hợp vào một bảng điều khiển web để quản trị viên điều tra dấu vân tay người chơi, và vào plugin SourceBans đã chỉnh sửa dựa trên phần mềm quản lý lệnh cấm cho game nền Source

Cách ngăn né lệnh cấm

  • Ví dụ, khi người chơi lần đầu kết nối bằng địa chỉ IP 198.51.100.1 và Steam ID STEAM_1:1:1111, một Tracking ID mới được tạo
  • Nếu người chơi này bị cấm vì gian lận, địa chỉ IP, Steam ID và Tracking ID đều được đưa vào cơ sở dữ liệu cấm
  • Sau đó, nếu cùng người chơi kết nối bằng địa chỉ IP 100.64.50.74 và Steam ID STEAM_1:1:3333, địa chỉ IP mới và Steam ID mới sẽ vượt qua bước kiểm tra cấm
  • Tuy nhiên, Tracking ID đã lưu trước đó được liên kết với lệnh cấm cũ, nên không vượt qua được kiểm tra cấm
  • Hệ thống lập tức cấm lại người chơi và liên kết địa chỉ IP mới cùng Steam ID mới với lệnh cấm cũ
  • Từ đó về sau, dù người chơi này dùng bất kỳ địa chỉ IP hay Steam ID nào, họ vẫn bị cấm ngay khi kết nối vì cùng Tracking ID

Kết quả triển khai năm 2017 và công bố

  • Sau khi thử nghiệm, Invex Gaming triển khai IdentityLogger trên tất cả máy chủ CSGO vào tháng 2/2017
  • Ngay sau khi triển khai, số lượng lệnh cấm kẻ gian lận tăng mạnh
  • Một số thành viên cộng đồng đáng tin cậy, quen biết lâu năm, cũng bị phát hiện đã gian lận bằng tài khoản bí mật
  • Một số kẻ gian lận trực tiếp hỏi vì sao họ vẫn bị phát hiện né lệnh cấm dù đã đổi Steam ID và địa chỉ IP
  • Các quản trị viên máy chủ khác cũng quan tâm đến plugin, có người còn đề nghị trả tiền
  • Vì nếu kỹ thuật này được biết rộng rãi thì chỉ cần xóa tệp cookie là có thể vượt qua, phần triển khai được giữ bí mật trong nội bộ đội quản trị
  • Cách này hoạt động cho đến tháng 10/2017, khi Valve loại bỏ hoàn toàn trình duyệt VGUI trong quá trình tăng cường bảo mật game
  • Sau khi trình duyệt VGUI bị loại bỏ, kỹ thuật được công bố và plugin cũng được phát hành mã nguồn mở

1 bình luận

 
GN⁺ 2024-10-18
Các ý kiến trên Hacker News
  • Trong UT2004, có thể chặn bằng GUID của người chơi (hash của CD key) hoặc IP, nhưng sau khi Epic bỏ bê trò chơi, các trình tạo key xuất hiện rất nhiều khiến việc chặn GUID trở nên vô hiệu; ngày nay VPN chỉ 2 đô la cũng dùng được nên chặn IP cũng có giới hạn lớn
    Giải pháp chính đang dùng hiện nay là ngoài chặn IP còn đưa toàn bộ cơ sở dữ liệu các subnet VPN đã biết vào tường lửa để chặn VPN, và một kỹ thuật nhận diện vân tay tương tự bằng cách quét cấu trúc một số thư mục hệ thống

    • Nếu nói “chặn IP có giới hạn vì VPN” thì https://redman.xyz/doku.php/schachtmeister2 được tạo ra chính để ngăn những người như vậy
      Nó được làm vì trong Tremulous (một fork của ioquake3) người ta cứ liên tục né chặn IP, nhưng cũng có thể dùng cho các game khác. Đây không phải dự án của tôi, nhưng tôi biết tác giả, và nếu có nhu cầu thì cũng có thể fork rồi chỉnh sửa cho phù hợp với một game cụ thể hoặc dùng chung
      Trong schachtmeister2 cũng có thể dùng các heuristic như whois -10 "Hosting", whois -13 "VPN", whois +7 "residential"
      Bổ sung: thấy kho Git trả về 502 nên tôi đã liên hệ quản trị viên
    • Nếu có thể giúp bảo trì UT2004 thì tốt quá. Tôi thật sự rất thích game đó
      Giờ tôi không chơi online nữa vì trình không theo kịp, nhưng khi còn khoảng 30 phút rảnh, vào làm nhanh một ván với AI vẫn rất vui
    • Trên server Counter-Strike 1.6 mà tôi phụ vận hành thỉnh thoảng cũng có cheater, và lạ là có khá nhiều kiểu “ragehack” chẳng buồn che giấu, như bắn headshot bằng súng ngắm no-scope khi đang ở trên không
      Chủ server cho phép tài khoản non-Steam (bản sao chép lậu) kết nối, nên không thể dựa vào chặn SteamID như GUID của Unreal. Việc đổi ID giả mạo nằm đâu đó sâu trong thư mục cài đặt nên hơi rắc rối, nhưng vẫn làm được. Đây là game khá phổ biến ở Bắc Phi, các nước Baltic cũ và vùng lân cận, Bắc và Tây Á, nên nếu thiếu những người chơi này thì server sẽ trống trơn
      Vì vậy chúng tôi dùng cả cây gậy lẫn củ cà rốt. Người chơi Steam được nạp đạn gần như tức thì, được miễn một số chức năng tự động điều hành/kick khá mạnh tay, có nickname đặt trước và thẻ “VIP”. Nói cách khác, với giá vài key VPN, họ có được lợi thế hợp pháp và quyền sở hữu game, còn chi phí một lần thì đi thẳng tới nhà phát triển. Hoặc cũng có thể miễn phí nếu trong 5 tuần chơi ít nhất 1 game mỗi tuần và liên hệ với đội ngũ vận hành qua mạng xã hội
      Phần cây gậy thì không chỉ kick/chặn, mà cố tình làm cho phiền phức để họ thấy mình thật sự không được chào đón và không muốn quay lại nữa. Ví dụ như tước vũ khí rồi phát vũ khí hạng bét, dịch chuyển ngẫu nhiên ra ngoài map hoặc kẹt dưới sàn, lặp amx_rocket để tạo pháo hoa, dùng amx_drug tăng góc nhìn lên tối đa và tạo hiệu ứng say, chế giễu họ là loser trình kém đến mức phải để AI chơi hộ mới thấy vui
      Cũng có những lệnh và plugin amx bị coi là “bất hợp pháp”; bình thường người ta tránh dùng vì khả năng bị lạm dụng cao, nhưng trong tình huống này thì chúng hữu ích. Đặc biệt amx_exec khá đáng sợ vì cho phép admin truy cập trực tiếp console trong game của client để chạy lệnh hoặc thiết lập tùy ý
      Ví dụ, các lệnh như rate 1000, name iCaNtAiM, unbind all, bind y quit, fps_max 50 có thể phá tốc độ mạng, đổi tên, xóa key binding, gán phím chat mặc định thành thoát game, và hạ FPS tối đa xuống mức không quá dễ nhận ra nhưng đủ gây bực bội. Khôi phục mặc định thì dễ bằng cách xóa file cấu hình, nhưng nếu không có bản sao lưu cấu hình thì có thể rất khó chịu
      Điều thú vị là nhiều server đang bán lợi thế VIP với giá tới 20 đô la mỗi tháng. Ban đầu tôi bị sốc, nhưng rồi biết rằng để xuất hiện ở vị trí tương đối tốt trong các server browser của bên thứ ba phải trả khoản phí khá lớn, kiểu một cấu trúc cartel mờ ám, và phần lớn doanh thu được dùng cho “boost”
      Khi chủ server của chúng tôi ngừng trả tiền “boost” trong hai tháng, số người chơi trung bình giảm từ 14/32 xuống 3/32, còn lượng truy cập cao điểm vốn thường đầy tới 28/32 vào cuối tuần thì tối thứ Sáu nếu may mắn cũng chỉ khoảng 12/32. Ngay khi trả tiền lại, số người chơi bật tăng, và phần điên rồ là chi phí lên tới 180 đô la mỗi tháng
      Trước khi tham gia vận hành, tôi tưởng rằng deathmatch vui, quản lý tốt, độ trễ thấp, server hiệu năng cao, lại chuyên remake/remix map phổ biến thứ hai trong game là đủ để được ưa chuộng. Nhưng có vẻ muốn hiện ra trước phần lớn người chơi thì phải trả phí quá mức cho những người gác cổng hiện hữu
    • Tôi không hiểu vì sao việc chặn cheater lại trở thành vấn đề như vậy. Đừng chặn, hãy âm thầm đánh dấu là cheater rồi chỉ cho họ vào server dành riêng cho cheater; họ sẽ sớm bỏ thôi
      Giống như việc báo cho web scraper biết rằng IP của họ đã bị chặn, chiến lược đó chẳng đem lại gì. Cách tốt hơn là âm thầm đánh dấu IP của scraper rồi chỉ trả về dữ liệu rác được trộn ngẫu nhiên vào trang
      Tôi nghĩ phát hiện cheat cũng tương tự. Chặn chỉ làm mất lợi thế chiến lược, còn đổi IP, CD key hay tài khoản chỉ là chút bất tiện nhỏ đối với cheater
    • Cách này vẫn bị cheater dùng tethering dữ liệu di động và proxy vượt qua. Không biết đã cân nhắc phân tích mạng nâng cao hơn chưa
      Đây là lĩnh vực tôi quan tâm cả về nghề nghiệp lẫn cá nhân, nên nếu cần đề xuất thì tôi có thể giúp
  • Tôi thích việc tác giả dùng địa chỉ TEST-NET-2 theo RFC5737 làm địa chỉ IPv4 ví dụ: “An example of an IPv4 IP address is 198.51.100.1.”
    https://www.rfc-editor.org/rfc/rfc5737

    • Tôi rất thích việc dùng các định danh được dành riêng cho mục đích ví dụ. Trong tài liệu, tôi luôn dùng IP TEST-NET-2 và example.com
    • Điều thú vị là khi tài liệu gõ nhầm địa chỉ dành riêng. Ví dụ như 189.51.100.1 hoặc 198.15.100.1, và thực tế có khá nhiều RFC như vậy
  • Một ngày nào đó trong sự nghiệp, tôi rất muốn được xử lý anti-cheat chỉ phía máy chủ. Cuộc chạy đua vũ trang mang tính đối kháng kiểu này trông thật sự thú vị để suy nghĩ sâu và lâu

    • Vấn đề là nhiều công ty không muốn trả chi phí đó. Đây là “công việc trên máy chạy bộ”: dù đổ bao nhiêu người và tiền vào thì cuối cùng cũng quay lại điểm cũ
      Vì số lượng người chơi nhiều hơn rất nhiều so với số lượng lập trình viên, đây là một trận chiến thua
    • Đây là lĩnh vực tôi đang làm hiện nay. Vấn đề thật sự là nếu muốn đưa toàn bộ xử lý quan trọng lên máy chủ thì chi phí hiệu năng sẽ lớn; các lập trình viên trở nên lười biếng, đẩy quá nhiều việc sang client, rồi điều đó đóng đinh như một tiêu chuẩn
      Chuyển toàn bộ hành vi quan trọng sang máy chủ không dễ cũng không rẻ, nhưng đó là cách chặn cheat một cách toàn diện hơn
      Nếu thêm vào đó là game có nhiều mô phỏng vật lý, tickrate 120 (có thể tăng cao hơn sau khi thử nghiệm thêm), chiến đấu hành động dựa trên thao tác tinh vi, và mục tiêu mở rộng quy mô kiểu MMORPG, thì việc này thật sự trở nên khó
    • Trình độ kỹ thuật hiện đại khá nhàm chán, và payload lệnh người dùng có thể học trong một buổi chiều
      Giờ đã có aimbot dựa trên YOLO, khiến thế giới phức tạp hơn rất nhiều; kết luận thực tế là anti-cheat rốt cuộc vẫn có thể bị phá
      Ở phía client, người ta có thể tạo binary riêng chưa được đăng ký hash với các dịch vụ anti-cheat lớn; ở phía máy chủ, bạn chỉ có thể thấy những gì được luật chơi cho phép
      Không có cơ chế nào để chặn tốc độ phản ứng siêu nhân, và có lẽ cũng không nên có, nên đây trở thành bài toán không còn giải được nữa
      Vì vậy cần đến phán đoán của cộng đồng, nhưng điều này cũng nhàm chán. Trong Counter-Strike, việc người chơi giỏi bị quy là cheater là một vấn đề vừa lâu đời vừa thú vị
    • Công việc này cũng cải thiện đáng kể đời sống của mọi người. Toàn bộ game online đôi khi trở thành vùng đất không người vì cheater
      Vài năm trước tôi đã mua nhiều bản Battlefield, nhưng một số bản không thể chơi được vì cheater dùng speedhack và aimbot. Tôi đã nghĩ những thứ này có vẻ dễ phát hiện ở phía máy chủ, vậy tại sao họ không làm gì
    • Tôi chỉ từng làm việc này trong Minecraft, nhưng khá thú vị
  • Nếu website bị sập hoặc chậm và bạn muốn đọc bài, có ảnh chụp màn hình toàn trang ở đây: https://i.imgur.com/SPp6IHX.jpeg
    Tôi không nghĩ bài viết sẽ nhận nhiều lưu lượng truy cập đến vậy

  • Bài này nói về việc ngăn cheater đã bị cấm liên tục quay lại bằng cách né lệnh cấm, chứ không phải chặn cheater, tức phát hiện cheat
    Đặc biệt trong bối cảnh hiện nay còn có cả cheat phần cứng như DMA, phát hiện cheat là một trò chơi hoàn toàn khác. Cá nhân tôi cho rằng một trong những cách hiệu quả nhất để chặn người né lệnh cấm là thật sự thu tiền cho game

    • Vào thời điểm sự việc trong blog diễn ra, CS:GO không miễn phí, nhưng vẫn có những cheater dường như truy cập được hơn 80 tài khoản
    • Cheater không nhạy cảm với giá. Thú tiêu khiển ưa thích của họ là làm vua trong một cái hồ trẻ con nhỏ, nên họ không bận tâm chi 60 USD mỗi tháng cho tài khoản mới hoặc key game
      Người chơi CS:GO cũng không mấy bận tâm nếu tài khoản chứa skin trị giá hàng trăm USD bị cấm. Vì họ đã mua tài khoản bị chiếm đoạt của người khác với khoảng 5 USD, hoặc dù sao cũng đang trả 30 USD mỗi tháng cho dịch vụ cheat
      Có lẽ có phần giao nhau rất lớn giữa cheater thường xuyên và cá voi pay-to-win
      Một cách đáng tin cậy hơn để giảm cheater trong game là honeypot dành cho cheater. Thay vì cấm rồi lại theo dõi cheater mua tài khoản mới, hãy âm thầm chỉ đưa họ vào matchmaking với những cheater khác, các bot được cố tình làm cho khó chịu, độ trễ giả, thỉnh thoảng bỏ qua phím bấm, v.v.
      Nếu phá hỏng niềm vui của họ, họ sẽ ngừng phá game. Khi đó cuộc chiến thông tin đảo chiều: để biết có cần mua tài khoản mới hay không, trước hết họ phải tự tìm hiểu xem mình có thường xuyên chơi cùng cheater hoặc bot hay không
    • Cấm dựa trên TPM cũng khiến việc né lệnh cấm trở nên khá đắt đỏ. Từ thời điểm đó, cheater phải mua bo mạch chủ mới hoặc hàn chip TPM mới vào bo mạch chủ
      Tất nhiên, một ngày nào đó nếu một nhà cung cấp lỏng lẻo làm rò rỉ khóa TPM thì việc giả mạo cũng có thể trở nên khả thi
  • Người chơi ở các nước lớn dễ bỏ lỡ cảm giác cộng đồng tồn tại ở các nước nhỏ
    Nếu mỗi ngày chỉ có đủ người chơi cho 3–4 máy chủ, mọi người sẽ nhanh chóng biết nhau, và điều đó làm tăng đáng kể những trò đùa và niềm vui

    • Tôi đã nếm trải phần nào cảm giác đó khi chơi các game multiplayer cũ có cộng đồng người chơi nhỏ
      Nó tốt hơn nhiều so với những game quy mô hàng triệu người chơi, nơi bạn sẽ không bao giờ gặp lại người vừa chơi cùng một ván. Vì cùng lý do đó, tôi cũng thích các game có máy chủ do cộng đồng vận hành
    • Nếu đủ lớn tuổi, bạn sẽ nhớ việc thêm máy chủ vào danh sách yêu thích trên Gamespy
      Bạn sẽ cứ vào cùng một máy chủ dựa trên việc ai đang online, và chủ yếu là kết nối của bạn tốt đến mức nào
  • Cách “nếu kết nối bằng Steam ID khác nhưng dùng địa chỉ IP đã bị cấm thì cấm lại” chỉ hoạt động tốt cho đến khi bạn nhận ra nó sẽ trừng phạt người chơi vô tội vì CGNAT và việc xoay vòng địa chỉ IP
    Cheater thường biết cách khiến router yêu cầu IP mới, và IP đó sau này được gán cho người khác

    • Trên thực tế đã có tình huống như vậy, và chúng tôi đã xem xét từng trường hợp để gỡ cấm người dùng hoặc tạo ngoại lệ
      Tuy nhiên việc này khá hiếm, trong vài tháng chỉ có vài báo cáo đếm trên đầu ngón tay. Nếu máy chủ phổ biến hơn, hẳn chúng tôi đã gặp thường xuyên hơn nhiều
    • Phần “Problematic cases of IP address fingerprinting” trong bài đã đề cập đến vấn đề này
    • Trong những tình huống như vậy, có lẽ tôi đã dựa vào cookie bí mật để giảm false positive
  • Nếu “chỉ chia sẻ giải pháp và kỹ thuật với một quản trị viên máy chủ khác ở Anh mà tôi hoàn toàn tin tưởng”, thì có lẽ đó là chúng tôi
    Cuối cùng chúng tôi đã kết hợp nó với các tín hiệu fingerprinting khác, nhưng cách dùng VGUI hiệu quả đến mức đáng ngạc nhiên. Tôi nhớ khoảng năm 2018 trình duyệt web đã bị gỡ bỏ, khá đáng tiếc. Nó rất mạnh vì có thể tạo cây kỹ năng tùy chỉnh liên động với máy chủ hoặc các tích hợp thú vị

  • Việc nói rằng “bản thân lưu lượng đã được mã hóa bằng HTTPS nên dù dùng công cụ sniffing gói tin như Wireshark cũng không thể tìm thấy token thô” là không đúng lắm: nếu trình duyệt tích hợp dùng proxy hệ thống và danh sách chứng chỉ hệ thống thì việc giải mã HTTPS bằng các công cụ như Fiddler hoặc Burp Suite là rất dễ

    • Điểm mấu chốt là vấn đề đó dễ bị nhận ra đến mức nào khi chạy Wireshark. Vì nó không nổi bật, nên để biết thực sự đang xảy ra chuyện gì cần nhiều công sức hơn rất nhiều
      Request cũng ẩn mình bình thường giữa các request khác, và những request đó đều là thứ có thể dự đoán được. Thường thì request MOTD hiển nhiên là sẽ có, nên trông không có gì lạ
      Trong bối cảnh cách né tránh đơn giản hơn nhiều, kiểu như xóa một file cục bộ, thì mức này đã hoạt động đủ tốt hơn so với việc lần ra request thực tế rồi thiết lập Fiddler hoặc Burp Suite
      Không cần thiết kế quá mức
    • Tôi nghĩ đối tượng mà tác giả nhắm tới có lẽ không phải độc giả HN, mà là script kiddie trung bình
    • Việc xuất khóa bí mật từ Firefox rồi nhập vào Wireshark cũng khá dễ
      Chỉ cần vài cú nhấp chuột; tùy TLS đang dùng có thể phải làm cho từng kết nối, nhưng cũng không khó đến vậy
  • Tôi biết câu “đáng lẽ nên đăng ký bằng sáng chế” là nói đùa, nhưng nếu làm vậy thì họ đã phải công khai kỹ thuật đó và nó sẽ lập tức trở nên vô dụng
    Dù vậy, điều này hoàn toàn không làm giảm giá trị bài viết. Tôi đã đọc rất thích