기술 가이드

FileFix 공격 차단 및 Windows 보호 가이드

6 min read 보안 업데이트됨 05 Oct 2025
FileFix 공격 차단 및 Windows 보호 가이드
FileFix 공격 차단 및 Windows 보호 가이드

중요: 시스템 파일을 변경하거나 관리자 권한으로 조작하기 전에 백업을 만들고, 조직의 보안 정책을 준수하세요.

이진 코드 배경의 해골 이미지

FileFix 공격이 무엇인가

FileFix는 연구자 mr.d0x가 공개한 기법으로, 브라우저의 “웹페이지 저장(Save as)” 동작이 Mark of the Web(MoTW)을 제대로 태깅하지 않는 점과 Windows의 HTML 응용 프로그램(.hta) 처리 방식을 결합해 보안 제품의 검사·차단을 우회합니다. 공격 흐름 요약:

  • 공격자는 악성 콘텐츠를 가진 웹페이지를 구성합니다.
  • 사용자가 브라우저의 ‘다른 이름으로 저장’ 기능으로 페이지를 로컬에 저장합니다. 이 저장 과정에서 MoTW 태그가 누락될 수 있습니다.
  • 파일 확장자를 .hta로 바꾸면 mshta.exe(HTML Application Host)가 파일을 현재 사용자 권한으로 바로 실행합니다.
  • 실행 시점에 Windows 보안 제품이 사전 차단하지 못하면 랜섬웨어, 크리덴셜 탈취, 추가 페이로드 설치로 이어질 수 있습니다.

간단 정의: MoTW는 인터넷에서 온 파일임을 표시하는 태그이며, 보안 검사 트리거로 사용됩니다. .hta는 HTML + 스크립트로 작성된 응용 프로그램 파일입니다.

공격의 핵심 약점(한 줄)

사용자가 저장하는 파일이 MoTW로 태깅되지 않거나 확장자가 숨겨져 있어 .hta로 바뀌어도 알아채지 못하는 점을 공격자가 악용합니다.

언제 이 공격이 실패하는가 (반례)

  • 브라우저가 저장 시점에 MoTW를 항상 올바르게 적용하면 공격이 차단될 수 있습니다.
  • 사용자가 파일 확장자를 항상 표시하고, 의심스러운 .hta 파일을 열지 않으면 공격 효력이 떨어집니다.
  • 조직의 엔드포인트 감시(실시간 행위 분석)가 .hta 실행을 의심 프로세스로 분류하면 실행 후 차단될 수 있습니다.

즉시 적용할 수 있는 사용자 수준 방어

1) 악성 웹사이트 접근 차단

  • 모던 브라우저(Chrome, Edge, Firefox 등)를 사용하세요. 이들 브라우저는 피싱·악성코드 차단 기능을 제공합니다.
  • Chrome에서는 ‘향상된 보호(Enhanced Protection)’를 활성화하면 AI·클라우드 기반 위협 탐지 보완이 가능합니다.
  • 이메일의 링크나 첨부 파일에서 의심스러운 출처는 열지 마세요. 피싱 의심 시 발신자와 URL을 별도로 검증하세요.

2) Windows에서 파일 확장자 항상 표시하기

기본적으로 Windows는 알려진 파일 형식의 확장자를 숨깁니다. 확장자가 보이지 않으면 .html이 .hta로 바뀐 것을 놓치기 쉽습니다.

  • 파일 탐색기에서 더 보기 버튼(점 3개)을 클릭하고 옵션을 선택합니다.
  • 보기 탭으로 이동해 알려진 파일 형식의 확장명 숨기기 옵션의 체크를 해제합니다.

Windows 파일 탐색기에서 파일 확장자 표시 설정 스크린샷

이제 저장 대화상자에서도 확장자가 보입니다.

웹페이지 저장 대화상자에 파일 확장자 표시된 모습

3) .hta 파일 연결을 메모장으로 변경하기

기본적으로 .hta는 mshta.exe로 실행됩니다. .hta 연결을 메모장(Notepad)으로 바꾸면 더블클릭 시 실행되지 않고 텍스트로 열립니다.

  • Windows 설정에서 -> 기본 앱으로 이동합니다.
  • 상단 검색 바에 “.hta”를 입력해 파일 형식 기본 앱 설정을 찾습니다.
  • 현재 기본 앱(예: Microsoft (R) HTML Application host)을 클릭하고 메모장을 선택한 뒤 기본값 설정을 클릭합니다.

Windows 설정에서 메모장을 .hta 기본 앱으로 설정하는 화면

이 설정은 엔드유저 환경에서 실수로 실행되는 것을 막는 효과적인 방법입니다. 일반 사용자에게 .hta를 사용하는 워크로드가 없다면 권장합니다.

4) mshta 실행기 비활성화(심화, 관리자 권한 필요)

시스템에서 mshta.exe를 완전히 비활성화하면 .hta 실행을 원천 차단할 수 있습니다. mshta는 다음 경로에 존재합니다:

  • C:\Windows\System32\mshta.exe
  • C:\Windows\SysWOW64\mshta.exe

파일 확장자를 표시한 상태에서 두 위치의 파일 이름을 변경해 비활성화할 수 있습니다.

권장 절차(관리자 권한 PowerShell 또는 명령 프롬프트 사용):

# 시스템 파일 소유권 가져오기(필요한 경우)
takeown /f "C:\Windows\System32\mshta.exe"
icacls "C:\Windows\System32\mshta.exe" /grant Administrators:F
# 파일 이름 변경 (관리자 PowerShell)
Rename-Item -Path "C:\Windows\System32\mshta.exe" -NewName "mshta.exe.disabled"
# 동일 작업을 SysWOW64에 대해 반복
Rename-Item -Path "C:\Windows\SysWOW64\mshta.exe" -NewName "mshta.exe.disabled"

되돌리려면 이름을 원래대로 바꾸면 됩니다. 이 방법은 시스템 무결성 보호나 윈도우 업데이트가 파일을 복원할 수 있으므로, 조직에서는 중앙 관리(예: 그룹 정책, 엔드포인트 관리 시스템)로 적용을 권장합니다.

참고: 일부 레거시 관리 스크립트는 .hta를 사용할 수 있으므로, 비활성화 전에 조직 내 영향을 반드시 검토하세요.

조직 및 IT 담당자용 권장 방어 전략

엔드포인트 정책 및 EDR 규칙

  • EDR(엔드포인트 탐지·대응) 솔루션에서 .hta 실행을 감지·차단하는 규칙을 추가하세요. 실행 시도 시 경고를 발생시키고 자동 격리 정책을 적용합니다.
  • 파일이 웹에서 저장될 때 MoTW 태그 여부를 검사하는 사용자 기반 스크립트를 배포해 알림을 띄우는 것도 유효합니다.

중앙 관리로 .hta 연결 변경 또는 mshta 차단

  • 그룹 정책 또는 MDM(예: Intune)으로 .hta 파일 형식의 기본 앱을 메모장으로 지정하거나, mshta 실행 파일을 제한하세요.
  • 애플리케이션 제어(예: AppLocker, Windows Defender Application Control)를 사용해 mshta.exe의 실행을 화이트리스트 기반으로 관리하세요.

교육 및 피싱 대응

  • 사용자 교육: ‘웹페이지 저장’으로 인한 리스크, 파일 확장자 표시 방법, 의심 파일 처리 절차를 정기적으로 교육하세요.
  • 이메일 보안: SPF/DKIM/DMARC 적용, 스팸·피싱 필터링 강화, URL 리라이트 및 클릭 미리보기 기능 사용을 권장합니다.

사고 대응(간단한 런북)

  1. 의심스러운 .hta 실행 또는 파일 저장 이벤트 감지
  2. 해당 호스트의 네트워크 연결 차단(격리)
  3. 프로세스·메모리 덤프와 관련 파일 수집
  4. EDR·SIEM에서 관련 IOCs(파일명, 해시, 프로세스 트리) 조사
  5. 빠른 복구: mshta 비활성화(또는 .hta 연결을 텍스트 편집기로 변경), 사용자 영향 최소화
  6. 루트 원인 분석 후 패치·정책 조정 및 사용자 교육

사고 대응 체크리스트(IT/보안팀):

  • 격리된 호스트의 스냅샷/이미지를 확보했는가?
  • 추가 식별 가능한 피해(네트워크 이동, 크리덴셜 탈취 등)가 있는가?
  • 복구 전 백업이 안전하게 확보되었는가?
  • 관련자(사용자·관리자)에 대한 커뮤니케이션이 준비되었는가?

역할별 체크리스트

  • 최종 사용자

    • 브라우저 경고를 무시하지 마세요.
    • 의심스러운 파일은 열지 말고 IT에 보고하세요.
    • 파일 확장자가 항상 표시되도록 설정하세요.
  • 데스크톱/시스템 관리자

    • .hta 연결을 메모장으로 변경하거나 mshta 실행을 중앙에서 비활성화하세요.
    • 변경 시 스케줄과 영향 범위를 사전에 알리세요.
  • 보안 운영팀(SOC)

    • EDR에서 .hta 관련 실행 이벤트를 모니터링하세요.
    • SIEM에 FileFix 관련 탐지 규칙을 추가하고, 경보 플레이북을 준비하세요.

테스트 사례와 수용 기준

  • 시나리오: 악성 HTML을 저장하고 .hta로 확장자 변경 후 실행 시도
    • 기대 결과: 로컬에서 더블클릭 시 파일이 텍스트 편집기로 열리거나 실행이 차단되어야 함.
  • 시나리오: mshta가 비활성화된 호스트에서 .hta 실행 시도
    • 기대 결과: 실행 불가 또는 관리자 권한 오류 메시지 발생.

대체 접근법과 보완 수단

  • 브라우저 확장/기업 정책으로 ‘웹페이지 저장’ 자체를 제한하거나 저장된 파일을 자동으로 샌드박스로 검사하도록 구성.
  • DLP(데이터 손실 방지) 정책으로 의심 파일 타입의 유출·저장을 통제.
  • 파일 서버/공유 드라이브에 업로드된 HTML 파일 스캐닝 자동화.

위험 평가와 권장 우선순위

  • 우선순위 높음: 파일 확장자 표시 활성화, 사용자 교육, .hta 연결 변경(메모장)
  • 우선순위 중간: mshta 중앙 비활성화, EDR 규칙 강화, 애플리케이션 제어
  • 우선순위 낮음: 브라우저 저장 기능 제한(업무 영향 검토 필요)

보안 하드닝 요약

  • 항상 최신 Windows 업데이트 적용
  • Windows Defender나 타 보안 제품의 실시간 보호 활성화
  • 애플리케이션 제어로 mshta 실행 제어
  • 수동 비활성화 시 관리자 승인을 통한 중앙화된 절차 수립

의사결정 흐름(머메이드 다이어그램)

flowchart TD
  A[사용자가 웹페이지 저장함] --> B{파일 확장자 표시?}
  B -- 예 --> C{확장자 .hta로 변경됨?}
  B -- 아니오 --> D[사용자가 .hta로 속일 가능성 높음]
  C -- 아니오 --> E[위험 낮음]
  C -- 예 --> F{.hta 연결이 메모장인가?}
  F -- 예 --> G[실행 차단, 텍스트로 열림]
  F -- 아니오 --> H{mshta 실행 가능?}
  H -- 예 --> I[실행됨 -> EDR/안티바이러스 탐지 여부에 따라 차단/심각]
  H -- 아니오 --> G

실행 전/후 검증 체크리스트

  • 파일 확장자 표시를 활성화했는가?
  • 샘플 .hta 파일을 만들어 더블클릭 시 메모장에서 열리는가?
  • mshta 파일 이름 변경(또는 AppLocker 규칙) 적용 후에도 시스템 핵심 기능이 정상 동작하는가?
  • EDR 규칙이 .hta 관련 이벤트를 감지하는가?

요약

  • FileFix는 파일 저장·확장자 처리의 사소한 차이를 악용하는 공격입니다.
  • 사용자는 파일 확장자 표시, 브라우저 보안 기능 사용, 의심 파일 미실행을 생활화해야 합니다.
  • IT/보안팀은 .hta 연결 변경, mshta 실행 제어, EDR/애플리케이션 제어를 도입해 위험을 줄이세요.
  • 사고 발생 시 즉시 호스트 격리, 로그·샘플 수집, 영향 분석을 진행하고 중앙 정책으로 재발 방지 조치를 반영하세요.

추가 자료 및 권장 조치

  • Windows 업데이트를 정기적으로 적용하세요.
  • 조직 정책으로 .hta 사용 사례를 식별하고, 필요한 경우에만 예외를 허용하세요.
  • 사용자에게 의심스러운 저장 요청(예: MFA 코드 저장, 특정 확장자 이름 사용 권유)에 대해 항상 문의하도록 교육하세요.

참고: Microsoft가 향후 MoTW 처리 방식을 변경하여 문제를 시스템 수정으로 해결할 가능성이 있으므로, 운영 체제 보안 패치를 주기적으로 확인하세요.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

Chrome을 Rust 맬웨어로부터 보호하는 방법
브라우저 보안

Chrome을 Rust 맬웨어로부터 보호하는 방법

맥도날드 셀프서브 결제 오류로 '50% 할인' 논란
뉴스

맥도날드 셀프서브 결제 오류로 '50% 할인' 논란

롤 검은 화면 문제 해결 가이드
게임

롤 검은 화면 문제 해결 가이드

Notes: 리눅스용 간단한 메모 앱 설치와 활용
생산성 앱

Notes: 리눅스용 간단한 메모 앱 설치와 활용

CentOS 7에 Murmur(Mumble) 서버 설치 가이드
서버 설치

CentOS 7에 Murmur(Mumble) 서버 설치 가이드

Ubuntu 시스템 정리 및 유지 관리 가이드
리눅스

Ubuntu 시스템 정리 및 유지 관리 가이드