2012-03-19 2 views
6

저는 V8을 처음 사용하고 파이썬 웹 애플리케이션에서이 제품을 사용할 계획입니다. 목적은 사용자가 특정 JS 스크립트를 제출하고 실행하게하는 것입니다. 분명히 이것이 보안 위협이기 때문에 v8을 잠글 수있는 방법을 문서화 한 리소스를 찾고 있습니다. 예를 들어, 호출 할 수있는 함수의 흰색 목록을 만들 수 있습니까? 또는 도서관의 블랙리스트를 참조 할 수 없습니까?V8을 "잠그는"방법?

+0

왜 그들이 파이썬 스크립트를 제출하도록 허용하지 않습니까? 이렇게하면 아키텍처가 단순해질 것이라고 생각합니다. :-) (그것을 언급해야했다). 그리고 네, 그 스크립트들을위한 안전한 파이썬 샌드 박스를 만들 수 있습니다. – Kos

+0

@Kos 어떻게? 나는 또한 흥미 롭다. 그러나 나는 어디에서나 파이썬이 거의 unsandboxable이라는 것을 계속 읽고있다. – slezica

답변

0

V8 인스턴스를 잠그는 것 (예 : chroot에서 권한을 부여하지 않음)과 일정 시간이 지나도 프로세스가 종료되지 않으면 프로세스가 종료되지 않습니까?

1

일반 V8 (node.js와 같은 것이 아닌)을 사용하면 위험한 기능이 없습니다. JavaScript 자체에는 파일 시스템 함수 등이 포함 된 stdlib이 없습니다.

악의있는 ​​사용자가 수행 할 수있는 유일한 작업은 무한 루프, 심한 재귀 및 메모리 돼지 생성입니다.

+0

늦은 코멘트에 대해 유감스럽게 생각한다. 그러나 나는 이것에 대해서도 관심이있다. 사용자가 메모리/처리 할당량을 초과하지 못하게하려면 어떻게해야합니까? – slezica

+0

잘 모르겠다. 제발 [새로운 질문을 게시] (http://stackoverflow.com/questions/ask). – ThiefMaster

+0

방금이 새로운 질문을 게시했습니다 : http://stackoverflow.com/questions/11637075/how-do-i-prevent-malicious-javascript-in-v8-with-python – Gattster

관련 문제