2012-04-04 52 views
0

我正在考慮讓用戶通過我的服務器共享他們自己構建的Lua腳本。但是我擔心由Lua腳本造成的客戶端漏洞。據我瞭解,Lua是爲防止這種情況而建立的。不過我見過一些Lua漏洞。我是否應該尋找另一種方式,用沙箱呢?分享Lua腳本的安全性

我的框架是建立在Qt上,我想用QtLua

+0

你是什麼意思*共享*? – lhf 2012-04-04 16:04:41

+0

分享,交流。他們可以製作LUA腳本並讓其他人執行它們。 – RobotRock 2012-04-04 17:15:36

+0

如果您在不同的狀態下執行腳本,每次運行一個腳本,沒有太多問題,除了避免使用諸如時間和內存之類的資源。 – lhf 2012-04-04 18:08:08

回答

2

Sandbox您的腳本執行並確保禁止在客戶端和服務器端加載和執行預編譯的字節碼。在你的沙盒中,確保給我們一個「白名單」技術,以便只對用戶腳本提供審查和已知的安全(在你的上下文中)操作。

您可能希望在單獨的進程(或線程)中運行腳本,並使用平臺服務來限制腳本允許使用的CPU時間和內存量,否則欺騙運行腳本repeat until false的用戶將消耗整個CPU內核,並且對內存也有類似的簡單攻擊。

這是否是一個問題更多的是感知問題恕我直言,因爲在個人的個人機器上進行簡單的拒絕服務攻擊的可能性與啓用導致盜竊密碼或銀行業務的漏洞攻擊不同細節。

+0

「我希望允許其他人分享他們的Lua腳本_並在我的銀行服務器上運行_...」我會給我外套... – snogglethorpe 2012-04-05 07:51:25