Nghe lén(nghe lén) được hiểu đơn giản như là việc cố gắng nghe ngóng các gói tin được truyền trên mạng, có thể là hợp pháp cũng có thể bất hợp pháp. Về mặt tích cực, nghe lén giúp người quản trị theo dõi hệ thống mạng của mình, giúp ích rất nhiều trong việc quản trị và tìm ra sự cố. Về tiêu cực, các hacker có thể sử dụng nghe lén để cố ích tìm ra các thông tin nhạy cảm. Các gói tin được truyền trên mạng đều mang thông tin dưới dạng nhị phân, chính vì vậy các chương trình nghe lén đều có chức năng giải mã nhị phân và hiện thị thông tin dưới ngôn ngữ có thể hiểu được. Việc nghe lén chủ yếu xảy ra trong cùng một mạng LAN, các hacker phải chiếm được một máy trong cùng một subnet với client. Việc này đỏi hỏi phải tiếp cấn vật lý như ngồi cùng quán cà phê, trong cùng phòng làm việc, sử dụng chung mạng công cộng… Tuy nhiên việc này cũng có thể thực hiện từ xa bằng cách cài các chương trình trên một máy client và gửi thông tin nghe lén về cho hacker.
Trang 1SNIFFING NGHE LÉN TRÊN KHÔNG GIAN MẠNG
Môn học Bảo mật Internet
Giảng viên: Tô Nguyễn Nhật Quang
Sinh viên: 14520214 – Huỳnh Tấn Duy
Sinh viên: 14520541 – Đỗ Bá Tứ Mỹ
Sinh viên: 14520812 – Bùi Minh Thái
Sinh viên: 14520817 – Dương Hồng Thái
Sinh viên: 14520842 – Nguyễn Hoàng Thanh
Trang 2Mục Lục
1 Giới thiệu về nghe lén: 2
1.1 Nghe lén(nghe lén) là gì? 2
1.2 Mối đe dọa từ nghe lén? 2
1.3 Cơ chế hoạt động của nghe lén? 3
1.4 Mục đích của nghe lén? 4
1.5 Phân loại nghe lén 5
2 Các kiểu nghe lén phổ biến: 6
2.1 Tấn công vào bảng CAM 6
2.2 Tấn công vào DHCP 7
2.3 Tấn công đầu độc ARP 9
2.4 Tấn công giả mạo MAC 10
2.5 Nghe lén hợp pháp 10
3 Cách phát hiện và phòng chống nghe lén: 11
3.1 Cách phát hiện nghe lén 11
3.2 Cách phòng chống nghe lén 11
Trang 31 Giới thiệu về nghe lén:
1.1 Nghe lén(nghe lén) là gì?
- Nghe lén(nghe lén) được hiểu đơn giản như là việc cố gắng nghe ngóng các gói tin được truyền trên mạng, có thể là hợp pháp cũng có thể bất hợp pháp
- Về mặt tích cực, nghe lén giúp người quản trị theo dõi hệ thống mạng của mình, giúp ích rất nhiều trong việc quản trị và tìm ra sự cố Về tiêu cực, các hacker có thể sử dụng nghe lén để cố ích tìm ra các thông tin nhạy cảm
- Các gói tin được truyền trên mạng đều mang thông tin dưới dạng nhị phân, chính vì vậy các chương trình nghe lén đều có chức năng giải mã nhị phân
và hiện thị thông tin dưới ngôn ngữ có thể hiểu được
- Việc nghe lén chủ yếu xảy ra trong cùng một mạng LAN, các hacker phải chiếm được một máy trong cùng một subnet với client Việc này đỏi hỏi phải tiếp cấn vật lý như ngồi cùng quán cà phê, trong cùng phòng làm việc,
sử dụng chung mạng công cộng… Tuy nhiên việc này cũng có thể thực hiện từ xa bằng cách cài các chương trình trên một máy client và gửi thông tin nghe lén về cho hacker
1.2 Mối đe dọa từ nghe lén?
- Hiện nay đa số người dùng internet không ý thức được các nguy cơ khi dùng chung các mạng công cộng như wifi quán phê… nên việc thực hiện tấn công rất dễ dàng Tình hình thực tế đại đa số các điểm truy cập internet công cộng này không quan tâm đến việc này và quản lý rất lỏng lẽo dễ bị
kẻ xấu lợi dụng
- Một số trang web không sử dụng https để mã hóa dữ liệu cá nhân của khách hàng cũng góp phần làm tăng nguy cơ
- Việc nghe lén lại ngày càng trở lên cực kì dễ dàng, nhiều công cụ phục vụ cho việc này như ettercap, ethereal, TCPdum, wireshaft,…
1.3 Cơ chế hoạt động của nghe lén?
Trang 4- Promiscuous mode là một chế độ đặc biệt, ở chế độ này card mạng sẽ nhận tất cả các gói mà không cần quan tâm đến địa chỉ destination MAC address Chế độ thường card mạng sẽ chỉ nhận các gói tin có MAC address gửi đến cho mình
- Các máy nghe lén chính vì vậy đều để card mạng ở chế độ promiscuous này
- Ở môi trường Hub, khi một gói tin được gửi đi, hub sẽ copy nó và gửi ra tất
cả các port, chỉ cần là 1 client chung trong hub đó thì có thể dễ dạng nghe lén mà không phải làm gì cả
- Ở môi trường switch, switch hoạt động dựa vào bảng CAM Nó chỉ chuyển gói tin đến địa chỉnh MAC chính xác nên muốn nghe lén phải thực hiện các cuộc tấn công khác
Trang 5Figure 1 Các giao thức có thể lợi dụng để nghe lén
1.4 Mục đích của nghe lén?
- Nghe lén có thể sử dụng cho cả mục đích tôt lẫn xấu
- Hacker sử dụng nghe lén để có gắng đánh cắp các thông tin usernam, password của khách hàng hoặc thậm chí để theo dõi thói quen, thu thập thông tin của nạn nhân
- Các nhà quản trị lại sử dụng nghe lén để theo dõi lưu lượng thông tin trên đường truyền Việc này giúp ích lớn trong việc sử lý khắc phục sự cố Nghe lớn cũng là một công cụ quan trọng trong việc điều tra số
- Một số công cụ nghe lén còn có thể có chức năng cảnh báo, tự động phát hiện các cuộc tấn công
- Nghe lén có thể được phân làm 2 loại chính là nghe lén chủ động và nghe lén thụ động
Trang 6Figure 2 Các loại nghe lén
- Nghe lén thụ động tức là các hacker thụ động nằm trong mạng LAN và chỉ nghe lén các gói tin đến mình mà không thực hiện bất kì hành vi tấn công nào Thường được thực hiện trên môi trường HUB hay wireless, kiểu tấn công này âm thầm và rất khó phát hiện
- Một số nhà quản trị thực hiện việc thu thập thông tin thông qua các tính năng như port moniter, netFlow… cũng được tính là nghe lén thụ động với
ý nghĩa tích cực
- Nghe lén chủ động: Trong môi trường switch, các gói tin chỉ được gửi ra duy nhất một port theo bảng CAM Chính vị vậy các hacker nếu muốn nghe lén được phải thực hiện tấn công vào hệ thống mạng Kiểu tấn công này dễ phát hiện và thường gây ra các vẫn đề nghiêm trọng như nghẽn băng thông, quá tải RAM, CPU…
2 Các kiểu nghe lén phổ biến:
2.1 Tấn công vào bảng CAM
- Switch sử dụng bảng CAM để forward gói tin đến đúng port mà không cần broadcast Bảng cam này chứa thông tin liên hệ giữa port và địa chỉ MAC
Trang 7- Bảng CAM có giới hạn kích thước, khi bảng này đầy switch sẽ hoạt động như một HUB và hacker lợi dụng điều này để tấn công làm tràn bảng CAM
- Hacker thực hiện việc này đơn giản bẳng các gửi các gói tin với các source MAC address khác nhau, switch sẽ ghi nhận các MAC này vào bảng CAM dẫn đến bảng này bị đầy
- Quản trị viên có thể phát hiện bẳng cách theo dõi bảng CAM và clear bảng này khi cần thiết
Figure 3 Mô tả hoạt động của bảng CAM
2.2 Tấn công vào DHCP
- Cơ chế hoạt động của DHCP đơn giản Đầu tiên client sẽ gửi gói tin DHCP discover để tìm DHCP server, DHCP server sẽ gửi gói tin offer chứa thông tin ip cấp cho client, sau đó client sẽ gửi gói DHCP request để xác nhận chấp nhận địa chỉ DHCP này và DHCP server gửi lại gói tin ACK
Trang 8- DHCP hoạt động không hề có một cơ chế xác thực nào giữa client và server Hacker có thể dễ dàng giả mạo một DHCP server mà client không thể phát hiện được mình đang truy cập một DHCP server có an toàn hay không
- Việc hacker tạo ra một DHCP giả mạo có thể dẫn đến nhiều mối nguy cơ cực kì nguy hiểm Hacker có thể dễ dàng thay đổi các thông tin quan trọng như địa chỉ Gateway, ip, DNS… kéo theo dễ dàng thực hiện các cuộc tấn công khác trong đó có nghe lén
Figure 4 Minh họa DHCP giả mạo
- Sau khi tấn công DHCP server hacker có thể thực hiện nhiều kiểu tấn công tiếp theo, trong đó hacker có thể thay đổi Gateway để thực hiện nghe lén
- Lúc này hacker thay đổi gateway là ip của chính mình, tất cả các gói tin ra internet đều sẽ qua máy hacker dễ dàng phục vụ cho việc nghe lén Hơn
Trang 9nữa hacker có thể sử dụng proxy để nghe lén được cả các gói tin được mã hóa https
- Còn nhiều kiểu tấn công theo sau tấn công DHCP khác nhưng không liên quan đến nghe lén nên không được trình bày ở đây
- ARP là giao thức ánh xạ địa chỉ IP đến địa chỉ vật lý Một gói tin được gửi
đi phải biết cả thông tin MAC đến và IP đến Khi một client phát hiện thông tin MAC không có trong bảng ARP của mình thì nó sẽ gửi broadcast ARP
để tìm Máy có MAC hợp lệ sẽ trả lời gói tin này
- Hacker sẽ thực thi việc đầu độc bảng ARP của nạn nhân bằng cách sẽ trả lời trước gói tin ARP request Lúc này nạn nhân sẽ có 1 bảng ARP sai lệch với
IP chính xác nhưng MAC address lại là của máy nạn nhân Switch hoạt động theo MAC address nên gói tin sẽ được gửi cho hacker
- Việc tấn công ARP này cũng có thể làm ngập lụt bảng CAM của switch
Figure 5 Cách thức tấn công đầu độc ARP
Trang 10- Tấn công đầu độc ARP có thể làm chuyển hướng lưu lượng mạng sang máy của hacker, thông qua đó hacker có thể dễ dàng nghe lén được thông tin cần thiết
2.4 Tấn công giả mạo MAC
- Cách tấn công này thực hiện bằng cách nghe lén với địa chỉ MAC của nạn nhân
- Bằng cách này hacker có thể nhận các gói tin được gửi tới nạn nhân và thực hiện việc nghe lén
Figure 6 Tấn công giả mạo địa chỉ MAC
- Nghe lén cũng có thể thực hiện dưới mục đích tích cực, giúp quản trị viên kiểm soát hệ thông mình tốt hơn
- Một số tính năng như port moniter, span port, netFlow giúp thu thập thông tin lưu lượng mạng về các máy chủ lưu trữ quy đó giúp quản trị điều tra khắc phục sự cố
- Việc thường xuyên kiểm tra các thông tin này còn giúp cho quản trị viên phát hiện sớm các bất thường và có biện pháp đối phó
3 Cách phát hiện và phòng chống nghe lén:
3.1 Cách phát hiện nghe lén.
Trang 11- Bản thân việc phát hiện nghe lén là rất khó, những cũng có một vài phương pháp khả thi
- Sử dụng ping, ví dụ nghi ngờ ip hacker là x.x.x.x, có thể thử gửi một gói icmp request đến ip trên nhưng với một MAC không tồn tại Nếu bình thường sẽ không có gói icmp trả về nhưng vì máy nghe lén phải để card mạng ở chế độ promiscuous nên hacker sẽ nhận gói tin này và trả về gói icmp
- Theo dõi log thông tin lưu lượng mạng, đa số trước khi có thể nghe lén hacker phải thực hiện các cuộc tấn công khác nhau như đầu đọc ARP, làm tràn bảng CAM,… việc theo dõi log này có thể giúp phát hiện các điểm bất thường trong hệ thống
- Mốt số thiết bị IDS/IPS có thể giúp phát hiện các kiểu tấn công này một cách chủ động
3.2 Cách phòng chống nghe lén
- Có nhiều cách giúp phòng chống nghe lén khác nhau
- Cách hữu hiệu nhất là sử dụng các cơ chế mã hóa như https, ssl, ssh… Việc này bao gồm thay thế các giao thức cũ không có mã hóa bằng các giao thức mới SSH thay thế có telnet, pop3 thay thế cho pop…
- Thêm cố định địa chỉ MAC của gateway vào trong bảng ARP, bảng CAM Địa chỉ gateway là điểm dễ bị nhắm vào trong các cuộc tấn công liên quan đến nghe lén
- Dùng IP vào MAC tĩnh Sử dụng các tính năng như port security để chống các loại tấn công liên quan đến MAC address
- Sử dụng Ipv6 cũng góp phần vào việc chống tấn công nghe lén