# SMB (Server Message Block)

## What is SMB?

SMB (Server Message Block) is a network protocol used for file transfer, print services, and network browsing across a local area network (LAN). Developed by IBM in 1983, the protocol allows devices to communicate with remote computers and servers through a client-server approach. 

Since its release, Microsoft has made many changes to SMB, such as merging the file server protocol with the network operating system LAN Manager. This addition enabled computers to access remote Windows file sharing on a network as if it were a local hard drive disk. Subsequent dialects have seen improvements to SMB’s security and performance. 

## SMB Versions

- **SMB 2.0**: Released with Windows Vista in 2006. The 2.0 specification includes additional features, such as Wide Area Network (WAN) acceleration support, and reducing client-server latency, i.e., the “chattiness” of the original SMB/CIFS.
 
- **SMB 2.1**: Introduced with Windows 7 and Server 2008 R2, bringing enhanced efficiency for caching and performance.
- **SMB 3.0**: Came out with Windows 8 in 2012, with many changes. Notable updates include end-to-end encryption, SMB Multichannel to facilitate multiple connections in SMB sessions, SMB Direct to allow SMB 3 traffic over RDMA.

- **SMB 3.02**: Released alongside Windows 8.1 and Windows Server 2012 R2 in 2014, allowing users to disable SMB 1.0 to enhance security.

- **SMB 3.1.1**: Introduced in 2015 with Windows 10 and Windows Server 2016, adding many security enhancements, such as stronger encryption, session verification, and protection against man-in-the-middle attacks
   
## Functionalities

- **Network Performance**

Among other improvements like caching and increased storage size, SMB 2.0 added support for Wide Area Network (WAN) acceleration. 

Version 3.0 introduced SMB Multichannel, reducing latency and improving network efficiency and performance

- **Usability**

SMB improved practicality and simplicity by reducing these commands to just nineteen.

- **Security Mechanisms**

SMB 2.0.2 came with pre-authentication integrity and is not vulnerable to NotPetya and WannaCry.

SMB 3.0 introduced the encryption algorithm Advanced Encryption Standard (AES)-cipher-based message authentication code (CMAC). This addition has helped reduce the protocol’s exposure to cybersecurity risks like man-in-the-middle attacks by protecting sensitive data in transit.
