ICON


윈도우에는 다양한 아이콘들이 존재한다. 윈도우 탐색기는 파일 형식에 따라 다양한 아이콘을 표현하며 아이콘캐시는 썸네일캐시와 비슷하게 미리 캐시해 둔 후 재방문시 빠르게 로드하므로 성능을 향상시키는 기능을 한다. 

이러한 아이콘을 캐시시키는 시점으로는 폴더 내용 확인 시 로드되는 아이콘을 캐시하며, 인터넷에서 파일을 다운받았을 경우에는 폴더내용을 확인하지 않더라도 자동으로 캐시가 되며, 폴더를 열지 않아도 "수정시간"을 기준으로 최근 2개의 아이템이 캐시된다. 흔기본적인 아이콘의 경우에는 %Systemroot%\system32\shell32.dll에 존재하고 있다.


Cache


응용 프로그램의 경우에는 서로 아이콘이 상이한데 이는 리소스 섹션에 포함된 아이콘을 읽어왔기 때문이다. 하지만 매번 해당 폴더에 들어갈 때마다 리소스섹션을 읽어 아이콘을 나타내는 것은 매우 소모적인 활동이므로 이러한 아이콘들을 캐시하므로 인하여 비효율을 줄이고자 하는 것이다.


이러한 아이콘이 저장된 캐시는 %UserProfile%\AppData\Local\IconCache.db 의 형태로 존재하고 있으며, 또한 아이콘 캐시의 경우에는 윈도우 시작 시에 메모리에 로드되며 종료 시에 아이콘 캐시를 업데이트 한다. 다시말하자면 재부팅 전까지는 새로 캐시된 내용을 확인할 수가 없다는 것이다.



Analysis


IconCache Viewer를 통하여 IconCache.db파일을 열어서 확인해보면 리시트의 형태로 출력이 되는 것을 확인할 수가 있다. 여기서 "Search"를 통하여 의심스러운 파일의 이름을 입력해서 검색을 하거나 직접 어떤 프로그램들의 아이콘이 형성되어 있는지를 확인할 수가 있다.


활용

  1. 외부저장매체 사용 흔적 (External Storage Artifacts)
    로컬 시스템에 외부저장매체를 연결하고 탐색기를 통해 외부저장매체를 확인하면 저장매체에 위치한 아이콘이 로컬에 캐시된다. 이를 통해 외부저장매체의 연결 흔적을 밝혀낼 수도 있을 것이다. 다만, 그러기 위해서는 외부저장매체에 아이콘 리소스를 포함한 EXE 파일이 존재해야 한다. 유일한 아이콘이 아니라면 저장매체를 특정하기는 어려울 것이므로 다른 주장을 뒷받침 하는 용도로 사용될 수 있을 것이다.
  2. 안티포렌식 도구 사용 흔적 (Anti-Forensics Artifacts)
    전문적인 안티포렌식 도구는 대부분 고유한 아이콘을 가진 무료 혹은 상용 도구이다. 해당 시스템에서 안티포렌식 도구를 사용했다면 아이콘이 캐시 파일에 캐시되었을 가능성이 높다.
  3. 광학드라이브 사용 흔적 (Optical Drive Artifacts)
    로컬 시스템에 광학드라이브는 보통 고정적인 드라이브에 할당되어 있다. 따라서, 캐시된 아이콘 경로의 드라이브 문자를 확인하여 광학드라이브에서 프로그램을 실행시켰는지 여부를 알아낼 수 있다.
  4. 악성코드 흔적 (Malware Artifacts)
    악성코드(EXE)에 아이콘 리소스가 있으면 캐시 파일에 캐시되므로 아이콘 경로를 통해 악성코드의 저장 경로를 알아낼 수 있다. 하지만, 애드웨어류를 제외하고는 대부분의 악성코드가 아이콘 리소스를 포함하지 않으므로 큰 효과를 기대하기는 어렵다.
  5. 프로그램 사용 흔적 (Application Artifacts)
    앞서 언급한 안티포렌식 도구를 제외하더라도 고유한 아이콘을 가진 프로그램이라면 캐시 파일에서 설치 혹은 사용 흔적을 알아낼 수 있다.


Conclusion


이러한 아이콘 캐시의 경우 찾고자 하는 파일이 고유한 아이콘을 가지고 있을때 해당 시스템에서 실행이 된 적이 있는지를 확인할 수 있게 해준다. 최근에는 안티포렌식 기법이 널리 알려져 공격자 혹은 범죄자들이 이를 적극 이용하고 있다. 이에 따라 포렌식 조사관은 조사에 있어 일부 흔적만 가지고 판단할 것이 아니라 시스템의 다양한 아티팩트를 적극적으로 활용해야 한다. 이런 관점에서 아이콘 캐시 파일은 매우 유용한 아티팩트일 것이다



Reference


http://forensic-proof.com/archives/5168

'Forensic > Theory' 카테고리의 다른 글

ADS (Alternate Data Stream)  (0) 2015.09.17
Steganography  (0) 2015.09.16
Thumbnail Forensics (썸네일 분석)  (0) 2015.09.13
File Recovery  (2) 2015.09.12
File Signature  (0) 2015.09.12