본문 바로가기
컴퓨터

👨‍💻 [Windows] 윈도우의 NTFS 대체 데이터 스트림(Alternate Data Streams, ADS) 이란 무엇인가요?

by 밝음의기둥 2025. 11. 27.
반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."


👨‍💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.

윈도우의 NTFS 대체 데이터 스트림(Alternate Data Streams, ADS) 이란 무엇인지 간략히 알아보았습니다.


질문 >

윈도우의 NTFS 대체 데이터 스트림(Alternate Data Streams, ADS) 이란 무엇인가요?

답변 >

NTFS 대체 데이터 스트림(Alternate Data Streams, ADS)

Windows NTFS 파일 시스템에서 하나의 파일에 여러 개의 데이터 스트림을 저장할 수 있게 해주는 숨겨진 저장 구조입니다.

쉽게 말해:

  • 하나의 파일 안에 ‘보이지 않는 파일’을 여러 개 붙여 넣을 수 있는 기능

이라고 보면 됩니다.


⭐ NTFS ADS 개념

1) 하나의 파일 이름 뒤에

파일이름:스트림이름

형식으로 여러 개의 스트림을 붙일 수 있습니다.

예:

test.txt:secret

여기서 test.txt 는 일반 파일,

secret 은 그 안에 숨겨진 ADS 이름입니다.

2) 파일 탐색기나 일반 명령어로는 보이지 않음

보통 탐색기에서 파일 크기를 보면 0KB로 봐도 실제로 ADS 안에는 데이터가 있을 수 있습니다.


⭐ ADS는 왜 존재하는 기능인가?

원래 목적은 Macintosh HFS 파일 호환입니다.

Mac OS HFS 구조는 파일에 데이터 포크(Data Fork) 와 리소스 포크(Resource Fork) 의 2가지 스트림을 가지고 있었고, NTFS는 이를 호환하기 위해 ADS 기능을 도입했습니다.


⭐ ADS 사용 예시

📌 ADS 생성

echo Hello > normal.txt
echo Secret message > normal.txt:hidden

📌 ADS 확인

Windows에서는 dir /r 로 볼 수 있습니다.

dir /r normal.txt

출력 예:

normal.txt
       20 normal.txt:hidden:$DATA

📌 ADS 읽기

more < normal.txt:hidden

📌 ADS 삭제

스트림명까지 포함해서 지우면 됩니다:

del normal.txt:hidden


⭐ ADS가 문제가 되는 경우 (보안 관점)

ADS는 탐색기에서 보이지 않고, 기본 파일 정보에 포함되지 않기 때문에

과거 악성코드가 파일에 숨어드는 방식으로 많이 사용되었습니다.

예시:

notepad.exe:evil.exe

기본 파일 크기는 0KB지만 ADS에 악성 코드가 들어 있을 수 있습니다.

또한 인터넷에서 받은 파일이 “차단됨(Unblock required)” 표시되는 이유도

다운로드한 파일에 Zone.Identifier 라는 ADS가 붙기 때문입니다.

예:

download.exe:Zone.Identifier

이 안에 “인터넷에서 내려받았음” 정보가 들어 있습니다.


⭐ 요약

특징  설명
목적 Mac HFS 호환, 메타데이터 저장
사용성 파일에 여러 데이터 스트림 저장 가능
보안 숨겨진 스트림으로 악성코드 은닉 가능
확인 방법 dir /r


🎬 유튜브 채널 🎬

 

위로그@WiLog

📢 안녕하세요, 위로그@WiLog 시청자 여러분, 저는 윌리(Willee) 입니다. 📢 위로그@WiLog 는 자기계발을 목적으로 하는 채널 입니다. 📢 오늘도 즐겁게~ 자신을 위한 계발을 함께 해보아요~ d^_^b 📌

www.youtube.com

🎬 치지직 채널 🎬

 

위로그 채널 - CHZZK

지금, 스트리밍이 시작됩니다. 치지직-

chzzk.naver.com


반응형