안녕하세여? 궁금한 사항이 있어서 글을 올립니다.
RHEL5까지는 task_alloc_security() 함수가 있어 fork된 task의 정보를 얻어 올 수가 있었습니다.
하지만 RHEL6으로 업데이트 되면서 task_alloc_security() 함수가 사라졌습니다.
fork.c 소스를 봐도 RHEL6에서 제공하는 LSM 함수를 호출 하는 부분이 없습니다.
어떠한 방법으로 fork된 task의 정보를 얻어 올수 있는지 고수님들의 답변 부탁 드립니다.
만약, 제공되는 LSM 함수로 얻어 오지 못할 경우, fork 시스템 콜 후킹으로 해결이 가능한지도 궁금합니다.
댓글 4
-
김남형
2011.01.11 16:30
-
김남형
2011.01.12 13:45
로그를 살펴보니 cred 구조체가 추가되면서 cred_alloc_security로 변경되었다가
최근에 다시 cred_prepare로 변경된 듯 하니 어느 것을 지원하는지 직접 살펴보셔야 할 것 같습니다.
-
이천희
2011.01.12 09:42
답변 감사합니다. task_create hook 이외에는 없나여?
task_create hook은 task가 최소 생성될 때 호출 하는거 같은데, 제가 필요로 하는 LSM hook은 task_alloc_security hook과 같이 task를 인자값으로 받는 hook입니다.
커널 2.6.27 이상부터 task_alloc_security hook이 없어 진걸로 아는데, 이 hook을 대체할 만한 hook이 없는지 궁금해서 질문드린겁니다.
-
남용우
2011.01.12 13:44
해당커널에서 "Task credentials management"가 추가되면서 task_alloc_security가 없어지고 대신에 cred_alloc_security으로 변경된거 같습니다.
입니다.
확인해 보세요.
.
RHEL은 모르겠지만 vanilla kernel에는 task_create라는 hook이 존재하는군요..