[운영체제 보안]포맷스트링(format string)공격에 대한 이해와 실습
- 최초 등록일
- 2011.04.26
- 최종 저작일
- 2011.04
- 24페이지/ 한컴오피스
- 가격 2,000원
소개글
포맷스트링 공격에 대한 내용과 실습방법을 정리한 한글파일 입니다
실제 실습한 과정이 세부적으로 정리해 있어 레포트 용으로 적합할듯 합니다.
ppt 용도 전문자료 폴더에 있습니다.
목차
Ⅰ.포맷 스트링 이란? 3
포맷 스트링 개념 3
%n 포맷 문자 5
Ⅱ.포맷 스트링 버그를 이용해 할수 있는 일 5
프로그램을 다운시킴 5
프로세스 스택 봄 6
메모리의 임의의 위치 봄 6
Ⅲ.실제 포맷 스트링 실습 7
집에서 Vmware(CentOS)를 이용하여 Telnet서버 설치하기 7
공격 프로그램의 목적 13
메모리에 쓰는 방법 14
메모리 관찰 14
공격 코드 작성 18
공격 코드 실행 19
Ⅳ.실패 원인 분석 20
세부 분석 20
Ⅴ.참고 문헌 & 사이트 24
본문내용
0년대 중반에 나와서 지그까지 명성을 날리고 있는게 버퍼 오버 플로우라면 포맷 스트링 버그는 2000년 여름 세상에 나온 새로운 버그이다. 현재 포맷 스트링 버그는 버퍼 오버플로우와 함께 가장 많이 쓰이는 해킹 테크닉이 되었다.
포맷 스트링 버그는 버퍼 오버플로우로 공격하지 못하는 부분을 공격할 수 있으면서도 공격 성공률이 더 높다.
포맷 스트링 개념
포맷 스트링은 printf나 sprintf 같은 함수에 쓰이는 % 기호를 포함한 문자열을 의미한다.
예를들어
printf("hello, world, %s", "security" );
라는 문장에서 “hello, world, %s"가 포맷 스트링이 된다. 이 포맷 스트링을 이용하면 동적으로 출력될 내용을 포매팅 하여 원하는 내용을 만들 수가 있다.
포맷 스트링을 사용하는 함수들의 특징은 인자의 개수가 정해져 있지 않다는 것이다. 얼핏 생각하면 함수의 인자의 수가 정해져 있지 않다는 것은 굉장히 어려우면서도 강력한 기능이라는 생각이 든다. 하지만 이렇게 강력한 만큼 그 안에는 보안의 허점이 될 만한 요소가 들어있다.
포맷 스트링에 나오는 포맷 문자는 다음의 형식을 따른다.
참고 자료
없음