Luận văn Nghiên cứu giải pháp chống tấn công DDOS cho website trường Cao đẳng Bách khoa Hưng Yên
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Nghiên cứu giải pháp chống tấn công DDOS cho website trường Cao đẳng Bách khoa Hưng Yên", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- luan_van_nghien_cuu_giai_phap_chong_tan_cong_ddos_cho_websit.pdf
Nội dung text: Luận văn Nghiên cứu giải pháp chống tấn công DDOS cho website trường Cao đẳng Bách khoa Hưng Yên
- HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG VŨ THỊ QUYÊN NGHIÊN CỨU GIẢI PHÁP CHỐNG TẤN CÔNG DDOS CHO WEBSITE TRƯỜNG CAO ĐẲNG BÁCH KHOA HƯNG YÊN CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 60.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI – 2013
- - 2 - MỞ ĐẦU Trong thời đại công nghệ thông tin như hiện nay, khi mà internet trở nên thân quen và dần trở thành một công cụ không thể thiếu trong cuộc sống thì lợi ích của website đối với các cơ quan nhà nước nói chung, người dân và các doanh nghiệp là vô cùng lớn. Bên cạnh đó, các hình thức phá hoại mạng cũng trở nên tinh vi và phức tạp hơn. Do đó đối với mỗi hệ thống, nhiệm vụ bảo mật được đặt ra cho người quản trị mạng là hết sức quan trọng và cần thiết. Xuất phát từ những thực tế đó, việc tìm hiểu về các cách tấn công phổ biến nhất hiện nay và các phòng chống các loại tấn công này là rất thiết thực. Từ đầu tháng 7/2013, hàng loạt trang báo điện tử như Vietnamnet, Tuổi Trẻ, Dân Trí bị tấn công từ chối dịch vụ (DDoS - Distributed Denial of Service), gây ra nghẽn và ngưng trệ việc truy cập thông tin từ phía người dùng. Các cơ quan quản lí, nhà mạng cùng với chuyên gia an ninh thông tin của Hiệp hội An toàn Thông tin (VNISA) cùng phối hợp tìm kiếm giải pháp chống lại. Tại Website trường Cao đẳng Bách Khoa Hưng Yên nơi em đang giảng dạy thường xuyên bị tấn công mà phương thức tấn công chủ yếu là DDos làm cho việc truy cập không thể thực hiện được ảnh hưởng không nhỏ đến các hoạt động trong nhà trường. Đồng thời việc ngăn chặn các cuộc tân công ấy còn chưa hiệu quả. Vì vậy việc nghiên cứu giải pháp về vấn đề đảm bảo an toàn chống tấn công Website của trường có ý nghĩa hết sức quan trọng và cần thiết.
- - 3 - Xuất phát từ những thực tế trên tôi đã chọn đề tài ”Nghiên cứu giải pháp chống tấn công Ddos cho Website trường Cao đẳng Bách Khoa Hưng Yên “. Bố cục của luận văn gồm phần mở đầu và 3 chương nội dung, cụ thể là: - Chương 1: Tổng quan về các phươn thức tấn công phổ biến hiện nay Trình bày sơ lược về quá trình phát triển và các mô hình hoạt động của web, các phương thức tấn công cũng như cách phòng tránh chúng. - Chương 2: Tìm hiểu về cách thức tấn công DDos Trình bày một cách chi tiết các phương thức tân công cũng như cách thức phòng tránh DDos. - Chương 3: Xây dựng giải pháp phòng chống Ddos cho Website trường Cao đẳng Bách Khoa Hưng Yên. Trình bày giải pháp thực nghiện phòng chống DDOS áp dụng cho Website của trường Cao đẳng Bách Khoa Hưng Yên. Từ đó đưa ra những kết luận và so sánh.
- - 4 - CHƯƠNG 1 - TỔNG QUAN VỀ CÁC PHƯƠNG THỨC TẤN CÔNG PHỔ BIẾN HIỆN NAY 1.1. Mô tả Website và cách hoạt động Website là tập hợp nhiều trang [web page]. Khi doanh nghiệp xây dựng website nghĩa là đang xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ Để tạo nên một website cần phải có 3 yếu tố cơ bản: Cần phải có tên miền (domain). Nơi lưu trữ website (hosting). Nội dung các trang thông tin [web page]. 1.2. Các dịch vụ và ứng dụng trên nền Web Với công nghệ hiện nay, website không chỉ đơn giản là một trang tin cung cấp các tin bài đơn giản. Những ứng dụng viết trên nền web không chỉ được gọi là một phần của website nữa, giờ đây chúng được gọi là phần mềm viết trên nền web. Có rất nhiều phần mềm chạy trên nền web như Google word (xử lý văn bản), Google spreadsheets (xử lý bảng tính), Email , 1.3. Tìm hiểu về Local Attack (Tấn công cục bộ) 1.3.1 Cách tấn công Local Attack Local attack là một trong những kiểu hack rất phổ biến và không được khuyên dùng. Đối một web server thông thường khi đăng ký một tài khoản trên server nào đó thì sẽ được cấp một tài khoản trên server đó và một thư mục để quản lý site của mình.
- - 5 - 1.3.2 Cách bảo mật cho Local Attack Để hạn chế Local Attack, chúng ta nên Chmod filemanager, di chuyển file config.php và sửa đổi file htaccess và nhất là thường xuyên backup dữ liệu. - Chmod File Manager: - Thay đổi cấu trúc, tên file mặc định có chứa các thông tin quan trọng . Nếu có thể hãy thay đổi cả cấu trúc CSDL . - Chống local bằng cách bật safe-mode (dành cho root): 1.3.3. Các công cụ hỗ trợ Công cụ hỗ trợ Local Attack phổ biến và hay dùng nhất là các con shell.Các loại shell thường sử dụng là R57,C99, 1.4. Cách tấn công từ chối dịch vụ - Denial Of Service 1.4.1. Tấn công từ chối dịch vụ DOS (Denial Of Service ) 1.4.1.1. Khái quát về DOS DoS (Denial of Service) có thể mô tả như hành động ngăn cản những người dùng hợp pháp của một dịch vụ nào đó truy cập và sử dụng dịch vụ đó. Nó bao gồm cả việc làm tràn ngập mạng, làm mất kết nối với dịch vụ mà mục đích cuối cùng là làm cho server không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các client. Các cách thức tấn công:
- - 6 - - 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: Tấn công kiểu SYN flood: Lợi dụng nguồn tài nguyên của chính nạn nhân để tấn công: + Tấn công kiểu Land Attack: + Tấn công kiểu UDP flood: Sử dụng các nguồn tài nguyên khác: + Tấn công kiểu Smurf Attack: + Tấn công kiểu Tear Drop: - Phá hoại hoặc chỉnh sửa thông tin cấu hình. - Phá hoại hoặc chỉnh sửa vật lý phần cứng. 1.4.1.2. Các cách phòng chống DOS - Thiết lập password bảo vệ các thiết bị hay các nguồn tài nguyên quan trọng. - Thiết lập các mức xác thực đối với người dùng cũng như các nguồn tin trên mạng (các thông tin cập nhật định tuyến giữa các router cũng nên thiết lập ở chế độ xác thực) - 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ỉ chấp nhận các dịch vụ cần thiết, tạm thời dừng các dịch vụ chưa có yêu cầu cung cấp 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 để ngăn ngừa trường hợp người dùng có ác ý muốn lợi dụng các tài nguyên trên server để tấn công chính server hay mạng, server khác.
- - 7 - - 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 hệ thống dự phòng. 1.4.2 Tấn công từ chối dịch vụ phân tán DDOS (Distributed Denial of Service) Distributed Denial Of Service (DDoS) là kỹ thuật tấn công làm các ISP lo âu, giới hacker chính thống thì không công nhận DdoS là kỹ thuật tấn công chính thống. Thế nhưng Blackhat đang có rất nhiều ưu thế khi triển khai tấn công bằng kỹ thuật DDOS. Việc phòng ngừa và ngăn chặn DdoS vẫn còn đang thực hiện ở mức độ khắc phục hậu quả và truy tìm thủ phạm 1.4.3 Tấn công từ chối dịch vụ phản xạ nhiều vùng DRDoS (Distributed Reflection Denial of Service) Về cơ bản, DrDoS là sự phối hợp giữa hai kiểu DoS và DDoS. Nó có kiểu tấn công SYN với một máy tính đơn, vừa có sự kết hợp giữa nhiều máy tính để chiếm dụng băng thông như kiểu DDoS. Kẻ tấn công thực hiện bằng cách giả mạo địa chỉ của server mục tiêu rồi gửi yêu cầu SYN đến các server lớn như Yahoo, Micorosoft ,để các server này gửi các gói tin SYN/ACK đến server mục tiêu. Các server lớn, đường truyền mạnh đã vô tình đóng vai trò zoombies cho kẻ tấn công như trong DdoS.
- - 8 - 1.5. SQL Injection 1.5.1. Tấn công SQL injection 1.5.1.1. SQL Injection là gì? - SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để "tiêm vào" (inject) và thi hành các câu lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước). Hậu quả của nó rất tai hại vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa, hiệu chỉnh, Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase. 1.5.1.2. Các Dạng Tấn Công SQL Injection Có bốn dạng thông thường bao gồm: - Dạng tấn công vượt qua kiểm tra đăng nhập - Dạng tấn công sử dụng câu lệnh Select - Dạng tấn công sử dụng câu lệnh INSERT - Dạng tấn công sử dụng Stored-procedures 1.5.2. Cách phòng tránh SQL Injection 1.5.2.1 Kiểm soát chặt chẽ dữ liệu nhập vào Để phòng tránh các nguy cơ có thể xảy ra, hãy bảo vệ các câu lệnh SQL là bằng cách kiểm soát chặt chẽ tất cả các dữ liệu nhập
- - 9 - nhận được từ đối tượng Request (Request, Request.QueryString, Request.Form, Request.Cookies, and Request.ServerVariables). 1.5.2.2. Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu Cần có cơ chế kiểm soát chặt chẽ và giới hạn quyền xử lí dữ liệu đến tài khoản người dùng mà ứng dụng web đang sử dụng. Các ứng dụng thông thường nên tránh dùng đến các quyền như dbo hay sa. Quyền càng bị hạn chế, thiệt hại càng ít. Ngoài ra để tránh các nguy cơ từ SQL Injection attack, nên chú ý loại bỏ bất kì thông tin kĩ thuật nào chứa trong thông điệp chuyển xuống cho người dùng khi ứng dụng có lỗi. Các thông báo lỗi thông thường tiết lộ các chi tiết kĩ thuật có thể cho phép kẻ tấn công biết được điểm yếu của hệ thống. 1.6. Cross Site Scripting (XSS) Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiên nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những người sử dụng web. Bất kì một website nào cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS. 1.6.1. Tấn công XSS 1.6.1.1. XSS là gì?
- - 10 - Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ) những thẻ HTML hay những đoạn mã Script nguy hiểm có thể gây nguy hại cho những người sử dụng khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML. 1.6.1.1. XSS là gì? Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kĩ thuật tấn công bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ) những thẻ HTML hay những đoạn mã Script nguy hiểm có thể gây nguy hại cho những người sử dụng khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML. 1.6.1.2. XSS hoạt động như thế nào? Các đoạn mã trong thẻ script không hề bị giới hạn bởi chúng hoàn toàn có thể thay thế bằng một file nguồn trên một server khác thông qua thuộc tính src của thẻ script. Cũng chính vì lẽ đó mà chúng ta chưa thể lường hết được độ nguy hiểm của các lỗi XSS. Thật vậy, XSS là những Client-Side Script, những đoạn mã này sẽ chỉ chạy bởi trình duyệt phía client do đó XSS không làm ảnh hưởng đến hệ thống website nằm trên server.
- - 11 - Mục tiêu tấn công của XSS không ai khác chính là những người sử dụng khác của website, khi họ vô tình vào các trang có chứa các đoạn mã nguy hiểm do các hacker để lại họ có thể bị chuyển tới các website khác, đặt lại homepage, hay nặng hơn là mất mật khẩu, mất cookie thậm chí máy tính bạn có thể sẽ bị cài các loại virus, backdoor, worm 1.6.2. Cách phòng chống XSS. OWASP (The Open Web Application Standard Project) nói rằng để có thể xây dựng các website bảo mật cao, đối với các dữ liệu của người sử dụng bạn nên Chỉ chấp nhận những dữ liệu hợp lệ. Từ chối nhận các dữ liệu hỏng. Liên tục kiểm tra và thanh lọc dữ liệu. Kĩ thuật XSS được mô tả lần đầu tiên cách đây 2 năm và hầu hết các khả năng tiềm ẩn của kĩ thuật này đã được biết đến. Tuy nhiên chúng ta mới chỉ khắc phục được một phần của nó.
- - 12 - CHƯƠNG 2 - TÌM HIỂU VỀ CÁCH THỨC TẤN CÔNG BẰNG DDOS 2.1. Tổng quan về DDOS 2.1.1. Khái niệm DDoS DDoS – Distributed Denial of Service (Tấn công từ chối dịch vụ phân tán ) là hoạt động làm chấm dứt hoặc gián đoạn các dịch vụ tại máy nạn nhân. Tấn công DDoS huy động số lượng lớn các máy bị lợi dụng để tấn công nạn nhân vào một cùng thời điểm. Trên Internet tấn công DDOs là một dạng tấn công từ nhiều máy tính tới một đích, nó gây ra từ chối các yêu cầu hợp lệ của các user bình thường. Bằng cách tạo ra những gói tin cực nhiều đến một đích cụ thể, nó có thể gây tình trạng tương tự như hệ thống bị shutdown. Hình 2.1: Mô phỏng tấn công DDOS
- - 13 - Khi một mạng máy tính bị Hacker tấn công nó sẽ chiếm một lượng lớn tài nguyên trên server như dung lượng ổ cứng, bộ nhớ, CPU, băng thông . Lượng tài nguyên này tùy thuộc vào khả năng huy động tấn công của mỗi Hacker. Khi đó Server sẽ không thể đáp ứng hết những yêu cầu từ những client của những người sử dụng và từ đó server có thể sẽ nhanh chóng bị ngừng hoạt động, crash hoặc reboot. 2.1.2. Các đặc tính của DDoS - Nó được tấn công từ một hệ thống các máy tính cực lớn trên Internet, và thường dựa vào các dịch vụ có sẵn trên các máy tính trong mạng botnet - Các dịch vụ tấn công được điều khiển từ những "primary victim" trong khi các máy tính bị chiếm quyền sử dụng trong mạng Bot được sử dụng để tấn công thường được gọi là "secondary victims". - Là dạng tấn công rất khó có thể phát hiện bởi tấn công này được sinh ra từ nhiều địa chỉ IP trên Internet. 2.1.3. Các giai đoạn tấn công DDOS 2.3.1.1. Giai đoạn chuẩn bị - Chuẩn bị công cụ quan trọng của cuộc tấn công, công cụ này thông thường hoạt động theo mô hình client-server.
- - 14 - - Kế tiếp, dùng các kỹ thuật hack khác để nắm trọn quyền một số host trên mạng. tiến hành cài đặt các software cần thiết trên các host này, việc cấu hình và thử nghiệm toàn bộ attack-netword 2.3.1.2. Giai đoạn xác định mục tiêu và thời điểm - Sau khi xác định mục tiêu lấn cuối, hacker sẽ có hoạt động điều chỉnh attack-netword chuyển hướng tấn công về phía mục tiêu. - Sau khi xác định mục tiêu lấn cuối, hacker sẽ có hoạt động điều chỉnh attack-netword chuyển hướng tấn công về phía mục tiêu. 2.3.1.3. Phát động tấn công và xoá dấu vết - Sau một khoảng thời gian tấn công thích hợp, hacker tiến hành xóa mọi dấu vết có thể truy ngược đến mình, việc này đòi hỏi trình độ khác cao và không tuyệt đối cần thiết. 2.2. Phân loại các kiểu tấn công DDoS Hình 2.2: Sơ đồ phân loại các kiểu tấn công DDoS
- - 15 - 2.2.1. Tấn công làm cạn kiệt băng thông của mạng (BandWith Depletion Attack) Gồm có 2 loại: Flood attack (tràn băng thông): điều khiển các Agent gửi một lượng lớn traffic đến hệ thống dịch vụ của mục tiêu, làm dịch vụ này bị hết khả năng về băng thông. Amplification attack (khuyếch đại giao tiếp): Điều khiển các Agent hay Client tự gửi message đến một địa chỉ IP broadcast, làm cho tất cả các máy trong subnet này gửi message đến hệ thống dịch vụ của mục tiêu. Phương pháp này làm gia tăng traffic không cần thiết, làm suy giảm băng thông của mục tiêu. 2.2.1.1. Flood attack (tràn băng thông) Phương pháp Flood Attack chia thành hai loại: + UDP Flood Attack: + ICMP Flood Attack: 2.2.1.2. Amplification Attack (khuyếch đại giao tiếp) Amplification Attack nhắm đến việc sử dụng các chức năng hỗ trợ địa chỉ IP broadcast của các router nhằm khuyếch đại và hồi chuyển cuộc tấn công. Attacker có thể gửi broadcast message trực tiếp hay thông qua một số Agent nhằm làm gia tăng cường độ của cuộc tấn công. Có thể chia Amplification Attack thành 2 loại: + Smuft attack: + Fraggle Attack:
- - 16 - 2.2.2. Tấn công làm cạn kiệt tài nguyên. Là kiểu tấn công trong đó Attacker gởi những packet dùng các protocol sai chức năng thiết kế, hay gửi những packet với dụng ý làm tắc nghẽn tài nguyên mạng làm cho các tài nguyên này không phục vụ user thông thường khác được Gồm có 2 loại: Protocol Exploit Attack là cách tấn công khai thác lỗ hỗng trên các giao thức Malformed Packet Attack là cách tấn công dùng các Agent để gửi các packet có cấu trúc không đúng chuẩn nhằm làm cho hệ thống của nạn nhân bị treo. 2.2.2.1 Protocol Exploit Attack TCP SYS Attack: Transfer Control Protocol hỗ trợ truyền nhận với độ tin cậy cao nên sử dụng phương thức bắt tay giữa bên gửi và bên nhận trước khi truyền dữ liệu. Bước đầu tiên, bên gửi gửi một SYN REQUEST packet (Synchronize). Bên nhận nếu nhận được SYN REQUEST sẽ trả lời bằng SYN/ACK REPLY packet. Bước cuối cùng, bên gửi sẽ truyên packet cuối cùng ACK và bắt đầu truyền dữ liệu. 2.2.2.3 Malformed Packet Attack Là cách tấn công dùng các Agent để gửi các Packet có cấu trúc không đúng chuẩn nhằm cho hệ thống của nạn nhân bị treo. Có hai loại: Malformed Packet Attack
- - 17 - IP address attack: dùng packet có địa chỉ gửi và nhận giống nhau làm cho hệ điều hành của nạn nhân không xử lý nổi và bị treo. IP packet options attack: ngẫu nhiên hóa vùng OPTION trong IP packet và thiết lập tất cả các bit QoS lên 1, điều này làm cho hệ thống của nạn nhân phải tốn thời gian phân tích, nếu sử dụng số lượng lớn Agent có thể làm hệ thống nạn nhân hết khả năng xử lý. 2.3 Các phương pháp xây dựng tài nguyên tấn công. 2.3.1 Cách thức cài đặt DDOS Agent - Cách cài đặt Active: + Scaning: dùng các công cụ như Nmap, Nessus để tìm những sơ hở trên các hệ thống đang online nhằm cài đặt Agentsoftware. + Backdoor: sau khi tìm thấy được danh sách các hệ thống có thể lợi dụng, attacker sẽ tiến hành xâm nhập và cài Agent software lên các hệ thống này. + Trojan: là một chương trình thực hiện một chức năng thông thường nào đó, nhưng lại có một số chức năng tiềm ẩn phục vụ cho mục đích riêng của người viết mà người dùng không thể biết được. + Buffer Overflow: - Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ. 2.3.2 Giao tiếp trên Attack-Network
- - 18 - - Protocol: giao tiếp trên attack-network có thể thực hiện trên nền các protocol TCP, UDP, ICMP. - Mã hóa các giao tiếp - Cách kích hoạt Agen: 2. 4 Một số kiểu tấn công DDOS và các công cụ tấn công DDOS. 2.4.1 Một số kiểu tấn công DDOS. Dưới đây là phân loại một số cách tấn công Ddos theo giao thức: HTTP Flood SYN Flood ICMP Flood TCP Reset UDP Flood 2.4.2 Một số công cụ tấn công DDOS. 2.4.2.1. Công cụ DDoS dạng Agent – Handler: - TrinOO là một công cụ tấn công từ chối dịch vụ bằng kỹ thuật UDP Flood được kết hợp từ nhiều nguồn, là một trong các công cụ DDoS đầu tiên được phát tán rộng rãi. - Tribe Flood Network (TFN): Kiểu kiến trúc Agent – Handler, công cụ DDoS hoễ trợ kiểu Bandwidth Deleption Attack và Resourse Deleption Attack.
- - 19 - - Stacheldraht: là biến thể của TFN có thêm khả năng update Agent tự động. Giao tiếp telnet mã hóa đối xứng giữa Attacker và Handler. - Shaft: là biến thể của TrinOO, giao tiếp Handler – Agent trên UDP, Attacker – Hendle trên Internet 2.4.2.1. Công cụ DDoS dạng IRC – Based - Trinity: là một điển hình của công cụ dạng này. Trinity có hầu hết các kỹ thuật tấn công bao gồm: UDP, TCP SYS, TCP ACK, TCP fragment, TCP NULL, TCP RST, TCP random flag, TCP ESTABLISHED packet flood. - Ngoài ra có Knight, được thiết kế chạy trên Windows, sử dụng kỹ thuật cài đặt của troijan back Orifice. Knight dùng các kỹ thuật tấn công như SYV, UDP Flood và Urgent Pointer Flooder. - Sau cùng là Kaiten, là biến thể của Knight, hỗ trợ rất nhiều kỹ thuật tấn công như: UDP, TCP flood, SYN, PUSH + ACK attack. Kaiten cũng thừa hưởng khả năng ngẫu nhiên hóa địa chỉ giả mạo của Trinity. 2.5 Phòng chống DDOS. 2.5.1. Đối với các cuộc tấn công lớn và quy mô Có 3 giai đoạn chính trong quá trình phòng chống Ddos - Giai đoạn ngăn ngừa: Tối thiểu hoá lượng Agent, tìm và vô hiệu hoá các Handle
- - 20 - - Giai đoạn đối đầu với cuộc tấn công: Phát hiện và ngăn chặn cuộc tấn công, làm suy giảm và dừng cuộc tấn công, chuyển hướng cuộc tấn công. - Giai đoạn sau khi cuộc tấn công xảy ra: thu thập chứng cứ và rút kinh nghiệm Các giai đoạn chi tiết trong phòng chống DDoS: Tối thiểu hóa số lượng Agent: Tìm và vô hiệu hóa các Handler: Phát hiện dấu hiệu của một cuộc tấn công: Có nhiều kỹ thuật được áp dụng: - Agress Filtering: - MIB statistics: Làm suy giàm hay dừng cuộc tấn công: Dùng các kỹ thuật sau: + Load balancing: + Throttling: + Drop request: Chuyển hướng của cuộc tấn công: + Honeyspots: Giai đoạn sau tấn công: Trong giai đoạn này thông thường thực hiện các công việc sau: + Traffic Pattern Analysis: + Packet Traceback:
- - 21 - + Bevent Logs: 2.5.2. Đối với các cuộc tấn công nhỏ lẻ Cách 1: Chống iframe. Đây là phương pháp được xem là thô sơ nhất. Kẻ tấn công sẽ mượn 1 website có lượt truy cập lớn nào đó chèn các iframe hướng về website cần đánh rồi cho chạy lệnh refresh (tải lại) nhiều lần hoặc họ viết sẵn 1 tập tin. Cách 2: Chống tải lại trang web có ác ý Một hình thức tấn công khác nữa là dùng phím F5 liên tục có chủ ý, hoặc dùng một phần mềm được lập trình sẵn với công dụng tương tự . Cách 3: Giới hạn số kết nối website tại một thời điểm Khi một khách truy cập vào website thì sẽ tạo ra một truy vấn kết nối với cơ sở dữ liệu (CSDL) lấy thông tin và trả về thông qua hiển thị của website. Mỗi máy chủ sẽ có phép bao nhiêu truy vấn kết nối là hạn định và khi vượt quá hạn mức này thì việc truy cập sẽ khó khăn hoặc không thể truy xuất được.
- - 22 - CHƯƠNG 3 - XÂY DỰNG GIẢI PHÁP PHÒNG CHỐNG DDOS CHO WEBSITE TRƯỜNG CAO ĐẲNG BÁCH KHOA HƯNG YÊN 3.1. Hiện trạng Website trường cao đẳng Bách Khoa Hưng Yên Hình 3.1: Website trường Cao đẳng Bách Khoa Hưng Yên Website lấy tên miền là BKIH.EDU.VN (địa chỉ IP là 113.160.133.152) được đặt tại máy chủ của nhà trường. Website được thiết kế theo hướng mở, cho phép nâng cấp và cập nhật thêm các tính năng mới
- - 23 - 3.2. Giải pháp chống Ddos được đưa ra cho website trường Cao đẳng Bách Khoa Hưng Yên - Tăng băng thông kết nối tạm thời để giải quyết lượng truy cập vào website - Phân tán lượng truy cập đến một máy chủ khác với băng thông lớn - Thiết lập và cân bằng tải hệ thống máy chủ để tăng thời gian chống ddos - Cấu hình lại máy chủ, thiết lập thông số tường lửa để sàng lọc các địa chỉ IP có dấu hiệu truy cập ảo. Hiện nay trên thế giới có rất nhiều cách phòng chống Ddos nói chung và phòng chống Ddos cho máy chủ Web nói riêng như sử dụng Firewall, triển khai IPS (Intrusion Prevention System- Hệ thống chống xâm nhập), load balancing (cân bằng tải) Có thể đơn cử ra một vài công cụ cụ thể như : - Firewall mềm: + Skyeagle anti-DDoS firewall + FortGuard Anti-DDoS Firewall Standard - IPS : + Lokkit + Snort + Untangle
- - 24 - Trong luận văn này, em lựa chọn giải pháp sử dụng IPS gồm Snort inline và Iptables để xây dựng giải pháp phòng chống DDoS cho máy chủ web cũng như cho Website của nhà trường. Lý do lựa chọn xây dựng mô hình IPS gồm Snort inline và Iptables là: - Đối với Snort inline : Snort được biết đến với các ưu điểm như dễ cấu hình, miễn phí, sử dụng rộng rãi, chạy trên nhiều nền tảng (Windows, Unix, Linux), liên tục được cập nhật. Snort inline là một “module” của snort, thay vì lắng nghe trên cổng chỉ định và theo dõi tất cả các traffic đi qua cổng đấy, Snort inline chỉ theo dõi các traffic đặc biệt được chỉ định trước, do đó làm tăng khả năng và hiệu suất của Snort. - Cũng tương tự như Snort inline, Iptables mà nền tảng là Netfilter cũng có những ưu điểm như dễ cấu hình, tốc độ sử lý nhanh, được tích hợp sẵn trong Kernel Linux 2.6 trở lên. - Việc sử dụng kết hợp Iptables với Snort inline sẽ tạo được một hệ thống IPS hoạt động ổn định, dễ cấu hình, dễ dàng tinh chỉnh khi cần thiết. 3.3. Thử nghiệm, đánh giá Với mục tiêu đặt ra là tăng thời gian chống chịu DDoS cho máy chủ web để những người quản trị có thời gian khắc phục, nên em Đề mô thực tế trên Website của nhà trường. Công cụ để đo thời gian đáp ứng được sử dụng là jmeter, một project của apache
- - 25 - Sau đây là các bước sẽ triển khai để thực hiện kiểm tra, đánh giá. Bước 1: Kiểm tra server khi chạy bình thường chưa có hệ thống phòng thủ và chưa bị DDoS - Đo thời gian đáp ứng của server sử dụng công cụ jmeter - Kiểm tra tài nguyên của server đang dùng Bước 2: Kiểm tra server khi cài đặt hệ thống phòng chống và chưa bị DDoS - Đo thời gian đáp ứng của server sử dụng công cụ jmeter - Kiểm tra tài nguyên của server đang dùng Bước 3: Kiểm tra server khi chưa cài hệ thống phòng chống và đang bị DDoS - Đo thời gian đáp ứng của server sử dụng công cụ jmeter - Kiểm tra tài nguyên của server đang dùng. Bước 4: Kiểm tra server khi đã cài hệ thống phòng chống và đang bị DDoS - Đo thời gian đáp ứng của server sử dụng công cụ jmeter - Kiểm tra tài nguyên của server đang dùng. 3.4. Sử dụng phần mềm FortGuardwall Ngoài ra ta có thể sử dụng tường lửa FortGuard Firewall để thực hiện chống DDos cài đặt trên máy chủ Website. FortGuard Firewall là một giải pháp giúp người dùng chống lại các cuộc tấn công DDoS với độ chính xác và hiệu suất cao nhất
- - 26 - KẾT LUẬN VÀ KIẾN NGHỊ Kết luận: Luận văn được xây dựng với mục đích nghiên cứu, tìm hiểu các kĩ thuật tấn công ứng dụng Web bao gồm các kĩ thuật: o Tấn công Cross-site Scripting. o Tấn công SQL Injection nâng cao o Tấn công Local Acttack. o Tấn công từ chối dịch vụ DOS, DDOS, DRDOS. Trong đó đi sâu vào kỹ thuật tấn công từ chối dịch vụ DDOS. Từ đó đưa ra giải pháp phòng chống không chỉ cho website trường cao đẳng Bách Khoa Hưng Yên mà còn nhiều các Website khác. Từ những giải pháp đó khi triển khai nó sẽ ngăn chặn được các cuộc tấn công đồng loạt từ các Hacker. Khi đó Hệ thống sẽ nhận biết và ngăn cản các cuộc tấn công đó. + Tìm hiểu lý thuyết về DDoS bao gồm lý thuyết chung, phân loại các kiểu DDoS, nắm được các cách xây dựng mạng Botnet, biết được một số công cụ tấn công DDoS và đặc biệt là các cách phòng chống DDoS.
- - 27 - + Triển khai thành công hệ thống phòng chống DDoS cho máy chủ web bao gồm tìm hiểu lý thuyết và cài đặt cấu hình thành công Snort inline và module connlimit cho Iptables, nắm được một số cấu hình cơ bản về tối ưu hóa TCP/IP cho hệ điều hành Centos 5.2. Ngoài ra luận văn sẽ là một tài liệu hữu ích cho những nhà quản trị mạng và những người yêu thích mạng máy tính. Kiến nghị và hướng phát triển đề tài: Trong quá trình nghiên cứu và tìm hiểu đề tài, em nhận thấy DDoS càng ngày càng có nhiều biến thể tinh vi hơn, mức độ phá hoại cũng cao hơn như DRDDoS (Distributed Reflexive Denial of Services), làm cho việc phòng chống DDoS ngày một khó khăn hơn. Dưới đây là một số hướng phát triển để nâng cao hiệu quả của hệ thống phòng chống DDoS cho máy chủ ứng dụng, cũng như cung cấp dịch vụ. o Nghiên cứu triển khai hệ thống trên nhiều mô hình mạng khác nhau. o Triển khai load balancing cho máy chủ web. o Nghiên cứu triển khai hệ thống HONEYNET để phát hiện sớm các tấn công DDoS từ đó có những biện pháp phòng chống