Ngày nay, cùng với sựphát triển công nghệ thông tin, các dữ liệu được số hóa và lưu trữ trên các thiết bịthông tin, truyền đi trong môi trường mạng và hiển nhiên sẽ có nhiều vấn đề không
Trang 1TẤN CÔNG NGHE LÉN VÀ CÁCH
PHÒNG CHỐNG
Thành phố Hồ Chí Minh, tháng 11/2014
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KINH TẾ - LUẬT
BÁO CÁO MÔN HỌC
AN TOÀN BẢO MẬT HỆ THỐNG THÔNG TIN
Nhóm thực hiện:
Lưu Thị Ngọc Trang K094061199Nguyễn Ngọc Gia Bảo K094061103Trần Trọng Phương K094061175
Giảng viên hướng dẫn:
Ths Trương Hoài Phan
Trang 2MỤC LỤC
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 3
CHƯƠNG 2: GIỚI THIỆU TỔNG QUAN VỀ TẤN CÔNG NGHE LÉN 5
2.1 Tổng quan về nghe lén (sniffing) 5
2.1.1 Định nghĩa nghe lén (sniffing) 5
2.1.2 Mục tiêu của việc nghe lén 5
2.1.3 Các giao thức có thể nghe lén 5
2.1.4 Các dạng nghe lén 5
2.2 Tìm hiểu về các dạng nghe lén 6
2.2.1 Passive Sniffing 6
2.2.2 Active Sniffing 7
2.3 Một số cách dùng để nghe lén dữ liệu dạng Active Sniffing 9
2.3.1 Khái niệm APR 9
2.3.2 Tấn công bằng cách giả dạng 9
2.3.3 Mac Flooding 15
2.4 Demo 15
2.4.1 Sử dụng Wirehark để nghe lén trong mạng LAN, Wifi 15
2.5 Sử dụng Cain & Abel để nghe lén trong mạng Lan và Wiffi 25
CHƯƠNG 3: PHÒNG CHỐNG VÀ CÁCH PHÁT HIỆN KHI BỊ NGHE LÉN 26
3.1 Cách phát hiện 26
3.1.1 Phương pháp dùng Ping 26
3.1.2 Phương pháp sử dụng APR 27
3.1.3 Phương pháp sử dụng DNS 28
3.1.4 Phương pháp Source-Route 28
3.1.5 Phương pháp giăng bẫy (Decoy) 29
3.1.6 Phương pháp kiểm tra sự chậm trễ của gói tin (Latency) 29
Trang 33.2 Cách phòng chống 30
3.2.1 Phương pháp vật lý 30
3.2.2 Phương pháp mã hóa dữ liệu chống nghe lén 30
3.2.3 Lời khuyên để khách bị nghe lén 51
TÀI LIỆU THAM KHẢO 53
Trang 4CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI
1 Lý do lựa chọn đề tài
Ngay từ trước công nguyên con người đã quan tâm đến việc làm thể nào để đảmbảo an toàn được các tài liệu, văn bản, giấy tờ của bản thân Ngày nay, cùng với sựphát triển công nghệ thông tin, các dữ liệu được số hóa và lưu trữ trên các thiết bịthông tin, truyền đi trong môi trường mạng và hiển nhiên sẽ có nhiều vấn đề không antoàn trong quá trình truyền tải dữ liệu Theo thống kê, trong năm 2011 tổng thiệt haitrong thanh toán điện tử trên toàn thế giới là 4,2 tỷ USD, và tại Việt Nam là 3,1 tỷUSD, những con số này cho ta thấy được những lỗ hổng trong bảo mật đã gây ra nhữngthiệt hại rất lớn Do đó việc yêu cầu để có một cơ chế, giải pháp để có thể bảo mật, antoàn các thông tin nhạy cảm, cá nhân là việc rất quan trọng
Từ nhu cầu cấp thiết trên, nhóm quyết định chọn đề tài : “Tấn công nghe lén vàcách phòng chống” để cung cấp cái nhìn tổng quan về một khía cạnh nhỏ trong việcbảo mật thông tin Từ đó, chúng ta sẽ có biện pháp khắc phục để thông tin truyền điđược đảm bảo
2 Mục tiêu đề tài
Hiện nay, nhìn chung có rất nhiều các phương pháp để bảo mật thông tin, giúpxác thực được người gởi, toàn vẹn giữ liệu Tuy nhiên, đây là những phương phápchung nhất cho nhiều dạng tấn công dữ liệu trên mạng, trong phạm vi đề tài nhóm sẽ
đưa ra một dạng tấn công thường gặp là nghe lén và cung cấp, làm rõ những giải pháp
tốt nhất, phổ biến nhất đề phòng chống cách tấn công này
Từ những nhận định như thế, nhóm thực hiện đề tài nhằm mục tiêu:
Đưa ra nguyên lý, cơ chế tấn công
Trang 5Chương 1: Tổng quan đề tài.
Chương 2: Giới thiệu tổng quan về tấn công nghe lén
Tại chương này, nhóm cung cấp cái nhìn tổng quan về vấn đề nghe lén, nguyên lý
và cơ chế tấn công Đồng thời, phân loại các dạng nghe lén để người đọc sẽ dễ hiểu và nhận dạng nhanh chóng khi bị tấn công nghe lén.
Chương 3: Phòng chống và cách phát hiện khi bị nghe lén
Chương này, nhóm chia thành hai phần chính, phần 1: cách thức phát hiện khi bị nghe lén, và phần 2: các phương pháp phòng chống nhằm tránh đi tối thiểu sự thiệt hại
về thông tin, kinh phí khi bị tấn công nghe lén.
Trang 6CHƯƠNG 2: GIỚI THIỆU TỔNG QUAN VỀ TẤN CÔNG
NGHE LÉN2.1 Tổng quan về nghe lén (sniffing)
2.1.1 Định nghĩa nghe lén (sniffing)
Sniffer được hiểu đơn giản như là một chương trình cố gắng nghe ngóng các lưulượng thông tin trên hoặc trong một hệ thống mạng trong môi trường máy tính.Tuy nhiên, những dữ liệu truyền trong mạng máy tính thuộc dạng nhị phân, để có thểhiểu dược các dữ liệu này thì cần phải phân tích giao thức truyền tin (ProtocolAnalysis) và giải mã (Decode), thường thì các phần mềm nghe lén hiện nay điều có khảnăng làm được hai việc này
2.1.2 Mục tiêu của việc nghe lén
Lấy password (của email, trên web, SMB, ftp, sql, or telnet)
Lấy nội dung của Email
Các file được truyền trong mạng (được đính kèm trong mail, SMB, các file trênftp)
2.1.3 Các giao thức có thể nghe lén
Telnet hoặc Rlogin: Lấy user name và password
HTTP: lấy dữ liệu truyền và nhận
SMTP, NNTP, POP, FTP, IMAP: lấy password và dữ liệu truyền đi trong mạng
2.1.4 Các dạng nghe lén
Trang 8Khi chương trình sniffer hoạt động trong một collision domain - Collision domain
là một phân đoạn mạng kết nối thông qua hub - các máy trên phân đoạn đó đều có thểthấy tất cả các lưu lượng trên mạng Nếu attacker chạy chương trình sniffer trên một hệthống trong mạng LAN, các chương trình sniff sẽ điều chỉnh card mạng để capture tất
cả các gói tin mà nó nhận được
Rất khó để phát hiện ra dạng nghe lén này Bởi vì khi kết nối thông qua hub thìgói tin sẽ được boardcast tới tất cả các máy trong mạng, nếu đúng là gói tin dành chomình thì máy đó sẽ giữ lại, còn các máy khác sẽ hủy ngay gói tin đó Người sử dụngchương trình nghe lén sẽ cố gắng bắt tất cả gói tin mà nó nhận được, họ không cần phảitấn công hay làm bất cứ việc gì, chỉ cần nối nối vào mạng, mở chương trình nghe lén
và đợi cho đến khi các gói tin boardcast tới mình
Thực hiện thông qua hub
Dễ thực hiện
Khó bị phát hiện
Phương thức nghe lén dạng passive có 2 loại:
Thông qua đường truyền vật lý: kết nối trực tiếp vào mạng mình cần nghe lén vàthực hiện chạy chương trình sniffer
Thông qua Trojan Horse: một số loại Trojan horse cho phép chúng ta sniifeer dữliệu
2.2.2 Active Sniffing
Trang 9Hình 2.3: Mô hình Active SniffingMột biện pháp chống lại passive sniffing là thay thế hub bởi switch Không nhưmạng dựa trên hub, switched ethernet không broadcast tất cả thông tin tới các hệ thốngtrong mạng LAN Switch điều chỉnh luồng dữ liệu giữa các port của nó bằng cách chủđộng giám sát địa chỉ MAC của mỗi port, giúp nó chuyển tiếp dữ liếp tới đích mongmuốn Do đó, switch giới hạn dữ liệu dữ liệu mà passive sniffer có thể thu thập Nếu cómột chương trình passive sniffer kích hoạt trên một switched LAN, sniffer sẽ chỉ thấyđược dữ liệu vào ra của một máy – máy mà nó được cài đặt vào Tuy nhiên, việc sửdụng switch chủ yếu nhằm có thể sử dụng băng thông một cách hiệu quả hơn là để bảomật, do đó vẫn có cách phá vỡ và sniff dữ liệu, cách này đòi hỏi người tấn công phảithực hiện xâm nhập hay giả mạo nếu muốn sniffer nên được gọi là active (chủ động)
Thực hiện thông qua switch
Trang 10 Dễ bị phát hiện
Khó thực hiện được việc nghe lén vì phải tiến hành xâm nhập hay giả mạotrước
2.3 Một số cách dùng để nghe lén dữ liệu dạng Active Sniffing
2.3.1 Khái niệm APR
Hệ APR là 1 trong những giao thức của IP, đùng để định vị 1 host trong mạng.gói tin APR sẽ được gửi đến tất cả các máy tính trong mạng kèm theo IP của máy đích,nếu máy đích nhận được gói tin sẽ tiến hàng trả lời, các máy khác không có IP của máyđích sẽ tự động hủy bỏ gói tin mà không trả lời
Các bước thực hiện APR:
Máy tính A sẽ gửi 1 APR request hỏi toàn mạng: “ai có địa chỉ IP này?”
Máy tính B sẽ gửi một APR Reply trả lời máy tính A: “tôi có IP đó, địa chỉMAC của tôi là…”
Máy tính A sẽ gửi một Reverse APR Request hỏi toàn mạng: “ai có địa chỉMAC này?”
Máy tính B sẽ gửi một Reverse APR Reply trả lời máy tính A: “tôi có MAC đó,địa chỉ IP của tôi là…”
Trang 11Hình 2.4: Mô hình tổng quan của APR Spoofing (theo sách CEH V6 của EC-Council)
2.3.2.2 Chức năng chuyển mạch của Switch
Việc đưa switch vào mạng LAN có nhiều mục đích nhưng mục đích quan trongnhất là để chia một mạng LAN ra thành nhiều vùng khác nhau nhằm giảm thiểu việcxung đột gói tin khi có quá nhiều thiết bị được nối vào cùng một môi trường truyềndẫn Các vùng được phân chia này được gọi là các collision domain Để có thể vậnchuyển chính xác được gói tin đến đích, switch cần phải có một sơ đồ ánh xạ giữa địachỉ MAC của các thiết bị vật lí gắn tương ứng với cổng nào của nó.Sơ đồ này được lưulại trong switch gọi là switch-route-table hay còn được gọi là bảng CAM (ContentAddress Memory) Bảng CAM được xây dựng khi switch khởi động, bằng cách kiểmtra địa chỉ MAC nguồn từ những frame đầu tiên được chuyển tiếp trên mỗi port
Quá trình vận chuyển gói tin qua switch có thể được mô tả như sau:
Trang 12 Nếu địa chỉ MAC nguồn của gói tin chưa có trong bảng CAM; switch sẽ cậpnhật với cổng tương ứng Nếu địa chỉ MAC nguồn đã tồn tại trong bảng nhưngvới một cổng khác, switch sẽ báo lỗi “MAC flapping” và huỷ gói tin.
Nếu địa chỉ đích của gói tin là địa chỉ multicast hoặc địa chỉ broadcast hoặc làđịa chỉ unicast nhưng ánh xạ của địa chỉ này không tồn tại trong bảng CAMtrước đó thì gói tin sẽ được gửi ra tất cả các cổng của switch trừ cổng mà nónhận được gói tin
Nếu địa chỉ đích của gói tin là địa chỉ unicast và ánh xạ của địa chỉ tồn tại trongbảng CAM đồng thời cổng mà nó nhận được gói tin khác với cổng mà gói tincần được chuyển đi thì nó sẽ gửi gói tin đến chính xác cổng có trong bảngCAM
Các trường hợp còn lại, gói tin sẽ bị huỷ
Trang 13Trong ví dụ trên, khi host A gửi bản tin đến host B Do switch chưa có địa chỉMAC của B trong bảng CAM của mình nên switch sẽ gửi broadcast ra mọi cổng cònlại đồng thời sẽ lưu lại địa chỉ MAC của A vào bảng CAM Sau khi host B nhận đượcbản tin từ A; B gửi lại tin cho A Khi đó, switch đã có địa chỉ của A nên sẽ gửi unicasttới port 1 đồng thời cập nhật địa chỉ MAC của B vào bảng CAM
2.3.2.3 Tấn công Man – In – The – Middle
Đặc điểm của switch là chỉ hiểu được MAC address và chuyển tiếp các frame đếnmáy đích dựa trên MAC address này Bình thường, switch sẽ chỉ chuyển tiếp lưu lượnggiữa hai host dựa vào bảng định tuyến mà nó đã xây dựng Do đó, chúng ta không thểthấy được lưu lượng truyền giữa hai host trên switch network Attacker chỉ có thể bắtđược lưu lượng unicast vào/ra trên chính máy của mình hoặc các lưu lượngbroadcast/multicast Tuy nhiên, để có thể truyền thông với nhau, các máy cần biết địachỉ MAC của nhau Điều này được thực hiện nhờ giao thức APR Do các APR requestpacket được gửi broadcast, switch sẽ gửi nó ra tất cả các port “Lắng nghe” các packetnày, sniffer có thể nhanh chóng biết được các ánh xạ IP – MAC hiện tại của mỗi hosttrên mạng LAN Để giảm số APR request, mỗi hệ thống thực thi giao thức APR sửdụng một vùng nhớ để lưu một số các ánh xạ IP – MAC gần nhất gọi là APR cache.Bằng cách sửa đổi APR cache của các host, attacker có thể thay đổi hướng lưu lượnggiữa các host đó
Làm thế nào để có thể sửa đổi APR cache?
Điểm yếu của giao thức APR là không yêu cầu xác thực, do đó, mỗi host khinhận được bất kỳ APR reply nào cũng sẽ cập nhật lại APR cache của nó mặc dù nókhông gửi đi APR request Dựa vào điểm này, các chương trình sniffer gửi các APRgiả đến các máy “nạn nhân”, nhằm sửa đổi APR cache của “nạn nhân”
Trang 14Giả sử, để sniff dữ liệu truyền giữa hai host T1 và T2, chương trình sniffer gửiAPR reply đến host T1 thông báo IP-T2 có MAC address là MAC-Attacker, đồng thờicũng gửi APR reply thông báo đến host T2 tìm thấy IP-T1 tại MAC address là MAC-Attacker Sau khi sửa đổi APR cache, attacker chỉ việc chờ dữ liệu truyền giữa 2 hostđược switch chuyển tới máy của mình Do switch dựa vào địa chỉ MAC được cung cấptrong phần tiêu đề của frame để chuyển tiếp, nó không hề biết rằng địa chỉ MAC này
đã bị “sửa đổi”, truyền thông giữa T1 và T2 bây giờ sẽ được chuyển đến máy củaattacker Sniffer sau đó phải định tuyến lại cho packet đến đích thực sự, nếu không,các host sẽ không thể truyền thông với nhau được nữa
Trang 15 Trong đó, 00:00:00:00:00:03 là MAC address của máy attacker:
Có thể mô tả lại bằng mô hình sau:
Trang 16Nếu không có sự truyền thông, sau khoảng thời gian timeout, mục IP-MAC tươngứng trong APR cache sẽ bị xoá Vì lý do này, sniffer phải “đầu độc” các host saunhững khoảng thời gian đều đặn.
2.3.3 Mac Flooding
Là việc làm tràn bộ nhớ của switch dùng để mapping địa chỉ MAC với port trênswitch bằng cách gửi nhiều yêu cầu đến switch Khi đó switch sẽ làm việc như mộtHub là sẽ gửi broadcast đến tất cả các máy tính trong mạng, từ đây người sniffer sẽ dễdàng nghe lén bằng các phương pháp passive sniffer
2.4 Demo
2.4.1 Sử dụng Wirehark để nghe lén trong mạng LAN, Wifi
Giới thiệu về wireshark:
Là một công cụ dùng để phân tích các giao thức trên mạng dùng trên unix vàwindows
Cho phép người dùng bắt các gói tin truyền đi trên/trong mạng người đó nghelén
Phân tích và giải mã gói tin bắt được, cho phép xem thông tin chi tiết của góitin này
Demo bằng wireshark:
Chạy chương trình wireshark, chọn card mạng muốn nghe lén Chương trình sẽ tựđộng bắt cấc gói tin truyền đi trong mạng
Trang 172.4.1.1 Lấy cookie bằng wireshark:
Khi một người dùng trong mạng đăng nhập vào bắt kì trang nào (gõ tên đăngnhập hoặc có duy trì trạng thái đăng nhập trước đó) thì gói tin cookie sẽ được tạo ra vàtruyền đi trên mạng và đều bị wirehark bị bắt lại
Xác định giao thức truyền gói tin: ở đây là HTTP
Trang 18 Tiến hành lọc dữ liệu từ trang đích, ví dụ muốn xem các gói tin truyền và nhận
từ yahoo.com, t nhấn Ctrl+F là nhập vào: yahoo.com
Trang 19 Tìm đến gói tin chứa Cookie
Trang 20 Click chuột phải lên đó và chọn Follow TCP Stream
Trang 21 Mở trình duyệt Firefox, vào tool => cookie manager (add on của firefox), tìmtới tên là yahoo.com và xóa tất cả cookie đang tồn tại
Trang 22 Xác định tham số của Cookie (ở đây là trang yahoo), 2 tham số chính là Y và T,tiến hành add cookie vào.
Màn hình báo thành công
Trang 232.4.1.2 Lấy nội dung mail gửi đi bằng wirehark
Từ màn hình wireshark, xác định có địa chỉ email nào đang gửi mail hay không,
ở đây xác định là yahoo nên tên của email sẽ là loginalias
Trang 24Xác định được là có 1 alias tên là “mua_phusa96” đã gửi mail ra ngoài.
Lọc các frame có chứa cụm từ “mua_phusa96”
Trang 25Kéo xuống dưới cùng ta có thể thấy nội dung email
2.4.1.3 Lấy username và password không dược mã hóa
Thường thì khi đăng nhập trên một trang web, thì thông tin đăng nhập thườnggửi theo phương thức POST Ta lọc các gói tin http có phương thức là POST
Trang 26Kéo thanh trượt xuống dưới cùng ta có thể thấy được ở trang nào, username vàpass.
2.5 Sử dụng Cain & Abel để nghe lén trong mạng Lan và Wiffi
2.5.1 Mô hình mạng:
Modem ADSL: 192.168.0.1 (IP Broadcast)
Máy A (máy bị nghe lén): 192.168.0.102
Trang 27Máy B (máy thực hiện nghe lén): 192.168.0.107
Trang 282.5.2 Thực hiện nghe lén:
* Cấu hình Cain:
B1: Chọn card mạng để sniff
- Trước tiên chọn tab Configure trên menu
- Hộp thoại Configuration Dialog hiện ra, chọn card mạng muốn dùng để sniff (nhớ để ý IP của card mạng để chọn cho chính xác)
- Chọn OK
B2: Scan các máy tính có trong dải IP
- Chọn tab sniffer
- Chọn start/stop sniffer
Trang 30- Sau khi scan thì danh sách các IP quét được hiện ra.
- Từ các danh sách IP quét được, ta xác định các máy cần sniff
Trang 31B3: Thực hiện APR Poison Routing
- Chuyển wa tab APR
- Click vào vùng trống ở trên
- Chọn Add-to-list
- Hộp thoại “New APR Poison Routing” hiện ra
- Ở khung bên trái, chọn IP của máy nạn nhân (máy A)
Trang 32- Ở khung bên phải, chọn IP của các máy và host mà máy A sẽ gửi/nhận các gói tin
Trang 33- Chọn Start APR Lúc này Cain sẽ làm công việc gọi là APR Poison Routing (xem trong phần lý thuyết) Đồng thời, Cain cũng liên tục bắt các gói tin từ máy A đến các máy khác, cũng như đến host (ra internet)
* Sniff password chưa mã hóa khi máy A truy cập vào 1 trang web
- Máy A truy cập vào forum:
http://mis.uel.edu.vn
Máy A thực hiện quá trình đăng nhập vs username và password