나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-03-07 00:36:46

SMB

CIFS에서 넘어옴
1. 시스템 관리 버스2. 서버 메시지 블록
2.1. 버전
2.1.1. SMBv12.1.2. SMBv22.1.3. SMBv3
3. 슈퍼 마리오브라더스의 약칭4. 슈퍼 미트 보이의 약칭5. SM브라보의 약칭6. Sheet Music Boss의 약칭7. 일본의 철도역8. 록밴드 사디스틱 미카 밴드의 약칭9. 중소기업

1. 시스템 관리 버스

System Management Bus.

SMBus는 1995년 인텔에서 만든 통신용 버스다. VMware를 시작할 때 나오는 SMBus controller가 이것이다.

2. 서버 메시지 블록

Server Message Block.

SMB는 네트워크 상 존재하는 노드들 간에 자원을 공유할 수 있도록 설계된 프로토콜이다. 주로 네트워크에 연결된 컴퓨터끼리 파일, 프린터, 포트 또는 기타 메시지를 전달하는데 사용된다. SMB 대신 Common Internet File System, CIFS라고도 한다.

SMB는 1990년에 도스, 윈도우, NT, OS/2, 유닉스 등 난잡했던 운영체제 간 자원 공유를 쉽게 해줄 목적으로 만들어졌고, 윈도우로 거의 통일된 지금도 NAS, 네트워크 스캐너 등 리눅스 기기와의 파일공유를 클라이언트 없이 탐색기로 직접 수정가능하다는 장점이 있어 아직도 널리 쓰이고 있다. 리눅스에서는 SAMBA라는 소프트웨어를 설치하면 누구나 쉽게 SMB를 이용한 공유가 가능하다.

이 프로토콜은 윈도우에 종속되어 있어 호환성때문에 수십년간 낡은 코드를 유지하면서 자리를 지켜왔으나, 엄청나게 많은 보안 취약점과 도저히 수정할 수 없는 코드로 인해 마이크로소프트의 골칫거리가 되어왔다. 특히 2017년 5월 발생한 WannaCry라는 랜섬웨어가 바로 SMB의 취약점을 노린 것으로 드러났다.

애플 진영에서는 이것 대신 AFP라는 유사한 프로토콜을 주로 사용했으나 MacOS Big Sur부터 SMB로 대체되었고 iOS도 13부터 네이티브로 SMB를 지원하기 시작했다.

2.1. 버전

2.1.1. SMBv1

Stop using SMB1.\ Stop using SMB1.\ \ STOP USING SMB1!\
SMB1의 사용을 중지하세요.\ SMB1의 사용을 하지 말아주세요.\ \ 제발 부탁이니까 SMB1의 사용을 하지 말아주십시오!\
- 마이크로소프트 파일 프로토콜 수석 프로그래머인 Ned Pyle가 블로그에 남긴 글.[1]

SMBv1은 MS-DOS부터 Windows 11까지 존재하는 구식 프로토콜이다. 처음 SMB가 만들어질 시절에는 해킹에 대한 개념도 희박했고, 네트워크가 연구소나 대학의 전유물로 여겨졌기 때문에 보안을 고려하지 않고 만들어졌다. 결국 윈도우 침투에 자주 악용되는 루트로 전략해버렸고,[2] 마이크로소프트에서는 보안패치로 해결하고자 노력하였으나 근본적인 문제점 때문에 한계가 있었다.

그럼에도 불구하고 계속 지원해왔던 이유는 호환성 때문이다. 보안 결함이 있음에도 불구하고 제일 구현하기 쉬웠기 때문에 NAS나 프린터 제작사들이 계속해서 SMBv1만 지원하는 제품만 내놓았다. OS 기본 설정이나 기업 방화벽으로는 공격을 막기위해 인터넷 망이 아닌 내부 네트워크에서만 수발신이 가능하도록 하였으나, 랜섬웨어가 인터넷을 통해 한 컴퓨터에 들어온 뒤 내부 네트워크 전체를 감염시키는 행태를 보이자 그제서야 유저들이 SMB 사용을 중단하기도 하였다.

Windows 10 1709부터는 SMBv1의 지원이 단계적으로 종료된다. 기존 버전에서 업그레이드 한 컴퓨터는 15일 이내에 SMBv1을 사용하지 않으면 기능이 제거되며, 클린설치한 컴퓨터는 기본적으로 기능이 없이 설치가 된다. 필요할 경우 다시 설치할 수 있으나 권장하지 않는다. 일부 블로그에서는 자격 증명이나 폴더 권한, 방화벽, 허가받지 않은 접속 등 기본적인 보안마저 없애버리는 것까지 안내하므로 주의해야 한다.

Windows XP 이하의 구형 OS에서 Windows Server 공유 폴더에 접근하려면 서버에서 SMBv1을 허용해줘야 하는데, 이 경우에는 SMBv1 전용 서버를 따로 구축하여 돌리는 게 보안상 안전하다.

2.1.2. SMBv2

SMBv2는 SMBv1을 새롭게 대체하고자 만들어진 프로토콜로, Windows Vista부터 탑재되고 있다. 즉 2006년에 제작된 프로토콜이다. 바로 전 버전과 무려 16년 차가 난다.

완전히 새로 개발되었기 때문에 이전 버전과의 호환성은 전혀 없다. 즉 Windows XP 이하의 운영체제에서는 사용할 수 없다. 현재 구형 리눅스 장비를 제외한 대부분의 기기가 SMBv2를 이용한 통신이 가능하며, 속도와 보안 모두 기존보다 월등하다.

2.1.3. SMBv3

2020년 기준 최신 버전이기도 한 SMBv3는 SMBv2에 속도 최적화 및 각종 기능을 추가한 것으로, Windows 8부터 탑재되고 있다. 즉 2012년에 제작된 프로토콜로, 전작 출시 이후 6년만에 신버전이 출시된 것이다. SMBv3는 SMBv2와도 통신이 가능하다. 이 때문인지 SMBv2를 비활성화하면 SMBv3도 같이 꺼진다.

주로 SQL 데이터 및 가상화 솔루션 간 파일 전송, 서버 클러스터 관리, 분산 전송을 통한 장애조치 등 데이터센터와 같은 서버 간 통신을 위한 것이며 일반 사용자는 SMBv2로도 아직까지 충분하다.

3. 슈퍼 마리오브라더스의 약칭

Super Mario Bros.(Super Mario Brothers)

4. 슈퍼 미트 보이의 약칭

Super Meat Boy
아이작의 번제에서도 이 약칭을 사용하는 아이템이 있다.

5. SM브라보의 약칭

파일:상세 내용 아이콘.svg   자세한 내용은 SM브라보 문서
번 문단을
부분을
참고하십시오.

6. Sheet Music Boss의 약칭

파일:상세 내용 아이콘.svg   자세한 내용은 Sheet Music Boss 문서
번 문단을
부분을
참고하십시오.

7. 일본의 철도역

파일:상세 내용 아이콘.svg   자세한 내용은 신바시역 문서
번 문단을
부분을
참고하십시오.

8. 록밴드 사디스틱 미카 밴드의 약칭

파일:상세 내용 아이콘.svg   자세한 내용은 사디스틱 미카 밴드 문서
번 문단을
부분을
참고하십시오.

9. 중소기업

영어에서 중소기업을 표현하는 단어로 SMB라는 말을 사용한다.


[1] 다만 해당 글은 아래에 나와았듯, 호환성의 이유로 SMBv1이 사용될 수 있는 상황이 있을 수 있다는 점을 무시한 채 무작정 SMBv1를 쓰지 말고 삭제하라고만 주구장창 주장하고 있으며, 대채제나 SMB 상위 버전으로의 이행 방법에 대한 언급 등이 일절 없이 SMBv1을 사용하는 유저를 비난만 하고 있기에, 그에 대한 댓글의 반응도 싸늘한 편이다.[2] 이런 문제의 정점을 찍은 것이 바로 워너크라이 랜섬웨어이다. 당시에 워너크라이는 SMB의 취약점을 비집고 들어와 컴퓨터들을 감염시켰다.