Schrift
[thread]6702[/thread]

wie sicher ist Safe?



<< >> 6 Einträge, 1 Seite
Taulmarill
 2005-02-14 17:16
#51681 #51681
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
hi,

hat hier schon mal jemand das modul Safe benutzt? gibt erfahrungen damit?
ich möchte "untrusted" (von irgend jemandem produzierten) code ausführen und den ausgabewert davon verarbeiten. gibt's eine möglichkeit, perl code in einer sicheren "sandbox" auszuführen?\n\n

<!--EDIT|Taulmarill|1108394225-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Dubu
 2005-02-15 10:27
#51682 #51682
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ich hatte bisher zum Glueck noch nicht den Bedarf.

Den Abschnitt "Some Safety Issues" in der Manpage hast du gelesen?

Abgesehen von den dort genannten Problemen: Auch Sandkaesten koennen Loecher haben. Perls Safe-Modul hatte auch schon Sicherheitsluecken.
ptk
 2005-02-15 11:53
#51683 #51683
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wenn du Safe nicht ganz traust, kannst du den perl-Code zusaetzlich durch einen unprivilegierten Benutzer ausfuehren lassen. Du kannst dir z.B. angucken, wie das auf PAUSE gemacht wird (Skript mldistwatch).
Taulmarill
 2005-02-15 12:32
#51684 #51684
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
hm, sieht alles nicht sehr gut aus. die bekannten sicherheitslücken sind wohl zu, aber trotzdem...
das ganze einfach nur als unprivilegierten benutzer zu machen, ist nicht sicher genug. er könnte trotzdem noch die platte vollschreiben wenn er aus dem cage ausbricht.
ich werd' warscheinlich eh 'ne kleine scriptsprache für meine zwecke entwickeln. das ganze mit perl machen zu können, währ halt 'ne nette sache gewesen.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Crian
 2005-02-15 17:25
#51685 #51685
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Hmmm :-(

Kannst Du dann vielleicht eine Art Baby-Perl nehmen, das perlartig ist aber nur genau das zulässt, was nötig ist? Vielleicht wirst Du dazu ja bei irgendwelchen UR-Perlversionen fündig?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
ptk
 2005-02-15 18:21
#51686 #51686
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
[quote=Taulmarill,15.02.2005, 11:32]das ganze einfach nur als unprivilegierten benutzer zu machen, ist nicht sicher genug. er könnte trotzdem noch die platte vollschreiben wenn er aus dem cage ausbricht.[/quote]
Da koennte man z.B. mit quotas arbeiten, soweit das System das unterstuetzt, oder sogar Sachen wie jails (BSD only?) oder Linux virtual server verwenden. Harte Resource-Limits setzen waere auch eine gute Idee.
<< >> 6 Einträge, 1 Seite



View all threads created 2005-02-14 17:16.