스프링노트

한빛미디어 - 정보 보안 개론과 실습 제 5장 연습문제 본문

SOLUTION

한빛미디어 - 정보 보안 개론과 실습 제 5장 연습문제

RAYZIE 2013. 4. 19. 10:29

1. 다음 중 리버스 엔지니어링이 적용되는 부분이 아닌 것은 ?

① 이미 만들어진 프로그램의 동작 원리를 이해하고, 유사한 프로그램을 만들기 위해 리버스 엔지니어링을 이용한다.

② 프로그램의 보안상 문제, 동작 문제, 오류 등을 이용하거나 제품 출시 전에 그런 문제나 오류등을 제거/검토하기 위해 리버스 엔지니어링을 이용한다.

③ 성능이 좋은 프로그램을 만들기 위해 리버스 엔지니어링을 통해 설계하고 프로그래밍한다. (정답)

④ 리버스 엔지니어링을 이용해 바이러스(또는 웜)을 만들거나 백신을 만든다.

2. 다음 중 PE 파일의 형태를 가지고 있는 파일의 확장자는?(2개 고르시오)

① EXE(정답)

② DAT

③ DLL(정답)

④ INI

3. PE 파일에서 각 헤더와 시그니처가 잘못 맵핑된 것은?

① DOS 헤더 : MZ

② Optional 헤더 : 0x010B

③ PE 헤더 : PE/0/0

④ 섹션 테이블 : 0x0707(정답)

4. PE 파일이 가지는 섹션 개수나 파일 속성, 섹션 헤더의 크기를 비롯해 이미지 베이스(Image Base), 엔트리 포인트(Entry Point) 주소, 메모리상의 각 센셕이 차지하는 크기, 디스크 상에서의 섹션 정렬, PE 파일의 총 크기, 디스크상에서의 헤더의 총 크기 등과 같은 정보를 모두 담고 있는 부분은?

① DOS헤더

② DOS Stub 코드

③ PE 헤더(정답)

④ 섹션 테이블

5. 올리 디버거에서 디버깅 시에 Step into, Step over, Execute till return의 차이를 설명하라

함수가 호출 되기 바로 전에 Step into하면 반복 절차를 수행한다.

Step over하면 해당 함수를 한번에 실행하여 최종 결과만 보게 된다.

Execute till return은 Step into로 해당 함수 안에 들어와 반복 과정을 보다가 더 이상 함수의 반복 과정을 살펴볼 필요가 없을 때 한번에 실행하여 함수를 끝낸다.

6. 반복 작업을 수행하는 함수 디버깅 시 카운터로 사용되는 레지스터는?

① EAX

② EBX

③ ECX (정답)

④ EDX

7. PE 파일에 존재하는 섹션과 그 섹션에 대한 설명으로 적절한 것을 연결하라.

.data

다른 DLL에서 가져다 쓰는 함수의 정보를 담고 있는 섹션. IMAGE_IMPORT_DESCRIPTOR의 배열로 이루어져 있으며 하나당 DLL. 하나의 정보를 담고 있음

.text

초기화된 전역 변수를 담고 있으며, 읽고 쓰기가 가능한 섹션

.rdata

다른 모듈이 이 PE 파일에 정의되어 있는 함수를 사용할 수 있도록 함수 목록을 담고 있는 섹션

.idata

실행되는 코드를 담고 있는 섹션

.edata

초기화되지 않은 전역 변수를 위한 섹션

.bss

읽기 전용의 데이터 섹션, 문자열 표현이나 C++/com 가상 함수 테이블을 담고 있음

8. 원본 프로그램을 새로운 PE 파일에 패킹된 형태로 압축하고 암호화하여 저장하는 기술은?

① 안티 디버거

② 타이밍 체크

③ 패킹(저장)

④ 코드 치환

9. 다음과 같이 실행되는 프로그램을 무조건 7번 라인이 실행되고 프로그램이 종료되도록 한 라인의 어셈블리어 코드를 고쳐라.

00401075 : JNZ_SHORT REVERSE_.0040108A -> 00401077



정보 보안 개론과 실습문제 제 5장 연습문제.hwp