공유폴더 / 공유프린터가 위험한 이유
공유폴더 또는 공유프린터는 다른 사람과 함께 나눠 쓰는 폴더 또는 프린터를 의미합니다.
그중에서 공유폴더는 다른사람이 내 컴퓨터의 특정 폴더를 네트워크 또는 인터넷으로 연결해 들여다 볼 수 있게 하는 기능을 가지고 있으며, 공유폴더를 통하여 다른 사람들과 파일 교환 및 프로그램 일부도 공유가 가능합니다. 또한, 공유프린터를 통해서는 하나의 프린터를 함께 사용할 수 있습니다.
하지만, 이러한 편리한 기능을 가진 공유폴더 및 공유프린터는 보안상 위험합니다.
* 위험한 이유*
공유폴더를 통해 바이러스, 웜과 같은 악성코드가 내부에서 쉽게 퍼질 수 있습니다.
- 대부분 회사, 학교, 병원 등 전체 기관 내에서 사용하는 프로그램을 위해 공유 프린터나 공유 폴더를 설정해 놓은 경우가 많습니다. 감염된 PC에서 바이러스는 네트워크 상의 공유폴더를 찾아 자신을 전파하게 됩니다.
- 얼마전 유행한 랜섬웨어의 주 감염 원인이 바로 공유폴더 및 공유프린터의 취약점을 이용하였습니다.
공유 폴터와 관련된 포트의 이해
공유폴더 취약점으로 이용되고 있는 NetBIOS와 관련된 포트와 윈도우즈 XP/2000 시스템에서 파일과 프린터를 공유하기 위한 목적으로 사용되고 있는 SMB와 관련된 포트의 특징은 다음과 같다.
1) 137, 138, 139 포트와 관련된 서비스 : NetBIOS
NetBIOS(Network Basic Input/Output System)는 1983년 Sytek이 IBM을 위해 개발하였으며, 어플리케이션이 네트워크 상에서 통신을 할 수 있도록 한다. NetBIOS는 세션 레벨 인터페이스와 세션 관리/데이터 트랜스포트 프로토콜로 정의된다. NetBIOS 인터페이스는 사용자 어플리케이션이 네트워크 I/O를 사용하고 기반 네트워크 프로토콜을 제어하기 위한 표준 API이다.
NetBIOS는 BIOS가 의미하듯이 네트워크 상의 기본 입출력 시스템을 의미한다. NetBIOS가 TCP/IP나 UDP/IP 전송에 사용된다면 이를 NetBIOS over TCP/IP 또는 NetBIOS over UDP/IP라고 한다. NetBIOS는 TPC/IP나 UDP/IP 보다 상위 계층인 세션계층에 위치하며, 이름부여 서비스, 데이터그램 서비스, 세션 서비스, 일반 명령어 서비스를 제공한다. NetBIOS에서제공하는기본서비스와이와관련된포트는다음과같다.
NetBIOS에서 제공하는 기본 서비스 및 관련 포트 정보
포트번호 | Protocol | Service 명 | 설명 |
137 | TCP | NetBIOS 이름 관리 | 네트워크 상의 자원(PC, 응용어플리케이션 등)을 식별하기 위해 사용됨 |
138 | UDP | NetBIOS 데이터그램 | 호스트, 그룹 또는 LAN 전체로 브로드캐스팅하는데 사용됨 |
139 | TCP | NetBIOS 세션 | 네트워크 공유 등을 이용한 실제 데이터를 송수신하는데 사용됨 |
2) 445 포트와 관련된 서비스 : SMB
SMB : 서버 메시지 블록, Server Message Block
1980년 초에 Intel, Microsoft, IBM에서 공동으로 개발한 SMB는 파일, 프린터, 비동기식 포트를 공유하기 위해, 그리고 명명된 파이프 및 메일 슬롯을 이용하는 컴퓨터들 간의 통신을 위해 Microsoft가 이용하는 프로토콜이다.
Protocol | Service 명 | 설명 | |
1 | TCP | microsoft-ds | Win2k + SMB |
2 | UDP | microsoft-ds | Win2k + SMB |
* 보안 방법 *
1. 공유 폴더 해제하기
cmd 창에서 "net share" 명령을 통해서 자신의 컴퓨터에 공유된 폴더를 확인 할 수 있다. 공유 프린터를 해제하는 방법은 /delete 명령어를 활용하는 방법이다.
> net share C:\ /delete
> net share ADMIN$ /delete
> net share IPC$ /delete
시스템에서 관리하는 C$, IPC$, ADMIN$ 등은 공유 해제를 해도 재부팅을 하게 되면 다시 공유된다.
사내 공유 폴더 운영 시에는 해당 공유 폴더는 ‘숨김 공유 설정’을 하거나, 권한 정보를 획득한 사용자만 접근할 수 있도록 설정하는 것이 안전합니다. 더 좋은 방법은 공유 폴더 자체를 주기적으로 제거하는 것입니다.
참고 : KISA, [TR2003004] 윈도우즈 환경에서의 공유폴더 취약점을 이용한 공격유형 및 취약점 대응방법, https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=21607