NTFS파일 구조의 이면, ADS(Alternate Data Stream)요약

ADS란 Alternate Data Stream의 약자인데요.  NTFS구조에서 지원하는 다중의 데이터 스트림을 의미합니다.

NTFS 시스템이 다중의 데이터 스트림을 지원하게 된 이유는 이중 저장 구조를 가진 Mac OS와의 호환성 때문이라고 하는데요. 문제는 이를 활용하여 악성코드나 데이터를 ADS 안에 숨길 수 있으며, 일반적인 방식으로는 탐지하기 어렵다는 점입니다.



위의 그림을 보면 FAT 에서는 데이터를 저장하는 방식에 있어 하나의 Data Stream만이 존재하지만 NTFS 구조에서는 Main Stream이외의 다른 Stream들이 존재한다는 것을 알 수 있는데요. 바로 이것이 Alternate Data Stream입니다.



ADS에 데이터를 넣는 방법은.... cmd -> echo명령어를 이용해 ADS에 데이터를 넣을 수 있습니다.

위의 cmd 사진에서는, echo ~(데이터 삽입) > 파일:ADS 이름 명령어를 통해 ADS(hidden)에 데이터를 넣었습니다.

 more < 파일이름:ADS이름 명령어를 통해서는, ADS(hidden)에서 데이터를 조회했구요.

이렇게 해서 넣은 데이터는 별도로 ADS 내부에 있는 데이터를 조회하기 전에는 알 수 없으며, 일반적인 파일 탐색기 영역에서는 보여지지 않는다는 특성이 있습니다. 위의 사진은 ADS에 데이터를 넣은 해당 파일인데, 아무 내용도 나오지 않는다는 걸 확인해볼 수 있더군요.


ADS내부의 데이터를 제거하기 위한 툴로는 ADS Spy 같은 프로그램들이 있으며, 경로 조회를 통해 ADS 내부의 숨겨진 내용을 제거할 수 있습니다.
 MS에서도 이 취약점을 알아서 windows 7 이후로는 ADS에 저장된 악성코드의 실행을 막있으나, 그럼에도 불구하고 해당 영역에 데이터를 자유로이 넣을 수 있다는 점에서 완전히 안심하기는 어려울 듯 싶더군요.

댓글 없음:

댓글 쓰기

글에 대한 의문점이나 요청점, 남기고 싶은 댓글이 있으시면 남겨 주세요. 단 악성 및 스팸성 댓글일 경우 삭제 및 차단될 수 있습니다.

모든 댓글은 검토 후 게시됩니다.

Translate