Mỗi một thiết bị trong 1 mạng (máy tính, router…) đều được nhận diện đưới hai loại địa chỉ:
DANH SÁCH THÀNH VIÊN 1. Phạm Thanh Tòng 2. Trần Thanh Bình 3. Trần Văn Trình MỤC LỤC A. Tìm hiểu về tấn công giao thức ARP I. Giao thức ARP là gì? Tác dụng của ARP Protocol II. Nguyên tắc hoạt động của ARP protocol III. Nguyên lý của tấn công ARP IV. Các hình thức tấn công ARP V. Cách phòng chống B. Tìm hiểu về nghe lén Sniffer I. Nghe lén là gì II. Nguyên lý của nghe lén III. Các công cụ để nghe lén IV. Thực hành sniffing V. Cách phòng chống A. TÌM HIỂU VỀ TẤN CÔNG ARP SPOOFING I. Tìm hiểu về giao thức ARP và cơ chế hoạt động 1.Giao thức ARP là gì? Mỗi một thiết bị trong 1 mạng (máy tính, router…) đều được nhận diện đưới hai loại địa chỉ: - Địa chỉ logic: phụ thuộc vào cấu trúc của từng mạng và có thể thay đổi - Địa chỉ vật lý (MAC address), là địa chỉ được nhà sản xuất ghi card mạng nằm bên trong thiết bị, không thể thay đổi Để 1 thiết bị, cụ thể là một máy tính trong một mạng máy tính có thể truyền và nhận dữ liệu thì nó phải được gán một địa chỉ IP và nó phải cho các thiết bị khác biết địa chỉ MAC của nó. Như vậy ARP là một giao thức nằm trong tầng LINK-LAYER trong mô hình 4 tầng Internet protocol suite. Giúp phân giải địa chỉ IP thành địa chỉ MAC, giúp tìm ra máy tính sẽ nhận /hoặc đã gởi một gói tin đến/ hoặc đi. Giao thức ARP có 4 loại gói tin: -ARP Request: 1 thiết bị sẽ gởi gói tin loại này nhằm mục đích tìm ra địa chỉ MAC của thiết bị đã biết IP -ARP Reply: Đây là gói tin trả lời của thiết bị mà có IP ứng với IP trong gói tin request -Reverse ARP Request: Đây là gói tin có chức năng ngược lại với chức năng của gói tin ARP Request, tức là để tìm IP của thiết bị có địa chỉ MAC đã biết -Reverse ARP Reply: Là loại gói tin trả lời cho RARP Request Cấu trúc của gói tin ARP: 2.Tác dụng của giao thức ARP Xét ví dụ sau: Giả sử máy tính của thầy Phan nằm trong một mạng cục bộ có IP là 192.168.0.1 muốn gởi một gói tin IP đến cho máy của thầy Thành nằm trong cùng mạng có IP là 192.168.0.4, thì quá trình gởi gói tin được thực hiện như sau: Bước 1: Máy thầy Phan xác nhận IP của máy đích nằm cùng mạng với mình, nó tìm trong ARP cache địa chỉ MAC của máy đích ứng với IP máy đích, nếu thấy nó chuyển sang bước 4b, nếu không thấy thì nó thực hiện sang bước 2. Arp cache là bộ đệm nằm trong bộ nhớ truy cập ngẫu nhiên của máy tính dùng để chứa địa chỉ MAC ứng với mỗi IP, Việc sử dụng ARP Cache giúp giảm thời gian truyền, nhận các gói tin bởi không phải tiến hành gởi gói tin ARP Request nhiều lần. “Trong windows để xem nô” Câu này là seo? Không hiểu…. Bước 2: Máy thầy Phan gởi một gói tin ARP request đến tất cả các máy trong cùng mạng LAN. Bước 3: Máy có IP trùng với IP trong phần Target protocol address của gói tin ARP request sẽ xác nhận đó là gói tin gởi đến cho nó và sẽ thực hiện gởi gói tin ARP reply cho máy gởi, còn những máy khác sẽ chỉ nhận gói tin mà không làm gì cả Bước 4: a.Máy thầy Phan (192.168.0.1) nhận được gói tin ARP reply từ máy thầy Thành (192.168.0.4) b. Máy thầy Phan tiến hành cập nhật địa chỉ MAC vừa nhận được vào ARP mapping table. Bước 5: Lúc này nó mới tiến hành gởi gói tin IP với IP đích là 192.168.0.4 và địa chỉ MAC lấy từ ARP mapping table. Tác dụng của giao thức ARP : Cung cấp cơ chế ánh xạ IP thành MAC và ngược lại giúp cho các máy tính cũng như các thiết bị liên lạc được với nhau trong môi trường mạng Việc tồn tại 2 loại địa chỉ cùng một lúc là do các nguyên nhân: * 2 hệ thống địa chỉ được phát triển một cách độc lập bởi các tổ chức khác nhau. * Địa chỉ mạng chỉ có 32 bit sẽ tiết kiệm đường truyền hơn so với địa chỉ vật lý 48 bit. * Khi mạch máy hỏng thì địa chỉ vật lý cũng mất. * Trên quan điểm người thiết kế mạng thì sẽ rất hiệu quả khi tầng IP không liên quan gì với các tầng dưới. Nguyên tắc hoạt động của ARP: +Trong môi trường nội mạng: Một host A muốn gởi 1 gói tin IP đến 1 host B cùng mạng . Nếu trong arp cache của nó đã chức mác ứng với ai pi của host b thì nó chỉ việc gởi gói tin ip với header là ip và mác host B. Tuy nhiên nếu ko có MAC host B thì nó sẽ gởi gói tin ARP Request đến toàn miền broadcast của mạng. Tất cả các host đều nhận dc gói tin nhưng chỉ có host B trả lời lại bằng gói tin ARP Reply để khai báo địa chỉ mác của nó. Có đc MAC, host A sẽ lưu vào arp cache và đóng gói gói tin IP gởi đi +Trong môi trường liên mạng: Host a ở mạng A gởi tin cho host B ở mạng B. Nó nhận thấy IP đích của gói tin IP không nằm cùng mạng với mình do đó nó sẽ : Máy A gửi một ARP request (broadcast) để tìm địa chỉ MAC của port router cùng mạng (X) - Router ® trả lời, cung cấp cho máy A địa chỉ MAC của port X. - Máy A truyền gói tin đến port X của Router trong đó có địa chỉ IP của máy B. - Router nhận được gói tin từ máy A, chuyển gói tin ra port Y của Router. Dĩ nhiên 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. - Máy B sẽ trả lời cho Router biết địa chỉ MAC của mình. Sau khi nhận được địa chỉ MAC của máy B, Router ® gửi gói tin của A đến B Làm sao để tạo các gói tin arp: Các gói tin arp do máy tính tự động tạo ra và quản lý trong quá trình liên lạc giữa các host. Tuy nhiên lập trình viên có thể tạo ra các gói tin arp thủ công (hơi bị phức tạp) Trong windows có thể sử dụng winsock hoặc winpcap. III. Nguyên lý tấn công: Mấu chốt để sinh ra việc tấn công giao thức ARP đó là việc không có một cơ chế nào giúp xác thực quá trình phân giải. Một host khi nhận dc gói tin arp reply nó hiển nhiên sử dụng địa chỉ mac có trong gói tin arp reply đó cung cấp. Từ đó dẫn đến các kiểu tấn công sau: +Man in the middle: hacker (H) cùng mạng nội bộ với host victim (V) muốn nghe lén thông tin của host V trao đổi với host Z (host Z có thể là một máy trong cùng mạng hoặc là router của mạng nếu như host V đang trao đổi với mạng bên ngoài). Các bước của quá trình này như sau: B1: hacker sẽ gởi gói ARP Reply đến host V với nội dung là địa chỉ MAC của hacker và địa chỉ IP của host Z. B2: hacker sẽ gởi gói ARP Reply đến host Z với nội dung là địa chỉ MAC của hacker và địa chỉ IP của host V. B3: Máy hacker (H) sẽ enable chức năng IP forwarding nhằm giúp cho các gói tin qua lại giữa Z và V vẫn đến được với nhau. Lúc này mọi thông tin liên lạc giữa host V và host Z đều đi qua host H và bị Hacker ghi lại. Phần mềm: cain & abel +Denial of service: Host của hacker gởi gói arp reply đến tất cả các host trong máy nội dung là IP gateway và Mac giả. Lúc này toàn bộ các host trong mạng không thể liên lạc được với các mạng khác (internet ) Phần mềm: netcut +Mac flooding: hacker gởi liên tục và không ngừng các gói tin arp reply . switch sẽ xử lý không kịp hoặc xử lý chậm-> làm chậm tốc độ vận tải của mạng và bị đánh cắp thông tin. Biện pháp phòng chống: Mạng nhỏ: sử dụng arp tĩnh Mạng lớn: sử dụng port security, arp watch, wireshark. B. TÌM HIỂU VỀ NGHE LÉN SNIFFER I. Các khái niệm căn bản về Sniffer 1.1 Sniffer là gì ? Khởi đầu Sniffer là tên một sản phẩm của Network Associates có tên là Sniffer Network Analyzer. Đơn giản bạn chỉ cần gõ vào từ khoá Sniffer trên bất cứ công cụ tìm kiếm nào, bạn sẽ có những thông tin về các Sniffer thông dụng hiện nay. 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 (trong một hệ thống mạng). Tương tự như là thiết bị cho phép nghe lén trên đường dây điện thoại. Chỉ khác nhau ở môi trường là các chương trình Sniffer thực hiện nghe nén trong môi trường mạng máy tính. Tuy nhiên những giao dịch giữa các hệ thống mạng máy tính thường là những dữ liệu ở dạng nhị phân (Binary). Bởi vậy để nghe lén và hiểu được những dữ liệu ở dạng nhị phân này, các chương trình Sniffer phải có tính năng được biết như là sự phân tích các nghi thức (Protocol Analysis), cũng như tính năng giải mã (Decode) các dữ liệu ở dạng nhị phân để hiểu được chúng. Trong một hệ thống mạng sử dụng những giao thức kết nối chung và đồng bộ. Bạn có thể sử dụng Sniffer ở bất cứ Host nào trong hệ thống mạng của bạn. Chế độ này được gọi là chế độ hỗn tạp (promiscuous mode). 1.2 Sniffer được sử dụng như thế nào ? Sniffer thường được sử dụng vào 2 mục đích khác biệt nhau. Nó có thể là một công cụ giúp cho các quản trị mạng theo dõi và bảo trì hệ thống mạng của mình. Cũng như theo hướng tiêu cực nó có thể là một chương trình được cài vài một hệ thống mạng máy tính với mục đích đánh hơi, nghe nén các thông tin trên đoạn mạng này .Dưới đây là một số tính năng của Sniffer được sử dụng theo cả hướng tích cực và tiêu cực: - Tự động chụp các tên người sử dụng (Username) và mật khẩu không được mã hoá (Clear Text Password). Tính năng này thường được các Hacker sử dụng để tấn công hệ thống của bạn. - Chuyển đổi dữ liệu trên đường truyền để những quản trị viên có thể đọc và hiểu được ý nghĩa của những dữ liệu đó. - Bằng cách nhìn vào lưu lượng của hệ thống cho phép các quản trị viên có thể phân tích những lỗi đang mắc phải trên hệ thống lưu lượng của mạng. Ví dụ như : Tại sao gói tin từ máy A không thể gửi được sang máy B . etc - Một số Sniffer tân tiến còn có thêm tính năng tự động phát hiện và cảnh báo các cuộc tấn công đang được thực hiện vào hệ thống mạng mà nó đang hoạt động (Intrusion Detecte Service). - Ghi lại thông tin về các gói dữ liệu, các phiên truyền…Tương tự như hộp đen của máy bay, giúp các quản trị viên có thể xem lại thông tin về các gói dữ liệu, các phiên truyền sau sự cố…Phục vụ cho công việc phân tích, khắc phục các sự cố trên hệ thống mạng. 1.3 Quá trình Sniffer được diễn ra như thế nào ? Công nghệ Ethernet được xây dựng trên một nguyên lý chia sẻ. Theo một khái niệm này thì tất cả các máy tính trên một hệ thống mạng cục bộ đều có thể chia sẻ đường truyền của hệ thống mạng đó. Hiểu một cách khác tất cả các máy tính đó đều có khả năng nhìn thấy lưu lượng dữ liệu được truyền trên đường truyền chung đó. Như vậy phần cứng Ethernet được xây dựng với tính năng lọc và bỏ qua tất cả những dữ liệu không thuộc đường truyền chung với nó. Nó thực hiện được điều này trên nguyên lý bỏ qua tất cả những Frame có địa chỉ MAC không hợp lệ đối với nó. Khi Sniffer được tắt tính năng lọc này và sử dụng chế độ hỗn tạp (promiscuous mode). Nó có thể nhìn thấy tất cả lưu lượng thông tin từ máy B đến máy C, hay bất cứ lưu lượng thông tin giữa bất kỳ máy nào trên hệ thống mạng. Miễn là chúng cùng nằm trên một hệ thống mạng. II. Làm thế nào để phòng chống các cuộc tấn công Sniffer ? 2.1 Làm thế nào để ngăn chặn những kẻ muốn Sniffer dữ liệu của tôi ? Có lẽ cách đơn giản nhất để ngăn chặn những kẻ muốn Sniffer dữ liệu của bạn là sử dụng các giao thức mã hoá chuẩn cho dữ liệu trên đường truyền. Khi bạn mã hoá dữ liệu, những kẻ tấn công ác ý có thể Sniffer được dữ liệu của bạn, nhưng chúng lại không thể đọc được nó . - SSL (Secure Socket Layer) : Một giao thức mã hoá được phát triển cho hầu hết các Webserver, cũng như các Web Browser thông dụng. SSL được sử dụng để mã hoá những thông tin nhạy cảm để gửi qua đường truyền như: Số thẻ tin dụng của khách hàng, các password và thông tin quan trọng. http://www.openssl.org/ http://www.modssl.org/ - PGP và S/MIME: E-mail cũng có khả năng bị những kẻ tấn công ác ý Sniffer. Khi Sniffer một E-mail không được mãhoá, chúng không chỉ biết được nội dung của mail, mà chúng còn có thể biết được các thông tin như địa chỉ của người gửi, địa chỉ của người nhận…Chính vì vậy để đảm bảo an toàn và tính riêng tư cho E-mail bạn cũng cần phải mã hoá chúng…S/MIME được tích hợp trong hầu hết các chương trình gửi nhận Mail hiện nay như Netscape Messenger, Outlock Express… [...]... này bằng cách gửi những gói ARP chứa đựng những thông tin về địa chỉ IP của Router đến chính địa chỉ MAC của anh ta Tất cả những máy tính trong hệ thống mạng cục bộ này sẽ nhầm tưởng anh ta là Router và sẽ thiết lập phiên truyền thông đi qua máy tính của anh ta Một cuộc tấn công DOS tương tự trên một hệ thống mạng cục bộ, khi thành công sẽ đá văng mục tiêu mà họ muốn tấn công ra khỏi mạng rồi bắt đầu... bắt đầu sử dụng chính địa chỉ IP của máy tính vừa bị tấn công này Những kẻ tấn công sẽ khéo léo thừa kể và sử dụng những kết nối này Bản than Windows khi phát hiện được hành động này, nó không hành động gì cả mà lại tử tế đóng Stack TCP/IP của chính mình và cho phép kết nối này tiếp tục Để phòng chống lại các cuộc tấn công dạng bạn chỉ cần sử dụng các công cụ IDS (Intrusion Detecte Service) Các IDS như... Switch sẽ tạo ra một “Broadcast Domain” nó có tác dụng gửi đến những kẻ tấn công những gói ARP không hợ lệ (Spoof ARP Packet) Tuy nhiên các Hacker vẫn có những cách thức khéo léo để vượt qua sự phòng thủ này Các yêu cầu truy vấn ARP chứa đựng những thông tin chính xác từ IP cho đến MAC của người gửi Thông thường để giảm bớt lưu lượng ARP trên đường truyền, đa số các máy tính sẽ đọc và sử dụng các thông... trong mạng (không phải Broadcast) Nếu máy tính đó trả lời lại Packet ARP bằng địa chỉ của chính nó Thì máy tính đó đang cài đặt Sniffer ở chế độ hỗn tạp (Promiscuous Mode) Mỗi Packet ARP đều chứa đầy đủ thông tin về người gửi và người nhận Khi Hacker gửi một Packet ARP đến địa chỉ loan truyền tin (Broadcast Address), nó bao gồm thông tin về địa chỉ IP của bạn và địa chỉ MAC được phân giải bởi Ethernet... mạng Ethernet đều nhớ thông tin này Bởi vậy khi Hacker gửi các Packet ARP không đi qua Broadcast Address Tiếp đó anh ta sẽ ping đến Broadcast Address Lúc này bất cứ máy tính nào trả lời lại anh ta mà không bằng ARPing, anh ta có thể chụp được các thông tin về địa chỉ MAC của máy tính này bằng cách sử dụng Sniffer để chụp các khung ARP (ARP Frame) Phương pháp sử dụng DNS : Rất nhiều chương trình Sniffer... trước khi đưa vào VPN Để phòng chống các cuộc tấn công kiểu này: bạn cần nâng cao ý thức cảnh giác cho những người sử dụng trong hệ thống mạng VPN của bạn, đồng thời sử dụng các chương trình quét Virus để phát hiện và ngăn chặn không để hệ thống bị nhiễm Trojan 2.2 Làm thế nào để ngăn chặn những kẻ muốn Sniffer Password của tôi ? Để ngăn chăn những kẻ tấn công muốn Sniffer Password Bạn đồng thời sử dụng... kết nối này tiếp tục Để phòng chống lại các cuộc tấn công dạng bạn chỉ cần sử dụng các công cụ IDS (Intrusion Detecte Service) Các IDS như BlackICE IDS, Snort sẽ tự động phát hiện và cảnh báo về các cuộc tấn công dạng này http://www.blackice.com/ http://www.snort.org/ Hầu hết các Adapter Ethernet đều cho phép cấu hình địa chỉ MAC bằng tay Hacker có thể tạo ra các địa chỉ Spoof MAC bằng cách hướng vào... Switch và Bridge Phương pháp sử dụng ARP: Phương pháp phát hiện Sniffer này tương tự như phương pháp dùng Ping Khác biệt chỗ chúng ta sẽ sử dụng những Packet ARP Bạn có thể tim thấy hướng dẫn chi tiết cụ thể cùng với một chương trình đi kèm hỗ trợ việc phát hiện Sniffer theo phương pháp này ở : http://www.apostols.org/projectz/neped/ Đơn giản bạn chỉ cần gửi một Packet ARP đến một địa chỉ nào đó trong... coi là «quý giá» này các Hacker sẽ tìm cách kiểm tra, sử dụng và khai thác chúng Bạn sẽ làm gí kế tiếp ??? Để biết thêm thông tin về phương pháp thú vị này bạn có thể tham khảo trang thông tin: http://www.zurich.ibm.com/ %7Edac/Prog_RAID98/Full_Papers/sniffer_detector.html/index.htm Phương pháp kiểm tra sự chậm trễ của gói tin (Latency) : Phương pháp này sẽ làm giảm thiểu sự lưu thông trên hệ thống mạng... biết từ những Packet ARP Không gì khác đây là những hành động của một chương trình Sniffer Phương pháp Source-Route : Phương pháp này sử dụng những thông tin như địa chỉ nguồn và địa chỉ đích trong mỗi Header của IP để phát hiện hành động Sniff trên từng đoạn mạng Tiến hành ping từ một máy tính này đến một máy tính khác Nhưng tính năng Routing trên máy tính nguồn phải được vô hiệu hoá Hiểu đơn giản là