我正在为 Web 应用程序蜜罐开发 PHP 沙箱。PHP 沙箱将分析可能已作为 RFI 攻击的一部分注入的 PHP 文件。它应该在安全的环境中运行文件并返回结果,嵌入 PHP 脚本的输出。我们希望欺骗攻击者相信这是一个真实的响应,从而继续他的下一步攻击。
为了构建沙箱,我们使用了 Advance PHP Debugger (ADP)。使用rename_function
and override_function
,易受攻击的 PHP 函数已被重写。某些功能(例如exec
, )disk_free_space
已被重写以发送虚假回复。所有其他函数什么都不返回。这是已考虑的功能的完整列表。
此外,输入脚本在沙箱中最多只能运行 10 秒。之后,整个沙盒进程被杀死。
这份清单是否足够好?这是否使沙盒足够安全,可以成为 Web 应用程序蜜罐的一部分?
除了像这样阻塞函数调用之外,还有没有应该采取的安全措施?
最后,这是一个蜜罐。因此,我们希望我们的回复尽可能接近真实回复。因此,通过阻止 DNS 函数调用
dns_check_record
,gethostbyname
我们是否不必要地限制了脚本的执行范围。(我不知道他们为什么首先出现)简而言之,我想知道我应该从列表中添加/删除哪些元素。
任何其他有关如何解决此问题的建议/建议将不胜感激。