SMB protokolü ilk olarak IBM tarafından geliştirilmiştir. Core dialect olarak adlandırılır. Daha sonra farklı vendorlar tarafından da kullanılmıştır. Microsoft tarafında NTLM dialect olarak adlandırılan SMB protokolü kullanılmıştır. Buna da CIFS adı verilmiştir.
SMB protokolünü network file system ile ilişkilendirebiliriz. Özellikle de iki makine arasında dosya paylaşımında SMB protokolünü kullanırız.
SMB protokolü bazı diğer protokoller için taşıma görevide taşır. Örneğin RPC smb named pipes kullanabilir.
SMB protokolü taşıma için tcp veya netbios over tcp kullanabilir.
SMB 2 ve 3 sürümleri SMB2 protokolü olarakta adlandırılır.
CIFS, SMB 1 sürümünün varyasyonudur, SMB2 ‘nin değil.
SMB2, SMB’nin major değişikliği uğramış bir protokolüdür diyebiliriz. SMB2 ile birlikte paket formatlarıda değişmiştir.
Windows işletim sistemleri 2006 sonrasında SMB2 protokolüne geçiş yapmıştır. Vista ‘lar SMB 2 sürümünü kullanırken, Windows 8 SMB3 sürümünü kullanmaktadır. Bu yüzden günümüz baz alındığında CIFS yerine SMB ifadesini kullanmak daha doğru olacaktır.
SMB2 ‘de benzer şekilde tcp veya netbios ‘u taşıma için kullanabilir. SMB 3.x sürümüyle beraber ayrıca RDMA (remote direct memory access) ‘de taşımada kullanabilmektedir.
SMB deki güvenlik önlemleri SMB Signing, SPNEGO, GSS, Authentication Expire Time.
SMB 1 ve 2. sürümlerinde data encryption yok, ancak opsiyonel olarak 3.x sürümlerinde bu destek vardır.
SMB2 ile birlikte SHA-256 hashing gelmiştir.
SMB2 ‘de signing, encryption, decryption için bir tane session key kullanır. Bu yüzden random olması önemlidir. Değilse attacker mesaja veya dataya buradan ulaşabilir.