Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
1,07 MB
Nội dung
ĐH QUỐC GIA TP.HCM ĐH CÔNG NGHỆ THÔNG TIN BÁO CÁO LAB SECURITY ĐỀ TÀI : ARP SPOOFING GVHD : CH.Nguyễn Duy SV thực hiện : Trần Hữu Đức 08520094 Nguyễn Hữu Tín 08520477 Ngô Trần Vĩnh Phúc 08520288 Hoàng Trọng Quốc Bảo 08520026 1 LỜI NÓI ĐẦU Giao thức ARP là một giao thức rất cần thiết và quan trọng trong hệ thống mạng của chúng ta. ARP thực hiện công việc phân giải địa chỉ giữa lớp datalink và lớp network nhằm làm cho việc truyền dữ liệu được liên tục qua mạng. Tuy nhiên nó lại không có bất kì một cơ chế xác thực nào và dễ bị tấn công bởi các hacker. Mục đích của bài lab nhằm giới thiệu các thông tin cơ bản và cách thức hoạt động của giao thức ARP. Tìm hiểu các cơ chế tấn công ARP spoofing và cách phòng thủ. 2 Table of Contents 3 I. GIỚI THIỆU GIAO THỨC ARP Giao thức ARP được thiết kế để phục vụ cho nhu cầu thông dịch các địa chỉ giữa các lớp thứ hai và thứ ba trong mô hình OSI. Lớp thứ hai (lớp 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 (lớp mạng), 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. Lớp data-link xử lý trực tiếp với các thiết bị được kết nối với nhau, còn lớp mạng xử lý các thiết bị được kết nối trực tiếp và không trực tiếp. Mỗi lớp có cơ chế phân định địa chỉ riêng, và chúng phải làm việc với nhau để tạo nên một mạng truyền thông. Với lý do đó, ARP được tạo với RFC 826, “một giao thức phân định địa chỉ Ethernet - Ethernet Address Resolution Protocol”. Mỗi thiết bị trong hệ thống mạng của chúng ta có ít nhất hai địa chỉ. Một địa chỉ là Media Access Control ( MAC ) và một địa chỉ Internet Protocol ( IP ). Địa chỉ MAC là địa chỉ của card mạng gắn vào bên trong thiết bị, nó là duy nhất và không hề thay đổi. Địa chỉ IP có thể thay đổi theo người sử dụng tùy vào môi trường mạng. ARP là một trong những giao thức của IP, chức năng của nó dùng để định vị một host trong một segment mạng bằng cách phân giải địa chỉ IP ra địa chỉ MAC. ARP thực hiện điều đó thông qua một tiến trình broadcast gói tin đến tất cả các host trong mạng, gói tin đó chứa địa chỉ IP của host cần giao tiếp. Các host trong mạng đều nhận được gói tin đó và chỉ duy nhất host nào có địa chỉ IP trùng với địa chỉ IP trong gói tin mới trả lời lại, còn lại sẽ tự động drop gói tin. ARP là một giao thức hết sức đơn giản, nó đơn thuần có 4 loại message cơ bản sau: • An ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ IP này? " • An ARP Reply: máy tính B trả lời máy tính A : "tôi có IP đó, địa chỉ MAC của tôi là " • An Reverse ARP Request: máy tính A sẽ hỏi toàn mạng : " ai có địa chỉ MAC này? " • An Reverse ARP Reply: máy tính B trả lời máy tính A: " tôi có MAC đó, địa chỉ IP của tôi là " 4 II. NGUYÊN TẮC LÀM VIỆC CỦA ARP Khi một thiết bị mạng muốn biết địa chỉ MAC của một thiết bị mạng nào đó mà nó đã biết địa chỉ ở tầng network (IP, IPX…) nó sẽ gửi một ARP request bao gồm địa chỉ MAC address của nó và địa chỉ IP của thiết bị mà nó cần biết MAC address trên toàn bộ một miền broadcast. Mỗi một thiết bị nhận được request này sẽ so sánh địa chỉ IP trong request với địa chỉ tầng network của mình. Nếu trùng địa chỉ thì thiết bị đó phải gửi ngược lại cho thiết bị gửi ARP request một gói tin (trong đó có chứa địa chỉ MAC của mình). Trong một hệ thống mạng đơn giản, ví dụ như PC A muốn gửi gói tin đến PC B và nó chỉ biết được địa chỉ IP của PC B. Khi đó PC A sẽ phải gửi một ARP broadcast cho toàn mạng để hỏi xem "địa chỉ MAC của PC có địa chỉ IP này là gì ?" Khi PC B nhận được broadcast này, nó sẽ so sánh địa chỉ IP trong gói tin này với địa chỉ IP của nó. Nhận thấy địa chỉ đó là địa chỉ của mình, PC B sẽ gửi lại một gói tin cho PC A trong đó có chứa địa chỉ MAC của B. Sau đó PC A mới bắt đầu truyền gói tin cho B. 5 III. ARP CACHE 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ỉ Internet Protocol (IP). Mỗi một thiết bị trên một mạng nào đó đều có cache riêng. Có hai cách lưu giữ các entry trong cache để phân giải địa chỉ diễn ra nhanh. Đó là: Các entry ARP Cache tĩnh. Ở đây, sự phân giải địa chỉ phải được add một cách thủ công vào bảng cache và được duy trì lâu dài. Các entry ARP Cache động. Ở đây, các địa chỉ IP và 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 địa chỉ được giữ tạm thời và sau đó được gỡ bỏ. ARP Cache biến một quá trình có thể gây lãng phí về mặt thời gian thành một quá trình sử dụng thời gian một cách hiệu quả. Mặc dù vậy nó có thể bắt gặp một số vấn đề. Cần phải duy trì bảng cache. Thêm vào đó cũng có thể các entry cache bị “cũ” theo thời gian, vì vậy cần phải thực thi hết hiệu lực đối với các entry cache sau một quãng thời gian nào đó. 6 Hình 1: Quá trình truyền thông ARP Thực chất trong vấn đề hoạt động của ARP được tập trung vào hai gói, một gói ARP request và một gói ARP reply. Mục đích của request và reply là tìm ra địa chỉ MAC phần cứng có liên quan tới địa chỉ IP đã cho để lưu lượng có thể đến được đích của nó trong mạng. Gói request được gửi đến các thiết bị trong đoạn mạng, trong khi gửi nó nói rằng (đây chỉ là nhân cách hóa để giải thích theo hướng dễ hiểu nhất) “Hey, địa chỉ IP của tôi là XX.XX.XX.XX, địa chỉ MAC của tôi là XX:XX:XX:XX:XX:XX. Tôi cần gửi một vài thứ đến một người có địa chỉ XX.XX.XX.XX, nhưng tôi không biết địa chỉ phần cứng này nằm ở đâu trong đoạn mạng của mình. Nếu ai đó có địa chỉ IP này, xin hãy đáp trả lại kèm với địa chỉ MAC của mình!” Đáp trả sẽ được gửi đi trong gói ARP reply và cung cấp câu trả lời, “Hey thiết bị phát. Tôi là người mà bạn đang tìm kiếm với địa chỉ IP là XX.XX.XX.XX. Địa chỉ MAC của tôi là XX:XX:XX:XX:XX:XX.” Khi quá trình này hoàn tất, thiết bị phát sẽ cập nhật bảng ARP cache của nó và hai thiết bị này có thể truyền thông với nhau. 7 IV. NGUYÊN LÝ TẤN CÔNG Giao thức ARP là rất cần thiết và quan trọng trong hệ thống mạng của chúng ta, tuy nhiên nó lại không đề cập đến vấn đề xác thực nào cả. Khi một host nhận được gói tin ARP Reply, nó hoàn toàn tin tưởng và mặc nhiên sử dụng thông tin đó để sử dụng sau này mà không cần biết thông tin đó có phải trả lời từ một host mà mình mong muốn hay không. ARP không có cơ chế nào để kiểm tra việc đó cả và trên thực tế một host có thể chấp nhận gói ARP Reply mà trước đó không cần phải gửi gói tin ARP Request. Lợi dụng điều này, hacker có thể triển khai các phương thức tấn công như: Man In The Middle, Denial of Service, MAC Flooding 1. DENIAL OF SERVICE Cũng vận dụng kỹ thuật trên, hacker tiến hành tấn công bằng cách gởi gói ARP Reply đến toàn bộ các host trong mạng với nội dung mang theo là địa chỉ IP của Gateway và địa chỉ MAC không hề tồn tại. Như vậy các host trong mạng tin tưởng rằng mình đã biết được MAC của Gateway và khi gửi thông tin đến Gateway, kết quả là gửi đến một nơi hoàn toàn không tồn tại. Đó là điều hacker mong muốn, toàn bộ các host trong mạng đều không thể đi ra Internet được. 2. MAC FLOODING Cách tấn công này cũng dùng kỹ thuật ARP Poisoning mà đối tượng nhắm đến là Switch. Hacker sẽ gửi những gói ARP Reply giả tạo với số lượng khổng lồ nhằm làm Switch xử lý không kịp và trở nên quá tải. Khi đó, Switch sẽ không đủ sức thể hiện bản chất Layer2 của mình nữa mà broadcast gói tin ra toàn bộ các port của mình. Hacker dễ dàng bắt được toàn bộ thông tin trong mạng của bạn. 3. MAN IN THE MIDDLE Giả sử hacker muốn theo dõi host A gởi thông tin gì cho host B. Đầu tiên, hacker sẽ gởi gói ARP Reply đến host A với nội dung là địa chỉ MAC của hacker và địa chỉ IP của hostB. Tiếp theo, hacker sẽ gửi gói ARP Reply tới host B với nội dung là MAC của máy hacker và IP của host A. Như vậy, cả hai host A và host B đều tiếp nhận gói ARP Reply đó và lưu vào trong ARP table của mình. Đến lúc này, khi host A muốn gửi thông tin đến host B, nó liền tra vào ARP table thấy đã có sẵn thông tin 8 về địa chỉ MAC của host B nênsẽ lấy thông tin đó ra sử dụng, nhưng thực chất địa chỉ MAC đó là của hacker. Đồng thời máy tính của hacker sẽ mở chức năng gọi là IP Forwading giúp chuyển tải nội dung mà host A gửi qua host B. Host A và host B giao tiếp bình thường và không có cảm giác bị qua máy trung gian là máy của hacker. Trong trường hợp khác, hacker sẽ nghe lén thông tin từ máy bạn đến Gateway. Như vậy mọi hành động ra Internet của bạn đều bị hacker ghi lại hết, dẫn đến việc mất mát các thông tin nhạy cảm. 9 V. CÁCH PHÒNG THỦ ARP Poisoning là một kiểu tấn công dạng local, nghĩa là hacker thực hiện tấn công từ bên trong mạng của bạn. Hậu quả của cách tấn công này là rất lớn, những người quản trị mạng cần nắm bắt rõ về kỹ thuật tấn công này. Sau đây là một số kỹ thuật giúp phòng chống tấn công kiểu ARP Poisoning. 1. Đối với một mạng nhỏ: Ta có thể sử dụng địa chỉ IP tĩnh và ARP table tĩnh, khi đó, bạn sẽ liệt kê bằng tay IP nào đi với MAC nào. Trong Windows có thể sử dụng câu lệnh ipconfig /all để xem IP và MAC, dùng câu lệnh arp -s để thêm vào ARP table. Khi mà ép tĩnh như vậy sẽ ngăn chặn hacker gởi các gói ARP Reply giả tạo đến máy của mình vì khi sử dụng ARP table tĩnh thì nó luôn luôn không thay đổi. Chú ý rằng cách thức này chỉ áp dụng được trong môi trường mạng với quy mô nhỏ, nếu mạng lớn hơn là không thể vì chúng ta phải thêm vào ARP table bằng tay với số lượng quá nhiều. 2. Đối với một mạng lớn: Khi quản trị trong một mạng quy mô lớn, ta có thể sử dụng chức năng Port security. Khi mở chức năng Port security lên các port của Switch, ta có thể quy định port đó chỉ chấp nhận một địa chỉ MAC. Như vậy sẽ ngăn chặn việc thay đổi địa chỉ MAC trên máy hacker. Ngoài ra cũng có thể sử dụng các công cụ, ví dụ như ArpWatch. Nó sẽ phát hiện và báo cáo cho bạn các thông tin liên quan đến ARP đang diễn ra trong mạng. Nhờ đó, nếu có hiện tượng tấn công bằng ARP Poisoning thì bạn có thể giải quyết kịp thời. 10 [...]... các cuộc tấn công ARP spoofing Lúc này nếu bị tấn công thì chương trình antiarp sẽ hiện thông báo bị tấn công ở góc phải màn hình và khi mở chương trình sẽ thấy thông tin về người tấn công, số lượng gói tin 23 ARP giả mạo bị chặn 24 Màn hình thông báo khi cuộc tấn công ARP dừng 25 Ngoài ra chương trình sẽ tự động sửa lại bảng ARP nếu có sai sót từ trước đó do các chương trình tấn công ARP giả mạo 26 27... đổi được Nội dung câu lệnh: arp –s [IP] [MAC] B1: Dùng câu lệnh arp –s 192.168.1.1 00-02-cf-af-40-14” cho máy con Lúc này máy sẽ lưu thông tin ARP của router vào ARP cache dưới dạng “static” và không cho phép chỉnh sửa Sau đó tiến hành dung Cain để đầu độc ARP nhưng kết quả là thông tin ARP vẫn không bị thay đổi 20 21 22 2 Phần mềm Anti ARP Sau khi cài đặt, mặc định phần mềm ARP sẽ khởi động cùng hệ... cùng mạng LAN vào danh sách: 14 B2: Chọn tab ARP ở phía dưới và click add (+) => chọn cột bên phải là IP router & cột bên trái là IP máy victim: 15 16 Start ARP poisoning : 17 18 B3: Lúc này địa chỉ MAC của router sẽ bị đổi thành địa chỉ MAC của máy tấn công: 000c-29-cd-fd-79 19 VII MÔ HÌNH PHÒNG THỦ 1 ARP tĩnh Sử dụng chức năng đặt IP và ARP tĩnh của ARP cache Lúc nãy mỗi IP sẽ đi với một địa chỉ... mạo ARP Cache là một chiêu khá hiệu quả trong thế giới những kẻ tấn công thụ động “man-in-the-middle” vì nó rất đơn giản nhưng lại hiệu quả Hiện việc giả mạo ARP Cache vẫn là một mối đe dọa rất thực trên các mạng hiện đại, vừa khó bị phát hiện và khó đánh trả Các quản trị viên cần phải thường xuyên kiểm tra thông tin lưu thông trên mạng và xem xét thông tin các gói ARP nhằm phòng chống việc giả mạo ARP. .. Middle Phần mềm được sử dụng ở đây là Cain & Able và tiến hành ARP poisoning Lúc này attacker sẽ đóng vai trò là máy trung gian đứng ở giữa chuyển tải thông điệp giữa hai máy nạn nhân mà nạn nhân không hề hay biết Qua đó attacker có thể thu thập toàn bộ thông tin trao đội giữa hai máy nạn nhân 11 2 Triển khai Máy con lúc đầu sẽ có bảng ARP cache với địa chỉ MAC của ip router 192.168.1.1 là 00-02-cf-af-40-14 . ĐH QUỐC GIA TP.HCM ĐH CÔNG NGHỆ THÔNG TIN BÁO CÁO LAB SECURITY ĐỀ TÀI : ARP SPOOFING GVHD : CH.Nguyễn Duy SV thực hiện : Trần Hữu Đức 08520094 Nguyễn Hữu. dụng các công cụ, ví dụ như ArpWatch. Nó sẽ phát hiện và báo cáo cho bạn các thông tin liên quan đến ARP đang diễn ra trong mạng. Nhờ đó, nếu có hiện tượng tấn công bằng ARP Poisoning thì bạn có. gian nào đó. 6 Hình 1: Quá trình truyền thông ARP Thực chất trong vấn đề hoạt động của ARP được tập trung vào hai gói, một gói ARP request và một gói ARP reply. Mục đích của request và reply là