1: Sniffer Là Gì ?
Sniffer là thuật ngữ thường dùng của các điệp viên, ám chỉ việc nghe lén thông tin của đối phương. Trong môi trường bảo mật thông tin thì sniffer là những công cụ có khả năng chặn bắt các gói tin trong quá trình truyền và hiển thị dưới dạng giao diện đồ họa hay dòng lệnh để có thể theo dõi dễ dàng. Một số ứng dụng sniffer cao cấp không những có thể đánh cắp các gói tin mà còn ráp chúng lại thành dữ liệu ban đầu như là các thư điện tử hay tài liệu gốc.
Sniffer được dùng để đánh chặn dữ liệu giữa hai hệ thống và tùy thuộc vào công cụ cũng như cơ chế bảo mật được thiết lập mà các hacker có thể đánh cắp các thông bí mật như tài khoản người dùng và mật khẩu đăng nhập vào Web, FTP, Email, POP3/SMTP hay các tin nhắn nhanh bằng chương trình Yahoo ! Messenger, Skype, ICQ. Trong chương này chúng ta sẽ thảo luận về cách làm việc của sniffer và những công cụ nghe lén hàng đầu.
Khi card mạng hoạt động ở chế độ promiscous, máy tính trở thành sniffer
Lưu ý : Thuật ngữ packet (gói tin) dùng để mô tả dữ liệu tại tầng mạng, lớp 3 của
mô hình OSI trong khi đó frame đề cập đến dữ liệu tại tầng Data Link ( lớp 2).
Các frame chứa địa chỉ MAC còn packet chứa địa chỉ IP.
2: Những Giao Thức Dễ Bị Tấn Công Bởi Sniffer
Thông thường, các máy tính chỉ tiếp nhận các gói tin có địa chỉ đến trùng với địa chỉ MAC của card mạng, những khi một máy tính cài đặt ứng dụng sniffer thì chúng sẽ tiếp nhận tất cả các thông tin cho dù địa chỉ IP nhận có trùng lắp với địa chỉ MAC hay không, khi máy tính hoạt động ở chế độ này được gọi là promicouse, đây là một chế độ đặc biệt mà trong các tổ chức chỉ cho phép quản trị hệ thống hay những người thuộc bổ phận hỗ trợ kỹ thuật được phép sử dụng. Để hoạt động tại chế độ này thì ứng dụng sniffer sẽ cài đặt thêm một chương trình điều khiển đặc biệt cho card mạng, và hầu hết các chương trình sniffer thông dụng hiện nay đều có thể thực hiện chức năng này.
Bất kì giao thức nào không thực hiện mã hóa dữ 1iệu thì về nguyên tắt đều có thể bị hacker tấn công qua hình thức sniffer. Những giao thức thông dụng như HTTP, POP3, Simple Network Mnagement Protocol (SNMP), và giao thức truyền tập tin FTP đều bị sniffer đánh cắp dữ liệu dễ dàng vì thông tin đăng nhập được gởi đi dưới dạng cleartext (không mã hóa).
Các Công Cụ Sniffer
Sniffer không những được sử dụng bởi các hacker mà ngay cả các chuyên gia bảo mật hày những quản trị mạng cũng thường hay sử dụng chúng để dò tìm lỗi, khắc phục sự cố hay tìm kiếm các luồng thông tin bất thường trên hệ thống mạng. Một trong những ứng dụng đó chính là WireShark, mà các phiên bản cũ có tên gọi là Ethereal. Hiện nay, WireShark được xếp hạng số 1 trong danh sách các công cụ bảo mật hàng đâu thế giới, hay những công cụ được yêu thích nhất bở các hacker và chuyên gia bảo mật bình chọn tại địa chỉ sectools.org bởi vì sự mạnh mẽ của nó, ngoài ra Wiresharke còn là ứng dụng nguồn mở và hoàn toàn miễn phí, có thể hoạt động trên cả hệ thống Windows, Linux hay MAC.
Ngoài Wiresharke thì một chương trình nguồn mở khác là Snort cũng có khả năng hoạt động như sniffer trong việc nghe lén các gói tin. Tuy nhiên Snort nổi tiếng vì nó là một hệ thống dò tìm xâm phạm trái phép rất hiệu quả, với khả năng phát hiện sự có mặt của các virus như Conflicker, các cuộc tấn công mạng scan port, tấn công CGI, giả mạo Server Message Block (SMB) hay các dò tìm OS fingerpringting.
>>> Xem thêm: Thiết kế profile công ty chuyên nghiệp <<<
Active Sniff và Passive Sniff
Có hai dạng nghe lén trên mạng là nghe lén chủ động và nghe lén bị động mà chúng ta sẽ gọi bằng thuật ngữ tương ứng là active sniff và passive sniff. Trong hai dạng nghe lén này thì passive sniff thường khó phát hiện hơn vì hacker chỉ tiến hành lắng nghe trên đường truyền và bắt giữ lại những gói tin mà không có sự tác động đáng kể nào vào hệ thống, thường thì phương pháp này hay ứng dụng trong môi trường mạng kết nối qua thiết bị hub. Vào khoảng đầu năm 2011 khi tôi còn công tác tại công ty Cyrus một nhân viên đã cố tình chặn bắt các thông điệp thư điện tử của phòng quản trị thông qua cơ chế Passive Sniff nhưng đã bị phát hiện.
Trong khi đó, active sniff hay nghe lén chủ động tiến hành gởi các tìn hiệu giả mạo ARP (Address Resolution Protocol) hay sử dụng các công cụ làm cho hệ thống mạng hoạt động trên nền Switch (các bộ chuyển mạch) bị ngập tràn các gói tin, thông qua đó hacker sẽ đánh cắp những dữ liệu quan trọng của người dùng trong quá trình truyền. Với phương pháp này hacker sẽ nhanh chóng đạt được mục tiêu của mình nhưng bù lại chúng ta có thể dò tìm và phát hiện ra những ai đang tiến hành tấn công.
Vậy tại sao các dạng nghe lén trên có thể thành công ? Đó là do trong môi trường mạng kết nối thông qua thiết bị hub thì các gói tin được gởi đi dưới dạng broadcast, nghĩa là tất cả các máy tính đều nhận được dữ liệu cho dù địa chỉ nhận có trùng lắp với địa chỉ MAC hay không, do đó hacker chỉ cần đặt hệ thống vào chế độ promocouse là có thể nghe lén được các thông tin một cách dễ dàng với những công cụ như dsniff. Còn đối với hệ thống mạng sử dụng Switch thì khác, ở tình huống này các máy tính truyền thông với nhau theo cơ chế trực tiếp chứ không truyền theo dạng broadcast như tình huống trên, do đó chi có máy tính nào có địa chỉ MAC trùng khợp với địa chỉ đích của gói tin mới nhận được các dữ liệu truyền, làm cho hệ thống ít bị nghẽn mạng mà còn phòng tránh được dạng tấn công theo hình thức Passive Sniff.
Thế nào là ARP Poisoning ?
Mặc dù hệ thống dùng switch có thể bảo vệ bạn trước dạng tấn công passive sniff nhưng về bản chất, giao thức phân giả địa chỉ MAC là ARP rất dễ bị tổn thưong khi hacker sử dụng phương pháp “đầu độc ARP” mà theo thuật ngữ của CEH là ARP Poisoning. Vậy ARP Poisoning là gì mà nguy hiểm đến vậy. Để có thể hiệu rõ các bạn nên cài thử ứng dụng Wiresharke trên máy tính của mình sau đó giám sát một quá trình Ping đơn giãn chỉ để gởi các thông điệp ICMP ECHO Request đến một máy tính khác trên mạng chúng ta sẽ thấy kết quả trả về nếu máy đó dang hoạt động, và khi theo dõi qua các chương trình giám sát chúng ta sẽ thấy máy truyền sẽ dùng giao thức ARP tung các tìn hiệu theo dạng broadcast để hỏi xem địa chỉ MAC của máy nhận là máy nào ? Khi hệ thống mạng hoạt động bình thường chúng ta sẽ nhận được câu trả lời từ chính chủ nhân của địa chỉ MAC gởi về, nhưng nếu có một hacker đang chạy tiến trình đầu độc ARP thì các bạn sẽ nhận được kết quả giả mạo với địa chỉ MAC của máy tính hacker thông qua những công cụ đầu độc ARP hàng đầu như Cain, Ettercap. Kết quả là thay vì máy tính chúng ta đang mở chương trình duyệt mail như ThunderBird cần kết nối đến default gateway để truyền thông tin đăng nhập đến mail server thì các dữ liệu riêng tư này lại gởi đến cho hacker, sau khi bắt giữ tài khoản và password của người dùng thì máy giả mạo vẫn truyền các dữ liệu trên đến máy chủ email thật sự nhằm bảo dảm phiên truyền vẫn diễn ra thành công và nạn nhân không hề hay biết mình đã bị tấn công. Đây là một ví dụ điển hình của dạng tấn công Man In The Middle hay hiểu theo nghĩa đen là “người đàn ông đứng giữa”.
Để ngăn ngừa bị đầu độc ARP các bạn cần gán tĩnh thông tin địa chỉ MAC của các máy tính cần truyền thay vì cập nhật động một cách mặc định. Trên hệ thống Windows các bạn sử dụng lệnh arp –s để cập nhật tĩnh thông tin địa chỉ MAC cho từng máy tính như hình minh họa sau đây.
Tuy nhiên, trên các hệ thống mạng lớn phương pháp này gặp nhiều trở ngại, do đó trên các hệ thống mạng sử dụng switch các bạn nên cấu hình cơ chế port-base security để cho phép một địa chỉ MAC hoạt động trên mỗi port.