인프런 커뮤니티 질문&답변
why do we need heap alloc here?
작성
·
209
답변 1
0
김현우
지식공유자
만약 BOF 상황을 연출하기 위해
copy_from_user(arr, buf, count);
위와 같이 모듈을 작성한 뒤, BOF를 발생시키면 SSP의 유무와 상관 없이
[ 3.402046] ------------[ cut here ]------------
[ 3.402372] Buffer overflow detected (8 < 160)!
이 같은 커널 패닉이 발생하기 때문입니다.
그래서 BOF 상황을 연출하기 위해 유저로부터 전달받은 데이터를 커널 힙에 복사한 뒤, 다시 커널 스택에 복사하는 방식으로 위와 같은 BOF 방지 루틴을 우회시킨 것입니다.




