Khoa công nghệ thông tin bộ MÔn mạng và truyềN thôNG


Mô tả quá trình ARP Request và ARP Reply trong môi trường hệ thống mạng



tải về 1.81 Mb.
trang3/13
Chuyển đổi dữ liệu06.01.2018
Kích1.81 Mb.
#35774
1   2   3   4   5   6   7   8   9   ...   13

Mô tả quá trình ARP Request và ARP Reply trong môi trường hệ thống mạng:


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.

Host A thuộc mạng A muốn gửi gói tin đến host B thuộc mạng B. Do các broadcast không thể truyền qua Router nên khi đó host 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 đó, máy 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ống mạ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 :

- Host A gửi một ARP request (broadcast) để tìm địa chỉ MAC của port X.

- Router C trả lời, cung cấp cho host A địa chỉ MAC của port X.

- Host A truyền gói tin đến port X của Router.

- Router nhận được gói tin từ host A, chuyển gói tin ra port X của Router. Trong gói tin có chứa địa chỉ IP của host B. Router sẽ gửi ARP request để tìm địa chỉ MAC của host B.

- Host 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 host B, Router C gửi gói tin của A đến B.

Trên thực tế ngoài dạng bảng định tuyến này người ta còn dùng phương pháp proxyARP, trong đó có một thiết bị đảm nhận nhiệm vụ phân giải địa chỉ cho tất cả các thiết bị khác.Theo đó các máy trạm không cần giữ bảng định tuyến nữa Router C sẽ có nhiệm vụ thực hiện, trả lời tất cả các ARP request của tất cả các máy.

    1. Các dạng tấn công dựa trên giao thức ARP:


Giao thức ARP là rất cần thiết và quan trọng trong hệ thống mạng, tuy nhiên giao thức này không có tính năng 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 này 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. 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 về địa chỉ MAC của host B nên sẽ 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. Một số dạng tấn công sử dụng kỹ thuật Man in the Middle : ARP Cache, DNS Spoofing, Hijacking HTTP session.


        1. ARP Cache (ARP Poison Routing):

          1. ARP Cache:

ARP có thể coi như một bảng chứa một tập tương ứng giữa các phần cứng và các địa chỉ IP. Mỗi thiết bị trên mạng đều có cache riêng. Để quá trình phân giải địa chỉ diễn ra nhanh ta có thể sử dụng các cách sau để lưu giữ các entry trong cache:

-Sử dụng ARP cache tĩnh :Mỗi địa chỉ IP và địa chỉ MAC tương ứng được thêm một cách thủ công vào bảng cache và được duy trì lâu dài.

-Sử dụng ARP cache động :Địa chỉ IP và phần cứng được lưu trong cache bằng phần mềm.Các địa chỉ này được lưu 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 đề như : 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 đó.


          1. Nguyên lý tấn công:

Phương pháp tấn công này cho phép kẻ tấn công (nằm trên cùng một subnet với các nạn nhân của nó) có thể nghe trộm tất cả các lưu lượng mạng giữa các máy tính nạn nhân. Đây là một trong những hình thức tấn công đơn giản nhất nhưng hiệu quả.

Việc giả mạo bảng ARP chính là lợi dụng bản tính không an toàn củ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 cập nhật độ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 cập nhật bất cứ lúc nào. Điều này có nghĩa rằng 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ó request nào được tạo ra được gọi 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ền thông, tuy nhiên thực chất họ lại đang truyền thông với một kẻ tấn công.



Hình 2 :Chặn bắt thông tin bằng cách giả mạo ARP cache.

Để thực hiện phương pháp tấn công này ta có thể sử dụng một số công cụ như Cain & Abel , Wireshark.

          1. Phương pháp phòng chống:

Phòng chống tấn công ARP cache gặp một số bất lợi vì quá trình ARP xảy ra trong chế độ background nên có rất ít khả năng có thể điều khiển trực tiếp được chúng. Không có một giải pháp cụ thể nào để phòng thủ hữu hiệu nhưng tùy tình huống ta có thể sử dụng một số phương pháp sau:

  • Mã hóa 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 một quá trình kém động hơn. Đây là một tùy chọn vì các máy tính Windows cho phép bạn có thể bổ sung các entry tĩnh vào ARP cache. Ta có thể xem ARP cache của máy tính Windows bằng cách mở cmd và đánh vào đó lệnh arp –a.

Có thể thêm các entry vào danh sách này bằng cách sử dụng lệnh : arp –s .

Trong các trường hợp, cấu hình mạng ít có sự thay đổi, ta 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ì các ARP request và ARP reply.



  • Kiểm tra lưu lượng ARP cache với chương trình của hãng thứ 3:

Một biện pháp phòng chống lại việc giả mạo ARP cache là phương pháp kiểm tra lưu lượng mạng của các thiết bị. Ta có thể thực hiện điều này với một vài hệ thống phát hiện xâm phạm (chẳng hạn như Snort) hoặc thông qua các tiện ích được thiết kế đặc biệt cho mục đích này (như xARP). Điều này có thể khả thi khi ta chỉ quan tâm đến một thiết bị nào đó, tuy nhiên nó vẫn khá cồng kềnh và vướng mắc trong việc giải quyết với toàn bộ phân đoạn mạng.
        1. Giả mạo DNS (DNS Spoofing):

          1. Truyền thông DNS:

Giao thức Domain Naming System (DNS) được định nghĩa trong RFC 1034/1035 có thể được xem như là một trong những giao thức quan trọng nhất được sử dụng trong Internet. Nói ngắn ngọn để dễ hiểu, bất cứ khi nào ta đánh một địa chỉ web chẳng hạn như http://www.google.com vào trình duyệt, yêu cầu DNS sẽ được đưa đến máy chủ DNS để tìm ra địa chỉ IP tương xứng với tên miền mà ta vừa nhập. Các router và các thiết bị kết nối Internet sẽ không hiểu google.com là gì, chúng chỉ hiểu các địa chỉ chẳng hạn như 74.125.95.103.

Máy chủ DNS làm việc bằng cách lưu một cơ sở dữ liệu các entry (được gọi là bản ghi tài nguyên) địa chỉ IP để bản đồ hóa tên DNS, truyền thông các bản ghi tài nguyên đó đến máy khách và đến máy chủ DNS khác. Ở đây ta sẽ không đi vào giới thiệu các khía cạnh về kiến trúc hay thậm chí các kiểu lưu lượng DNS khác nhau, mà chỉ giới thiệu một phiên giao dịch DNS cơ bản.




Hình 3:Truy vấn và hồi đáp DNS

DNS hoạt động theo hình thức truy vấn và đáp trả (query/response). Một máy khách cần phân giải DNS cho một địa chỉ IP nào đó sẽ gửi đi một truy vấn đến máy chủ DNS, máy chủ DNS này sẽ gửi thông tin được yêu cầu trong gói đáp trả của nó. Đứng ở góc độ máy khách , chỉ có hai gói xuất hiện lúc này là truy vấn và đáp trả.



Hình 4: Truy vấn và hồi đáp DNS bằng đệ quy


          1. Nguyên lý giả mạo DNS:

Có nhiều cách để có thể thực hiện vấn đề giả mạo DNS. Ở đây ta sẽ tìm hiểu kỹ thuật giả mạo DNS ID.

Mỗi truy vấn DNS được gửi qua mạng đều có chứa một số nhận dạng duy nhất, mục đích của số nhận dạng này là để phân biệt các truy vấn và đáp trả chúng. Điều này có nghĩa rằng nếu một máy tính đang tấn công của chúng ta có thể chặn một truy vấn DNS nào đó được gửi đi từ một thiết bị cụ thể, thì tất cả những gì chúng ta cần thực hiện là tạo một gói giả mạo có chứa số nhận dạng đó để gói dữ liệu đó được chấp nhận bởi mục tiêu.



Chúng ta sẽ hoàn tất quá trình này bằng cách thực hiện hai bước với một công cụ đơn giản. Đầu tiên, chúng ta cần giả mạo ARP cache thiết bị mục tiêu để định tuyến lại lưu lượng của nó qua host đang tấn công của mình, từ đó có thể chặn yêu cầu DNS và gửi đi gói dữ liệu giả mạo. Mục đích của kịch bản này là lừa người dùng trong mạng mục tiêu truy cập vào website độc thay vì website mà họ đang cố gắng truy cập

Hình 5: Tấn công giả mạo DNS bằng cách giả mạo DNS ID

Có thể sử dụng công cụ Ettercap để thực hiện mô phỏng tấn công giả mạo DNS.

          1. Phòng chống tấn công giả mạo DNS:

Việc phòng thủ với tấn công giả mạo DNS khá khó khăn vì có ít các dấu hiệu để nhận biết bị tấn công. Thông thường, ta không hề biết DNS của mình bị giả mạo cho tới khi điều đó xảy ra. Kết quả nhận được là một trang web khác hoàn toàn so với những gì mong đợi. Trong các tấn công với chủ đích lớn, rất có thể người dùng sẽ không hề biết rằng mình đã bị lừa nhập các thông tin quan trọng của mình vào một website giả mạo. Sau đây là một số phương pháp phòng thủ tấn công giả mạo DNS:

* Bảo vệ các máy tính bên trong của mạng: Các tấn công giống như trên thường được thực thi từ bên trong mạng . Nếu các thiết bị mạng an toàn thì ta sẽ giảm được khả năng các host bị thỏa hiệp và được sử dụng để khởi chạy tấn công giả mạo.

* Không dựa vào DNS cho các hệ thống bảo mật: Trên các hệ thống an toàn và có độ nhạy cảm cao, không duyệt Internet trên nó là cách thực hiện tốt nhất để không sử dụng đến DNS. Nếu dùng phần mềm sử dụng hostname để thực hiện một số công việc của nó thì chúng cần phải được điều chỉnh cho phù hợp trong file cấu hình thiết bị.

* Sử dụng IDS: Một hệ thống phát hiện xâm nhập, khi được đặt và triển khai đúng, có thể vạch mặt các hình thức giả mạo ARP cache và giả mạo DNS.

* Sử dụng DNSSEC: DNSSEC là một giải pháp thay thế mới cho DNS, sử dụng các bản ghi DNS có chữ ký để bảo đảm sự hợp lệ hóa của đáp trả truy vấn. Tuy DNSSEC vẫn chưa được triển khải rộng rãi nhưng nó đã được chấp thuận là “tương lai của DNS”.

          1. Kết luận:

Giả mạo DNS là một hình thức tấn công MITM khá nguy hiểm khi được đi sử dụng với mục đích ăn cắp thông tin. Sử dụng công nghệ này những kẻ tấn công có thể tận dụng các kỹ thuật giả mạo để đánh cắp các thông tin quan trọng của người dùng, hay cài đặt malware trên một ổ đĩa bị khai thác, hoặc gây ra một tấn công từ chối dịch vụ.
      1. Denial of Service :


Một cuộc tấn công từ chối dịch vụ (tấn công DoS) hay tấn công từ chối dịch vụ phân tán (tấn công DDoS) là quá trình làm cho tài nguyên của một máy tính không thể sử dụng được nhằm vào những người dùng của nó. Mặc dù phương tiện để tiến hành, động cơ, mục tiêu của tấn công từ chối dịch vụ là khác nhau, nhưng nói chung nó gồm có sự phối hợp, sự cố gắng ác ý của một người hay nhiều người để chống lại Internet site hoặc service (dịch vụ Web) vận hành hiệu quả hoặc trong tất cả, tạm thời hay một cách không xác định. Thủ phạm tẩn công từ chối dịch vụ nhằm vào các mục tiêu site hay server tiêu biểu như ngân hàng, cổng thanh toán thẻ tín dụng và thậm chí DNS root servers.

Một phương thức tấn công phổ biến kéo theo sự bão hoà máy mục tiêu với các yêu cầu liên lạc bên ngoài, đến mức nó không thể đáp ứng giao thông hợp pháp, hoặc đáp ứng quá chậm. Trong điều kiện chung, các cuộc tấn công DoS được bổ sung bởi ép máy mục tiêu khởi động lại hoặc tiêu thụ hết tài nguyên của nó đến mức nó không cung cấp dịch vụ, hoặc làm tắc nghẽn liên lạc giữa người sử dụng và nạn nhân.


        1. Nhận diện:


Dấu hiệu của một cuộc tấn công từ chối dịch vụ gồm có:

  • Mạng thực thi chậm khác thường (mở file hay truy cập Website).

  • Không thể dùng một Website cụ thể.

  • Không thể truy cập bất kỳ Website nào.

  • Tăng lượng thư rác nhận được.

Tấn công từ chối dịch cũng có thể dẫn tới vấn đề về nhánh mạng của máy đang bị tấn công. Ví dụ băng thông của router giữa Internet và Lan có thể bị tiêu thụ bởi tấn công, làm tổn hại không chỉ máy tính ý định tấn công mà còn là toàn thể mạng.
        1. Các cách thức tấn công DoS:

          1. Phá hoại dựa trên tính giới hạn hoặc không thể phục hồi của tài nguyên mạng:

  • Thông qua kết nối: Kiểu tấn công SYN flood

Lợi dụng cách thức hoạt động của kết nối TCP/IP, hacker bắt đầu quá trình thiết lập một kết nối TPC/IP tới mục tiêu muốn tấn công mà không gửi trả gói tin ACK, khiến cho mục tiêu luôn rơi vào trạng thái chờ (đợi gói tin ACK từ phía yêu cầu thiết lập kết nối) và liên tục gửi gói tin SYN ACK để thiết lập kết nối. Một cách khác là giả mạo địa chỉ IP nguồn của gói tin yêu cầu thiết lập kết nối SYN và cũng như trường hợp trên, máy tính đích cũng rơi vào trạng thái chờ vì các gói tin SYN ACK không thể đi đến đích do địa chỉ IP nguồn là không có thật. Kiểu tấn công SYN flood được các hacker áp dụng để tấn công một hệ thống mạng có băng thông lớn hơn hệ thống của hacker.

Hình 6: Kiểu tấn công SYN flood




  • Lợi dụng nguồn tài nguyên của chính nạn nhân để tấn công:

-Kiểu tấn công Land Attack: Kiểu tấn công Land Attack cũng tương tự như SYN flood, nhưng hacker sử dụng chính IP của mục tiêu cần tấn công để dùng làm địa chỉ IP nguồn trong gói tin, đẩy mục tiêu vào một vòng lặp vô tận khi cố gắng thiết lập kết nối với chính nó.

-Kiểu tấn công UDP flood: Hacker gửi gói tin UDP echo với địa chỉ IP nguồn là cổng loopback của chính mục tiêu cần tấn công hoặc của một máy tính trong cùng mạng. Với mục tiêu sử dụng cổng UDP echo (port 7) để thiết lập việc gửi và nhận các gói tin echo trên 2 máy tính (hoặc giữa mục tiêu với chính nó nếu mục tiêu có cấu hình cổng loopback), khiến cho 2 máy tính này dần dần sử dụng hết băng thông của chúng, và cản trở hoạt động chia sẻ tài nguyên mạng của các máy tính khác trong mạng.



  • Sử dụng băng thông: Tấn công kiểu DDoS (Distributed Denial of Service)

Đây là cách thức tấn công rất nguy hiểm. Hacker xâm nhập vào các hệ thống máy tính, cài đặt các chương trình điều khiển từ xa, và sẽ kích hoạt đồng thời các chương trình này vào cùng một thời điểm để đồng loạt tấn công vào một mục tiêu. Với DDoS, các hacker có thể huy động tới hàng trăm thậm chí hàng ngàn máy tính cùng tham gia tấn công cùng một thời điểm (tùy vào sự chuẩn bị trước đó của hacker) và có thể "ngốn" hết băng thông của mục tiêu trong nháy mắt.

Hình 7: Kiểu tấn công DDoS



  • Sử dụng các nguồn tài nguyên khác:

Kẻ tấn công lợi dụng các nguồn tài nguyên mà nạn nhân cần đến để tấn công. Những kẻ tấn công có thể thay đổi dữ liệu và tự sao chép dữ liệu mà nạn nhân cần lên nhiều lần làm CPU bị quá tải và các quá trình xử lý dữ liệu bị đình trệ.

-Tấn công kiểu Smurf Attack: Kiểu tấn công này cần một hệ thống rất quan trọng, đó là mạng khuyếch đại. Hacker dùng địa chỉ của máy tính cần tấn công bằng cách gửi gói tin ICMP echo cho toàn bộ mạng (broadcast). Các máy tính trong mạng sẽ đồng loạt gửi gói tin ICMP reply cho máy tính mà hacker muốn tấn công. Kết quả là máy tính này sẽ không thể xử lý kịp thời một lượng lớn thông tin và dẫn tới bị treo máy.



Hình 8: Kiểu tấn công Smurf Attack

-Tấn công kiểu Tear Drop: Trong mạng chuyển mạch gói, dữ liệu được chia thành nhiều gói tin nhỏ, mỗi gói tin có một giá trị offset riêng và có thể truyền đi theo nhiều con đường khác nhau để tới đích. Tại đích, nhờ vào giá trị offset của từng gói tin mà dữ liệu lại được kết hợp lại như ban đầu. Lợi dụng điều này, hacker có thể tạo ra nhiều gói tin có giá trị offset trùng lặp nhau gửi đến mục tiêu muốn tấn công. Kết quả là máy tính đích không thể sắp xếp được những gói tin này và dẫn tới bị treo máy vì bị "vắt kiệt" khả năng xử lý.

          1. Phá hoại hoặc chỉnh sửa thông tin cấu hình:

Lợi dụng việc cấu hình thiếu an toàn như việc không xác thực thông tin trong việc gửi/nhận bản tin cập nhật (update) của router... mà kẻ tấn công sẽ thay đổi trực tiếp hoặc từ xa các thông tin quan trọng này, khiến cho những người dùng hợp pháp không thể sử dụng dịch vụ.

Ví dụ: hacker có thể xâm nhập vào DNS để thay đổi thông tin, dẫn đến quá trình biên dịch tên miền (domain) sang địa chỉ IP của DNS bị sai lệch. Hậu quả là các yêu cầu của máy trạm (Client) sẽ tới một tên miền khác (đã bị thay đổi) thay vì tên miền mong muốn.


          1. Phá hoại hoặc chỉnh sửa phần cứng:

Lợi dụng quyền hạn của chính bản thân kẻ tấn công đối với các thiết bị trong hệ thống mạng để tiếp cận phá hoại các thiết bị phần cứng như router, switch…
        1. Cách phòng chống:


Hậu quả mà DoS gây ra không chỉ tiêu tốn nhiều tiền bạc, và công sức mà còn mất rất nhiều thời gian để khắc phục. Vì vậy, hãy sử dụng các biện pháp sau để phòng chống DoS:

  • Mô hình hệ thống cần phải được xây dựng hợp lý, tránh phụ thuộc lẫn nhau quá mức. Bởi khi một bộ phận gặp sự cố sẽ làm ảnh hưởng tới toàn bộ hệ thống.

  • Thiết lập mật khẩu mạnh (strong password) để bảo vệ các thiết bị mạng và các nguồn tài nguyên quan trọng khác.

  • Thiết lập các mức xác thực đối với người sử dụng cũng như các nguồn tin trên mạng. Đặc biệt, nên thiết lập chế độ xác thực khi cập nhật các thông tin định tuyến giữa các router.

  • Xây dựng hệ thống lọc thông tin trên router, firewall… và hệ thống bảo vệ chống lại SYN flood.

  • Chỉ kích hoạt các dịch vụ cần thiết, tạm thời vô hiệu hoá và dừng các dịch vụ chưa có yêu cầu hoặc không sử dụng.

  • Xây dựng hệ thống định mức, giới hạn cho người sử dụng, nhằm mục đích ngăn ngừa trường hợp người sử dụng ác ý muốn lợi dụng các tài nguyên trên server để tấn công chính server hoặc mạng và server khác.

  • Liên tục cập nhật, nghiên cứu, kiểm tra để phát hiện các lỗ hổng bảo mật và có biện pháp khắc phục kịp thời.

  • Sử dụng các biện pháp kiểm tra hoạt động của hệ thống một cách liên tục để phát hiện ngay những hành động bất bình thường.

  • Xây dựng và triển khai hệ thống dự phòng.
      1. 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 .
        1. Chức năng chuyển mạch của Switch:


Việc đưa thiết bị chuyển mạch vào một LAN có nhiều mục đích nhưng mục đích quan trong nhất là để chia một 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.Chức năng chính của switch là vận chuyển các frame lớp 2 qua lại giữa các collision domain này. Các collision domain này còn được gọi là các đoạn LAN (LAN segment).

Để 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 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 và được gọi là bảng CAM (Content Address Memory).

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ỷ.

Hình 9: Chức năng chuyển mạch của Switch.

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.

Các thao tác đối với bảng CAM của một switch [1]:

Để xem nội dung bảng CAM của switch, dùng lệnh:

Switch# show mac address-table dynamic [address mac-address |

interface type mod/num |vlan vlan-id]

Lệnh này sẽ liệt kê tất cả các địa chỉ MAC mà switch học được. Nếu muốn

cụ thể hơn, có thể tìm được vị trí của host đã gắn vào switch bằng cách chỉ

ra địa chỉ của nó hoặc có thể tìm được những địa chỉ MAC đã được học từ

một giao diện nào đó.

Xem kích thước bảng CAM của switch, dùng lệnh:



Switch# show mac address-table count

Xoá các ánh xạ trong bảng CAM, dùng lệnh:



Switch# clear adress-table dynamic [address mac-address |

interface type mod/num |vlan vlan-id]


        1. Tấn công làm tràn bảng CAM:

          1. Nguyên lý tấn công:

Kiểu tấn công làm tràn bảng CAM dựa vào điểm yếu của thiết bị chuyển mạch: bảng CAM chỉ chứa được một số hữu hạn các ánh xạ (ví dụ như switch Catalysh 6000 có thể chứa được tối đa 128000 ánh xạ) và các ánh xạ này không phải tồn tại mãi mãi trong bảng CAM [4]. Sau một khoảng thời gian nào đó, thường là 300 s; nếu địa chỉ này không được dùng trong việc trao đổi thông tin thì nó sẽ bị gỡ bỏ khỏi bảng.Khi bảng CAM được điền đầy, tất cả thông tin đến sẽ được gửi đến tất cả các cổng của nó trừ cổng nó nhận được. Lúc này chức năng của switch không khác gì chức năng của một hub.

Trong hình dưới, host C của kẻ tấn công gửi đi liên tục hàng loạt các bản tin có địa chỉ MAC nguồn là địa chỉ giả mạo (host X và host Y). Switch sẽ cập nhật địa chỉ của các host giả mạo này vào bảng CAM. Kết quả là khi host A gửi tin đến cho host B; địa chỉ của B không tồn tại trong bảng nên gói tin được switch gửi ra các cổng của nó và bản tin A chỉ gửi riêng cho B cũng sẽ được chuyển đến C.

Hình 10 : Mô hình tấn công làm ngập bảng CAM.



          1. Cách phòng chống:

Nguyên lí chung của các phương pháp phòng chống là không để các gói tin có địa chỉ MAC lạ đi qua switch. Phương pháp phòng chống hiệu quả nhất là cấu hình port security trên switch 1. Đây là một đặc trưng cấu hình cho phép điều khiển việc truy cập vào cổng switch thông qua địa chỉ MAC của thiết bị gắn vào.

Khi switch nhận được một gói tin chuyển đến, nó sẽ kiểm tra địa chỉ MAC nguồn của gói tin với danh sách các địa chỉ đã được cấu hình trước đó. Nếu hai địa chỉ này khác nhau thì tuỳ theo sự cấu hình của người quản trị mà switch sẽ xử lí gói tin đến với các mức độ khác nhau.

Các lệnh cấu hình port security:

• Switch(config-if)# switchport mode access

• Switch(config-if)# switchport port-security: cho phép cổng được hoạt động trong chế độ port-security.

• Switch(config-if)# switchport port-security maximum value (tuỳ chọn): câu lệnh cho phép cấu hình số địa chỉ MAC tối đa mà cổng có thể học tự động và cho phép các thiết bị này truyền dữ liệu qua. Mặc định thì cổng chỉ cho phép một địa chỉ MAC (một thiết bị) được gán vào và số địa chỉ có thể nằm trong khoảng từ 1 đến 1024.

• Switch(config-if)# switchport port-security mac-address mac_address (tuỳ chọn) : bên cạnh cách cấu hình cho phép switch học tự động địa chỉ MAC; có thể gán tĩnh một số địa chỉ MAC có thể truy cập vào một port. Nếu số lượng địa chỉ gán tĩnh mà nhỏ hơn số địa chỉ MAC switch có thể học tự động thì số địa chỉ MAC còn lại sẽ được học tự động.

• Switch(config-if)# switchport port-security violation {protect | restrict | shutdown} (tuỳ chọn) : Đây là các biện pháp mà người quản trị có thể tiến hành khi một gói tin đến không phù hợp với yêu cầu của port-security (khi có nhiều hơn số địa chỉ MAC tối đa được học hoặc khi gói tin đến có địa chỉ MAC khác so với các địa chỉ MAC đã được cấu hình tĩnh). Các biện pháp xử lí có thể là :

shutdown: cổng sẽ bị ngừng hoạt động; không nhận và chuyển gói tin.

restrict: cổng chỉ cho phép các gói tin có địa chỉ MAC hợp lệ đi qua; các gói tin vi phạm sẽ bị huỷ. Đồng thời số lượng các bản tin vi phạm sẽ được thống kê và báo cho người quản trị biết.

protect: cũng giống như trong trường hợp restrict, tuy nhiên việc vi phạm sẽ không được ghi lại.

Phương pháp này tuy có yêu cầu công việc của người quản trị tăng lên đôi chút tuy nhiên nó là phương pháp rất hiệu quả để khoá các gói tin không rõ nguồn gốc có ý định tấn công vào switch.




  1. tải về 1.81 Mb.

    Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8   9   ...   13




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương