Tải bản đầy đủ (.docx) (67 trang)

Tiểu luận An toàn và bảo mật hệ thống thông tin TẤN CÔNG NGHE LÉN VÀ CÁCH PHÒNG CHỐNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.18 MB, 67 trang )

Giảng viên hướng dẫn:
Ths. Trương Hoài Phan
Nhóm thực hiện:
Lưu Thị Ngọc Trang K094061199
Nguyễn Ngọc Gia Bảo K094061103
Trần Trọng Phương K094061175
Nguyễn Đức Nhã K094061172
Huỳnh Quang Phú K094061178
TẤN CÔNG NGHE LÉN VÀ CÁCH
PHÒNG CHỐNG
BÁO CÁO MÔN HỌC
AN TOÀN BẢO MẬT HỆ THỐNG THÔNG TIN
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KINH TẾ - LUẬT

Thành phố Hồ Chí Minh, tháng 11/2014
2
MỤC LỤC
3
CHƯƠ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 để đảm
bả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 an
toàn trong quá trình truyền tải dữ liệu. Theo thống kê, trong năm 2011 tổng thiệt hai
trong 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ững
thiệ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, an
toà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ệc
bả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úp
xá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áp
chung 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.
4
 Phân loại các dạng nghe lén và thực hiện thực tế một trường hợp tấn công nghe
lén trên mạng Internet.
 Cung cấp các giải pháp phòng chống và nêu lên cách thức phát hiện khi bị tấn
công nghe lén
3. Kết cấu đề tài
Chươ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.
5
CHƯƠNG 2: GIỚI THIỆU TỔNG QUAN VỀ TẤN CÔNG
NGHE LÉN
2.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ưu
lượ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 (Protocol
Analysis) 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ên
ftp)
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
6
Hình 2.1: Các dạng nghe lén
2.2. Tìm hiểu về các dạng nghe lén
2.2.1. Passive Sniffing
Hình 2.2: Mô hình Passive Sniffing
7
Khi 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 cho

mì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ụng
chươ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ải
tấ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
8
Hình 2.3: Mô hình Active Sniffing
Mộ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ống
trong 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 mong
muố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ảo
mậ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ải
thự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
• Dễ bị phát hiện
9
• 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ạo
trướ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à…”
2.3.2. Tấn công bằng cách giả dạng
Các dạng tấn công bằng cách giả dạng là: APR spoofing.
2.3.2.1. APR spoofing
Kỹ thuật APR Spoofing ( hay còn gọi là APR poisoning), cơ chế của APR
spoofing là gửi các APR reply giả “đánh lừa” các máy “nạn nhân” gửi dữ liệu đến máy
của kẻ tấn công.
10
Hì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 trong
nhấ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ệc
xung độ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ền
dẫn. Các vùng được phân chia này được gọi là các collision domain. Để có thể vận
chuyển chính xác được gói tin đến đích, switch cần phải có một sơ đồ ánh xạ giữa địa
11
chỉ 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ưu

lại trong switch gọi là switch-route-table hay còn được gọi là bảng CAM (Content
Address Memory). Bảng CAM được xây dựng khi switch khởi động, bằng cách kiểm
tra đị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:
• Nếu địa chỉ MAC nguồn của gói tin chưa có trong bảng CAM; switch sẽ cập
nhật với cổng tương ứng. Nếu địa chỉ MAC nguồn đã tồn tại trong bảng nhưng
vớ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 CAM
trướ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 trong
bảng CAM đồng thời cổng mà nó nhận được gói tin khác với cổng mà gói tin
cần được chuyển đi thì nó sẽ gửi gói tin đến chính xác cổng có trong bảng
CAM.
• Các trường hợp còn lại, gói tin sẽ bị huỷ.
12
Trong 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òn
lạ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 được
bả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 unicast
tớ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 đến
máy đích dựa trên MAC address này. Bình thường, switch sẽ chỉ chuyển tiếp lưu lượng
giữ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ượng
13
broadcast/multicast. Tuy nhiên, để có thể truyền thông với nhau, các máy cần biết địa

chỉ MAC của nhau. Điều này được thực hiện nhờ giao thức APR. Do các APR request
packet được gửi broadcast, switch sẽ gửi nó ra tất cả các port. “Lắng nghe” các packet
này, sniffer có thể nhanh chóng biết được các ánh xạ IP – MAC hiện tại của mỗi host
trê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ượng
giữ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 khi
nhậ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 APR
giả đến các máy “nạn nhân”, nhằm sửa đổi APR cache của “nạn nhân”.
Giả sử, để sniff dữ liệu truyền giữa hai host T1 và T2, chương trình sniffer gửi
APR reply đến host T1 thông báo IP-T2 có MAC address là MAC-Attacker, đồng thời
cũ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ấp
trong 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ủa
attacker. 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.
Xét ví dụ :
14
• Trước khi bị tấn công, 2 host T1 và T2 chỉ kết nối với nhau. APR cache của
mỗi host như sau:
• Sau khị bị tấn công, APR cache của mỗi host như sau:
• Trong đó, 00:00:00:00:00:03 là MAC address của máy attacker:
15
• Có thể mô tả lại bằng mô hình sau:
Nế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 sau
những khoảng thời gian đều đặn.
2.3.3. Mac Flooding
16
Là việc làm tràn bộ nhớ của switch dùng để mapping địa chỉ MAC với port trên
switch bằng cách gửi nhiều yêu cầu đến switch. Khi đó switch sẽ làm việc như một
Hub 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 đó nghe
lé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ói
tin 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.
17
2.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 đăng
nhậ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
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
19

• Tìm đến gói tin chứa Cookie
20
• Click chuột phải lên đó và chọn Follow TCP Stream
21
• Mở trình duyệt Firefox, vào tool => cookie manager (add on của firefox), tìm
tới tên là yahoo.com và xóa tất cả cookie đang tồn tại.
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.
23
24
• Màn hình báo thành công.
25
2.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.

×