SIGSEGV는 세그먼트 오류로서 메모리 접근을 해서는 안되는 곳에 했거나 허용되지않은 방식으로 메모리에 접근했을 때 발생한다.
세그먼트 오류의 신호를 인터셉트하여 콜백함수를 등록하고 그 콜백함수는 현재 컨텍스트를 출력한다.
위 사진을 보면 알겠지만 pintool의 함수를 이용하여 컨텍스트를 저장하고 후단부 중단점(breakpoint)에서 다시 뒤로 돌아가게끔 코드를 작성한다. 그리고 되돌아갈때 세그먼트오류가 발생하고 이 신호를 캐치하여 다양한 입력값을 대입하여 취약점분석을 할 수 있는 것이다.
이것이 메모리 인 퍼징 기법이라고 보면 된다.
사용하는 함수는 파일을 보면 알겠지만
pin_InterceptSiginal
pin_SaveContext()
pin_Excute_At()
INS_MemoryOperandsIsWritten()' 함수를 사용하여 실행한다,
'공부 > 정보보안' 카테고리의 다른 글
샌드박스 및 LSTM (0) | 2017.06.04 |
---|---|
보안 뉴스 정리 (0) | 2017.06.02 |
Z3 (0) | 2017.02.26 |
processTracer (0) | 2017.01.10 |
pintool이란? (0) | 2017.01.10 |