Nghiên cứu kỹ thuật đọc lén dữ liệu trong mạng lan dùng phương pháp arp poisoning và xây dựng công cụ phát hiện đọc lén
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài : “NGHIÊN CỨU KỸ THUẬT ĐỌC LÉN DỮ LIỆU TRONG MẠNG LAN DÙNG PHƯƠNG PHÁP ARP
POISONING VÀ XÂY DỰNG CÔNG CỤ PHÁT HIỆN MÁY
Người hướng dẫn : THS LÊ PHÚC
TP HỒ CHÍ MINH, NĂM 2012
Trang 2HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài : “NGHIÊN CỨU KỸ THUẬT ĐỌC LÉN DỮ LIỆU TRONG MẠNG LAN DÙNG PHƯƠNG PHÁP ARP
POISONING VÀ XÂY DỰNG CÔNG CỤ PHÁT HIỆN MÁY
Người hướng dẫn : THS LÊ PHÚC
TP HỒ CHÍ MINH, NĂM 2012
Trang 3LỜI CẢM ƠN
Để hoàn thành đồ án tốt nghiệp này, lời đầu tiên em xin cảm ơn quý Thầy cô Khoacông nghệ thông tin trường Học viện công nghệ bưu chính viễn thông đã tận tìnhgiảng dạy, truyền đạt những kiến thức quý báu trong quá trình học tập làm nền tảng vàtạo điều kiện cho em thực hiện tốt đồ án tốt nghiệp Đại học
Em xin bày tỏ lòng biết ơn sâu sắc nhất tới thầy Lê Phúc người đã hướng dẫn tậntình, chỉ bảo em trong suốt thời gian thực tập và làm đồ án
Mặc dù đã cố gắng trong nghiên cứu và thực hiện đồ án, nhưng vì thời gian vàtrình độ còn hạn chế nên chắc chắn bài báo cáo sẽ không tránh khỏi nhiều thiếu sót
Em rất mong nhận được sự đóng góp và giúp đỡ của các thầy cô giáo, các bạn sinhviên để em có thể phát triển hơn nữa những nghiên cứu và chương trình của mình.Một lần nữa em xin chân thành cảm ơn tất cả mọi người đã giúp đỡ em hoàn thành
đồ án tốt nghiệp này một cách tốt nhất
Em xin chân thành cảm ơn!
Trang 4MỤC LỤC
Trang
LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT iv
DANH MỤC CÁC BẢNG VẼ v
DANH MỤC CÁC HÌNH VẼ vi
MỞ ĐẦU 1
CHƯƠNG 1: CÁC PHƯƠNG PHÁP ĐỌC LÉN DỮ LIỆU TRÊN MẠNG LAN 2
1.1 Đọc lén dữ liệu trên mạng – sniffing 2 1.2 Tác hại của sniffing 2 1.3 Hoạt động của sniffing 2 1.4 Sniffing trong môi trường Shared Ethernet 3 1.5 Sniffing trong môi trường Switched Ethernet 4 1.6 Các phương pháp sniffing trên mạng LAN 5 1.6.1 MAC attack 5
1.6.2 DHCP attack 6
1.6.3 Spoofing Attack 7
1.6.4 DNS poisoning 8
CHƯƠNG 2: CƠ CHẾ ĐỌC LÉN DÙNG PHƯƠNG PHÁP ARP POISONING 10
2.1 Giao thức ARP (Address Resolution Protocol) 10 2.2 Cơ chế hoạt động của ARP 10 2.2.1 Cơ chế hoạt động của ARP trong mạng LAN 11
2.2.2 Cơ chế hoạt động của ARP trong môi trường hệ thống mạng 12
2.3 ARP Cache 13 2.4 Tấn công giả mạo ARP cahe (ARP poisoning) 15 2.4.1 Cơ chế tấn công giả mạo ARP Cache (ARP Poisoning) 15
2.4.2 Thực hiện tấn công ARP poisoning 20
2.5 Các biện pháp phòng chống 24 2.5.1 Bảo mật mạng LAN 25
2.5.2 Cấu hình lại bảng ARP Cache 25
CHƯƠNG 3: XÂY DỰNG CÔNG CỤ PHÁT HIỆN ĐỌC LÉN TRÊN MẠNG LAN 27 3.1 Ý tưởng cơ bản của việc phát hiện ARP poisoning 27
Trang 53.3 Cơ bản về phát hiện node promiscuous 28
3.4.1 Linux 29
3.4.2 Windows 30
3.5 Xây dựng công cụ phát hiện đọc lén trên mạng LAN 32 3.5.1 Ý tưởng phát hiện đọc lén trên mạng LAN 32
3.5.2 Các vấn đề cơ bản về xây dựng công cụ phát hiện đọc lén trên mạng LAN 32
3.5.3 Lưu đồ giải thuật và cơ chế của hệ thống phát hiện đọc lén trên mạng LAN 34
3.5.3.1 Các lược đồ của hệ thống 34
3.5.3.2 Cơ chế phát hiện đọc lén của hệ thống và xây dựng công cụ phát hiện đọc lén trên mạng LAN 36
3.6 Thực hiện thử nghiệm phát hiện đọc lén trên mạng LAN bằng công cụ vừa xây dựng 39 KẾT LUẬN 44
TÀI LIỆU THAM KHẢO 45
Trang 6DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
ARP Address Resolution Protocol Giao thức phân giải địa chỉ
CAM Content addressable memory Bộ nhớ nội dung địa chỉ
DHCP Dynamic Host Configuration
Protocol
Giao thức cấu hình host động
DNSSEC Domain Name System Security
Extensions
Công nghệ bảo mật mở rộng cho hệ thống tên miền
HTTP HyperText Tranfer Protocol Giao thức truyền tải siêu văn bảnIMAP Internet Message Access
Protocol
Giao thức truy cập thư tín trên internet
NIC Network Interface Controller Card giao tiếp mạng
NNTP Network News Tranfer Protocol Giao thức truyền tải tin tức trên mạngOSI Open Systems Interconnection
Reference Model
Mô hình tham chiều kết nối các hệ thống mở
SMTP Simple Mail Tranfer Protocol Giao thức truyền tải thư đơn giảnSQL Structured Query Language Ngôn ngữ truy vấn có cấu trúc
TCP Tranmission Control Protocol Giao thức điều khiển truyễn dẫn
Trang 7DANH MỤC CÁC BẢNG VẼ
Trang
Bảng 1.1 Các gói tin DHCP 7
Bảng 3.1 Bộ lọc phần cứng và phần mềm trên Linux 30
Bảng 3.2 Kết quả thử nghiệm các loại địa chỉ vật lý 31
Bảng 3.3 TTL và Window Size của các hệ điều hành 33
Bảng 3.4 Thông số gói ARP request 36
Trang 8DANH MỤC CÁC HÌNH VẼ
Trang
Hình 1.1 Mạng Shared Ethernet 3
Hình 1.2 Mạng Switched Ethernet 4
Hình 1.3 Hoạt động của bảng CAM 5
Hình 1.4 Hoạt động của DHCP 6
Hình 1.5 Tấn công MAC spoofing 8
Hình 2.1 Mô hình OSI 10
Hình 2.2 Cơ chế hoạt động của quá trình truyền thông ARP 13
Hình 2.3 Cập nhật bảng ARP Cache 14
Hình 2.4 Mô hình tấn công giả mạo ARP Cache 18
Hình 2.5 Địa chỉ IP và MAC thật của Gateway trên ARP Cache của thiết bị phát ARP Request 19
Hình 2.6 Địa chỉ MAC thật của Gateway đã bị máy tấn công thay thế bằng MAC của máy tấn công 19
Hình 2.7 Sơ đồ mạng sử dụng thực hiện tấn công ARP poisoning 20
Hình 2.8 Chọn card NIC để thực hiện tấn công 21
Hình 2.9 Scan địa chỉ MAC của các host trên cùng mạng LAN 21
Hình 2.10 Chọn mục tiêu tấn công ARP poisoning 22
Hình 2.11 Bắt đầu tấn công ARP poisoning 22
Hình 2.12 ARP cache máy nạn nhân sau khi bị tấn công ARP poisoning 23
Hình 2.13 Địa chỉ MAC của máy tấn công 23
Hình 2.14 Nạn nhân đăng nhập trên website yahoo 24
Hình 2.15 Thông tin tài khoản và mật khẩu của nạn nhân bị lấy cắp 24
Hình 3.1 Bộ lọc phần cứng 28
Hình 3.2 Cách phát hiện node promiscuous cơ bản 29
Trang 9Hình 3.3 Lưu đồ giải thuật phát hiện ARP poisoning cơ bản 32
Hình 3.4 Trường Sender IP address trong gói tin ARP 33
Hình 3.5 Lược đồ ngữ cảnh hệ thống phát hiện đọc lén trên mạng LAN 34
Hình 3.6 DFD-0 Hệ thống phát hiện đọc lén trên mạng LAN 35
Hình 3.7 Lưu đồ giải thuật hệ thống phát hiện đọc lén trên mạng LAN 38
Hình 3.8 Sơ đồ mạng sử dụng thử nghiệm công cụ phát hiện đọc lén trên mạng LAN 39
Hình 3.9 Bắt đầu thực hiện Scan MAC address trên mạng 40
Hình 3.10 Danh sách các host trong mạng LAN 40
Hình 3.11 Chọn các host để bắt đầu tấn công 41
Hình 3.12 Bắt đầu tấn công ARP poisoning để đọc lén trên mạng LAN 41
Hình 3.13 ARP cache máy victim 1 sau khi bị ARP poisoning 42
Hình 3.14 Bắt đầu bắt gói tin trên mạng LAN 42
Hình 3.15 Thông báo phát hiện hệ thống mạng đang bị đọc lén 43
Hình 3.16 Thông tin của máy attacker 43
Trang 10MỞ ĐẦU
Công nghệ mạng máy tính và truyền thông ngày nay đang được sử dụng mộtcách rộng rãi với những phần mềm công nghệ được tạo ra để cung cấp cho ngườidùng Sự phát triển mạnh mẽ của mạng Internet đã mang lại những lợi ích về mặtthông tin cho mỗi cá nhân, gia đình, tổ chức công ty
Sự phát triển mạnh mẽ của mạng máy tính và truyền thông bên cạnh đó cũng mang lại rất nhiều khó khăn trong việc thiết kế, bảo dưỡng và an ninh mạng Đặc biệt
là trong lĩnh vực bảo đảm an toàn cho thông tin người dùng Đây là một vấn đề rất khókhăn vì dữ liệu, thông tin người dùng là vô cùng quan trọng đối với mỗi cá nhân, tổ chức Trên mạng nội bộ LAN khi các dữ liệu luân chuyển trên mạng có thể dễ dàng bị đọc lén bởi các hacker, điều này vô cùng nguy hiểm gây hại nghiêm trọng đến cá nhân người dùng và các tổ chức nhất là khi hacker có thể đọc lén được các thông tin nhạy cảm
Hiện nay việc đọc lén mạng lại được thực hiễn dễ dàng bởi rất nhiều các công
cụ giúp thực hiện như Cain&Abel, Ettercap, Dsniff, Wireshark, TCPdump, , việc nghe lén này tuy nguy hiểm nhưng người sử dụng lại khó có thể phát hiện là dữ liệu của họ đang bị đọc lén Do đó việc có một công cụ có thể phát hiện được việc đọc lén đang diễn ra trên mạng này là vô cùng quan trong Đó chính là lý do để em chọn đề tài
“Nghiên cứu kỹ thuật đọc lén dữ liệu trong mạng LAN dùng phương pháp ARP
poisoning và xây dựng công cụ phát hiện đọc lén”
Với mục đích tạo ra một công cụ giúp ích cho việc phát hiện đọc lén nhằm phầnnào đó có thể đưa ra những cảnh báo về hiện trạng mạng có bị đọc lén hay không, qua
đó người dùng có thể có những giải pháp để hạn chế việc dữ liệu nhạy cảm bị đọc lén Thông qua đề tài, em có thể nắm bắt những giải pháp, kỹ thuật cơ chế đọc lén dữ liệu,
từ đó có thể tạo ra công cụ của riêng mình Những kiến thức thu được qua đề tài sẽ giúp em rất nhiều trong tương lai sau này
Nội dung của đề tài này gồm có:
Chương 1: Các phương pháp đọc lén dữ liệu trên mạng LAN
Chương 2: Cơ chế đọc lén dùng phương pháp ARP poisoning
Chương 3: Xây dựng công cụ phát hiện đọc lén trên mạng LAN
Phần kết luận và các tài liệu tham khảo
Trang 11CHƯƠNG 1: CÁC PHƯƠNG PHÁP ĐỌC LÉN DỮ LIỆU TRÊN MẠNG LAN.
1.1 Đọc lén dữ liệu trên mạng – sniffing.
Đọc lén dữ liệu trên mạng (sniffing) là một phần của kỹ thuật tấn công truyềnthông dữ liệu của ngành bảo mật máy tính Kỹ thuật này không tấn công trực diện vàocác máy tính người dùng hay máy chủ, mà nó nhằm vào không gian truyền dữ liệugiữa các máy, là phương pháp đọc lén các gói tin trong mạng Sniffing ban đầu là kỹthuật được các quản trị viên dùng theo dõi, chuẩn đoán, phát hiện các sự cố nhằm giúpcải thiện hoạt động hệ thống mạng Tuy nhiên, kỹ thuật này về sau bị biến tướng, trởthành công cụ phục vụ cho mục đích thu thập trái phép các thông tin của người dùngkhi luân chuyển trên mạng
1.2 Tác hại của sniffing.
Hiện nay, đọc lén mạng thực hiện rất dễ dàng bởi có quá nhiều các công cụgiúp thực hiện như Cain&Abel, Ettercap, Dsniff, Wireshark, TCPdump, … Các công
cụ này ngày càng được tối ưu hóa để để dễ sử dụng và tránh bị phát hiện khi sử dụng
So với các kiểu tấn công khác, tấn công dạng sniffing cực kỳ nguy hiểm, bởi nó có thểghi lại toàn bộ thông tin được truyền dẫn trên mạng, và người sử dụng không biết làđang bị đọc lén do máy tính của họ vẫn hoạt động bình thường, không có dấu hiệuxâm hại Do đó việc phát hiện và phòng chống đọc lén là rất khó, và hầu như chỉ cóthể phòng chống trong thế bị động (passive) – nghĩa là chỉ phát hiện được khi bị đọclén
Khi hệ thống mạng bị đọc lén kẻ tấn công - attacker có thể lấy được các thông tin nhạycảm như mật khẩu email, website, telnet, ftp, sql, …, dữ liệu trong email, các tập tinđược lưu chuyển trên mạng
1.3 Hoạt động của sniffing.
Khi một máy tính kết nối vào một mạng nội bộ - LAN (Local Area Network) sẽ
có 2 địa chỉ Một là địa chỉ MAC (Media Access Control), đây là địa chỉ riêng biệtđược gán cho mỗi card mạng – NIC (Network Interface Controller) Địa chỉ MACđược sử dụng bởi giao thức Ethernet khi tạo ra các khung truyền – frames để lưuchuyển dữ liệu trong mạng Một địa chỉ khác là địa chỉ IP (Internet Protocol) LớpData Link - Data Link Layer dùng Ethernet header với địa chỉ MAC làm đại chỉ nguồn– source address và địa chỉ đích – destination address Lớp Network – Network Layer
có nhiệm vụ lập ra bảng ánh xạ một địa chỉ IP với một địa chỉ MAC theo yêu cầu củaData Link Protocol Nó sẽ tra cứu địa chỉ MAC của máy đích trong ARP (AddressResolution Protocol) cache Nếu không có entry nào được tìm thấy cho địa chỉ MAC
Trang 12tương ứng với địa chỉ IP, gói tin ARP request sẽ được gửi broadcast đến tất cả các máytính trong mạng Máy tính với địa chỉ IP đó sẽ gửi gói tin ARP reply với địa chỉ MACcủa nó Địa chỉ MAC này sẽ được thêm vào trong ARP cache của máy yêu cầu.
Các hacker sẽ sử dụng các gói tin đọc lén (hoặc giả mạo) lan truyền vào trong mạngthông qua hub hoặc switch
Attacker có thể bắt và phân tích tất cả các traffic của người dùng trong mạng
Để thực hiện attacker – sniffer sẽ chuyển card mạng – NIC (Network InterfaceController) của máy tính sang chế độ hỗn tạp – Promiscuous mode để có thể lắng nghetất cả dữ liệu đang lưu chuyển trong mạng Sau đó sniffer có thể đọc được toàn bộ nộidung dựa vào phân giải – Decapsulation gói tin bắt được
1.4 Sniffing trong môi trường Shared Ethernet.
Trong môi trường Shared Ethernet, tất cả các host kết nối đến cùng bus và cạnhtranh băng thông với nhau Trong môi trường này, các gói tin – packets cho một máyđược nhận bởi tất cả các máy khác Do đó khi một máy A muốn truyền dữ liệu đếnmáy B, nó sẽ gửi một packet trên mạng với địa chỉ MAC đích là địa chỉ MAC của máy
B và địa chỉ MAC nguồn là địa chỉ MAC của chính nó Tất cả các máy tính trên mạng
sẽ so sánh địa chỉ MAC đích trong frame với địa chỉ MAC của chúng Nếu không phùhợp frame này sẽ bị loại (hình 1.1) Sniffer sẽ phá vỡ luật này và nhận vào tất cả cácframes Như vậy một máy tính được khởi động chế độ Promiscuous sẽ lắng nghe tất cảtraffic trên mạng (Passive sniffing)
Hình 1.1 Mạng Shared Ethernet
Trang 131.5 Sniffing trong môi trường Switched Ethernet.
Môi trường Ethernet mà các host kết nối đến switch thay vì hub được gọi làSwitched Ethernet Switch duy trì một bảng lưu lại mỗi địa chỉ MAC của máy tính kếtnối với nó với 1 cổng – port vật lý trên switch được gọi là bảng CAM – CAM table(Content addressable memory) Switch sẽ chuyển phát các packet đến từng máy đích
cụ thể chứ không broadcast nó đến tất cả các máy tính trên mạng như môi trườngShared Ethernet (hình 1.2) Kết quả là sẽ sử dụng tốt hơn băng thông và cải thiện bảomật Do đó việc đặt máy tính vào chế độ Promiscuous để thu thập packets không hoạtđộng Để sniff trên switch sniffer sẽ gửi các gói tin giả mạo nhằm mục đích thu thập
dữ liệu trên mạng Các phương thức tấn công trên switch MAC flooding, DNS(Domain Name System) flooding, ARP poisoning, DHCP (Dynamic HostConfiguration Protocol) attacks, Password sniffing, Spoofing attack
Hình 1.2 Mạng Switched Ethernet
Các giao thức dễ bị tấn công sniffing
Telnet & Rlogin: Thăm dò Username và Password
HTTP (Hypertext Tranfer Protocol): Dữ liệu gửi dưới dạng clear text
SMTP (Simple Mail Tranfer Protocol): Password và dữ liệu gửi dưới dạng cleartext
Trang 14 NNTP (Network News Tranfer Protocol): Password và dữ liệu gửi dưới dạngclear text.
POP (Post Office Protocol): Password và dữ liệu gửi dưới dạng clear text
FTP (Files Tranfer Protocol): Password và dữ liệu gửi dưới dạng clear text
IMAP (Internet Message Access Protocol): Password và dữ liệu gửi dưới dạngclear text
Hoạt động của bảng CAM
Hình 1.3 Hoạt động của bảng CAM
Khi một frame đi đến một port của Switch thì địa chỉ MAC nguồn sẽđược học và lưu lại trong bảng CAM Cả port nhận vào và VLAN cũng đượclưu vào trong bảng với một khoảng thời gian timestamp Nếu địa chỉ MAC đãđược học trước đó nhưng được chuyển đến port khác thì địa chỉ MAC vàtimestamp cũng sẽ được lưu lại ứng với port nhận được gần nhất, và entry trước
sẽ bị xóa Nếu địa chỉ MAC được tìm thấy ứng với 1 port đã có trong bảng thìchỉ có thời gian timestamp được update
Trang 15Do bảng CAM có dung lượng hữu hạn nên bảng CAM có thể bị tràn.Khi bảng CAM tràn, các gói tin ARP request sẽ được đẩy ra tất cả các port củaSwitch Việc này làm cho switch hoạt động như hub Quá trình này sẽ lây lansang các switch lân cận.
MAC flooding là phương pháp tấn công làm tràn bảng CAM của switchbằng cách phát ra vô số các gói tin vơi MAC giả mạo không có thật Khi bảngCAM bị tràn, switch hoạt động như hub đẩy các frame đến tất cả các port trừport nhận vào, và từ đó attacker có thể dễ dàng bắt gói
Để tránh bị MAC attack ta có thể dùng Port security: đây là phương phápgán địa chỉ MAC trên port được chỉ đinh Chỉ cho phép dữ liệu xuất phát từMAC này đi vào port
DHCP client gửi gói DHCP request với các tham số yêu cầu
DHCP server gửi gói DHCP ACK cho client với các tham số cấuhình cần thiết
DHCP Discover Client broadcast để xác định DHCP server
Trang 16DHCP Offer Server trả lời gói DHCP Discover bằng gói Offer hỏi những
tham số client muốn nhận
DHCP Request Client có thể gửi về server: các tham số cần xin cấp, xác nhận lại
việc sử dụng địa chỉ trước đó, gia hạn thêm thời gian sử dụngDHCP ACK Server gửi cho client các tham số cấu hình cần thiết
DHCP NAK Server thông báo với client đã sử dụng sai địa chỉ lớp mạng,
hoặc đã hết hạn sử dụng IP được cấp
DHCP Decline Client thông báo với server địa chỉ lớp mạng đã được sử dụng.DHCP Release Client thông báo với server hủy bỏ IP được cấp, trả về cho
server và dừng đếm khoảng thời gian Release
DHCP Inform Client xin cấp một số thông số phụ khi client đã có địa chỉ IP
Giả mạo DHCP Server – Rogue DHCP Server Attack:
Attacker giả mạo DHCP Server cấp thông tin cấu hình TCP/IPcho client Khi Client gửi broadcast gói tin DHCP Discover ra toànmạng, attacker nhận được gói tin này sẽ gửi gói DHCP offer để mạonhận rằng mình là DHCP server, sau đó Client sẽ gửi gói DHCP request
để yêu cầu thông tin cấu hình, và attacker gửi trả về client gói tin DHCPACK với các thông tin cấu hình sai lệch như: attacker làm gatewat, dnsserver, …
Phòng thủ DHCP Starvation và Rogue DHCP Server Attack:
Sử dụng Port security ngăn chặn DHCP Starvation Attack
Sử dụng tính năng DHCP snooping ngăn chặn Rogue DHCPServer Attack DHCP snooping cho phép cấu hình port dưới 2 dạngtrusted và untrusted Untrusted port sẽ loại bỏ bản tin DHCP reply đi vào
nó Trusted port sẽ chấp nhận DHCP reply vào
1.6.3 Spoofing Attack.
MAC spoofing/duplicating
Hiện tượng nhân bản của một địa chỉ MAC dựa vào các công cụsniff hệ thống mạng nhằm lấy địa chỉ MAC hợp pháp của Client khi
Trang 17tham gia vào mạng Bằng cách lắng nghe trên mạng, một user giả mạo
có thể sử dụng địa chỉ MAC của user hợp lệ để thu thập các gói tin gửicho user hợp lệ này
Hình 1.5 Tấn công MAC spoofing
Các nguy cơ xuất phát từ Spoofing attack:
MAC spoofing: attacker có thể sử dụng MAC đang hoạt động trênmạng, hoặc có thể định danh mình như một người dùng hợp lệ
IP spoofing: Ping of death, ICMP unreachable storm, SYN flood,địa chỉ IP có thể bị giả mạo
Phòng thủ Spoofing attack:
IP DHCP snooping
IP source Guard được cấu hình trên untrusted port, sử dụng cơ sở
dữ liệu của DHCP snooping để xác định tính hợp lệ của địa chỉ IP
Kích hoạt IP source Guard, bảo vệ IP (theo cơ sở dữ liệu củaDHCP snooping) và MAC (theo cơ sở dữ liệu của Port security)
Intranet DNS spoofing (Local Network)
DNS cache poisoning: Attacker làm thay đổi các record lưu trữcủa DNS server, do đó DNS server sẽ truy vào địa chỉ IP của mộtwebsite giả được thiết lập bởi attacker Nếu DNS server khôngxác minh lại các gói tin DNS response, nó sẽ lưu trữ những recordvới các IP bị sai lệch
Proxy Server DNS poisoning
Internet DNS spoofing (Remote Network)
Phòng thủ DNS spoofing:
Phân giải tất cả các DNS query vào Local DNS Server
Block các DNS request tới External DNS server
Trang 18 Triển khai DNSSEC (Domain Name System SecurityExtensions).
Cấu hình cho người dùng một port ngẫu nhiên làm source port(nằm trong khoảng định sẵn) cho mỗi gói query gửi đi
Cấu hình Firewall loại bỏ các gói tin DNS đi ra External DNSserver
Hạn chế sử dụng dịch vụ DNS, bằng cách phân quyền cho user
Sử dụng hạn chế tần suất DNS Non-Existent Domain(NXDOMAIN)
Trang 19CHƯƠNG 2: CƠ CHẾ ĐỌC LÉN DÙNG PHƯƠNG PHÁP ARP POISONING.
2.1 Giao thức ARP (Address Resolution Protocol).
Địa chỉ MAC là một địa chỉ vật lý được gán cho mỗi thiết bị mạng và đó là địachỉ duy nhất Các thiết bị trong cùng một mạng dùng địa chỉ MAC này để liên lạc vớinhau tại tầng Data Link trong mô hình OSI
Hình 2.1 Mô hình OSI
Khi các máy tính truyền dữ liệu cho nhau, sẽ tạo ra các packet và các packetnày được lưu truyền trên mạng Các packet này được sử dụng để các thiết bị liên lạcvới nhau tại tầng Network Trong header của packet sẽ có địa chỉ IP nguồn và địa chỉ
IP đích phục vụ cho việc truyền thông Tuy nhiên khi các packet được đóng thành cácframe ở tầng DataLink để truyền trên môi trường mạng thì cần có một địa chỉ cố định
và duy nhất của phần cứng, do đó khi tạo ra các frame thì cần phải có địa chỉ MAC
Do đó cần phải có một cơ chế chuyển đổi các dạng địa chỉ này qua lại với nhau Vìvậy giao thức ARP đã ra đời để thực hiện điều đó
ARP là giao thức ánh xạ địa chỉ IP để tìm ra địa chỉ vật lý của thiết bị trongmạng local
2.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ộtthiế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 tincho nhau giữa thiết bị phát và thiết bị nhận
Trang 20ARP về cơ bản là một quá trình 2 chiều Request/Reply 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
broadcast trên toàn mạng Thiết bị đích sẽ trả lời (reply) bằng một bản tin unicast đến
2.2.1 Cơ chế hoạt động của ARP trong mạng LAN.
Nhằm giúp dễ hiểu hơn cho cơ chế hoạt động của ARP trong mạng LAN,nhóm đưa ra một ví dụ sau:
Thiết bị A khi muốn truyền tin sẽ thực hiện chuyển các gói tin dạng Packets(tại tầng Network) xuống tầng Datalink để đóng gói gói tin vào Frames(trong đó có địa chỉ MAC)
Khi A muốn gửi gói tin này đến một thiết bị khác (ví dụ như X) Nhưng hiệntại, thiết bị A chỉ biết địa chỉ IP của X, mà không biết địa chỉ MAC của X là
gì, khi đó thiết bị A phải thực hiện dò tìm (Ghi chú: Trước khi dò tìm, Achưa biết X là thiết bị nào)
Để thực hiện dò tìm, A sẽ gửi một ARP Request (bao gồm địa chỉ MAC
của A và địa chỉ IP của X)lên toàn bộ một miền broadcast, tức là gửi chonhiều thiết bị khác trong cùng mạng LAN để hỏi rằng: "Địa chỉ MAC củathiết bị có địa chỉ IP này là gì ?"
Sau khi nhận được ARP Request, mỗi một thiết bị trong miền broadcast sẽ
tiến hành so sánh địa chỉ IP nhận được với địa chỉ IP của mình
Nếu không trùng khớp, các thiết bị này sẽ loại bỏ thông tin của ARP
Request này.
Nếu trùng khớp và đúng là IP của nó (thiết bị X), thì X sẽ gửi trả lại cho A
một ARP Reply (có chứa thông tin địa chỉ MAC của mình) (Ghi chú:
Trang 21ARP Reply này thuộc dạng unicast, tức chỉ gửi cho một thiết bị cụ thể là
thiết bị phát)
Sau khi nhận được địa chỉ MAC của X, thiết bị phát (tức là A) sẽ cập nhật
bảng ARP cache của nó và khi đó, hai thiết bị này đã có thể truyền thông
được với nhau, A đã có thể gửi gói tin của mình cho X
2.2.2 Cơ chế hoạt động của ARP trong môi trường hệ thống mạng.
Đối với hoạt động của ARP trong một môi trường phức tạp hơn đó là hai hệthống mạng gắn với nhau thông qua một Router C, Victim A thuộc mạng A muốngửi gói tin đến máy B thuộc mạng B, thì do các broadcast không thể truyền quaRouter nên khi đó Victim A sẽ xem Router C như một cầu nối hay một trung gian(Agent) để truyền dữ liệu Trước đó, Victim A sẽ biết được địa chỉ IP của Router C(địa chỉ Gateway) và biết được rằng để truyền gói tin tới B phải đi qua C Tất cảcác thông tin như vậy sẽ được chứa trong một bảng gọi là bảng định tuyến(Routing Table) Bảng định tuyến theo cơ chế này được lưu giữ trong mỗi máy.Bảng định tuyến chứa thông tin về các Gateway để truy cập vào một hệ thốngmạng nào đó Ví dụ trong trường hợp trên trong bảng sẽ chỉ ra rằng để đi tới LAN
B phải qua port X của Router C Bảng định tuyến sẽ có chứa địa chỉ IP của port X.Quá trình truyền dữ liệu theo từng bước sau :
Victim A gửi một ARP Request (broadcast) để tìm địa chỉ MAC của port X
Router C trả lời (ARP Reply), cung cấp cho Victim A địa chỉ MAC của port X
Sau khi biết được địa chỉ MAC của port X, Victim A truyền gói tin đến port Xcủa Router
Router nhận được gói tin từ Victim A và chuyển gói tin ra port Y của Router.Trong gói tin có chứa địa chỉ IP của máy B Router sẽ gửi ARP Request để tìmđịa chỉ MAC của máy B
Nhận thấy địa chỉ IP được gửi là của mình, máy B sẽ trả lời (ARP Reply) choRouter biết địa chỉ MAC của mình Sau khi nhận được địa chỉ MAC của máy B,Router C gửi gói tin của A đến cho B
Trong cả hai trường hợp trên (cùng mạng LAN hay liên mạng), các thiết bị đềuphải gửi gói tin IP đến một thiết bị có IP khác trên cùng mạng nội bộ để tìm địa
Trang 22chỉ MAC Việc gửi gói tin trong cùng mạng thông qua Switch là dựa vào địa chỉMAC hay địa chỉ phần cứng của thiết bị Sau khi gói tin được đóng gói thì mới bắtđầu được chuyển qua quá trình phân giải địa chỉ ARP và được chuyển đi.
Hình 2.2 Cơ chế hoạt động của quá trình truyền thông ARP
2.3 ARP Cache.
ARP là một giao thức phân giải địa chỉ động Quá trình gửi gói tin Request vàReply sẽ tiêu tốn băng thông mạng Chính vì vậy, càng hạn chế tối đa việc gửi gói tinRequest và Reply sẽ càng góp phần làm tăng khả năng hoạt động của mạng.Từ đó sinh
ra nhu cầu của ARP Caching, nghĩa là lưu lại thông tin của các gói tin vào bộ nhớ đệm ARP Cache.
ARP Cache tĩnh và động (Static and Dynamic ARP Cache Entries)
ARP cache có thể coi như một bảng có chứa một tập tương ứng giữa các
phần cứng và địa chỉ IP Mỗi một thiết bị trên một mạng đều có ARP cache củariêng mình Có hai cách lưu giữ các entry trong Cache để phân giải địa chỉ diễn
ra nhanh Đó là:
Trang 23 ARP Cache tĩnh (Static ARP Cache Entries): Ở đây, sự phân giải địa
chỉ phải được cập nhật một cách thủ công vào bảng cache và được duytrì lâu dài bởi người quản trị Để thực hiện cấu hình ARP tĩnh cho máytính hệ điều hành Windows, ta vào:
Start > Run > cmd >Gõ arp –a.Và Enter Khi đó, bảng danh sách ARP sẽ
được liệt kê Để cấu hình lại ARP tĩnh ta thực hiện gõ tiếp lệnh: arp-s
[ip_cua_computer] [dia_chi_mac] Như hình sau:
Hình 2.3 Cập nhật bảng ARP Cache
ARP Cache động(Dynamic ARP Cache Entries): Ở đây, các địa chỉ IP
và địa chỉ phần cứng được giữ trong cache bởi phần mềm sau khi nhậnđược kết quả của việc hoàn thành quá trình phân giải trước đó Các địachỉ được giữ tạm thời và sau đó được gỡ bỏ
Dynamic Cache được sử dụng rộng rãi hơn vì tất cả các quá trìnhdiễn ra tự động và không cần đến sự tương tác của người quản trị Ngoàihạn chế của việc phải nhập bằng tay, Static Cache còn thêm hạn chế nữa
là khi địa chỉ IP của các thiết bị trong mạng thay đổi thì sẽ dẫn đến việcphải thay đổi ARP cache
Trang 242.4 Tấn công giả mạo ARP cahe (ARP poisoning).
2.4.1 Cơ chế tấn công giả mạo ARP Cache (ARP Poisoning).
Tấn công giả mạo ARP Cache chỉ thực hiện được trong môi trường mạng LAN, mà không thực hiện được trên WAN
Việc giả mạo bảng ARP Cache chính là lợi dụng bản tính không an toàncủa giao thức ARP Không giống như các giao thức khác, chẳng hạn như DNS
(có thể được cấu hình để chỉ chấp nhận các nâng cấp động khá an toàn), các thiết bị sử dụng giao thức phân giải địa chỉ (ARP) sẽ chấp nhận nâng cấp bất cứ lúc nào
Điều này có nghĩa là bất cứ thiết bị nào cũng có thể gửi gói ARP Reply
đến một máy tính khác và máy tính này sẽ cập nhật vào bảng ARP Cache của
nó ngay giá trị mới này Việc gửi một gói ARP Reply khi không có bất cứ một
Request nào được tạo ra có thể được gọi nôm na là việc gửi ARP " vu vơ" Khi
các ARP Reply vu vơ này đến được các máy tính đã gửi Request, máy tính
Request này sẽ nghĩ rằng đó chính là đối tượng mình đang tìm kiếm để truyềnthông, và nó sẽ thực hiện update bảng ARP Cache của mình mà không hề biết
là nó đang truyền thông với một kẻ tấn công.
Cơ chế tấn công giả mạo ARP Cache.
Cơ chế tấn công giả mạo ARP Cache cụ thể sẽ như sau:
Giả sử trong một mạng LAN có 4 thiết bị (máy tính) như sau:
Victim A: là máy phát ARP Request, và cũng là một trong hai nạn nhân trong cuộc tấn công ARP Cache.
ARP Cache của Victim A
Trang 25ARP Cache của Attacker
Attacker(kẻ tấn công) muốn thực hiện tấn công ARP đối với máy VictimA và B Attacker muốn rằng mọi gói tin mà Victim Avà Victim Btrao đổi đều bị chụp lại để 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 10.0.0.10 (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
Nội dung gói ARP Reply của B
Trang 26lạc, truyền dữ liệu tới Victim B dựa trên thông tin địa chỉ MAC vừa lưu Khinày, Attacker không thể xem nội dung dữ liệu được truyền giữa 2 máyVictim 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 Reply chứa thông tin
về IP Victim B, MAC của Attacker và MAC Victim A, nghĩa là trong gói
ARP Reply, 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 Reply lúc này đã chứa mã độc do Attacker tạo ra.
Nội dung gói ARP Reply của Attacker
ff-00-11 (MAC của Attacker) Victim A sẽ tiến hành lưu thông tin chứa mã
độc 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ớiVictim A (thông qua Attacker) và cũng cập nhật thông tin chứa mã độc nàyvà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ấncông ARP này Sau khi bị tấn công ARP attack, sẽ rất nguy hiểm cho ngườidù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 Mac của Attacker) trong ARP Cache của haiVictim sẽ bị xóa, vì thế, Attacker phải thường xuyên gửi các gói tin ARPReply chứa mã độc của mình cho các nạn nhân (Victim) để duy trì cuộc tấncông ARP