Khái niệm, định nghĩa Giao thức SMB là gì?

1984 IBM đưa ra SMB trong một bản công bố tài liệu kỹ thuật của mình, thiết kế với mục đích ban đầu là thiết kế một giao thức mạng để đặt tên và duyệt (naming and browsing). Về sau SMB được kế thừa bởi Microsoft và trở thành một giao thức chia sẻ file phổ biến trong các phiên bản hệ điều hành của Microsoft và IBM.
Hiện tại Microsoft đặt lại tên cho SMB là CIFS(Common Internet File Sharing), hệ thống chia sẽ file phổ biến trên Internet.
CIFS thiết kế với tiêu chí đơn giản và khả năng đáp ứng số lượng lớn người dùng. Người dùng quyết định quyền Read-Only hoặc Read-Write và đặt password đối với dữ liệu được chia sẻ (thư mục , ổ đĩa…) .Sự phổ biến của CIFS là do nó phù hợp với mô hình một server tập trung, mọi dữ liệu được xử lý từ client đều được khuyến nghị là lưu trữ tại server.

Mặc dù mục tiêu chính là chia sẻ file, các chức năng bổ sung của M$ SMB bao gồm cả:

  • Đàm phán, dàn xếp để tương thích giữa các hình thái SMB
  • Phát hiện các máy chủ sử dụng SMB trên mạng (browse network)
  • In qua mạng
  • Xác thực truy cập file, thư mục chia sẻ
  • Thông báo sự thay đổi file và thư mục
  • Xử lý các thuộc tính mở rộng của file
  • Hỗ trợ Unicode
  • Khóa file đang truy cập tùy theo cơ hội (oplock)

Microsoft sử dụng SMB cùng với giao thức xác thực NTLM để cung cấp dịch vụ gọi là chia sẻ file và máy in ở mức user. Khi một user đã đăng nhập thực hiện kết nối tới tài nguyên chia sẻ trên máy tính khác (\servershare), Windows tự động gửi thông tin đăng nhập của user đó tới SMB server trước khi hỏi username hoặc password.

Trong mô hình mạng OSI, SMB thường được coi là giao thức ở tầng Application (L7) hoặc Presentation (L6), và được truyền tải (transport) dựa trên các giao thức cấp thấp hơn. Giao thức truyền tải (L4) mà SMB thường dùng trước đây là NetBEUI (Netbios Extended User Interface), và hiện nay là NBT hoặc NetBT (NetBIOS over TCP/IP). Tuy vậy, giao thức SMB cũng có thể sử dụng không cần một giao thức truyền tải xác định bổ trợ riêng bằng cách kết hợp SMB với NBT để đảm bảo tính tương thích giữa nhiều phiên bản Windows khác nhau.

Giao thức SMB trên Windows  buộc phải sử dụng truyền tải qua NetBT với các cổng 137, 138 (UDP), 139 (TCP). Từ Windows 2000/XP, Microsoft cấp thêm khả năng chạy SMB trực tiếp trên TCP/IP, chỉ sử dụng cổng 445 (TCP).

Lỗ hổng

Có một lỗ hổng liên quan đến SMB mang tên Redirect to SMB.

Bạn có tin rằng có một lổ hổng bảo mật được phát hiện lần đầu vào năm 1997, tồn tại trên hệ điều hành Windows trong suốt 18 năm qua và hiện tại vẫn chưa được khắc phục hoàn toàn. Đó chính là lỗ hổng mang tên Redirect to SMB và nó không chỉ ảnh hưởng tới các tiện ích hệ thống Windows, bao gồm Windows 10 preview mà cả 31 phần mềm bên thứ 3 đến từ Adobe, Apple, Symantec,.. cũng chịu ảnh hưởng từ lỗ hổng này.