codepad 어떻게 구현하나요...
글쓴이: songaal / 작성시간: 목, 2009/03/19 - 12:58오전
codepad.org에는 기존의 pastebin 기능만이 아닌 코드를 실행할수 있는 기능이 있습니다.
보안에 위배되는 파일지우기와 같은 기능은 완벽히 차단되고 있는데요.
c언어로 짠 프로그램은 ptrace를 이용해 막는다지만 perl,php 등은 시스테콜을 막는다면 인터프리터 자체가 제대로 동작하지 않을 것 같은데요..
사용해보신분은 알겠지만 php에서도 위험한 시스템콜은 실행시 완벽히 차단하고 있는데, 어떻게 동작하는 아시는분 계신가요..
Forums:
http://codepad.org/about
http://codepad.org/about 에 보면
How it works
Code execution is handled by a supervisor based on geordi. The strategy is to run everything under ptrace, with many system calls disallowed or ignored. Compilers and final executables are both executed in a chroot jail, with strict resource limits. The supervisor is written in Haskell.
이렇게 설명되어 있습니다.
ㅜ.ㅜ
일단 답변 감사드리구요... 내부적으로 어떻게 구현했는지가 궁금하네요.. ptrace로 시스템콜을 제한하면 인터프리터가 제대로 동작하지 않을 가능성이 큰데요... 혹시 이 superviser를 만들능력이 되시는분 없나요...
댓글 달기