Take the 2-minute tour ×
Arqade is a question and answer site for passionate videogamers on all platforms. It's 100% free, no registration required.

Now that Steam is officially available on Linux, I am very interested in it!

However, I wonder what is the security system in Steam?

When I download a game through Steam, will the game run as native application that has complete access to user data or in a sandboxed environment with declared permissions (similar to Android)?

share|improve this question
1  
I find it highly unlikely that it would be sandboxed, but I suppose it's possible. –  SevenSidedDie Feb 16 '13 at 18:45
    
@SevenSidedDie Since it is a cross-platform system, the games are probably running in a virtualised enviroment, in which case it is easy to sandbox it. –  HRJ Feb 17 '13 at 5:53
4  
The games are ported, not run in a virtualised environment. There is no emulation or compatibility layers in the Steam for Linux design. (That's why there is a limited selection available right now, rather than the whole library.) Given that, the only sandboxing that makes sense is if Steam launched each game in a chroot jail, and I'd be surprised if doing that even occurred to the Valve devs. –  SevenSidedDie Feb 17 '13 at 6:37
    
@SevenSidedDie Thanks for confirming it is not virtualised. So Steam is just a store + perhaps some networking API? Steam downloads about 175MB of stuff upon first installation; I wonder what exactly it provides. –  HRJ Feb 17 '13 at 10:00

3 Answers 3

up vote 5 down vote accepted

Steam doesn't use sandboxes. For example, in Windows, Steam games usually save their data in My Documents, Appdata, their own installation folder or Steam's Steam Cloud folder (which syncs back to the online storage service for your saves, configurations and other user data). Some even install other programs, like a multiplayer component's library (e.g.: Games for Windows - LIVE).

Valve, however, put some restrictions in place to prevent unwanted behaviour, like a game installing a publisher's games marketplace without asking. The only thing closest to doing that is Ubisoft's uPlay, which Ubisoft wanted to use for updating their games, so instead of shipping the full client each game comes with a mini version that lacks the marketplace and can only be started when you start its associated game.

Games on Steam are mostly the same as their retail counterparts, only slightly modified to use Steam's authentication DRM and made downloadable through Steam's servers.

Steam offers additional services in return, like automatic updates, cloud synchronisation of game user data, achievements, leaderboards and other personalised data (look at a user's Team Fortress 2 stats for an example) and more.

share|improve this answer
    
Would you do a DLL dependency check via ldd, if you have installed Steam under Linux? It would be highly interesting to see whether they modified the game binaries to require Steam to run, and, if so, how. –  DrFish Feb 20 '13 at 9:09
    
``` ldd which steam not a dynamic executable ``` –  HRJ Feb 20 '13 at 13:28

Steam doesn't protect your system from untrusted games, or from itself.

You might be interested in Stéphane Graber's article on using LXC to do this, and the steam-lxc project he created for that purpose.

share|improve this answer
    
Indeed, I had started looking at lxc too, for this and other such uses. The links you posted are a great head start. –  HRJ Oct 20 '13 at 4:56

You can use a partition with Steam Os to run all Steam games in a safe place separated from your files. All the files the games will access are those within the partition, and the worst virus could do is to wipe or alter user files in that sandbox.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.