Welcome to LQ. Hope you like it here.
Quote:
Originally Posted by spiriad
the tricky part is,how do I avoid the "bad intentions" that may result from running those compiled sources. (..).Generaly speaking, how do I prevent those programms do things
|
(There's three public code submission servers I know of, one of them by the University of St. Petersburg IIRC, so maybe you could ask any of those teams how they set up their servers and post back any nfo).
IMHO the best way to run this would be a separate dedicated server restoring the system on reboot and logging to a separate syslog server. If that's prohibitive in terms of available hardware then in terms of any resource access, fork bombs you're looking for access controls (GRSecurity, SE Linux) and because of the impact on the host you better isolate that whole process in some virtual machine (VMware, QEmu, Virtualbox). Since virtualization uses host memory there is always an, albeit minute, chance memory corruption still occurs but at least you know they'll have to know what you're running (don't display nor advertise), find flaws for it and code it well. Logging as much as possible and catching errors early is crucial and it also is a good idea to run
lint checkers and flawfinders (and maybe your own filters based on your knowledge of secure coding standards) on submitted code to reject code with glaring errors or obvious obfuscation without even compiling.