https://scienceon-kisti-re-kr.libproxy.swu.ac.kr/commons/util/originalView.do?cn=JAKO201719951667909&dbt=JAKO&journal=291865&keyword=%EB%9E%9C%EC%84%AC%EC%9B%A8%EC%96%B4+%EB%B3%B5%EA%B5%AC&oCn=JAKO201719951667909
scienceon-kisti-re-kr.libproxy.swu.ac.kr
논문 선정 이유
시스템 해킹에 관심이 있어서 시스템 해킹의 기초를 다루고 있는 논문을 찾게 되었다. 위 논문은 시스템 해킹의 기초인 후킹과 리버싱의 개념을 다루고 있으며 또한 랜섬웨어 방어의 핵심 원리라고 할 수 있는 실시간 백업과 프로세스 차단을 구현하고 있어서 조금 이전의 논문이지만 선정하게 되었다.
내용
I. 서 론
- 랜섬웨어 복구 시스템 구성: 사용자의 데이터를 백업하는 클라우드 서버와 시스템을 모니터링하는 클라이언트 프로그램
- 핵심 동작: 사용자의 파일들이 생성될 때 자동으로 클라우드 서버에 백업. 랜섬웨어가 사용자의 파일에 접근할 때 해당프로세스를 차단
-> 랜섬웨어에 의한 피해 방지 가능
II. 배경 지식
- 감염 경로
- 브라우저
- 스팸메일
- 토렌트 및 P2P사이트
- 랜섬웨어 공격 대상
- 주로 디렉토리 내 사용자의 문서, 사진
- MBR (오염시켜 부팅을 방해)
- 시스템 사용자의 중요파일이 저장된 디스크
- 랜섬웨어 동작 흐름
1. 악성코드 실행
2. 파일 시스템 내 디렉토리, 파일 검색
3. 파일 암호화(해당 파일의 확장자가 랜섬웨어 타깃일때, 대칭키 또는 비대칭키 암호화 방식 사용)
4. 암호키 전송
5. 경고 및 지불
- 파일 암호화 방식에 따른 복구 가능성 차이
- 파일 덮어쓰기 방식(Fig 2): 복구 가능성 없음
- 파일 생성 후 기존 파일 삭제 방식(Fig 3): 복구 가능성 있음


- 랜섬웨어 탐지 방법: 행위 기반 진단 사용 기법 이용
루트 디렉토리에 임의의 디렉토리를 생성 후 랜섬웨어의 타겟이 되는 doc, jpg,ppt 파일을 임의로 생성해서
해당 파일의 변화 시도를 탐지
- 탐지 범위의 한계
루트 디렉토리의 하위에 있는 디렉토리의 파일을 대상으로 행위 기반 탐지를 함
-> 이는 바탕화면에 있는 파일들만을 대상으로 한 랜섬웨어(ex. iRansom)를 완벽히 막을 수 없음
III. 제안하는 시스템
랜섬웨어 복구 시스템 구성: 클라이언트, 인증 서버, 클라우드 서버
- 클라이언트
- 시스템 내의 디렉토리 핸들의 변화O -> 해당 위치, 이벤트 종류 제공 -> 디스크 내의 파일 변화 모니터링
- ReadDirectoryChange 함수를 통해 모니터링을 할 경우 : 어느 프로세스가 어느 파일을 핸들링 하는지 확인이 불가능
-> CreateProcess와 CreateFile API 후킹 + 새로 생성된 프로세스가 어느 파일을 사용했는지 확인
- CPU의 IP레지스터가 모니터링 하려는 함수 주소를 나타낼 때 해당 프로세스의 제어권을 디버거에 넘김 -> 디버거가 스택 메모리 정보, 레지스터 정보 조작
- 후킹한 정보 중 시스템에서 관리하는 시스템 프로세스는 예외처리(Fig 6),
나머지(Fig 7)는 화이트리스트와 대조해서 정상이면 파일을 암호화한 후 화이트 프로세스 테이블에 등록, 비정상이면 프로세스를 종료시킴

- 인증서버
- 로그인 시기 정보 + 가입 시기 정보(joinDateTime)로 1차 암호키 생성 -> 사용자에 전달
- 클라이언트가 시리얼 넘버(시스템 고유정보), uuid[13], 인증서버로부터 받은 키 조합해 새로운 암호키 생성
- 새 암호키로 파일 암호화 한 후 클라우드 저장소에 파일 저장
+) 인증서버는 해당파일의 경로와 원본 파일의 해쉬를 저장

- 클라우드 저장소
- 클라우드 저장소에 클라이언트로부터 암호화 되어 전송된 파일들을 저장할 때 "/사용자 ID/파일 패스 Hash/파일 데이터 Hash”와 같은 구조로 저장
-> 저장된 시점과 파일 이름을 DB화하여 관리. 내용이 다르면 같은 이름이여도 다른 Hash값으로 저장됨.
- 최대 용량 제한 및 최대 저장 횟수를 지정. 초기 저장 파일부터 순차적으로 삭제 후 최근 파일을 저장하는 방식 적용
- 파일 복원
1. 서버는 사용자로부터 어느 파일이 존재하는지 리스트를 요청받아 어느 시점에 몇개의 파일이 있는지 보여줌
2. 사용자가 특정 파일을 선택해 복구 요청
3. 서버에서 요청받은 파일의 Login 테이블, User테이블을 참조해 서버에 저장했을 당시의 1차 암호키 + 암호화된 파일 데이터를 돌려줌
4. 사용자가 1차 암호키 + 시스템 고유정보로 복호화 키 생성
5. 복호화 키로 암호화된 데이터를 복호화 해 원본 파일을 얻음
- 관리 테이블
- 프로세스 관리 테이블에 등록되지 않은 프로그램에 의한 파일 접근 이벤트 발생: 사용자에게 경고창 띄움, 접근 허가를 할 것인지 물음
- 특정 확장자가 다른 프로그램에 의해 접근 되어야 할 필요가 있는 경우: 프로세스 관리 테이블 수정 or 새 확장자와 해당 프로그램의 관계 등록
- 악의적 프로세스가 관리 테이블에 등록된 프로그램으로 변조하여 접근하는 경우 방지.(화이트 리스트 테이블의 프로그램 이름, Hash 값,부모프로세스를 비교)
IV. 실 험
1차 실험: 관리테이블 기반 프로세스 접근 탐지 + 클라우드 서버에 저장
- 실험 상황: hwp.exe -> fake.exe로 변경한 후 파일 변경 시도
- 실험 결과: 시스템은 fake.exe가 화이트리스트에 등록된 프로그램의 이름, Hash값, 부모 프로세스를 비교하여 일치하지 않음
- 대응: 해당 프로세스를 일시정지(Suspend) 상태로 만들고 사용자에게 경고창을 띄워 사용자에게 해당 프로세스의 종료 여부와 프로세스를 계속 진행할 수 있는 선택창 을 제공 (경고창을 생성함과 동시에 핸들링 대상 파일은 클라우드 서버에 암호화되어 저장)

2차 실험: 암호화 과정과 원격 클라우드에 파일을 저장하는 과정에서 리소스에 따른 소비되는 시간 측정
- 528KB(소형 파일): 평균 0.173초
- 약 27MB(대형 파일): 평균 2.286초; (약간의 부하 발생. 사용면에서 크게 문제 없음)
V. 결 론
- 기존 연구:
암호화된 파일을 암호키를 이용하여 사용자의 시스템에서 복원 하는 방식
-> 암호키를 찾지못하면 원본파일 복원 불가
- 본 연구:
클라우드 서버에 해당 파일을 암호화하여 자동 저장(사용자의 파일이 저장되는 시점에)
-> 파일의 오염/삭제 경우에도 안전 복원 가능
+) 단점: 저장/ 복원에 시간 소요
배운점 및 느낀점
- 결론부분의 본 연구에 대한 내용은 현재 google drive 등에서 기본으로 하고 있는 개념이다. 간략하게 비교해보자면 다음과 같다
위 논문: Hash 값을 기반으로 파일의 시점별 원본을 보관 -> 현재: 이전 버전으로 복구 기능을 통해 감연 전 상태로 되돌릴 수 있음
파일이 저장되는 시점에 가로채서 클라우드로 전송 -> 파일 시스템 이벤트를 감시하다가 파일이 수정되는 즉시 델타 백업 수행
저장/복원에 시간 소요 -> 증분 백업: 파일 전체가 아닌 변경된 부분만 전송, 백그라운드 처리
- 사용자가 파일을 클릭하면 그 경로가 화이트 리스트에 추가 되는 동적 화이트리스트처럼 지금은 자연스럽게 사용하는 기술이나 개념들이 위 논문 내용의 대부분을 차지하며 최신 내용을 파악할 수 없다는 점은 있지만 랜섬웨어를 다루는 가장 기본 기술과 논리를 다루고 있기때문에 기초를 공부하는 기회가 되었다.
- 10년전 논문에서 분석한 한계점이였던 탐지 범위의 한계의 경우, 이와관련해 최신 동향을 살펴보니 행위 기반 탐지에서 더 발전하여 EDR등의 방법으로 거의 완벽하게 잡아낼 수 있다는 것을 알게 되었다. 이를 통해 오늘날의 보안기술이 얼마나 더 정교하게 발전했는지 깨닫게 되었다.
용어정리
- 화이트리스트(Whitelist): 기본적으로 모든 것을 차단한 상태에서, 안전하다고 판단되는 특정 항목들만 접근이나 실행을 허용하는 보안 방식. (허가 목록)
- CryptoLocker : 사용자의 파일을 암호화한 뒤, 이를 복구해주는 대가로 비트코인 등 암호화폐를 요구하는 공격 방식의 시초
- DDos : 많은 컴퓨터를 동원해 특정 웹사이트나 서버에 한꺼번에 접속을 시도하여 마비시키는 공격
- Drive By Download : 해커가 보안이 취약한 웹사이트를 변조하고, 사용자가 브라우저를 통해 취약한 사이트 방문 시
취약점에 의해 사용자 모르게 악성코드를 설치하고 실행하게 하는 방법. 불특정 다수를 대상으로함
- WAF : 웹 방화벽(Web Application Firewall). 웹 애플리케이션(HTTP/HTTPS 트래픽)을 보호하는데 특화
- IPS : 침입 방지 시스템(Intrusion Prevention System). 네트워크 전체로 흘러들어오는 비정상적인 트래픽을 실시간으로
탐지하고 즉시 차단하는 장비
- 난독화 : 다음과 같은 방법을 사용해 코드의 가독성을 떨어뜨림
이름 변경, 제어 흐름 은닉(논리적 실행순서 뒤섞기), 데이터 암호화, 더미 코드 삽입(상관없는 가짜코드 집어넣기)
- Zero-day : 보안 취약점이 발견되었지만, 아직 이를 해결할 수 있는 패치(보안 업데이트)가 나오지 않은 상태
(개발자가 대응할 수 있는 시간이 0일이다)
- 토렌트 : P2P방식의 파일 공유 프로토콜
- P2P : Peer to Peer : 파일을 여러 조각으로 나누어 수많은 사용자로부터 동시에 주고받음
- MBR(Master Boot Record) : 하드디스크에 할당된 파티션(볼륨)의 위치 정보와 부트 코드(부팅하는데 필요)가 저장되어있음
- 비트로커 : MS에 내장된 디스크 전체 암호화 기술.
분실, 도난시에 하드디스크를 다른 PC에 연결해도 내용을 볼 수 없게 보호
- PETYA[8] : 파일이 아닌 MBR을 직접 공격하는 랜섬웨어. (속도빠름)
- MISCHA : PETYA(페탸)와 함께 유포된 보조 랜섬웨어. 일반 랜섬웨어처럼 개별 파일 암호화
- VBR(Volume Boot Record) : 파티션마다 존재하는 부팅 섹터
- file overwrite : 덮어쓰기
- 행위 기반 탐지 : 파일의 생김새가 아닌 행위를 보고 악성여부를 판단하는 보안기술 (제로데이나 신종 랜섬웨어를 주요 대상으로 함)
- iRansom : 바탕화면에 있는 파일들만을 대상으로 한 랜섬웨어 (파일을 암호화한 뒤 원래 내용을 덮어쓰기 함)
- 디렉토리 핸들 : 디렉토리에서 일어나는 변화를 감시하기 위해 운영체제로부터 받아오는 제어권
- API : Application Programming Interface
- CreateFile 함수 : 새로운 파일을 만들 때뿐만 아니라, 특정 디렉토리의 핸들을 얻어오기 위해 사용되는 함수
- ReadDirectoryChanges 함수 : 디렉토리 핸들을 통해 해당 폴더 내에서 발생하는 파일 생성, 수정, 삭제 등의 이벤트를 실시간으로
모니터링 하는 함수
- API 후킹 기술 : 운영체제가 특정 함수를 실행하기 직전에 가로채서 제어권을 뺏어오는 기술
- CreateProcess : 새로운 프로그램(프로세스)을 실행할 때 호출되는 API 함수
- Instruction Pointer (IP) 레지스터 : CPU가 다음에 실행할 명령어가 저장된 메모리 주소를 가리키는 장치
- 확장자 보호 기능 : 랜섬웨어가 주로 노리는 특정 파일 형식을 지정된 안전한 프로그램(화이트리스트)만 수정할 수 있게 제한하는 기능
- 필터 드라이버 : 파일시스템이나 장치 드라이버 사이에서 오가는 데이터를 중간에 가로채서 필터링 하는 프로그램
'SWLUG(2026) > 논문분석' 카테고리의 다른 글
| [4] 논문분석 [어텐션 패턴 분석을 활용한 다층 프롬프트 인젝션 탐지 프레임워크] (0) | 2026.05.26 |
|---|---|
| [3] 논문분석 [스마트홈 보안을 위한 역할 기반 다중 인증 시스템 구현] (1) | 2026.05.12 |
| [2] 논문분석 [ 교육기관을 위한 클라우드 보안 관제 연동 체계 구축 방안 ] (0) | 2026.04.29 |