OLE 파일 포맷
MS에서 윈도우와 MS office를 모두 만들었다.
윈도우 위에서 사용할 응용 소프트웨어로 MS office를 제작한 것이니, MS office가 윈도우의 특징을 갖고 있는 것이 매우 자연스럽다. 윈도우의 특징 중 하나인 OLE(Object Linking Embedding)는 개체 연결 포함 기능으로 프로그램 간에 개체의 교환을 가능하게 하는데, MS office의 파일들이 OLE파일에 해당한다.
와 세상에.. oledump.py로 한글파일과 word파일을 분석할 수 있던 이유가 ole파일구조로 되어있기 때문이었다...
아래와 같이 HWP(Hangul Word Procssor)파일 역시 oledump.py로 분석이 가능했다는 것은 한글 파일 역시 ole파일 포맷으로 구성되어있다는 것을 의미한다. 국내 워드 프로세스들이 자체 포맷을 고수하다가 호환성에서 큰 장점을 갖는 ole 파일 포맷으로 바꿨다고 하는데, 여기에 hwp파일도 포함될 것 같다고 예상된다.
아래는 ms 홈페이지에서 OLE 파일을 소개할 때 제시한 그림들이다. 운영체제 내에서의 파일 시스템과 OLE 파일의 구조가 동일한 것을 확인할 수 있다. 다만 OLE파일 내에서의 storage는 디렉토리에, stream은 파일에 해당한다고 볼 수 있다.
HWP 파일 내의 OLE 포맷
한글과 컴퓨터에서 공개한 파일의 전체 구조는 아래와 같다. OLE 파일 포맷에서 구체적으로 어떤 storage에 어떤 stream이 담기는지가 담겨있다. 그 중 BinData 스토리지에 첨부된 바이너리 데이터(그림, OLE 개체 등)가 각각의 스트림으로 저장된다.
hwp 파일 내의 BinData 스토리지에 악성 기능의 스트림을 저장해서 북한의 한 해킹조직(김수키)이 공격을 수행했다.
-2019년 4월 1일 김수키(Kimsuky)조직이 공격에 사용한 hwp파일(eps파일 관련 '취약점' 이용)
-2020년 11월 3일 김수키(Kimsuky)조직이 공격에 사용한 hwp파일(OLE '기능' 이용)
OLE 파일 포맷 (1) - 개요 및 기본 구조 - Kei Choi (hanul93.com)
'security > document-type malicious code' 카테고리의 다른 글
악성 소프트웨어 (0) | 2021.03.22 |
---|