Giả lập mạng với honeypot

Trong những năm gần đây, các cuộc xâm nhập mạng gia tăng đáng kể, do sự phổ dụng của các công cụtấn công được tự động hoặc được lập kịch bản. Điều này đã thúc đẩy sự quan tâm đến các hệ thống Honeypots, hệ thống này có thể được dùng để “bẫy” và giải mã các phương pháp tấn công.

pdf73 trang | Chia sẻ: vietpd | Lượt xem: 2864 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Giả lập mạng với honeypot, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Honeypots 1 Chương I: Tổng quan Trong những năm gần đây, các cuộc xâm nhập mạng gia tăng đáng kể, do sự phổ dụng của các công cụ tấn công được tự động hoặc được lập kịch bản. Điều này đã thúc đẩy sự quan tâm đến các hệ thống Honeypots, hệ thống này có thể được dùng để “bẫy” và giải mã các phương pháp tấn công. Các chuyên gia bảo mật cho biết: các kẻ tấn công hiện đều đang rất ngán ngẩm khi phải tấn công vào một hệ thống Linux dạng trung bình. Chi phí cho một cuộc đột nhập thành công vào một hệ thống sử dụng Linux cao hơn nhiều so với chi phí bỏ ra để đột nhập vào hệ thống sử dụng Windows. Dự án mang tên Honeypots được tạo ra với mục đích giả lập các hệ thống mạng Linux bình thường để câu nhử các cuộc tấn công nhằm nghiên cứu độ an toàn của các hệ thống máy chủ Linux. Các kết quả nghiên cứu do Honeypots đưa ra cho biết: khoảng thời gian tồn tại an toàn của các hệ thống máy chủ chạy Linux đã gia tăng đột ngột trong 2 năm gần đây. Honeypots đã chỉ ra rằng: Trong giai đoạn hiện nay, một hệ thống máy chủ Linux chưa được cài đầy đủ các bản sửa lỗi vẫn có thể “chịu đựng” an toàn trung bình là 3 tháng trước các cuộc tấn công, khi so sánh với giai đoạn 2001-2002 chỉ là 72 giờ. Một số hệ thống máy chủ của dự án đã an toàn trong suốt 9 tháng trời trước mọi cuộc tấn công. Dự án Honeypots được thiết kế để nhằm mục đích nghiên cứu, dò tìm và thu hút mọi cuộc tấn công bất kỳ của Internet vào các hệ thống máy chủ Linux, Windows. Từ xưa đến nay mọi cuộc tấn công trên Internet dường như chưa bao giờ giảm. Các nhà nghiên cứu của dự án đã chỉ ra rằng: hầu hết mọi cuộc tấn công trên đời đều nhằm vào các hệ thống sử dụng Windows, đơn giản chỉ vì mức độ phổ biến quá mức của hệ điều hành này và độ bảo mật “ngon ăn” đến mức mà mọi kẻ tấn công đều không thể cưỡng lại được. Lance Spitzner, chủ tịch của dự án Honeynet, cho biết: “Tấn công vào một người dùng bất kỳ tỏ ra dễ dàng hơn nhiều so với tấn công vào một hệ thống máy tính của ngân hàng. Ngân hàng được bảo vệ rất tốt nhưng người dùng thì không. Chừng nào không còn đủ người dùng để tấn công thì hãy tấn công ngân hàng”. ___________________________________________________________________________ Honeypots 2 Dự án này không đưa ra các nghiên cứu so sánh với Windows, nhưng Spitzner đã chỉ ra rằng các cơ quan chuyên về bảo mật như Symantec hoặc Internet Storm Center (ISC) đã công nhận rằng có rất nhiều cuộc tấn công vào các hệ thống Honeynet Windows. Một dự án khác của ISC đã đo lường thời gian tồn tại của các hệ thống Windows trước các cuộc tấn công và cho ra nhiều kết quả khá thú vị như sau: Thời gian tồn tại trung bình trước các cuộc tấn công của một số hệ thống chạy Windows trong các thử nghiệm của ISC đã giảm nhanh từ 55 phút trong giai đoạn mùa thu 2003 xuống chỉ còn 20 phút vào dịp cuối năm 2004. Thảm hại nhất là vào giai đoạn mùa xuân 2004, một hệ thống Windows chỉ “kịp sống” có 15 phút trước khi bị hạ gục. Microsoft vớt vát rằng thời gian tồn tại ngắn như thế - ở ngay cả trong Windows XP Service Pack 2 - là do có quá nhiều người sử dụng. Dự án Honeynet đã cân nhắc kỹ trước khi phân bố các hệ thống khắp mọi nơi trên thế giới để thu hút các cuộc tấn công. Các máy tính chuyên câu nhử của Honeynet được phân bố đều trong các mạng gia đình đến các doanh nghiệp vừa và nhỏ. Dự án đã triển khai 12 trạm honeynet ở 8 quốc gia là Mỹ, Ấn Độ, Anh, Pakistan, Hy Lạp, Bồ Đào Nha, Brazil và Đức. Bao gồm 24 hệ thống Unix và giả lập Unix, 19 hệ thống Linux hầu hết là Red Hat bao gồm: 1 hệ thống Red Hat 7.2, 5 hệ thống Red Hat 7.3, 1 Red Hat 8.0, 8 Red Hat 9.0 và 1 hệ thống Fedora Core. Các hệ thống khác nữa bao gồm: 1 chạy Suse 7.2, 1 Suse 6.3, 2 Solaris Sparc 8, 2 Solaris Sparc 9 và 1 hệ thống chạy Free- BSD 4.4. Dự án Honeynet là một cuộc nghiên cứu phi lợi nhuận do các công ty bảo mật thành lập nên, bao gồm các công ty tầm cỡ như: Foundstone, Counterpane, Security Focus và SourceFire. I.1 Honeypots Honeypots là một hệ thống tài nguyên thông tin được xây dựng với mục đích giả lập đánh lừa những kẻ sử dụng và xâm nhập không hợp pháp, thu hút sự chú ý của chúng, ngăn không cho chúng tiếp xúc với hệ thống thật. - Trong lĩnh vực an toàn mạng, một Honeypots là một hệ thống máy tính được thiết kế đặc biệt để “bắt” tất cả hoạt động và các file được khởi tạo bởi một thủ phạm có ý định giành quyền truy cập trái phép tới hệ thống. Các Honeypots có thể mô phỏng giả lập ___________________________________________________________________________ Honeypots 3 - Honeypots như một mức bảo vệ firewall hơn là bảo vệ hệ thống mạng. Ví dụ, nếu một firewall bảo vệ một mạng, thì Honeypots thường được đặt bên ngoài firewall. Điều này cho phép các thủ phạm trên Internet nhận được quyền truy cập đầy đủ tới bất kỳ dịch vụ vào của Honeypots. Lưu ý rằng, ý tưởng là ghi lại những hoạt động của thủ phạm, chứ không phải ngăn chặn chúng khỏi việc giành quyền truy cập tới Honeypots. - Một Honeypots là một 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à một mạng được thiết lập xung quanh những hình nộm để lure (nhử) và ghi lại những bước tấn công của hacker. Bằng việc nghiên cứu các cuộc tấn công thật, những người nghiên cứu hy vọng có thể có được những bước tiến mới trong việc phát triển kế hoạch phòng ngự. Mỗi khi Honeypots 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à có thể dùng Honeypots để tìm ra những rootkit (ẩn nấp và tránh không bị phát hiện, được sử dụng hỗ trợ giấu các đoạn mã độc), lỗi và các backdoor (cổng sau, được hacker cài vào máy bị tấn công để sau này quay lại máy đó dễ dàng hơn) trước khi chúng đi vào hệ thống. Cần phải xây dựng hệ thống phòng ngự và phải có khả năng giấu và dodge (lẩn tránh) những cuộc tấn công mà hệ thống không thể đáp trả lại. Đây là một 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 đi tìm chúng thì chúng sẽ tự tìm đến. Một hệ thống Honeypots bị tấn công khác chỉ ra rằng hành động đầu tiên của kẻ tấn công đó là thay đổi password root, password admin 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 không thể đăng nhập vào). 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à một Honeypots. Một khi Tripwire chạy, tất cả những "hidden" ___________________________________________________________________________ Honeypots 4 Honeypots có sự khác biệt, giữa Honeypots nghiên cứu và Honeypots sản phẩm. Những Honeypots 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 hacker. Trong khi đó, những sản phẩm Honeypots 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 hiện cho các cuộc tấn công trên cơ sở hạ tầng mạng, đồng thời đoán được và làm chệch hướng 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 Honeypots. Chúng được miêu tả như những mạng các hệ thống sản phẩm được kết nối tới Internet (có thể không qua firewall). Hệ thống này là một 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. Trong thực tế, nó hoàn toàn có khả năng là một bản sao (clone) của hệ thống sản phẩm và được triển khai thành Honeypots, những thông tin confidential (bí mật) đượ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. Cũng có thể chạy một Honeypots hoặc một honeynet tại nhà hoặc tại những công ty nhỏ. Trong thực tế, có thể triển khai một 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, 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 (ảo) là giới hạn và không phải bao giờ cũng đạt được một mức độ cao sau khi những dữ liệu xuyên qua. Để có thể tiếp cận với những hành động xảy ra trong bóng tối, cần phải có một honeynet: một thiết bị trực tiếp kết nối tới mạng, cái mà có thể bị probe (dò tìm), bị tấn công. Chỉ cần vài máy tính, một kết nối tới mạng (thậm chí với một IP động) và một số kiến thức về an toàn thông tin là sở hữu mạng để admit (nhận, nạp) những hacker từ tất cả mọi nơi trên thế giới. I.2 Nhiệm vụ của đồ án Mỗi sinh viên cần làm một đồ án cuối khóa trước khi ra trường để củng cố thêm kinh nghiệm nghiên cứu cũng như tổng hợp các kiến thức đã được học. Và đồ án của em là nghiên cứu tìm hiểu về Honeypots. Các bước để nghiên cứu và thực hiện : ___________________________________________________________________________ Honeypots 5 + Hiện thực hệ thống mạng ảo Honeypots. + Chứng minh hệ thống mạng đó tồn tại. + Scan port và các dịch vụ giả lập trên mạng đó. + Theo dõi và phát hiện ra xâm nhập. Đó cũng chính là nhiệm vụ cần hoàn thành của đồ án này. I.3 Cấu trúc đồ án Tóm tắt đồ án được chia làm 5 chương: Chương I: Tổng quan - Giới thiệu về Honeypots. - Nhiệm vụ và cấu trúc của đề tài. Chương II: Honeypots - Các loại hình Honeypots. - Honeynet. - Vị trí đặt hệ thống Honeypots. Chương III: Giả lập mạng với Honeyd - Cấu hình thiết lập Honeypots. Chương IV: Hệ thống phát hiện xâm nhập - Giới thiệu. - Cấu hình cài đặt. - Sử dụng. Chương V: Mô phỏng hệ thống Honeypots - Chi tiết file mô phỏng giả lập hệ thống Honeypots. - Kết quả thực hiện. ___________________________________________________________________________ Honeypots 6 Chương II: Honeypots II.1 Các loại hình Honeypots Gồm hai loại chính: Tương tác thấp và tương tác cao + Tương tác thấp (Low Interaction): Mô phỏng giả lập các dịch vụ, ứng dụng, và hệ điều hành. Mức độ rủi ro thấp, dễ triển khai và bảo dưỡng nhưng bị giới hạn về dịch vụ. + Tương tác cao (High Interaction): Là các dịch vụ, ứng dụng và hệ điều hành thực. Mức độ thông tin thu thập được cao. Nhưng rủi ro cao và tốn thời gian để vận hành và bảo dưỡng. + BackOfficer Friendly + Specter + Honeyd + Honeynet Low Interaction High Interaction Hình 2.1: Loại hình Honeypots II.1.1 BackOfficer Friendly (BOF) Một loại hình Honeypots tương tác thấp rất dễ vận hành và cấu hình và có thể hoạt động trên bất kỳ phiên bản nào của Windows và Unix nhưng chỉ tương tác được với một số dịch vụ đơn giản như FTP, Telnet, SMTP… II.1.2 Specter Cũng là loại hình Honeypots tương tác thấp nhưng khả năng tương tác tốt hơn BOF, giả lập trên 14 cổng, có thể cảnh báo và quản lý từ xa. Tuy nhiên giống BOF thì specter bị giới hạn số dịch vụ và cũng không linh hoạt. II.1.3 Honeyd + Honeyd lắng nghe trên tất cả các cổng TCP và UDP, những dịch vụ mô phỏng được thiết kế với mục đích ngăn chặn và ghi lại những cuộc tấn công, tương tác với kẻ tấn công với vai trò một hệ thống nạn nhân. + Honeyd có thể giả lập cùng một lúc nhiều hệ điều hành khác nhau. ___________________________________________________________________________ Honeypots 7 + Hiện nay, Honeyd có nhiều phiên bản và có thể mô phỏng được khoảng 473 hệ điều hành. + Honeyd là loại hình Honeypots tương tác thấp có nhiều ưu điểm tuy nhiên Honeyd có nhược điểm là không thể cung cấp một hệ điều hành thật để tương tác với tin tặc và không có cơ chế cảnh báo khi phát hiện hệ thống bị xâm nhập hay gặp nguy hiểm. II.1.4 Honeynet Hình 2.2: Mô hình honeynet (GenII) ___________________________________________________________________________ Honeypots 8 - Honeynet là hình thức Honeypots tương tác cao. Khác với các Honeypots, Honeynet là một hệ thống thật, hoàn toàn giống một mạng làm việc bình thường. Honeynet cung cấp các hệ thống, ứng dụng, các dịch vụ thật. - Quan trọng nhất khi xây dựng một honeynet chính là honeywall. Honeywall là gateway ở giữa Honeypots và mạng bên ngoài. Nó hoạt động ở tầng 2 như là Bridged. Các luồng dữ liệu khi vào và ra từ Honeypots đều phải đi qua honeywall. Các chức năng của Honeynet Bất kỳ một hệ thống Honeynet nào cũng phải thực hiện được ba điều kiện: Kiểm soát dữ liệu, bắt dữ liệu và phân tích chúng. - Kiểm soát dữ liệu Có thể hiểu là mở cánh cửa cho hacker đi vào, cho phép xâm nhập honeynet nhưng lại đóng cửa ra, ngăn không cho hacker phát tán những đoạn mã độc hại ra mạng làm việc bên ngoài và Internet. Hình 2.3: Kiểm soát dữ liệu Honeynet GenIII sử dụng ba cách kiểm soát dữ liệu. + Đếm số kết nối từ honeynet ra ngoài: nếu lớn hơn mức cho phép thì sẽ cấm kết nối. + Sử dụng Snort-inline: đây là một phần mềm mã nguồn mở phát triển lên từ Snort làm việc như một hệ thống ngăn chặn xâm nhập (IPS) dựa trên cơ sở dữ liệu về các hình thức tấn công thu thập được từ trước để ra quyết định. + Kiểm soát băng thông. - Bắt dữ liệu ___________________________________________________________________________ Honeypots 9 Đây là mục đích chính của tất cả các loại hình Honeynet - thu thập nhiều nhất thông tin về kẻ tấn công theo nhiều mức: các hoạt động của mạng, các hoạt động ứng dụng, các hoạt động của hệ thống. Honeynet GenIII sử dụng Sebek để bắt dữ liệu. Đây là một kernel ẩn đặt tại các máy Honeypots và server là honeywall gateway. Hình 2.4: Hoạt động của Sebek Khi mà kẻ tấn công xâm nhập vào hệ thống và tương tác với một Honeypots. Tất cả các hoạt động của hacker này đều được bí mật chuyển về sebek server thu thập và xử lý. - Phân tích dữ liệu Phân tích dựa trên giao diện walleye của Honeywall hoặc bằng Ethereal. II.2 Kế hoạch triển khai Honeypots Để triển khai một Honeypots cần có một quá trình xử lý kỹ thuật tốt cùng với việc thực hiện đúng kế hoạch sẽ giúp triển khai thành công hệ thống. Danh sách dưới đây đưa ra các bước để thực hiện: + Xác nhận Honeypots là được cho phép tạo dựng trong môi trường hệ thống đó. + Xác định mục tiêu Honeypots. Tại sao lại muốn chạy một Honeypots. + Dùng nó để nghiên cứu hay là bảo vệ hệ thống tổ chức máy tính. + Xác định vai trò con người trong việc tạo ra và duy trì một Honeypots. Có chuyên môn kỹ thuật để triển khai một cách chính xác và duy trì một Honeypots không? Có ___________________________________________________________________________ Honeypots 10 phần mềm và phần cứng để triển khai chưa? thời gian hàng ngày sẽ mất để duy trì và phân tích dữ liệu như thế nào? Tiếp tục thảo luận, nghiên cứu để theo kịp những Honeypots mới và khai thác một cách hiệu quả. + Các loại Honeypots sẽ triển khai là nghiên cứu hoặc sản phẩm, thực hay ảo. + Xác định cài đặt cấu hình thiết bị mạng cần thiết để tạo ra Honeypots. Kế hoạch và cấu hình một số thành phần hỗ trợ Honeypots và tool (cảnh báo, đăng nhập, giám sát, quản lý…). + Thu thập các thiết lập của việc giám sát, đăng nhập và các tool phân tích hợp pháp. + Triển khai kế hoạch phục hồi lại. Làm thế nào để phục hồi hệ thống Honeypots nguyên bản sau khi nó được khai thác sử dụng dẫn tới việc bị hư hại. + Triển khai Honeypots và các thành phần hỗ trợ nó, kiểm tra việc triển khai, đánh giá các công cụ phát hiện xâm nhập, thử nghiệm xem hệ thống Honeypots hoạt động tốt không. + Phân tích các kết quả và tìm ra những thiếu sót. Tinh chỉnh các hệ thống Honeypots dựa trên các bài đã được học và nghiên cứu. Lặp lại các bước cần thiết. II.2.1 Lôi kéo người tấn công Nếu để lộ ra Honeypots theo cách mà những địa chỉ IP và các port được truy xuất tới từ Internet, thì nó sẽ được truy cập một cách nhanh chóng. Trung bình hàng ngày các địa chỉ IP công khai trên Internet được thăm dò hàng chục lần. Theo số liệu thống kê từ nhiều dự án của Honeypots cho thấy rằng có nhiều hơn một trăm lần thăm dò một ngày, và hầu hết các máy chủ lưu trữ đều xảy ra tấn công trong vòng một tuần. Các worm từ Internet sẽ quét nhiều lần trong ngày. Nhiều quản trị của Honeypots đã ghi lại thành công những tổn hại xảy ra chưa đến 20 phút. Chính vì những nguyên nhân đó một số quản trị viên của Honeypots đã nhanh chóng và tích cực đăng vùng Honeypots của họ tới danh sách mail và website của hacker. Những quản trị viên đăng các vị trí Honeypots của họ để khám phá một số tội phạm nghiêm trọng. Thu thập các thông tin chứng cứ về những hành vi xâm nhập trái phép. Việc tạo ra Honeypots không bao giờ nên quảng bá sự hiện diện hay mời gọi các hacker vì nó sẽ đánh bại các mục đích chính của Honeypots. II.2.2 Xác định mục tiêu ___________________________________________________________________________ Honeypots 11 Để thiết kế hệ thống Honeypots cần xác định các mục tiêu, muốn chọn nơi nào để đặt Honeypots. Có rất nhiều câu hỏi cần được trả lời trước khi bắt đầu, bao gồm cả những điều sau đây: - Lý do chính muốn tạo ra hệ thống Honeypots? - Môi trường OS là gì để giả lập Honeypots? - Giả lập những lọai Server hoặc Service gì? - Muốn theo dõi các mối đe dọa từ bên trong, bên ngoài hay cả 2? Để có câu trả lời cho những câu hỏi này về cơ bản cần xác định là sẽ nghiên cứu hay tạo ra các sản phẩm Honeypots, và làm như thế nào? cấu hình nó ra sao?. Sản phẩm Honeypotss nên mô phỏng theo các ứng dụng, dịch vụ, và máy chủ đã tồn tại. Nếu làm đúng với tương tác cao, nó sẽ gây khó khăn cho tin tặc trong việc nhận biết và tương tác với Honeypots. . Hình 2.5: Ví dụ về một sản phẩm Honeynet Ví dụ, giả sử hệ thống mạng bao gồm máy chủ chạy HĐH Windows Server 2003 chạy IIS 6.0, Windows 2000 Server chạy Microsoft SQL Server 2000, Windows NT 4.0 Server, và một Windows 2000 Server chạy IIS 6.0. Sản phẩm honeypots sẽ cố gắng để mô phỏng giống như những cái máy chủ và các dịch vụ ở trên II.3 Vị trí đặt hệ thống Honeypots Có 3 vùng chính để đặt hệ thống Honeypots: ___________________________________________________________________________ Honeypots 12 - External Placement (đặt ở vùng ngoài). - Internal Placement (đặt ở vùng trong). - DMZ Placement (đặt ở vùng DMZ) Mỗi vùng để đặt Honeypots đều có những ưu điểm và nhược điểm tùy theo mục đích của việc tạo ra Honeypots để làm gì. II.3.1 Đặt ở vùng ngoài Là vùng nằm ngoài Internet với vị trí này thì sẽ không có bức tường lửa nào đứng trước Honeypots, các Honeypots và mạng lưới honepots sẽ chia sẻ cùng một địa chỉ IP subnet công cộng. II.3.2 Đặt ở vùng trong Vị trí Honeypots nằm bên trong mạng và bức tường lửa ở giữa ngăn cách nó với thế giới Internet. Vị trí này là cách tốt nhất để tạo ra một hệ thống cảnh báo sớm cho biết bất kỳ sự khai thác từ bên ngoài vào và bảo vệ mạng nội bộ, bắt các đe dọa xảy ra cùng một lúc. Một ví dụ cho thấy khi mà worm Blaster tấn công, nhiều công ty đã triển khai firewall và cấu hình khóa port 135 ngăn chặn an toàn từ các worm nhưng worm có thể lén đi qua firewall trên đường links và từ những máy tính laptop, thiết bị di động. Sau khi đã qua bức tường lửa các worm có thể gây nhiễm các máy tính nội bộ chưa được vá lỗi hệ điều hành và lỗi bảo mật. II.3.3 Đặt ở vùng DMZ DMZ là một vùng nằm riêng lẻ so với LAN nhằm mục đích đặt những server public như web server, mail server, ftp server. Việc đặt một Honeypots trên vùng DMZ thường là lựa chọn tốt nhất của các công ty, nó có thể được đặt dọc theo các máy server trong vùng DMZ và cung cấp cảnh báo sớm mối đẹ dọa cho vị trí đó. Một router đặt giữa firewall của DMZ được thêm vào như là một lớp điều khiển dữ liệu. DMZ có thể có các địa chỉ IP công cộng và riêng tư. Các vị trí của Honeypots trong DMZ là một vị trí lý tưởng cho việc thiết lập, nhưng hầu hết các vị trí đặt mô hình đó là phức tạp. Ngoài ra, vì nó nằm trên DMZ, không phải là tốt nhất cho việc cảnh báo sớm cho một cuộc tấn công làm hư hại mạng nội bộ. So sánh giữa các vị trí đặt Honeypots. ___________________________________________________________________________ Hone