|
JACK WHITHAM PhD MEng Professional Activities - Publications - Software - Articles |
|||
|
|
|
||
| Home -> Articles -> How to harden the security of Source Engine games on Steam |
Most Steam games are hosted on third-party servers. Games including Counter-strike Source and Team Fortress 2 are sufficiently popular that Valve can rely on the players to set up and run the servers that host them. A certain amount of customisation is possible, and many server administrators install "plugins" to add features such as voting and modify game rules. But administrators are not limited to changing the game itself. They can also cause web pages to open within the game.
A web page opens when a player connects to a server: this page usually has information about the server. It appears in a mini browser window which is actually Internet Explorer, "embedded" in the game. This mini browser shares every security hole that might exist in Internet Explorer, which has a notoriously poor security record as an Internet search will tell you. Just as a malicious website or ad banner could install malware on your computer, a malicious game server could do the same. This would be a great way to steal Steam usernames and passwords.
Server administrators can also send commands to open a web page on your machine as you play. For example, Mani's Admin Plugin for Counter-strike Source provides the "ma_browse" command. Using "ma_browse", a server administrator can cause any webpage to open on any player's computer, using Internet Explorer. It makes no difference if you usually use another browser, such as Firefox: Internet Explorer is always used.
My suggested solution to this problem is to block Internet Explorer from accessing the Internet. (Warning -- there is a caveat below which you should read before you try this.) Unfortunately a complete block will break the Steam application and also prevent custom map downloads. You need an incomplete block, so that only a short "whitelist" of trusted sites can be displayed. In particular, you will want your whitelist to include the following:
There are probably many ways to implement the whitelist, but I recommend the following:
Another option is to add new web sites to the whitelist by editing "user.action". This is time consuming; I don't recommend it.
|
|
|
||
| Copyright (C) Jack Whitham 1997-2008 | |||