내가 sys_ * (예 : sys_open) 핸들러에 후크합니다. 사용자 공간에서 전달 된 인수가 악의적 인 것을 발견하면 사용자 공간의 스택 추적을 인쇄합니다. 내가 어떻게 해?리눅스 커널 공간에서 사용자 공간 스택 추적을 인쇄하는 방법
는
2
A
답변
0
oprofile
사용자 공간 스택 추적을 지원한다 (dump_stack는()는 커널 스택을 출력한다), 이들은 사용자 공간 스택을 걸어서 커널에서 계산된다. (그러나 참고 : 그것은 기호를 해결하지 않습니다, 그것은 사용자 공간의보고 도구에 의해 수행됩니다.)
이 문제를 해결해야만한다면 oprofile 코드를 다시보고 시작하면됩니다. 거기있는 것을 적응 시키십시오.
이런 종류의 "악의적 인"사건은 일종의 oprofile 이벤트로 기록 될 수 있습니다.
2
코어 덤프 파일을 생성 할 수있는 신호 (예 : SIGBUS, SIGKABRT)를 커널의 대상 프로세스에 보낼 수 있습니다. 예를 들어
:
do_send_sig_info(SIGABRT, SEND_SIG_FORCED, current, true);
는 그런 다음 생성 된 코어 파일의 역 추적을 보여주기 위해 GDB를 사용할 수 있습니다.
제한된 범위의 애플리케이션에서는 매우 까다 롭습니다.
관련 문제
- 1. 리눅스 커널 공간에서 사용자 이름을 얻는 방법
- 2. StackOverflowException의 스택 추적을 인쇄하는 방법
- 3. 사용자 공간에서 커널 공간 변수 접근하기
- 4. 커널 공간에서 사용자 공간 기능 실행
- 5. 리눅스 커널 공간에서 프로그램 실행
- 6. 리눅스 커널 공간에서 링 버퍼를 읽는 방법?
- 7. 오류 페이지 - JSP에서 스택 추적을 인쇄하는 방법
- 8. 속도 템플릿에 예외 스택 추적을 인쇄하는 방법
- 9. 사용자 공간에서 커널 공간으로의 memcpy
- 10. 리눅스 프로세스 용 커널 스택
- 11. a.out의 커널 공간
- 12. 장치 드라이버 코드는 어디에 실행됩니까? 커널 공간 또는 사용자 공간?
- 13. 요청시 스택 추적을 인쇄하는 방법이 있습니까?
- 14. mmap을 사용하여 사용자 공간 및 커널 스레드를 공유하는 방법
- 15. 리눅스 커널 : copy_from_user - 포인터로 구조체
- 16. ARM 리눅스 사용자 공간에서 PHYS_OFFSET 값 얻기
- 17. Lotus Domino Designer 콘솔에서 예외 스택 추적을 인쇄하는 방법
- 18. 리눅스 커널 메모리 관리
- 19. Linux의 커널 공간에서 프로세스 목록 가져 오기
- 20. 리눅스 사용자 공간 응용 프로그램 컴파일 오류
- 21. Linux의 커널 공간에서 MD5 사용
- 22. 커널 공간에서 직렬 포트 구성
- 23. 커널 공간에서 Linux syscall을 호출하려면 어떻게합니까?
- 24. 리눅스 커널 모듈의 리눅스 리얼 모드 인터페이스
- 25. 커널 모듈 사용자 공간에서 데이터 가져 오기
- 26. std :: threads는 사용자 또는 커널 공간에서 관리됩니까?
- 27. 리눅스에서 dst_entry의 내용을 인쇄하는 방법 커널
- 28. 리눅스 사용자 공간 ELF 로더
- 29. 리눅스 사용자 공간 응용 프로그램에서 가장 정확한 시계를 얻는 방법?
- 30. 사용자 공간 터미널에서 응용 프로그램으로 커널 모듈을 호출하는 방법