Biên dịch cài đặt và triển khai hệ thống d-Ward

Các hệ thống máy tính hiện nay đòi hỏi khả năng bảo mật và khả năng chống đỡ lại các cuộc tấn công rất cao. Tấn công từ chối dịch vụ là ưu tiên hàng đầu của các cơ quan doanh nghiệp hoạt động trong lĩnh vực thương mại điện tử. Các cuộc tấn công từ chối dịch vụ hiện tại trở nên vô cùng phức tạp và khó đoán định từ việc các nguồn tấn công phân tán. Đã có nhiều giải pháp được triển khai để ngăn chặn vấn đề này nhưng chưa đạt hiệu quả cao. Khóa luận này đưa ra ý tưởng về một giải pháp triển khai hiệu quả và chi phí thấp hơn so với những giải pháp trước đây. Đó là D-WARD nó có thể phát hiện và ngăn chặn các luồng tấn công bằng cách điều khiển lưu lượng mạng ra ngoài từ mạng nguồn. Đầu tiên, khóa luận đã biên dịch, cài đặt và triển khai hệ thống D-WARD trên mô hình thử nghiệm. Sau đó, cải tiến khả năng phân tích luồng và kết nối của các gói tin đi qua mạng bằng việc cài đặt mở rộng thêm module cập nhật và truy vấn server quản trị cơ sở dữ liệu.

pdf49 trang | Chia sẻ: lvbuiluyen | Lượt xem: 1712 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Biên dịch cài đặt và triển khai hệ thống d-Ward, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG …………………. KHOA………………………. -----[\ [\----- Báo cáo tốt nghiệp Đề tài: BIÊN DỊCH CÀI ĐẶT VÀ TRIỂN KHAI HỆ THỐNG D-WARD LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn chân thành tới thày Đoàn Minh Phương đã hướng dẫn và tạo mọi điều kiện cho em hoàn thành khóa luận này. Em cũng xin gửi lời cảm ơn tới thày Phùng Chí Dũng, cô Bùi Thị Lan Hương đã nhiệt tình giúp đỡ em để em có thể hoàn thành tốt khóa luận này. Em xin cảm ơn các thày cô trong bộ môn Mạng và Truyền Thông máy tính nói riêng và các thày cô trong trường Đại học Công Nghệ- Đại học Quốc Gia Hà Nội nói chung, những người đã truyền đạt cho chúng em những kiến thức quý báu trong suốt 4 năm học vừa qua. Mặc dù khóa luận đã được hoàn thành với tất cả sự cố gắng của bản thân, nhưng vẫn không tránh khỏi những sai sót, hạn chế. Vì vậy, em rất mong nhận được những nhận xét, góp ý của các thày cô giáo và các bạn để đề tài này có thể được hoàn thiện hơn. Hà Nội, tháng 05/2010 Sinh viên Trần Tuấn Linh Tóm tắt khóa luận Các hệ thống máy tính hiện nay đòi hỏi khả năng bảo mật và khả năng chống đỡ lại các cuộc tấn công rất cao. Tấn công từ chối dịch vụ là ưu tiên hàng đầu của các cơ quan doanh nghiệp hoạt động trong lĩnh vực thương mại điện tử. Các cuộc tấn công từ chối dịch vụ hiện tại trở nên vô cùng phức tạp và khó đoán định từ việc các nguồn tấn công phân tán. Đã có nhiều giải pháp được triển khai để ngăn chặn vấn đề này nhưng chưa đạt hiệu quả cao. Khóa luận này đưa ra ý tưởng về một giải pháp triển khai hiệu quả và chi phí thấp hơn so với những giải pháp trước đây. Đó là D-WARD nó có thể phát hiện và ngăn chặn các luồng tấn công bằng cách điều khiển lưu lượng mạng ra ngoài từ mạng nguồn. Đầu tiên, khóa luận đã biên dịch, cài đặt và triển khai hệ thống D-WARD trên mô hình thử nghiệm. Sau đó, cải tiến khả năng phân tích luồng và kết nối của các gói tin đi qua mạng bằng việc cài đặt mở rộng thêm module cập nhật và truy vấn server quản trị cơ sở dữ liệu. MỤC LỤC Chương 1.Mở đầu ........................................................................................................ 1 1.1. Các cuộc tấn công DOS và DdoS ........................................................................... 1 1.1.1. Cuộc tấn công DoS là gì? ................................................................................. 1 1.1.2. Tấn công DDoS là gì? ...................................................................................... 1 1.2. Quá trình diễn ra một cuộc tấn công và những thách thức trong phòng chống ...... 2 1.2.1. Kịch bản của một cuộc tấn công DDoS: .......................................................... 2 1.2.2. Những thách thức trong phòng chống tấn công DDoS .................................... 3 1.3. Những vị trí triển khai hệ thống phòng chống ........................................................ 5 1.3.1. Hệ thống phòng chống độc lập: ....................................................................... 5 1.3.2. Hệ thống phòng chống phân tán: ..................................................................... 8 1.4. Tổng kết: ................................................................................................................. 9 Chương 2.D-WARD .................................................................................................. 10 2.1. Tổng quan về D-WARD ....................................................................................... 10 2.2. Các thuật ngữ và giả thiết ..................................................................................... 10 2.3. Kiến trúc hệ thống D-WARD ............................................................................... 11 2.3.1. Thành phần giám sát ...................................................................................... 12 2.3.2. Thành phần giới hạn băng thông .................................................................... 20 2.3.3. Thành phần chính sách lưu lượng .................................................................. 22 2.4. Các phiên bản D-WARD ...................................................................................... 22 2.4.1. D-WARD 1. 0 ................................................................................................ 22 2.4.2. D-WARD 2.0 ................................................................................................. 23 2.4.3. D-WARD 3.0 ................................................................................................. 24 2.5. Tổng kết: ............................................................................................................... 25 Chương 3.Cơ sở lý thuyết của kiến trúc triển khai và mở rộng DWARD ................ 26 3.1. Triển khai thành phần giám sát ............................................................................. 26 3.1.1. Bảng băm luồng ............................................................................................. 26 3.1.2. Bảng băm kết nối: .......................................................................................... 26 3.1.3. Lấy thông tin gói tin ....................................................................................... 28 3.1.4. Phân loại luồng và kết nối .............................................................................. 28 3.2. Triển khai thành phần giới hạn băng thông .......................................................... 29 3.3. Triển khai thành phần chính sách lưu lượng ......................................................... 30 3.3.1. Tiến trình điều khiển chính sách lưu lượng ................................................... 30 3.4. Mở rộng D-WARD ............................................................................................... 31 3.4.1. Mục đích của việc mở rộng ............................................................................ 31 3.4.2. Kết nối D-WARD với mô hình client-server ................................................. 31 3.5. Tổng kết ................................................................................................................ 32 Chương 4.Cài đặt và các kết quả ............................................................................... 32 4.1. Cài đặt hệ thống D-WARD ................................................................................... 32 4.1.1. Mô hình triển khai .......................................................................................... 32 4.1.2. Biên dịch và chạy D-WARD.......................................................................... 34 4.1.3. Kết quả và đánh giá ........................................................................................ 36 4.2. Cài đặt hệ thống mở rộng ...................................................................................... 38 4.2.1. Mô hình triển khai .......................................................................................... 38 4.2.2. Mở rộng của hệ thống: ................................................................................... 38 Chương 5.Tổng kết .................................................................................................... 41 Danh sách các hình ảnh Hình 1: Mô hình tấn công DDoS ................................................................................. 1 Hình 2: Các điểm phòng chống ................................................................................... 5 Hình 3: Hệ thống phòng chống tại mạng đích ........................................................... 6 Hình 4: Hệ thống phòng chống tại mạng trung gian .................................................. 7 Hình 5 : Phòng chống tại nguồn .................................................................................. 7 Hình 6: Kiến trúc hệ thống D-WARD ........................................................................ 11 Hình 7: Máy hữu hạn trạng thái DNS ....................................................................... 15 Hình 8 : Máy hữu hạn trạng thái streaming dữ liệu .................................................. 17 Hình 9 : Ví dụ về vấn đề phân loại gói tin đầu tiên ................................................... 18 Hình 10 : Bảng băm luồng ......................................................................................... 26 Hình 11: Bảng băm kết nối ........................................................................................ 27 Hình 12: : Topo hệ thống D-WARD .......................................................................... 33 Hình 13: File debug/class.txt ..................................................................................... 36 Hình 14: File rlstats.txt .............................................................................................. 36 Hình 15: File conn.txt ................................................................................................ 37 Hình 16: Topo thử nghiệm ......................................................................................... 38 Bảng các từ viết tắt COI Connection Observation Interval D-WARD Ddos- network Attack and Recognition Defense DDOS Distributed Denial Of Service DOS Denial of Service FOI Flow Observation Interval ICMP Internet Control Message Protocol IP Internet Protocol RTP Real-time Transport Protocol RSTP Real-time Streaming Protocol TCP Transmission Control Protocol 1 Chương 1. Mở đầu Tấn công từ chối dịch vụ là một lĩnh vực thú vị để nghiên cứu. Cho tới nay đã có nhiều người tham gia vào nghiên cứu lĩnh vực này. Tuy nhiên, đến hiện tại vẫn chưa có một cách thật sự hữu hiệu để phát hiện và ngăn chặn kẻ tấn công. Chương này sẽ giới thiệu về định nghĩa của DoS và DDoS, quá trình diễn ra một cuộc tấn công và tổng quan về một số thách thức trong phòng chống tấn công DDoS. 1.1. Các cuộc tấn công DOS và DDoS 1.1.1. Cuộc tấn công DoS là gì? Tấn công từ chối dịch vụ (DoS): là quá trình các yêu cầu được gửi tràn ngập từ một điểm tấn công riêng lẻ tới một hay nhiều server đích. Và các yêu cầu này thường giả mạo địa chỉ IP nguồn. Với nhiều yêu cầu được gửi đến như vậy, những yêu cầu hợp lệ không được đáp ứng và dẫn tới hiện tượng từ chối dịch vụ. 1.1.2. Tấn công DDoS là gì? Tấn công từ chối dịch vụ phân tán (DDoS): là một cuộc tấn công từ chối dịch vụ thông thường nhưng nó được thực hiện tại nhiều máy bị kẻ tấn công chiếm quyền điều khiển (agents/zombie) và các agents này có thể ở các khu vực địa lý khác nhau. Một kẻ tấn công có thể điều khiển các agents, và thống nhất tất cả các máy agents cùng lúc sinh ra nhiều gói tin yêu cầu gửi tới đích. Với số lượng lớn các agents, tài nguyên hệ thống của nạn nhân sẽ nhanh chóng bị cạn kiệt và quá tải. Hình vẽ dưới đây thể hiện mô hình của cuộc tấn công: Hình 1: Mô hình tấn công DDoS 2 Đầu tiên attacker sẽ sử dụng một số máy bị chiếm quyền điều khiển làm “handler” dùng để truyền các thông điệp của cuộc tấn công tới các zombie (agents). Sau đó, đồng loạt các zombie sẽ gửi truy vấn tới nạn nhân và làm cho tài nguyên hệ thống bị cạn kiệt và quá tải. Trong các cuộc tấn công DDoS, các agents thường sử dụng địa chỉ IP nguồn giả mạo. Attacker giả mạo trường địa chỉ IP nguồn trong tiêu đề của gói tin tấn công. Điều này sẽ làm cho nạn nhân khó có thể dò ngược ra các máy agent. Bên cạnh đó, việc làm giả địa chỉ của các máy agent cho phép attacker sử dụng lại chúng trong các cuộc tấn công trong tương lai. Các gói tin tấn công có nội dung không khác mấy so với các gói tin hợp lệ cho nên cần phải xây dựng những chính sách lọc chính xác. 1.2. Quá trình diễn ra một cuộc tấn công và những thách thức trong phòng chống DDoS xuất hiện như một vấn đề nghiêm trọng trên mạng Internet vào giữa năm 1999. Nó đã trải qua sự phát triển mạnh mẽ về kỹ thuật để chuẩn bị và thực hiện một cuộc tấn công mà không bị phát hiện. Công nghệ tấn công phân tán không phải là mới, nó quen thuộc đến mức những attacker bình thường nhất cũng có thể gây ra những hậu quả nghiêm trọng. 1.2.1. Kịch bản của một cuộc tấn công DDoS: Có vài bước cần được thực hiện để chuẩn bị và thực hiện một cuộc tấn công DDoS. Đó là:  Tuyển quân: Attacker chọn một hoặc nhiều máy trên mạng Internet để thực hiện tấn công. Các máy này thường được gọi là các agents. Thông thường các agents này: o Nằm ngoài mạng của nạn nhân để không bị nạn nhân kiểm soát. o Nằm ngoài mạng của attacker để tránh trách nhiệm pháp lý nếu cuộc tấn công bị dò ngược. Các máy agents thường có những lỗ hổng được attacker lợi dụng để truy cập chúng. Các attacker thích những agents có nhiều tài nguyên để có thể sinh ra luồng tấn công với 3 số lượng lớn. Lúc đầu, công việc lựa chọn các agents này được thực hiện một cách thủ công nhưng nó đã được nhanh chóng tự động hóa nhờ những công cụ quét cung cấp danh sách các host có lỗ hổng.  Dàn trận: Các attacker cướp được quyền truy cập (thường là root) bằng cách thâm nhập các lỗ hồng bảo mật hoặc là gieo rắc các mã độc. Chúng có thể thực hiện một số bước để đảm bảo mã độc không bị phát hiện (bằng cách thay đổi tên file, đặt ẩn hoặc là đưa vào thư mục system) hoặc là vô hiệu hóa (bằng cách thực hiện lập lịch vào hệ thống ví dụ như trong linux cron để restart lại đoạn mã một cách định kỳ). Các công cụ quét khai thác những lỗ hổng để cướp quyền truy cập và triển khai mã tấn công, sau đó chúng sẽ đưa ra một danh sách các host đã được triển khai mã tấn công. Hiện tại, hầu như các công việc đã được thực hiện tự động bằng việc sử dụng các công cụ tích hợp quét, khai thác, triển khai và truyền các pha làm cho việc triển khai nhanh của các đoạn mã độc.  Liên lạc: Các agents báo cáo sự sẵn sàng của nó cho các handlers – các máy được dàn xếp để điều khiển cuộc tấn công. Những ngày đầu thì địa chỉ IP của các handlers được mã hóa cứng trong mã tấn công, và các handlers lưu trữ các thông tin được mã hóa của các agent sẵn sang trong một file. Cho nên việc phát hiện ra một máy đơn trong mạng DDoS đã tiết lộ tất cả các thành phần khác. Sau đó các kênh truyền Internet Relay Chat (IRC) đã bắt đầu được sử dụng. Một attacker điều khiển các agents sử dụng các kênh truyền IRC. Cho nên phát hiện ra một agent không thể đưa ra được kết luận gì về mạng DDoS mà chỉ nhận ra được một kênh truyền thông qua IRC server được sử dụng trong mạng này mà thôi. Do vậy, sự phát hiện mạng DDoS phụ thuộc vào khả năng giám sát các agents đang kết nối tới IRC server. Để tránh bị phát hiện, attacker sử dụng kỹ thuật nhảy kênh truyền trong một khoảng thời gian ngắn làm cho các IRC server không kịp nhận ra các agents.  Tấn công: Các attacker thường gia lệnh tấn công thông qua các handlers và các kênh truyền thông tới các agents. Đích, thời lượng, và đặc điểm của các gói tin tấn công như kiểu, độ dài, TTL, port number … có thể được tùy chỉnh. 1.2.2. Những thách thức trong phòng chống tấn công DDoS 4 Theo thống kê thường niên về tội phạm công nghệ cao của FBI năm 2009 (2009 CSI/FBI Computer Crime and Security Survey) thì số lượng các cuộc tấn công DDoS đang có chiều hướng gia tăng từ 21% năm 2008 lên tới 29% vào năm 2009. Các hệ thống của các cơ quan hành chính, tổ chức kinh tế cần phải hoạt động một cách thường xuyên và chịu áp lực lớn từ việc truy cập của người dùng. Xuất phát từ yêu cầu này, đã có nhiều hệ thống được nghiên cứu và triển khai để chống lại những cuộc tấn công từ chối dịch vụ. Nhưng cho đến nay người ta vẫn chưa thể có một giải pháp hữu hiệu để ngăn chặn hoàn toàn các cuộc tấn công từ chối dịch vụ. Sở dĩ có hiện tượng đó là vì, các hệ thống gặp phải những thách thức từ nhiều phía… Cụ thể là: những thách thức về mặt kỹ thuật và những thách thức về xã hội.  Thách thức về kỹ thuật: Do tính chất phân tán yêu cầu của các cuộc tấn công DDoS cho nên cần có nhiều bộ lọc phân tán, có thể kết hợp với nhau và được triển khai tại nhiều điểm trên Internet. Và do Internet thì không trực tiếp nằm dưới sự vận hành của riêng một tổ chức, cá nhân nào. Cho nên làm cho việc triển khai hệ thống gặp phải nhiều khó khăn để triển khai một hệ thống phòng chống hoàn chỉnh. Tiếp đến, đó là sự thiếu thông tin cụ thể về các cuộc tấn công . Sở dĩ có hiện tượng như vậy là do các tổ chức thường nghĩ rằng việc công bố, báo cáo chi tiết về cuộc tấn công sẽ làm ảnh hưởng tới uy tín của tổ chức và làm cho hoạt động kinh doanh bị ảnh hưởng. Cho nên những thông tin cụ thể về các cuộc tấn công như kiểu tấn công, thời gian bắt đầu, chu kỳ của cuộc tấn công, số lượng agents tham gia (nếu biết), hậu quả của cuộc tấn công . . . Ba là, thiếu các tiêu chuẩn của một hệ thống phòng chống. Nó làm cho việc đánh giá hiệu năng của các hệ thống mới không được hiệu quả. Vì khi một giải pháp mới được đưa ra thường nó là tối ưu nhất đối với những tiêu chuẩn mà nhà nghiên cứu đề ra. Chúng được triển khai trên hệ thống của họ và cuối cùng đưa ra đánh giá chứ không được thiết kế theo những yêu cầu chung nào. Cuối cùng, khi đã xây dựng hệ thống hoàn thiện về mặt lý thuyết nhưng để có một môi trường thử nghiệm lớn là rất khó.  Thách thức về mặt xã hội: Một sản phầm để được triển khai một cách rộng rãi thì cần phải có hiệu năng tốt, đem lại lợi nhuận cho nhà đầu tư, và có khả năng mở rộng triển khai với mô hình lớn hơn… 5 1.3. Những vị trí triển khai hệ thống phòng chống Một hệ thống phòng chống DDoS có thể được triển khai như là một hệ thống độc lập hoặc là một hệ thống phân tán. Các hệ thống độc lập bao gồm một node giám sát tấn công và phản ứng lại các cuộc tấn công. Các hệ thống phân tán bao gồm nhiều node (có chức năng giống nhau) được triển khai tại những khu vực khác nhau và nằm trong cùng một mạng. Các node liên lạc với nhau qua mạng và kết hợp hành động để thu được hiệu quả tốt hơn. Hình 2: Các điểm phòng chống (Nguồn: D-WARD Source-End Defense Against DDoS Attack-Jelena Mirkovic) 1.3.1. Hệ thống phòng chống độc lập: Như chúng ta đã biết, các dòng tấn công DDoS sinh ra từ các máy phân tán ở nhiều nơi chuyển qua các router của mạng lõi và hội tụ tại mạng đích của cuộc tấn công. Khóa luận sẽ thảo luận về vấn đề này xung quanh 3 kiểu mạng là: mạng nguồn gồm những máy sinh ra các traffic tấn công, mạng trung gian là mạng chuyển các traffic tấn công đến nạn nhân, và mạng cuối cùng là mạng đích gồm những host là mục tiêu của cuộc tấn công. Hình trên thể hiện vị trí của 3 mạng này. Tại vị trí của mỗi mạng này đều có thể triển khai các hệ thống phòng chống tấn công  Phòng chống tại đích: Tính cho tới thời điểm hiện tại, hầu như các hệ thống phòng chống tấn công từ chối dịch vụ đều được triển khai tại mạng đích. Điều này hoàn toàn dễ hiểu vì đích là nơi phải 6 gánh chịu hậu quả nặng nề nhất từ cuộc tán công. Một hệ thống chống tấn công được triển khai ở đây sẽ giúp cho nạn nhân sớm phát hiện ra có tấn công và đưa ra những phản ứng để ngăn chặn. Tuy nhiên thì khả năng đáp ứng với số lượng lớn các luồng thì không cao. Một nguyên nhân khiến các hệ thống tại đích được ưa chuộng là vì quản trị viên có thể điều khiển được hệ thống theo đúng ý của họ. Họ có thể thay thế, điều chỉnh kỹ thuật phòng chống một cách đơn giản và dễ dàng. Hình 3: Hệ thống phòng chống tại mạng đích (Nguồn: Internet Denial of Service: Attack and Defense Mechanism-Jelena Mirkovic, Sven Dietrich, David Dittrich, Peter Reiher).  Phòng chống tại mạng trung gian: Để giảm tải cho phương pháp phòng chống tại mạng đích, chúng ta sẽ di chuyển hệ thống phòng chống ra xa mạng đích hơn. Với phương pháp này chúng ta phải sử dụng các router ở mạng lõi của Internet làm nhiệm vụ lọc gói tin và đưa ra những phản ứng với những gói tin vi phạm. Chính điều này đã làm cho phương pháp này không được phổ biến. Thêm nữa, các router ở mạng lõi của Internet thường xuyên rất bận rộn, và vì thế chi 7 phí cho việc lọc từng gói tin đi