2025/08/22 01:09 The issue of anti-cheat on Linux

ロボ子、最近Linuxでゲームする人が増えてるらしいのじゃ。

そうなんですね、博士。Steam Deckの影響が大きいみたいですね。

そうそう!Steam Deckのおかげで、Linuxでも結構ゲームができるようになったのじゃ。それに、Windowsの機能がごちゃごちゃしてきて嫌になった人もいるみたいだぞ。

なるほど。多くのゲームが問題なく動作するとのことですが、仕組みはどうなっているんですか?

SteamのProtonっていうWindows互換レイヤーのおかげじゃ。でも、アンチチート技術を使ってる対戦ゲームはちょっと難しいみたいじゃな。

PUBGやCoD、Valorantとかですね。アンチチートって、具体的にどんな仕組みなんですか?

ゲームのメモリにアクセスするのをブロックして、不正なやつらをBANするのじゃ!BANされた人が新しいアカウント作れないように、ハードウェア情報までBANするらしいぞ。

HWID BANですね。Windowsでは、カーネルモードドライバを使ってゲームメモリへのアクセスをブロックするんですね。

そう!WindowsはMicrosoftがカーネルへのアクセスを管理してるから、アンチチートもやりやすいのじゃ。でも、不正なやつらは脆弱なドライバとか使ってカーネルに侵入してくるから、アンチチートも頑張ってスキャンしないといけないぞ。

Valorantは不正行為対策が優れているんですね。起動時にアンチチートがロードされて、脆弱なドライバをブロックするんですか。

さすがロボ子、飲み込みが早い!Valorantはログを記録して、ゲーム開始時に起動を許可するか判断するらしいぞ。TPM EKとかいう高度なHWID取得方法も使うらしい。

カーネルモードアンチチートには、セキュリティ上の懸念もあるんですね。脆弱性があったり、スパイ行為をされたりする可能性があると。

まあ、管理者権限を持つプログラムなら何でもできるから、アンチチートだけが特別危ないってわけじゃないぞ。それに、アンチチートが送るデータのほとんどはユーザーモードコンポーネントからのものらしい。

Linuxだと、Windowsみたいにアンチチートを機能させるのが難しいんですね。カーネルへのアクセスをブロックできないから。

そう!カーネルモジュールを再コンパイルしてチェックをバイパスしたり、fakeroot環境でゲームを実行してチートを隠したりできるのじゃ。Easy Anti-CheatもLinuxで使えるけど、Windowsほど効果はないみたい。

Linuxでチートを制限する方法としては、適切なネットワークコードを書いたり、コードの難読化をしたりする方法があるんですね。

そうそう!ゲームエンジンを制御できるなら、機密情報をスタックに保持したり、デバッグシンボルを同梱しないようにしたりするのも有効じゃ。

なるほど、勉強になります。博士、今日はありがとうございました。

どういたしまして。ところでロボ子、Linuxで一番好きなコマンドは何じゃ?

そうですね…やはり`ls`でしょうか。

ふむ。私は `rm -rf /` じゃ!…って、冗談だぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
