시대의 변화 흐름에 따라 디지털 정보의 중요도가 높아지고 그로 인하여 디지털 데이터의 해킹으로 인한 피해가 다양해지고 있다.
다양한 해킹으로 인하여 국가, 기업, 개인에게 많은 피해를 주고 있으며, 그에 따른 다양한 이슈와 피해 사례가 급속도로 늘어나고 있다.
디지털 시대가 발전함으로써 다양한 소프트웨어를 통하여 디지털 데이터를 활용하여 사용자의 편의를 도모하게 된다.
그러나 해커는 이러한 소프트웨어의 해킹을 통하여 다양한 정보를 유출하고, 유출된 데이터를 이용하여 다양한 악성 행위에 활용하고 있다.
악성코드와 해킹은 정적인 파일을 해킹하는 경우 다양한 탐지 툴을 통하여 검출되지만, 실시간 메모리를 해킹하는 경우에는 탐지가 매우 어렵고, 사용자가 해킹 사실을 알지 못한다.
윈도우 운영체제에서 사용되는 탐지 툴에는 대부분 시스템의 시그니처 기반으로 제작이 되어 있기 때문에 기존의 사용되어진 방법의 경우에는 해킹 탐지를 쉽게 할 수 있다. 하지만 새로운 해킹은 기존의 시그니처 기반의 탐지 툴로는 쉽게 탐지하지 못하는 단점이 존재한다.
해커는 기존의 시그니처 기반에서 발전하여 윈도우의 시스템의 분석을 통하여 EAT, IAT 해킹, Code Injection과 같은 실시간 메모리 해킹으로 변화 하였다.
이러한 메모리 해킹의 경우 Code Injection, Hooking과 같이 해커가 원하는 코드를 메모리 영역에 배치하여 사용이 가능하다. 또한 탐지 툴에 탐지 되지 않도록, 실시간으로 해킹과 원상태로의 복원을 하여 탐지를 어렵게 하고 있다.
메모리 해킹의 경우에는 소프트웨어의 전체를 해킹하지 않고 Address Table과 같이 아주 작은 부분의 메모리 해킹을 하게 되는 것이다.
실시간 해킹을 막기 위하여, 소프트웨어의 실시간 소스코드 영영을 검사하여 무결성을 체크하는 기술이 필요하게 되었다.
따라서 본 연구에서는 윈도우 환경에서 사용되는 소프트웨어의 무결성을 확보하기 위하여 윈도우 시스템의 파일형태 및 메모리의 형태를 설명하고, 실시간 무결성을 검사하는 동적인 소프트웨어 무결성 검사 방법을 제안한다.