본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

7. 메모리 보호 기법

: Buffer Overflow 공격으로부터 보호하기 위한 메모리 보호 기법에는 다양한 기법들이 존재함.

1) DEP (Data Execution Protection)

- NX(Non-eXecutable)와 w^x 동의어

- 메모리영역에 write 및 execute 권한을 동시에 부여하지 않음.

- 메모리 영역에서 실행권한을 뺌.  

ex) 환경변수 실행권한 제거.  =>  Shell Code 삽입 공격을 막음.

- 메모리 공간 권한 확인


2) ASLR (Address Space Layout Randomization)

- 메모리 영역들의 주소 공간 배치를 랜덤화하여 공격을 방해.

- 직접적인 메모리 참조가 힘들어짐. (but 우회 가능)

- 환경변수와 같은 곳을 직접참조가 힘들다.



3) ASCII Armor

- 공유 라이브러리 영역의 상위 주소에 0x00을 포함시키는 기법

- RTL 공격을 대응하기 위함(00값으로 인해 문자열의 널바이트로 인식시켜 인자 전달을 불가능하게 함)

☞ RTL 공격 : DEP를 우회하기 위해 라이브러리 함수를 사용하는 공격.


4) CANARY

- Buffer와 RET 사이의 값 변조 모니터링.

- CANARY 값이 변조될 경우 경고 후 프로그램 종료.







i2sec 대구지점 23기 수료생.

'해킹&보안 > 시스템해킹&보안' 카테고리의 다른 글

[D+11] 보호 기법 우회 (2)  (0) 2017.04.13
[D+10] 보호 기법 우회 (1)  (4) 2017.04.12
[D+8] 쉘 코드 제작 (심화)  (0) 2017.04.12
[D+7] 쉘 코드 제작  (0) 2017.04.11
쉘 프로그래밍  (0) 2017.03.16