본문 바로가기

스터디/파이썬 해킹 프로그래밍

퍼징

버그의 유형

버퍼 오버플로우

가장 흔한 형태의 소프트웨어 취약점으로써, 모든 종류의 메모리 관련 함수, 문자열 처리 루틴, 프로그래밍 언어 자체의 내부 기능 조차도 버퍼 오버플로우를 일으켜 소프트웨어를 취약하게 만들 수 있다.


데이터를 담을 변수의 크기보다 너 많은 데이터를 입력해 코드 흐름을 변경.


버퍼오버플로우는 두가지로 구분된다.

스택 기반 오버플로우, 힙기반 오버플로우로 구분된다.

동작 원리등이나 여러모로 다른 점이 많지만, 공격자가 원하는 코드를 실행시킬 수 있다는 점에서 결과는 동일하다.


스택 오버 플로우는 스택에 데이터를 덮어 씌움으로써 코드 실행의 흐름을 변경한다. 스택 오버플로우를 이용해 함수의 리턴 주소를 변경하거나 함수 포인터나 변수를 변경하거나 예외 핸들러의 체인을 변경하는 등의 자신의 코드가 실행되도록 만든다. 스택 오버플로우가 일어나게 되면 바로 접근 위반 예외가 발생하므로 비교적 쉽게 확인 할 수 있다.


정수 오버플로우


포맷 스트링 공격


파일 퍼저


추가 고려 사항


코드 커버리지


자동화된 정적 분석


'스터디 > 파이썬 해킹 프로그래밍' 카테고리의 다른 글

질문정리  (0) 2015.02.16
Sulley!  (0) 2015.02.16
백도어 제작  (0) 2015.02.16
코드 인젝션  (0) 2015.02.16
DLL 인젝션  (0) 2015.02.16