04.07.2014 Views

시간 기반 키 생성 방식을 이용한 안티 디버깅 기법 - SERSC

시간 기반 키 생성 방식을 이용한 안티 디버깅 기법 - SERSC

시간 기반 키 생성 방식을 이용한 안티 디버깅 기법 - SERSC

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

시간 기반 키 생성 방식을 이용한 안티 디버깅 기법<br />

∙시프트 연산한 값들의 차분 값과 프로세스의 특정 영역 IB에 해시 함수를 취하여 키를 생성한<br />

다. <br />

′<br />

′ <br />

∙생성한 키를 이용해서 보호 하고자 하는 영역(PA)을 암호화 하여 저장한다. <br />

<br />

[그림 5] 암호화 과정<br />

[Fig. 5] Key generation mechanism<br />

3.2.1.2 실행과정<br />

′ ′<br />

∙실행 프로세스의 실행시간을 시프트 연산한 후 차분 값을 계산한다. <br />

<br />

′<br />

∙차분 값과 코드의 특정 영역 IB를 해시 함수를 이용하여 키를 생성한다. <br />

′ <br />

<br />

∙생성된 키를 이용하여 암호화 된 영역 <br />

을 복호화 한다. <br />

<br />

<br />

∙복호화 된 보호된 영역 를 실행 한 후 다시 암호화 한 후에 저장한다. <br />

<br />

프로세스가 실행되면 실행 시간을 측정하여 시프트 연산을 통한 동적으로 키 값을 계산한다. 계<br />

산된 키 값으로 보호 되어 있는 영역을 복호화한 후 실행 후에 다시 암호화해서 저장한다.<br />

′ ′<br />

프로세스 실행 시간차가 임계점 범위 안에 있으면 시간 차분 값은 <br />

<br />

이 되어서 정당한<br />

키 값 이 형성 되지만, 만약 동적 분석을 하기 위해서 디버거를 첨부하는 행위 등으<br />

′ ′<br />

로 인해 프로세스 시간 차분 값이 임계점을 넘어서면 <br />

≠ 이 되므로 다른 키 값이 형성된<br />

다. 잘못된 키 값으로 복호화를 하면 복호화가 제대로 되지 않아 잘못된 데이터 값 및 오류가 발<br />

생하여 디버깅을 탐지한다. 즉 자가 변조가 일어난다. 또한 공격자는 임의로 정한 특정 영역 IB를<br />

알 수 없으므로 정당한 키 값을 생성할 수 없다. 코드 영역에 변조가 일어날 경우 올바르지 못한<br />

298

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!