OS 클래스의 루트킷을 작성 중입니다. (선생님은 도움을 청합니다.) 내 루트킷은 sys_read 시스템 호출을 후크하여 사용자로부터 "마법"포트를 숨 깁니다. 사용자 버퍼 * buf (sys_read의 인수 중 하나)를 커널 공간 (kbuf라고하는 버퍼)에 복사하면 커널 패닉/코어 덤프 오류가 발생합니다. 이것은 read를 깨는 것은 시스템을 멈추게 할 수 있기 때문에 가능할 수 있습니다. 그러나 누군가이 것에 대해 어떤 관점을 가지고 있는지 궁금합니다.커널 패닉 - 실패한 copy_from_user, kmalloc?
코드는 온라인으로 제공됩니다. 207 행을보세요 : https://github.com/joshimhoff/toykit/blob/master/toykit.c
나는 훅으로 묶은 getdents를 사용하고 copy_from_user를 사용하여 커널 공간에 getdents 구조체를 가져 왔습니다. 나는 읽는 것에 대해 다른 점이 무엇인지 확신하지 못한다.
도움 주셔서 감사합니다.
그건 미친 세상이 될 것입니다! – cpimhoff