[plt-scheme] Insecure procedures
On Aug 17, Don Felgar wrote:
> I plan to provide a Scheme service on a semi-public server. Does
> anyone have a list of procedures that are inherently unsafe? For
> the time being I'm not talking about resource hogging or similar
> attacks. I mean system, eval, load, open-input-file and etc,
> procedures that directly facilitate abuse. Does such a list exist?
For preventing file access you should read about security guards:
(current-security-guard
(make-security-guard
(current-security-guard)
(lambda (who path what)
(when (memq 'execute what)
(error "I'm sorry Dave, I'm afraid I can't do that.")))
void))
I don't see the problem with `eval' etc. If you're planning to let
different users run code, then you'll probably want to set each user
with a different namespace. (I once hacked a remote Scheme thing
which did something similar, in case you want some half baked code.)
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://www.barzilay.org/ Maze is Life!