Nghiên cứu tính dễ tổn thương của việc giả mạo ARP và phát hiện nó bằng cách sử dụng SNORT
Nguyễn Trung Hiếu
Share Code Web Company 2017

Nghiên cứu tính dễ tổn thương của việc giả mạo ARP và phát hiện nó bằng cách sử dụng SNORT

Abstract – Sự phát triển của các tổ chức ngày càng phụ thuộc vào việc trao đổi thông tin lẫn nhau, do đó đã gia tăng theo cấp số nhân các mối đe dọa đối với an ninh thông tin cũng tăng lên. Tổ chức phải dành một lượng tiền lớn để bảo vệ thông tin từ những kẻ xâm nhập. Những kẻ tấn công khai thác lỗ hổng của các ứng dụng mạng để truy cập trái phép vào thông tin tổ chức. Những lỗ hổng này xuất hiện do mã ứng dụng hoặc quá trình thiết kế kém. Trong bài báo này, chúng tôi sẽ thảo luận về một loại lỗ hổng cấp thiết kế như ARP Spoofing.

ARP Spoofing đã được sử dụng để thực hiện nhiều kiểu tấn công, bao gồm cả việc chiếm quyền điều khiển phiên và tấn công cookie. Chúng tôi đã sử dụng Snort để phát hiện Spoofing ARP. Hiệu suất của snort để phát hiện ARP Spoofing đã được nghiên cứu thực nghiệm trên một mạng thực bằng cách thay đổi số lượng mục tiêu khác nhau.

Tôi – Tác giả của blog – chỉ là thuật lại những nghiên cứu được của bản thân với mục đích chia sẻ để cộng đồng tra cứu, nghiên cứu và học tập. Rất mong nhận được phản hồi từ người đọc nếu như có sai sót. Tôi không chịu trách nhiệm dưới bất kỳ hình thức nào về việc độc giả vận dụng nội dung kiến thức tại đây để thực hiện những hành vi nguy hiểm, phạm pháp khác.
– Sharecodeweb.net

 

Authors

Rajneet Kaur Bijral
– Department of Computer Science & IT
– University of Jammu, J & K
– Jammu, India

Alka Gupta
– Department of Computer Science & IT
– University of Jammu, J & K
– Jammu, India

Lalit Sen Sharma
– Department of Computer Science & IT
– University of Jammu, J & K
– Jammu, India

Introduce

ARP (Address Resolution Protocol) là giao thức được dùng để lập bản đồ địa chỉ logic với địa chỉ vật lý. Bất cứ khi nào một gói tin đến được chỉ định cho một host tại gateway, gateway sẽ yêu cầu chương trình ARP tìm địa chỉ vật lý của host đó. Nếu bộ nhớ cache ARP không tìm thấy thông tin về host được lưu trữ trong bảng ARP thì ARP sẽ phát các yêu cầu ARP request tới tất cả máy  trong mạng để tìm địa chỉ MAC kết hợp với host ban đầu. Trong mạng nếu như tồn tại máy có địa chỉ IP cần tìm, nó sẽ gửi trả lời ARP reply. Bảng ARP sau đó được cập nhật và frame đến được gửi đến địa chỉ MAC của máy tương ứng. Thuộc tính stateless của ARP được khai thác bởi những kẻ tấn công để thực hiện ARP spoofing.

Snort là một hệ thống phát hiện và ngăn chặn xâm nhập mã nguồn mở, có khả năng phân tích lưu lượng thời gian thực và ghi lại các gói tin trên các mạng IP. Nó có thể thực hiện phân tích giao thức, tìm kiếm/ so khớp nội dung, và có thể được sử dụng để phát hiện một loạt các cuộc tấn công và thăm dò [1]. Nó sniff các gói tin trong mạng và so sánh tất cả các gói tin đến với các quy tắc thiết lập để xác định bất kỳ hoạt động độc hại. Snort cũng có thể được sử dụng để phát hiện ARP spoofing và xác định địa chỉ MAC của các máy chủ độc hại trong mạng nội bộ đang gửi các gói tin giả mạo. Trong bài báo này, chúng tôi đã thực hiện ARP spoofing bằng cách khai thác lỗ hổng của ARP. Các cuộc tấn công như cookie stealing and session hijacking đã được thực hiện bằng cách sử dụng ARP spoofing trong Local Area Network. Snort đã được sử dụng để phát hiện ARP spoofing trong mạng nội bộ và hiệu suất của Snort đã được kiểm tra bằng cách thay đổi số lượng các host mục tiêu từ một đến năm.

Related Work

Một số giải pháp đã được đề xuất để giải quyết vấn đề ARP Spoofing, một số trong số chúng đã được lựa chọn như:

Mô hình S-ARP dựa trên mã hoá, trong đó mỗi máy chủ đều có private key/ public key của riêng chúng mà họ gửi cho Cơ quan phân phối khóa (AKD), với sự trợ giúp của việc mã hóa và giải mã. Một trong những bất lợi chính của phương pháp này là mỗi lần nó cần mã hóa tin nhắn do đó cần phải mất thời gian cho mỗi quá trình truyền dẫn kéo theo kết quả là hiệu suất giảm

Kernel-based patch: Anticap  và Antidote là các giải pháp cho ARP spoof  chúng đề nghị một bản vá cho một số hệ điều hành cụ thể để cung cấp bảo vệ chống spoof ARP. Nhưng những vá này có thể được sử dụng với một specific kernel. Hơn nữa, nó làm chậm hiệu suất của mạng lưới tổng thể.

Xing et al.  [2] sử dụng thư viện WinPcaP để nắm bắt và lọc các gói ARP. Gói tin phản hồi ARP được nhận và so sánh với cặp địa chỉ IP-MAC chính xác và cập nhật nếu nó là chính xác. Ai-zeng Qian đề xuất các mục tĩnh để ngăn chặn ARP spoofing nhưng kỹ thuật này vẫn không hoạt động với các mạng động. Trong phương pháp này, quản trị viên chỉ định tất cả các địa chỉ IP cùng với MAC của họ tới máy chủ nên nó sẽ không khả thi đối với mạng quy mô lớn.

Vinay K.R et.al [3]  Bài báo này thảo luận về cuộc tấn công giả mạo ARP. Bài báo đề xuất một thuật toán hiệu quả dựa trên giao thức ICMP để phát hiện tấn công giả mạo ARP. Trong kỹ thuật này các gói ARP được thu thập và phân tích, và sau đó các gói ICMP echo yêu cầu được sử dụng để thăm dò máy chủ độc hại theo các gói tin phản hồi của nó.

Sumit Kumar et.al [4] Bài báo này thảo luận về một hệ thống tập trung và Máy chủ Trung tâm ARP (ARP Central Server) để quản lý các mục bảng ARP trong tất cả các máy. Trong kỹ thuật này tất cả các máy trong mạng sử dụng ACS để xác nhận các mục của chúng trong bảng ARP. ACS xác nhận và hiệu chỉnh các mục ARP bị ngộ độc của các máy bị tấn công và do đó ngăn ngừa ngộ độc ARP trong mạng.

Seung Yeob Nam et.al [5] Một phiên bản nâng cao của Address Resolution Protocol (ARP) được đề xuất để ngăn chặn các cuộc tấn công bằng phương pháp Man-in-the-Middle (MITM) do ngộ độc ARP. Họ đề xuất một cơ chế giải quyết dựa trên bỏ phiếu để phát hiện Ngộ độc ARP.

Ahmed M.AbdelSalam et.al [6] Họ đề xuất một kỹ thuật có thể mở rộng để ngăn chặn các cuộc tấn công giả mạo ARP, mà tự động cấu hình các mục ARP tĩnh. Kỹ thuật dựa trên cả hai sơ đồ địa chỉ tĩnh và DHCP. Họ tiến hành nghiên cứu Hiệu suất trên một mạng lưới thực sự.

Jaideep Singh et.al [7] Họ nghiên cứu rất nhiều biện pháp đã được thực hiện để bảo vệ các cuộc tấn công giả mạo. Họ đã kết luận rằng phương pháp lý tưởng được sử dụng để ngăn chặn các cuộc tấn công ARP là D-ARP, được sử dụng bởi CISCO.

Experiement setup

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… Một loạt các phần mềm miễn phí có sẵn có thể thực hiện tấn công giả mạo ARP ví dụ: Ettercap, Cain và Abel và dsniff.

Trong thử nghiệm này, một mạng LAN của sáu máy tính cá nhân được thiết lập để dò tìm lỗ hổng của ARP Spoofing. Trong thí nghiệm này, máy tính cá nhân với địa chỉ IP 192.170.1.120  và địa chỉ MAC 64: 31: 50: 3B: 03: F2 hoạt động như kẻ tấn công và tấn công được thực hiện trên máy tính nạn nhân với địa chỉ IP 192.170.1.121  và địa chỉ MAC 94:57: A5 : AC: 29: E3 . Công cụ Ettercap được cài đặt trên máy tính tấn công để tạo ra các gói giả mạo

arp spoofing attack

Trong hình trên, kẻ tấn công có địa chỉ IP 192.170.1.120  và địa chỉ MAC 64: 31: 50: 3B: 03: F2  gửi các gói ARP reply bị giả mạo để nhắm mục tiêu với địa chỉ IP 192.170.1.2  và địa chỉ MAC 00: 0D: ED: 6C: F9 : FF . Bảng ARP của mục tiêu sẽ lưu trữ địa chỉ MAC của kẻ tấn công, ví dụ 64: 31: 50: 3B: 03: F2  với địa chỉ IP của nạn nhân, tức là 192.170.1.121 . Người tấn công cũng giả mạo bảng ARP của nạn nhân bằng cách liên kết địa chỉ MAC của nó với địa chỉ IP của mục tiêu 192.170.1.2.  Theo cách này thông tin liên lạc giữa mục tiêu và nạn nhân được kiểm soát bởi kẻ tấn công và kẻ tấn công có thể thực hiện một số cuộc tấn công Man-in-the-Middle.

Snort đã được cài đặt trong chế độ NIDS trên máy đích để phát hiện giả mạo. Nó chụp và đánh giá tất cả các gói ARP reply mà mục tiêu nhận được để xác định các gói tin giả mạo và cũng xác định địa chỉ MAC của máy kẻ tấn công

OBSERVATIONS

Trong thử nghiệm được tiến hành, ARP Poisoning làm cho mạng dễ bị tấn công nghiêm trọng.

Cookie Stealing: Khi trang web được truy cập từ một trình duyệt, dữ liệu cụ thể cho người dùng và trang web được gửi dưới dạng các tập tin cookie và lưu trữ trong trình duyệt của người dùng . Máy chủ sử dụng thông tin này để xác định người dùng đã cho trong các lần truy cập tiếp theo. Bằng ARP Spoofing, kẻ tấn công có thể truy cập các cookie được định hướng cho mục tiêu. Trong thử nghiệm này, cookie đã bị đánh cắp và được phân tích bằng công cụ phân tích gói tin Wireshark được cài đặt trên máy của kẻ tấn công.

Session Hijacking: Cho phép kẻ tấn công kiểm soát kết nối giữa máy tính mục tiêu và nạn nhân, và tiếp tục kết nối với máy đích giả danh là người dùng xác thực. Trong cuộc tấn công này, id phiên của nạn nhân bị mất cắp, để đạt được quyền truy cập vào phiên mục tiêu.

Trong nghiên cứu này, mạng lưới sáu máy được thiết lập để quan sát lỗ hổng liên quan đến ARP Spoofing và nghiên cứu về hiệu suất của Snort để phát hiện ARP Spoofing đã được thực hiện trên một mạng thực bằng cách thay đổi số mục tiêu từ 1 đến 5.

Để phát hiện Spoofing ARP, Snort đã được sử dụng và chạy trong chế độ phát hiện xâm nhập. Snort đã được cài đặt trên một máy trong mạng LAN để thu thập và phân tích tất cả các gói ARP, qua đó phát hiện các gói tin ARP giả mạo và tạo ra các cảnh báo cho người dùng. Đối với điều này, chúng ta phải thực hiện một số thay đổi trong tiền xử lý Snort được gọi là tiền xử lý Arpspoof [1] có trong tệp cấu hình Snort. Chúng ta phải loại bỏ ‘#’ trước các dòng mã sau:

 

Và sửa thành:

 

Sau khi sửa đổi tệp tin cấu hình Snort, Snort phát hiện ARP Spoofing bằng cách tạo các cảnh báo cho các phản hồi ARP giả mạo. Cảnh báo được tạo ra cho việc giả mạo ARP, được lưu trữ trong tệp cảnh báo. Sử dụng wireshark để mở các tập tin Log được ghi lại này, chúng ta sẽ có địa chỉ MAC của kẻ tấn công.

Kết quả nghiên cứu cùng chi tiết bài báo gốc các bạn tham khảo dưới đây

References

[1]
“Snort Manual,” Snort Manual. [Online]. Available: https://www.snort.org/documents/snort-users-manual. [Accessed: 14-Jul-2017]
[2]
Xing Wenjian, Z. Yunlan , and Li Tonglei, “Research on the Defense Against ARP Spoofing Attacks Based on Winpcap,” presented at the International Workshop on Education Technology and Computer Science, 2010.
[3]
Jinhua Gao and Kejian Xia, “Detection of ARP spoofing attack using ICMP protocol,” presented at the Computer Communication and Informatics (ICCCI), 2013.
[4]
K. Sumit and T. Shashikala, “A centralized detection and prevention technique against ARP poisoning,” presented at the Cyber Security, Cyber Warfare and Digital Forensic (CyberSec), 2012.
[5]
Yeob Nam Seung, Kim Dongwon, and K. Jeongeun , “Enhanced ARP: preventing ARP poisoning-based man-in-the-middle attacks,” IEEE Communications Letters, vol. 14, no. 2, pp. 187–189, Feb-2010.
[6]
M. A. Ahmed , S. E. Wail , and M.Amin Khalid, “An automated approach for preventing ARP spoofing attack using static ARP entries,” IJACSA, vol. 5, 2014.
[7]
S. Jaideep and G. Vinit , “A survey of different strategies to pacify ARP poisoning attacks in wireless Networks,” (0975 – 8887), vol. 116, pp. 25–28, Aug. 2015 [Online]. Available: http://research.ijcaonline.org/volume116/number11/pxc3902628.pdf

Tác giả: Nguyễn Trung Hiếu

Một blogger ... cùi bắp! Đơn giản: tôi muốn ghi lại những gì xảy ra xung quanh, cả công việc lẫn cuộc sống và chia sẻ với các bạn đọc. Nếu bạn cảm thấy bài viết có nhiều điểm không chính xác, hãy comment và chia sẻ để tôi còn được học hỏi từ những góp ý của bạn. Email: hieunt.dcn@gmail.com

http://sharecodeweb.net/?s={search_term_string}