메모리 영역 보호
글쓴이: 서정민 / 작성시간: 화, 2008/07/22 - 11:45오전
어떤 특정 영역에 attach 되어 있는 공유 메모리 영역을 사용자 접근으로부터 보호하려고 합니다.
이를 위하여 다양한 approach를 고려해보았는데, 명쾌한 답이 나오지는 않네요.
그래서, 아이디어를 모으는 중에, 특정 메모리 영역에 접근 발생 시, interrupt를 일으킬 수 있도록
하는 기능이 있었으면 합니다. 이미 이러한 기능을 할 수 있는 방법이 있나요?
혹은,
프로세스가 동작하는 도중, 어떤 특정 메모리 영역을 잠시나마 보호 할 수 있는 또 다른 방법은
없을까요?
Forums:
MMU, MPU
MMU, MPU에서 지원하는 기능과 비슷하네요.
ARM의 경우 MMU Table 에 맵핑된 영역이 특권모드로
보호되고 있을 때 해당 영역을 특권모드가 아닌
유저모드에서 접근 시 ABORT interrupt를 보낼 수 있습니다.
음.. 글을 쓰다보니..
리눅스에서 어떻게 하면 그런 설정을 할당받은 메모리 영역에
커스터마이즈해서 넣을 수 있을까 하는 궁금증이 드는 군요.
커널 내에서 할당받은 메모리는 사용자가 함부로 접근하지는
못하니 사용자 영역에서 할당받은 공유메모리를 잠시 접근을
막고자 하시는 거겠죠?
그럼.. 메모리를 할당하고 관리해주는 커널 모듈이 따로 필요할
것으로 생각되네요. 보호관련 부분은 ioctl을 받아서 처리를 해주면
되지 않을까.. 생각됩니다.
별다른 답변이 안되었네요. 다른 분들께 공을 넘깁니다.. -.-;
Be Creative For Fun!!
Be Creative For Fun!!
$ man mprotect 또는 DUMA:
또는 DUMA: Detect Unintended Memory Access
--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기