标签: sandbox

禁用当前线程的Java反射

我需要调用一些半可靠的Java代码,并希望禁用在代码执行期间使用反射的功能.

try{
   // disable reflection somehow
   someObject.method();
}
finally{
   // enable reflection again
}
Run Code Online (Sandbox Code Playgroud)

可以使用SecurityManager来完成,如果是这样,怎么做?

澄清/上下文:这是关于限制可以从JavaScript/Rhino调用的包的另一个问题的后续行动.接受的答案引用了关于如何做到这一点的博客条目,它需要两个步骤,第一个使用Rhino API(ClassShutter),第二个使用关闭反射和Class.forName().我想我可以使用SecurityManager更干净地完成第二步(了解SecurityManager,正如已经指出的那样,沿途是一个复杂的野兽).

总而言之,我希望(从代码,而不是设置文件)关闭Class.forName()以及对整个反射包的任何访问.

java security reflection sandbox securitymanager

20
推荐指数
2
解决办法
7626
查看次数

在我的服务器上运行其他人代码(沙盒)的安全方式?

我想创建一个在本地运行其他人代码的Web服务...当然,我想限制他们对某些"sandbox"目录的代码访问,并且他们将无法连接到我的服务器的其他部分(DB,main网络服务器等)

什么是最好的方法呢?

运行VMware/Virtualbox:

(+)我猜它就像它得到的那样安全......即使有人设法"破解"......他们只会破解客人机器

(+)可以限制进程使用的cpu和内存

(+)易于设置..只需创建VM

( - )更难将沙箱目录从主机"连接"到guest虚拟机

( - )浪费额外的内存和CPU来管理VM

运行弱势用户:

(+)不会浪费额外的资源

(+)sandbox目录只是一个普通目录

(?)不能限制CPU和内存?

(?)不知道它是否足够安全......

还有其他方法吗?

运行Fedora Core 8的服务器,用Java和C++编写的"其他"代码

linux security virtualization sandbox

20
推荐指数
4
解决办法
9583
查看次数

可以使用像IPC这样的Mac OS X XPC在进程之间交换消息吗?怎么样?

根据Apple的说法,Lion中引入的新XPC服务API提供了一种轻量级机制,用于与Grand Central Dispatch(GCD)集成并启动的基本进程间通信.

似乎可以将此API用作一种IPC,如POSIX IPC,但是,我找不到如何做到这一点.

我正在尝试使用XPC API传递两个进程,因此我可以在它们之间传递消息,但我总是在服务器端出现"XPC连接无效"错误.

我不想要XPC服务,我只想使用客户端 - 服务器架构交换消息.

我使用两个类似BSD的进程,所以没有Info.plist或者其他什么......

我一直关注这个讨论http://lists.macosforge.org/pipermail/launchd-dev/2011-November/000982.html但是这个主题看起来有点模糊和无证.

谢谢!

macos ipc xpc sandbox osx-lion

20
推荐指数
3
解决办法
1万
查看次数

如何将沙盒应用程序添加到登录项

如果用户选择该选项,我希望我的应用程序自动启动.我一直在使用的方法不再允许在沙盒应用中使用.

我知道我必须创建一个助手来实现这一目标吗?是否有一个简单的教程,包含示例代码?

我找到了这个教程,但它对我不起作用:http://www.delitestudio.com/2011/10/25/start-dockless-apps-at-login-with-app-sandbox-enabled/

这是一个非常标准的事情,我不明白为什么没有可用的示例项目.

更新:

我上传了一个示例项目:http://ge.tt/6DntY4K/v/0?c

macos xcode cocoa sandbox

20
推荐指数
2
解决办法
8327
查看次数

Python:阻止网络连接以进行测试?

我正在尝试测试一个提供几个Web服务接口的包.它有一个测试套件,可以在连接互联网的情况下测试大多数功能.但是,有一些挥之不去的测试可能会尝试连接到互联网/下载数据,我想阻止它们这样做有两个原因:第一,确保我的测试套件在没有网络连接的情况下工作; 第二,所以我不会用过多的查询向Web服务发送垃圾邮件.

一个明显的解决方案是拔掉我的机器/关闭无线,但当我在远程机器上运行显然不起作用的测试时.

所以,我的问题:我可以阻止单个python进程的网络/端口访问吗?("沙箱"它,但只是阻止网络连接)

(afeict,pysandbox不这样做)

编辑:我正在使用py.test所以我需要一个可以使用的解决方案,py.test以防影响任何建议的答案.

python sandbox

20
推荐指数
2
解决办法
6212
查看次数

seccomp ---如何EXIT_SUCCESS?

设置严格模式seccomp后如何EXIT_SUCCESS.这是正确的做法,syscall(SYS_exit, EXIT_SUCCESS);在主要结束时打电话?

#include <stdlib.h>
#include <unistd.h> 
#include <sys/prctl.h>     
#include <linux/seccomp.h> 
#include <sys/syscall.h>

int main(int argc, char **argv) {
  prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT);

  //return EXIT_SUCCESS; // does not work
  //_exit(EXIT_SUCCESS); // does not work
  // syscall(__NR_exit, EXIT_SUCCESS); // (EDIT) This works! Is this the ultimate answer and the right way to exit success from seccomp-ed programs?
  syscall(SYS_exit, EXIT_SUCCESS); // (EDIT) works; SYS_exit equals __NR_exit
}

// gcc seccomp.c -o seccomp && ./seccomp; echo "${?}" # I want 0
Run Code Online (Sandbox Code Playgroud)

c linux sandbox exit-code seccomp

20
推荐指数
2
解决办法
988
查看次数

为什么Flash Player会在这种情况下抛出沙箱错误?

连接到Java(1.5)服务器上的Socket后,我收到Flex 3沙箱错误#2048.服务器代码都是我的,即不在Apache下运行.Flash Player 10.0 r32.

顺序如下......

1 Java服务器启动,在端口843上侦听策略文件请求,在端口45455上侦听我的其他请求.

2 Apache服务的Flex客户端(虽然如果我从文件系统运行它会得到相同的结果),在主机上进行套接字连接:45455.

3 Flash Player从端口843请求策略文件.这是使用新安全设置查找主文件的标准行为.无论是否指定了不同的策略文件,都会发生这种情况.

4我通过端口843从Java提供以下XML:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>
Run Code Online (Sandbox Code Playgroud)

5播放器将以下内容写入调试策略日志...

OK: Root-level SWF loaded: http://localhost/bst/BasicSocketTest.swf
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at xmlsocket://192.168.2.3:45455 by requestor from http://localhost/bst/BasicSocketTest.swf
OK: Policy file accepted: xmlsocket://192.168.2.3:843
OK: Request for resource at xmlsocket://192.168.2.3:45455 by requestor from http://localhost/bst/BasicSocketTest.swf is permitted due to policy file at xmlsocket://192.168.2.3:843
Run Code Online (Sandbox Code Playgroud)

6我使用writeUTFBytes()和从端口45455向客户端发送文本消息flush() …

sockets apache-flex flash sandbox

19
推荐指数
1
解决办法
5244
查看次数

在Windows 64位上使用自定义堆栈实现沙箱

我目前正在研究如何实现一个沙盒(类似于谷歌的NaCl项目),在那里我可以运行不受信任的x86代码(受限制的指令集),这样它就不会损害我的其余进程.

与NaCl不同,不受信任的代码不会在单独的进程中运行,而是与主机应用程序运行相同的进程.因此,一个关键步骤是使Windows的结构化异常处理正确,以便捕获错误(如无效的内存访问或div为0),并在Windows杀死我的主机应用程序之前正常终止沙箱.(NaCl不会遇到这些问题.沙箱是一个单独的过程,如果出现错误就会被杀死.)

此外,沙盒代码不应使用宿主应用程序堆栈,而是在我自己分配的某个单独的"堆栈"上运行.

正是这种组合(存在自定义分配堆栈时的异常处理)扭曲了我的想法.我已经检查了GoFactor的语言实现,它们做了类似的事情并且通过这个帮助得到了一些运行.

但仍有一些悬而未决的问题和不确定因素.所以我想我会利用Stack Overflow的神奇知识来获得一些意见:-)

以下是一个工作代码片段,内容涉及核心问题:

code.cpp

#include <Windows.h>
extern "C" void Sandbox();

// just a low level helper to print "msg"
extern "C" void Write(const char* msg)
{
    WriteFile(GetStdHandle(STD_OUTPUT_HANDLE),
              msg, (DWORD)strlen(msg), NULL, NULL);
}

// should be called first on error and continue exception handling
LONG __stdcall GlobalExceptionHandler(_EXCEPTION_POINTERS*)
{
    Write("GEH ");
    return EXCEPTION_CONTINUE_SEARCH;
}

// should be called afterwards on error and terminate the process
// of course this is just a …
Run Code Online (Sandbox Code Playgroud)

windows assembly exception-handling x86-64 sandbox

19
推荐指数
1
解决办法
922
查看次数

如何在Facebook App中启用/禁用沙盒模式

我找不到在我刚刚创建的新Facebook应用程序中打开/关闭沙箱模式的设置.是否必须打开或关闭其他内容才能让我看到此设置?

facebook mode sandbox

19
推荐指数
3
解决办法
4万
查看次数

Paypal无法连接到Sandbox服务器.返回错误14077410(sslv3警报握手失败)

连接沙盒paypal的网站工作,直到最近

它可以连接将卷曲

但是当它第二次发送请求时

它显示了错误

错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败

我已经尝试了一些在线参考并设置它的SSL SHA-256证书,但它返回相同的错误.其他建议在卷曲连接处切换到TLS,但由于我处理的项目很多,因此可能无法实现.

是否有任何建议将沙盒paypal与SSLv3连接?谢谢你的帮助.

在此输入图像描述

在此输入图像描述

在此输入图像描述

php ssl curl paypal sandbox

19
推荐指数
2
解决办法
2万
查看次数