2012-04-04 3 views
0

사용자가 내 서버를 통해 자신의 빌드 된 루아 스크립트를 공유하게 할 생각입니다. 그러나 나는 Lua 스크립트로 인한 클라이언트 측 공격에 대해 우려하고 있습니다. 내 이해를 위해, 루아는 이것을 방지하기 위해 만들어졌습니다. 그러나 나는 루아의 악용 사례를 보았다. 어쩌면 샌드 박스로 다른 길을 찾아야할까요?공유 루아 스크립트의 안전

내 프레임 워크는 Qt를 기반으로하며 QtLua을 사용하려고 생각했습니다.

+0

* 공유 * 란 무엇을 의미합니까? – lhf

+0

공유, 교환. LUA 스크립트를 만들어 다른 사람들이 실행할 수있게합니다. – RobotRock

+0

스크립트를 각 실행마다 별도의 상태로 실행하면 시간과 메모리와 같은 리소스 소모를 피하는 것 외에는 별다른 문제가 발생하지 않습니다. – lhf

답변

2

Sandbox 스크립트 실행 및 미리 컴파일 된 바이트 코드의로드 및 실행을 클라이언트와 서버 모두에서 금지해야합니다. 모래 상자에서 사용자 스크립트에 대해 (사용자의 상황에 따라) 안전하고 잘 알려진 것으로 만 제공하는 "화이트리스트"기법을 사용하십시오.

스크립트를 별도의 프로세스 (또는 스레드)로 실행하고 플랫폼 서비스를 사용하여 스크립트가 사용하도록 허용 된 CPU 시간 및 메모리 양을 제한 할 수 있습니다. 그렇지 않으면 스크립트 repeat until false을 실행하도록 트릭 된 사용자가 전체 CPU 코어를 소비하며 비슷한 메모리 공격이 발생합니다.

개인의 개인 컴퓨터에 간단한 서비스 거부 공격이 발생할 가능성이 암호 또는 은행 도용을 초래하는 악용을 가능하게하는 것과 같지 않으므로이 문제가 IMHO에 대한 인식의 문제입니다. 세부.

+0

"다른 사람들이 루아 스크립트를 공유하고 은행 서버에서 실행할 수있게하고 싶습니다. _ ..."나는 코트를 갖다 줄 것입니다 ... – snogglethorpe