D
BÁO CÁO ĐỒ ÁN THỰC HÀNH
Môn: CHUYÊN
ĐỀ HỆ ĐIỀU HÀNH LINUX
Đề tài: Sử dụng các thư viện lập trình viết chương trình minh họa
kiểu tấn công ARP spoofing (ARP poisoning )
Tên nhóm: Nhóm 8 – AHKY
Các thành viên trong nhóm:
1.
2.
3.
Trường Vũ Tuấn Khải
Võ Văn Ý
Hà Văn Hào
1112140
1212538
1212563
Page 1
A.
CÀI ĐẶT CÁC THƯ VIỆN CẦN SỬ DỤNG
1. Libnet
Thư viện này hỗ trợ cho việc làm giả và chèn gói tin lên đường truyền.
a) Cài đặt từ source
- Tải gói libnet_version.tar.bz trên mạng về
- Giải nén bằng lệnh tar –xzvf <tên gói libnet>
- #. /configure
- #make
- #make install
b) Cài đặt bằng internet
- #yum install libnet –y
2. Libpcap: cài đặt giống như libnet
Thư viện này hỗ trợ việc bắt gói tin đi qua card mạng.
B.
PHÂN TÍCH YÊU CẦU ĐỒ ÁN
1. Giao thức ARP là gì?
Mỗi thiết bị mạng đều có một địa chỉ vật lý – địa chỉ MAC (Medium Access
Control address) và địa chỉ đó là duy nhất.Các thiết bị trong cùng một mạng
thường dùng địa chỉ MAC để liên lạc với nhau tại tầng Data Linkcủa mô hình
OSI.
Page 2
Giao thức ARP (Address Resolution Protocol) được thiết kế để phục vụ cho nhu
cầu thông dịch các địa chỉ giữa lớp thứ hai (Data Link) và thứ ba (Network) trong mô
hình OSI.
Lớp thứ hai (Data Link) sử dụng địa chỉ MAC để các thiết bị phần cứng có thể
truyền thông với nhau một cách trực tiếp.
Lớp thứ ba (Network) sử dụng địa chỉ IP để tạo các mạng có khả năng mở rộng trên
toàn cầu.
Mỗi lớp có một cơ chế phân định địa chỉ riêng, và chúng phải làm việc với nhau để
có thể tạo nên một mạng truyền thông.Và, giao thức ARP đã đáp ứng được điều đó.
2. Cơ chế hoạt động của ARP
Quá trình ARP (Address Resolution Protocol) được thực hiện theo cơ chế: Một thiết
bị IP trong mạng gửi một gói tin broadcast đến toàn mạng để yêu cầu các thiết bị
khác gửi trả lại địa chỉ phần cứng (địa chỉ MAC) của mình nhằm thực hiện truyền tin
cho nhau giữa thiết bị phát và thiết bị nhận.
ARP về cơ bản là một quá trình 2 chiều Request/Response giữa các thiết bị trong
cùng mạng nội bộ. Thiết bị nguồn yêu cầu(request) bằng cách gửi một bản tin
Page 3
broadcast trên toàn mạng. Thiết bị đích sẽ trả lời (response) bằng một bản tin unicast
đến thiết bị nguồn.
Mục đích của Request và Response là tìm ra địa chỉ MAC phần cứng có liên quan tới
địa chỉ IP đã gửi để lưu lượng có thể đến được đích của nó trong mạng.
Khi thực hiện một quá trình ARP, trước hết thiết bị phát phải xác định xem địa chỉ IP
đích của gói tin có phải nằm cùng trong mạng nội bộ của mình hay không.Nếu đúng
vậy thì thiết bị sẽ gửi trực tiếp gói tin đến thiết bị đích. Nếu địa chỉ IP đích nằm trên
mạng khác, thì thiết bị sẽ gửi gói tin đến một trong các router nằm cùng trên mạng nội
bộ để router này làm nhiệm vụ forward (chuyển tiếp) gói tin.
C.
XÂY
DỰNG
CHƯƠNG
TRÌNH
TẤN
CÔNG
ARP
SPOOFING (LÀM GIẢ GÓI ARP) VÀ ĂN CẮP THÔNG TIN
TRÊN MẠNG LAN
1.
Kịch bản
Giả sử đường mạng 192.168.8.0/24 có 3 máy như sau
-
Máy nạn nhân A (Victim A)
ARP Cache của Victim A
IP
192.168.8.2
MAC
ff-ff-ff-ff-08-01
-
Máy nạn nhân B (Victim B)
ARP Cache của Victim B
IP
192.168.8.3
MAC
ff-ff-ff-ff-08-02
Page 4
-
Máy thực hiện tấn công ARP (Attacker C)
ARP Cache của Attacker C
IP
192.168.8.4
MAC
ff-ff-ff-ff-08-03
2.
Cơ chế tấn công của Attacker C
Attacker C (kẻ tấn công) muốn thực hiện tấn công ARP đối với máy Victim A và B.
Attacker C muốn rằng mọi gói tin mà Victim Avà Victim B trao đổi đều bị ăn cắp để
xem trộm. Khi đó, cuộc tấn công sẽ xảy ra như sau:
Đầu tiên, Victim A muốn gửi dữ liệu cho Victim B, Victim A cần phải biết địa chỉ
MAC của Victim B để liên lạc. Khi đó, Victim A sẽ gửi broadcast ARP Request
tới tất cả các máy trong cùng mạng LAN để hỏi xem địa chỉ IP 192.168.8.3 (IP
của Victim B) có địa chỉ MAC là bao nhiêu.Thông tin có chứa trong ARP
Request do A gửi sẽ là:
Nội dung gói ARP Request của A
IP Victim B
192.168.8.3
MAC A
ff-ff-ff-ff-08-01
Lúc này, Victim B và Attacker C đều nhận được gói tin ARP Request doVictim
A gửi đến. Tuy nhiên, chỉ có Victim B gửi lại gói tin ARP Response (bao gồm
các thông tin về IP của Victim B, MAC của Victim B và MAC của Victim A) lại
cho Victim A, bởi vì chỉ có B là có IP giống với IP trong gói ARP Request của A.
Page 5
Nội dung gói ARP Response của B
IP Victim B
192.168.8.3
MAC Victim B
ff-ff-ff-ff-08-02
MAC A
ff-ff-ff-ff-08-01
Sau khi nhận được gói tin ARP Response từ Victim B, Victim A sẽ biết được địa
chỉ MAC của Victim B, và thực hiện lưu địa chỉ MAC này vào Cache của mình
(tức ARP Cache máy A). Sau đó, Victim A bắt đầu thực hiện liên lạc, truyền dữ
liệu tới Victim B dựa trên thông tin địa chỉ MAC vừa lưu. Khi này, Attacker C
không thể xem nội dung dữ liệu được truyền giữa 2 máy Victim A và Victim B
.
Lúc này mọi việc vẫn đang xảy ra bình thường thì Attacker tiến hành tấn công
ARP bằng cách thực hiện gửi liên tục các ARP Response chứa thông tin về IP
Victim B, MAC của Attacker C và MAC Victim A, nghĩa là trong gói ARP
Response, Attacker đã thực hiện thay đổi MAC Victim B thành MAC của chính
Attacker, có thể nói gói ARP Response lúc này đã chứa mã độc do Attacker C
tạo ra.
Nội dung gói ARP Response của Attacker C
IP Victim B
192.168.8.3
MAC Victim C
ff-ff-ff-ff-08-03
MAC A
ff-ff-ff-ff-08-01
Khi nhận được gói ARP Response đã bị làm giả, Victim A sẽ nhầm tưởng rằng
mình đã tìm ra được địa chỉ MAC ứng với IP Victim B 192.168.8.3 là ff-ff-ff-ff08-03 (MAC của Attacker C). Victim A sẽ tiến hành lưu thông tin chứa mã độc
Page 6
này vào bảng ARP Cache của mình và thực hiện trao đổi, truyền tin với địa chỉ
MAC nhận được. Victim B qua đó cũng trao đổi thông tin với Victim A (thông
qua Attacker) và cũng cập nhật thông tin chứa mã độc này vào bảng ARP Cache
của mình.
Khi đó, mọi thông tin, dữ liệu mà Victim A và B trao đổi với nhau, Attacker đều
có thể nhận thấy và xem toàn bộ nội dung của nó thông qua cuộc tấn công ARP
này. Sau khi bị tấn công ARP attack, sẽ rất nguy hiểm cho người dùng vì mọi
thông tin trao đổi của họ đều bị lộ, nhất là những thông tin đó là quan trọng, cần
phải giữ bí mật.
Nếu sau một khoảng thời gian không có liên lạc nào giữa Victim A và B, các
thông tin mã độc (có chứa địa chỉ MAC của Attacker) trong ARP Cache của hai
Victim sẽ bị xóa, vì thế, Attacker phải thường xuyên gửi các gói tin ARP
Response chứa mã độc của mình cho các nạn nhân (Victim) để duy trì cuộc tấn
công ARP.
3.
Thực hiện viết chương trình tấn công ARP
//đầu tiên là dùng libnet làm giả gói tin, anh copy và chú thích các hàm
quan trọng vào đây nhé
//sau đó là dùng libpcap để ăn cắp gói tin về đọc, anh cũng chú thích
giống trên nha
//anh chụp hình kết quả test luôn nha
Page 7
D.
CÁC BIỆN PHÁP PHÒNG CHỐNG
Giả mạo ARP Cache là dạng tấn công dễ thực hiện nhưng lại rất khó phát hiện.Hiện nay
không có một giải pháp cụ thể nào hỗ trợ, nhưng ta có thể thực hiện một số biện pháp sau
để phòng chống tấn công giả mạo ARP cache trong mạng của mình.
1. Bảo mật mạng LAN
Giả mạo ARP Cache chỉ là một kỹ thuật tấn công mà nó chỉ sống sót khi cố gắng chặn
lưu lượng giữa hai thiết bị trên cùng một LAN. Chỉ có một lý do khiến cho bạn lo sợ về
vấn đề này là liệu thiết bị nội bộ trên mạng của bạn có bị thỏa hiệp, người dùng có ý định
hiểm độc hay không hoặc liệu có ai đó có thể cắm một thiết bị không tin cậy vào mạng.
Mặc dù chúng ta thường tập trung toàn bộ những cố gắng bảo mật của mình lên phạm vi
mạng nhưng việc phòng chống lại những mối đe dọa ngay từ bên trong và việc có một
thái độ bảo mật bên trong tốt sẽ có thể giúp bạn loại trừ được những nguy cơ bị tấn công
được đề cập ở đây.
2. Cấu hình lại bảng ARP Cache
Một cách có thể bảo vệ chống lại vấn đề không an toàn vốn có trong các ARP request và
ARP reply là thực hiện cập nhật, bổ sung các entry tĩnh vào ARP cache.
So sánh địa chỉ MAC trước khi truyền tin: Trước khi tiến hành truyển tin, ta nên
xem xét lại địa chỉ MAC của máy đích có nằm trong ARP Cache của máy mình hay
không. Nếu không thì ta nên cập nhật tĩnh (cập nhật thủ công) địa chỉ MAC máy đích
vào.
Như đã trình bày ở trên, ta có thể xem ARP cache của máy tính Windows bằng cách
mở nhắc lệnh và gõ vào đó lệnh arp –a. Và để xem địa chỉ MAC,ta dùng lệnh:
ipconfig /all hay getmac.Tuy nhiên, biện pháp phòng chống này khá là thủ công.
Xóa thông tin trong ARP Cache: Thực hiện xóa toàn bộ thông tin trong bảng ARP
Cache (dùng lệnh: netsh interface ip delete arpcache). Khi đó, địa chỉ MAC của kẻ
tấn công cũng sẽđược xóa, máy tính sẽ bắt đầu cập nhật lại. Tuy nhiên, biện pháp này
Page 8
sẽ không hiệu quả nếu như kẻ tấn công cứ tiếp tục gửi những ARP Response chứa mã
độc vào ARP Cache của ta.
Dùng lệnh arp – s để gắn cố định địa chỉ IP đích vào MAC thật của nó: Khi đó, kẻ
tấn công sẽ không đầu độc IP này nữa. Tuy nhiên, việc này không khả thi đối với
mạng lớn có nhiều máy tính, và có sự thay đổi IP.
Thêm các entry tĩnh vào ARP Cache: Trong các trường hợp nơi cấu hình mạng của
bạn không mấy khi thay đổi, bạn hoàn toàn có thể tạo một danh sách các entry ARP
tĩnh và sử dụng chúng cho các client thông qua một kịch bản tự động. Điều này sẽ bảo
đảm được các thiết bị sẽ luôn dựa vào ARP cache nội bộ của chúng thay vì dùng các
ARP request và ARP response để cập nhật động những entry không đáng tin cậy.
Ta có thể thêm các entry tĩnh vào danh sách ARP Cache bằng cách sử dụng lệnh:
arp –s <IP ADDRESS><MAC ADDRESS>
3. Sử dụng phần mềm
Hiện có nhiều loại phần mềm bảo vệ máy tính khỏi tấn công ARP Cache Poisoning, trong
đó có hai loại phần mềm có thể thực hiện tương đối hiệu quả việc này, đó là phần mềm
AntiARP và Comodo Internet Security Pro.
Sơ lược về Anti ARP
AntiARP là một trong những phần mềm hàng đầu trong công tác an ninh (bảo vệ ARP),
góp phần vô hiệu hóa các cuộc tấn công trên mạng LAN của các phần mềm: NETCUT,
Netrobocop, P2POver...Những nguyên nhân gây ra hiện tượng bị đứt, ngắt kết nối mạng
Internet mà một số phần mềm như Anti NETCUT không thể làm được.
Page 9
AntiARP có thể thực hiện các chức năng như:
-
Chặn các tấn công ARP: Chặn các gói tin ARP giả mạo trong hệ điều hành.
-
Chặn các cuộc tấn công ARP từ máy ra ngoài: Chặn các gói tin ARP giả mạo trong
hệ điều hành để hạn chế các tấn công từ máy do bị ảnh hưởng của các chương trình
có chứa mã độc.
-
Chặn các tranh chấp IP: Chặn các gói tin tranh chấp IP trong hệ điều hành để bảo vệ
các cuộc tấn công tranh chấp địa chỉ.
-
Chủ động phòng thủ: Chủ động giữ liên lạc với gateway và gơửi địa chỉ đúng đến
gateway tạo mối liên lạc thông suốt và an toàn.
Ngoài các đặc tính nêu trên, AntiARP còn có các tính chất phụ trợ như:
-
Phòng thủ thông minh: Có thể dò ra và phản ứng nhanh khi chỉ mình gateway bị
-
đánh lừa ARP.
Có thể xác định vị trí virus khi máy có các cuộc tấn công ARP từ trong ra.
Ngăn chặn tấn công Dos: Chặn các gói tin dữ liệu dos giả mạo gửi đi, ghi chú vị trí
-
của chương trình gửi các gói tin độc, bảo đảm liên lạc Internet thông suốt.
Chế độ an toàn: Không trả lời các yêu cầu ARP từ các máy khác trừ gateway để có
-
hiệu ứng che dấu và giảm thiểu các tấn công ARP.
Phân tích tất cả các gói tin mà localhost nhận được.
Theo dõi và sửa chữa bảng cache ARP một cách tự động. Nếu phát hiện địa chỉ
MAC của gateway bị chương trình mã độc thay đổi,sẽ phát báo động và tự động sửa
-
chữa lại địa chỉ bị thay đổi.
Xác định kẻ tấn công: Khi dò ra bị tấn công,phần mềm sẽ nhanh chóng xác định địa
-
chỉ IP của kẻ tấn công.
Bảo vệ đồng hồ hệ thống: Không cho thay đổi giờ hệ thống bởi các chương trình độc.
Bảo vệ trang chủ IE: Không cho các chương trình thay đổi trang chủ IE.
Bảo vệ bảng cache ARP: Không cho các chương trình độc thay đổi bảng cache.
Page 10
-
Tự bảo vệ: Tự nó không cho phép các chương trình mã độc tắt.
Dò ra các phần mềm quản lý mạng trong mạng của mình chẳng hạn như chương
trình netcut dùng để phá các quán net.
Sơ lược về Comodo Internet Security Pro
Comodo Internet Security Pro là ứng dụng bảo mật nhiều tầng miễn phí, có thể giữ
hacker không truy cập được vào máy tính và đảm bảo thông tin cá nhân của người dùng
được an toàn, giúp bảo vệ dữ liệu khi máy có kết nối Internet.
Tích hợp 3 nhóm chức năng bảo vệ: Antivirus, Firewall, Defense+ lại có bản miễn phí,
COMODO Internet Security thực sự là một giải pháp tốt, ít có phần mềm nào sánh được,
giúp cho máy tính của bạn tránh mọi nguy cơ xuất phát từ Internet.
Comodo Internet Security Pro có các tính năng chính như:
•
•
•
•
•
•
Antivirus: Làm sạch phần mềm độc hại.
Firewall:Tường lửa bảo vệ.
Defense+ (Phòng thủ+): Bảo vệ xâm nhập máy chủ.
Công nghệ Scandbox tự động.
Mã hóa dữ liệu Wi-Fi.
Bảo vệ từ xa và hỗ trợ hệ thống.
HẾT
Page 11