Đăng ký Đăng nhập
Trang chủ Xây dựng giải pháp chống tấn công từ chối dịch vụ trên tầng ứng dụng cho website...

Tài liệu Xây dựng giải pháp chống tấn công từ chối dịch vụ trên tầng ứng dụng cho websites

.PDF
60
1
114

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI --------------------------------------- NGUYỄN XUÂN QUANG XÂY DỰNG GIẢI PHÁP CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ TRÊN TẦNG ỨNG DỤNG CHO WEBSITES LUẬN VĂN THẠC SĨ KHOA HỌC HỆ THỐNG THÔNG TIN Hà Nội - 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI --------------------------------------- NGUYỄN XUÂN QUANG XÂY DỰNG GIẢI PHÁP CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ TRÊN TẦNG ỨNG DỤNG CHO WEBSITES LUẬN VĂN THẠC SĨ KHOA HỌC HỆ THỐNG THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN LINH GIANG Hà Nội - 2016 LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu sử dụng trong luận văn và các kết quả nghiên cứu được trình bày trong luận văn là trung thực. Hà Nội, Ngày tháng năn 2016 Tác giả luận văn Nguyễn Xuân Quang i LỜI CẢM ƠN Trong thời gian học tập, nghiên cứu và thực hiện luận văn này, tôi đã nhận được sự giúp đỡ vô cùng to lớn của quý thầy cô trường Đại học Bách Khoa Hà Nội, cơ quan, gia đình, bạn bè và đồng nghiệp. Tôi xin tỏ lòng biết ơn chân thành đến: PGS.TS. Nguyễn Linh Giang, người đã tận tình hướng dẫn và giúp đỡ tôi trong suốt thời gian học tập, nghiên cứu thực hiện đề tài. Tập thể quý thầy cô trực tiếp giảng dạy lớp Hệ thống thôn tin – chuyên ngành Hệ thống thông tin đã tận tình giảng dạy, hướng dẫn tôi trong suốt thời gian học tập, nghiên cứu tại Đại học Bách Khoa Hà Nội. Ban lãnh đạo công ty đã tạo điều kiện về thời gian và động viên về mặt tinh thần trong quá trình tôi thực hiện đề tài. Đặc biệt là gia đình, bạn bè, đồng nghiệp và các bạn học viên lớp Hệ thống thông tin chuyên ngành Hệ thống thông tin thông tin đã ủng hộ, động viên, giúp đỡ tôi trong suốt thời gian học tập nghiên cứu và thực hiện đề tài. Xin chân thành cảm ơn ! Hà Nội, Ngày tháng năm 2016 Tác giả luận văn Nguyễn Xuân Quang ii MỤC LỤC Danh mục các từ viết tắt ...........................................................................................v Danh mục các hình vẽ ............................................................................................. vi MỞ ĐẦU ....................................................................................................................1 CHƯƠNG 1: NGHIÊN CỨU CÁC GIẢI PHÁP NGĂN CHẶN TẤN CÔNG TỪ CHỐI DỊCH VỤ TRÊN TẦNG ỨNG DỤNG CHO WEBSITES. .................4 1.1. Phân tích tổng quan về nguy cơ, rủi ro và tác động của các kiểu tấn công từ chối dịch vụ websites. ................................................................................................................ 4 1.1.1. Khái niệm tấn công từ chối dịch vụ. .................................................................... 4 1.1.2. Phân loại tấn công từ chối dịch vụ. ...................................................................... 5 1.1.3 Đặc điểm và ảnh hưởng của tấn công từ chối dịch vụ vào tầng ứng dụng của websites. ....................................................................................................................... 10 1.1.3.1. Slowloris ......................................................................................................... 10 1.1.3.2. Slow read, slow post. ...................................................................................... 11 1.1.3.3. Http Flood. ...................................................................................................... 12 1.2. Phương pháp luận nghiên cứu các giải pháp ngăn chặn tấn công từ chối dịch vụ. .. 15 1.2.1. Các yêu cầu đối với một hệ thống chấn tấn công từ chối dịch vụ. .................... 15 1.2.2. Phương pháp để xác định tấn công từ chối dịch vụ. .......................................... 16 1.2.2.1. Xác thực người dùng....................................................................................... 16 1.2.2.2. Xác thực các bot của trang tìm kiếm. ............................................................. 18 CHƯƠNG 2: XÂY DỰNG HỆ THỐNG NGĂN CHẶN TẤN CÔNG TỪ CHỐI DICH VỤ CHO WEBSITES. .................................................................................19 2.1. Thiết kế tổng quan mô hình và chức năng của hệ thống. ......................................... 19 2.1.1. Kiến trúc tổng quan và các thành phần của hệ thống. ....................................... 19 2.1.2. Mô hình hoạt động của hệ thống. ...................................................................... 20 2.2. Xây dựng hệ thống ngăn chặn tấn công từ chối dịch vụ. .......................................... 24 2.2.1. Lựa chọn công nghệ. .......................................................................................... 24 2.2.2. Xây dựng các thành phần của hệ thống. ............................................................ 25 2.2.2.1. Cài đặt môi trường. ......................................................................................... 25 2.2.2.2. Module tạo cookie xác thực. ........................................................................... 27 2.2.2.3. Module xác thực người dùng bằng javascript. ................................................ 29 2.2.2.4. Module xác thực bằng captcha. ...................................................................... 29 2.2.2.5. Module xác thực bot của các công cụ tìm kiếm.............................................. 31 2.2.2.6. Module giới hạn số request của người dùng. .................................................. 32 2.2.3. Triển khai hệ thống thực tế. ............................................................................... 33 iii CHƯƠNG 3: TRIỂN KHAI, THỬ NGHIỆM HỆ THỐNG. ..............................36 3.1. Mô hình và quy mô triển khai thử nghiệm của hệ thống. ......................................... 36 3.2. Mẫu dữ liệu thử nghiệm và các phương án thử nghiệm. .......................................... 37 3.2.1. Thử nghiệm với các công cụ tấn công từ chối dịch vụ phổ biến trên internet. .. 37 3.2.2. Thử nghiệm với công cụ tấn công dùng mô phòng browser để qua mặt được cookie xác thực. ........................................................................................................... 39 3.3. Phân tích đánh giá kết quả thử nghiệm. .................................................................... 40 Trong thời gian đồ án hoàn thành hệ thống đã được dùng để bảo vệ website thực tế trước tấn công từ chối dịch vụ với cường độ lớn với cấu hình là: ............................... 42 KẾT LUẬN ..............................................................................................................43 TÀI LIỆU THAM KHẢO ......................................................................................44 PHỤ LỤC .................................................................................................................45 iv Danh mục các từ viết tắt DDoS DoS http Dns Cpu Ram CIDR distributed denial-of-service Denial-of-service The Hypertext Transfer Protocol The Domain Name System A central processing unit Random-access memory Classless Inter-Domain Routing v Danh mục các hình vẽ Hình 1. Tấn công từ chối dịch vụ website bằng công cụ slowhttptest................................. 12 Hình 2. Tấn công từ chối dịch vụ bằng mạng botnet. .......................................................... 13 Hình 3. Server quá tải khi bị tấn công từ chối dịch vụ. ....................................................... 14 Hình 4. Captcha để xác thực người dùng với bot. ............................................................... 17 Hình 5. Cách thức triển khai hệ thống. ................................................................................ 20 Hình 6. Sơ đồ logic của hệ thống. ........................................................................................ 21 Hình 7. Tấn công trực tiếp vào website. .............................................................................. 38 Hình 8. Tấn công thông qua hệ thống nginx cấu hình bảo vệ với roboo. ............................ 38 Hình 9. Tấn công vào website khi đã được bảo vệ bởi hệ thống chống tấn công từ chối dịch vụ. ........................................................................................................................................ 39 Hình 10. Tấn công vào website với mã tự viết. ................................................................... 40 Hình 11. Chạy thử để đánh giá tải của hệ thống so sánh với hệ thống dùng module roboo. ............................................................................................................................................. 41 Hình 12. Cpu xử dụng khi website được bảo vệ với module roboo và nginx. .................... 41 Hình 13. Cpu xử dụng khi website được bảo vệ bằng hệ thống chống tấn công tự xây dựng. ............................................................................................................................................. 41 Hình 14. Tải của hệ thống khi dùng module roboo. ............................................................ 42 Hình 15. Tải của hệ thống chống tấn công tự xây dựng. ..................................................... 42 Hình 16. Tải của hệ thống khi đang bị tấn công từ chối dịch vụ ......................................... 42 vi MỞ ĐẦU Trong những năm gần đây nền công nghệ thông tin ngày càng phát triển và phố biến. Đi cùng với sợ phát triển của nó là một số nghành nghề mới đang ngày càng phát triển là thương mại điện tử và kinh doang qua mạng. Việc kinh doanh trên mạng với việc không phải mất chi phí mặt bằng đắt đỏ do đó có rất nhiều doanh nghiệp mở ra dưới hình thức kinh doanh qua mạng. Tuy vậy cùng với những thuận lợi đó do có nhiều người kinh doanh hơn vì vậy có nhiều áp lực cạnh tranh hơn, một số doanh nghiệp kinh doanh trên mạng đặc biệt là các doanh nghiệp kinh doanh các mặt hàng mà lượng khách hàng thường xuyên không nhiều như ( đồ nội thất, thiết bị điện..) đã thực hiện các việc cạnh tranh không lành mạng với đối thủ bằng cách tấn công từ chối dịch vụ vào website của các công ty đối thủ của mình. Thêm vào đó do hiện tại việc thực hiện tấn công từ chối dịch vụ vào website có thể thực hiện tương đối dễ dàng bằng các công cụ được chia sẻ miễn phí trên mạng càng khiến vấn đề này thêm nhức nhối. Khi bị tấn công từ chối dịch vụ các doanh nghiệp kinh doanh qua mạng không thể tiếp cận được với khánh hàng do kênh tiếp cận với khách hàng chủ yếu là qua website do đó bị tổn hại về mặt doanh thu rất lớn. Các doanh nghiệp cần có một giải pháp bảo vệ mình trước các cuộc tấn công từ chối dịch vụ với chi phí thấp và hiệu quả cao. Các hệ thống chống tấn công từ chối dịch vụ của websites đã được nghiên cứu khá nhiều, tuy vậy các nghiên cứu trước đây phần lớn tập trung vào xây dựng hệ thống bảo vệ chống tấn công từ chối dịch vụ ở tầng 3 và 4. Một số hệ thống được công bố miễn phí mới chỉ chống được một phần các kiểu tấn công thường gặp trên thực tế. Các hệ thống chống tấn công từ chối dịch vụ ở tầng ứng dụng cũ hầu như đều dùng kỹ thuật xác thực người dùng thông qua một cookie xác thực, chưa có xác thực bot của các công cụ tìm kiếm. Trong luận văn tác giả sẽ đưa ra các yêu cầu cũng như các yếu tố kỹ thuật để xây dựng một hệ thống chống tấn công từ chối dịch vụ có hiệu quả tốt hơn. Hệ thống chống tấn công chủ yếu tập trung vào chống các dạng tấn công ở tầng ứng dụng đối với websites. Do thời gian có hạn nên tác giả chỉ tập trung xây dựng một 1 hệ thống để có thể chống được các đạng tấn công vào tầng ứng dụng của website phổ biến nhất, một số cách thức tấn công đặc biệt đòi hỏi phải triển khai các biện pháp kỹ thuật rất phức tạp để ngăn chặn sẽ được xây dựng trong thời gian sau. Bằng việc nghiên đặc điểm kỹ thuật của tất cả các dạng tấn công phổ biến ở tầng ứng dụng tác giả đã xây dựng được một hệ thống hoàn chỉnh bao gồm các thành phần chính: xác thực người dùng bằng cookie xác thực thông qua javascript hoặc captcha, xác thực các dạng bot của công cụ tìm kiếm phổ biến, giới hạn số request người dùng gửi nên để phát hiện các request tấn công từ chối dịch vụ vượt qua được phương pháp xác thực bằng javascript. Kết hợp các thành phần lại tác giá đã xây dựng được một hệ thống chống tấn công từ chối dịch vụ có thể chạy được trong thực tế và có hiệu qủa bảo vệ các websites khỏi các cuộc tấn công từ chối dịch vụ ở tầng ứng dụng. Cấu trúc luận văn: Nội dung chính của luận văn gồm có 3 chương: Chương 1: Nghiên cứu các giải pháp ngăn chặn tấn công từ chối dịch vụ trên tầng ứng dụng cho websites. Chương chính đầu tiên của luận văn thực hiện việc tìm hiểu một cách tổng quan về các nguy cơ rủi ro, cũng như các đặc điểm của các dạng tấn công từ chối dịch vụ hay gặp phải hiện nay. Phân loại ra các kiểu tấn công vào tầng ứng dụng đối với website phổ biến hiện tại. Từ các đặc điểm của các dạng tấn công với cách thức tấn công đã nghiên cứu đề xuất ra phương pháp để bảo vệ website trước các cuộc tấn công từ chối dịch vụ. Chương 2: Xây dựng hệ thống ngăn chặn tấn công từ chối dịch vụ cho websites. Chương này là phần cốt lõi quan trọng nhất của luận văn. Trong chương tập trung chính vào việc nghiên cứu các kỹ thuật và phương pháp thực tế để ngăn chặn tấn công từ chối dịch vụ ở tầng ứng dụng vào website. Cùng với đó trình bày chi tiết cách thức, công nghệ, cũng như quá trình xây dựng hệ thống ngăn chặn tấn 2 công từ chối dịch vụ. Đưa ra phương thức triển khai cấu hình hệ thống trong thực tế. Chương 3: Triển khai và thử nghiệm hệ thống. Chương này trình bày quá trình thử nghiệm hệ thống với các điều kiện giả định giống với thực tế nhất có thể. Qua đó đánh giá kết quả thử nghiệm để cho thấy tính hiệu quả của hệ thống. Phân tích các kết quả thử nghiệm làm tiền đề đề đề xuất các cải tiến cũng như tính năng trong tương lai. 3 CHƯƠNG 1: NGHIÊN CỨU CÁC GIẢI PHÁP NGĂN CHẶN TẤN CÔNG TỪ CHỐI DỊCH VỤ TRÊN TẦNG ỨNG DỤNG CHO WEBSITES. 1.1. Phân tích tổng quan về nguy cơ, rủi ro và tác động của các kiểu tấn công từ chối dịch vụ websites. 1.1.1. Khái niệm tấn công từ chối dịch vụ. Tấn công từ chối dịch vụ (Denial of Service - DoS) là dạng tấn công nhằm ngăn chặn người dùng hợp pháp truy nhập các tài nguyên mạng. Tấn công DoS đã xuất hiện từ khá sớm, vào đầu những năm 80 của thế kỷ trước. Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service - DDoS) là một dạng phát triển ở mức độ cao của tấn công DoS được phát hiện lần đầu tiên vào năm 1999. Khác biệt cơ bản của tấn công DoS và DDoS là phạm vi tấn công. Trong khi lưu lượng tấn công DoS thường phát sinh từ một hoặc một số ít host nguồn, lưu lượng tấn công DDoS thường phát sinh từ rất nhiều host nằm rải rác trên mạng Internet. Hiện nay, có hai phương pháp tấn công DDoS chủ yếu. Trong phương pháp thứ nhất, kẻ tấn công gửi các gói tin được tạo theo dạng đặc biệt gây lỗi trong giao thức truyền hoặc lỗi trong ứng dụng chạy trên máy nạn nhân. Một dạng tấn công DDoS điển hình theo phương pháp này là tấn công khai thác lỗ hổng an ninh của các giao thức hoặc dịch vụ trên máy nạn nhân. Phương pháp tấn công DDoS thứ hai phổ biến hơn phương pháp thứ nhất, gồm hai dạng: (i) dạng tấn công DDoS gây ngắt quãng kết nối của người dùng đến máy chủ dịch vụ bằng cách làm ngập lụt đường truyền mạng, cạn kiệt băng thông hoặc tài nguyên mạng, và (ii) dạng tấn công DDoS gây ngắt quãng dịch vụ cung cấp cho người dùng bằng cách làm cạn kiệt các tài nguyên của máy chủ dịch vụ, như thời gian xử lý của CPU, bộ nhớ, băng thông đĩa, cơ sở dữ liệu. Dạng tấn công này bảo gồm các loại tấn công gây ngập lụt ở mức ứng dụng. Kể từ cuộc tấn công DDoS đầu tiên được xác nhận vào năm 1999, nhiều 4 cuộc tấn công DDoS gây ngập lụt đã được thực hiện vào hệ thống mạng của các công ty và các tổ chức. Hầu hết các cuộc tấn công DDoS gây ngập lụt cho đến hiện nay đều tập trung vào làm ngắt quãng hoặc ngừng dịch vụ chạy trên hệ thống nạn nhân. Hậu quả là làm giảm doanh thu, tăng chi phí phòng chống và phục hồi dịch vụ. Ví dụ, vào tháng Hai năm 2000, hệ thống mạng của công ty Internet Yahoo phải hứng chịu đợt tấn công DDoS đầu tiên làm các dịch vụ của công ty phải ngừng hoạt động trong 2 giờ, gây thiệt hại lớn về doanh thu quảng cáo. Tháng Hai năm 2004, một đợt tấn công DDoS rất lớn xuất phát từ một lượng rất lớn các máy tính bị nhiễm virus Mydoom làm trang web của tập đoàn SCO không thể truy nhập. Virus Mydoom chứa các đoạn mã độc hại chạy trên hàng ngàn máy tính bị lây nhiễm đồng loạt tấn công trang web của tập đoàn SCO. Mã độc của virus Mydoom còn được tái sử dụng vào tháng Bảy năm 2009 để tấn công một loạt các trang web của Chỉnh phủ và các tổ chức tài chính ở Hàn Quốc và Mỹ gây nhiều hậu quả nghiêm trọng. Vào tháng Mười Hai năm 2010, một nhóm tin tặc có tên là “Anonymous” đã đạo diễn một loạt các cuộc tấn công DDoS gây ngừng hoạt động các trang web của các tổ chức tài chính, như Mastercard, Visa International, Paypal và PostFinance. Tháng Chín năm 2012, một đợt tấn công DDoS rất lớn do nhóm tin tặc “Izz ad-Din al-Qassam Cyber Fighters” thực hiện gây ngắt quãng hoặt ngừng hoạt động các trang web ngân hàng trực tuyến của 9 ngân hàng lớn của Mỹ. Các dạng tấn công DDoS được thực hiện ngày một nhiều với quy mô ngày một lớn và tinh vi hơn nhờ sự phát triển của các kỹ thuật tấn công và sự lan tràn của các công cụ tấn công. 1.1.2. Phân loại tấn công từ chối dịch vụ. Các cuộc tấn công DDoS thường được tin tặc thực hiện bằng cách huy động một số lượng rất lớn các máy tính có kết nối Internet bị chiếm quyền điều khiển – tập hợp các máy này được gọi là mạng máy tính ma hay mạng bot, hoặc botnet. Các máy của botnet có khả năng gửi hàng ngàn yêu cầu giả mạo mỗi giây đến hệ thống nạn nhân, gây ảnh hưởng nghiêm trọng đến chất lượng dịch vụ cung cấp cho người dùng. Do các yêu cầu của tấn công DDoS được gửi rải rác từ nhiều máy ở nhiều vị trí địa lý nên rất khó phân biệt với các yêu cầu của người dùng hợp pháp. Một trong 5 các khâu cần thiết trong việc đề ra các biện pháp phòng chống tấn công DDoS hiệu quả là phân loại các dạng tấn công DDoS và từ đó có biện pháp phòng chống thích hợp. Nhiều phương pháp phân loại tấn công DDoS đã được đề xuất như trong các công trình.Một cách khái quát, tấn công DDoS có thể được phân loại dựa trên 6 tiêu chí chính: Dựa trên phương pháp tấn công, Dựa trên mức độ tự động, Dựa trên giao thức mạng, Dựa trên phương thức giao tiếp, Dựa trên cường độ tấn công và Dựa trên việc khai thác các lỗ hổng an ninh. Phần tiếp theo của mục này trình bày chi tiết từng loại. Dựa trên phương pháp tấn công Phân loại DDoS dựa trên phương pháp tấn công là một trong phương pháp phân loại cơ bản nhất. Theo tiêu chí này, DDoS có thể được chia thành 2 dạng: 1) Tấn công gây ngập lụt (Flooding attacks): Trong tấn công gây ngập lụt, tin tặc tạo một lượng lớn các gói tin tấn công giống như các gói tin hợp lệ và gửi đến hệ thống nạn nhân làm cho hệ thống không thể phục vụ người dùng hợp pháp. Đối tượng của tấn công dạng này là băng thông mạng, không gian đĩa, thời gian của CPU,... 2) Tấn công logic (Logical attacks): Tấn công logic thường khai thác các tính năng hoặc các lỗi cài đặt của các giao thức hoặc dịch vụ chạy trên hệ thống nạn nhân, nhằm làm cạn kiệt tài nguyên hệ thống. Ví dụ tấn công TCP SYN khai thác quá trình bắt tay 3 bước trong khởi tạo kết nối TCP, trong đó mỗi yêu cầu kết nối được cấp một phần không gian trong bảng lưu yêu cầu kết nối trong khi chờ xác nhận kết nối. Tin tặc có thể gửi một lượng lớn yêu cầu kết nối giả mạo – các kết nối không thể thực hiện, chiếm đầy không gian bảng kết nối và hệ thống nạn nhân không thể tiếp nhận yêu cầu kết nối của người dùng hợp pháp. Dựa trên mức độ tự động Theo mức độ tự động, có thể chia tấn công DDoS thành 3 dạng: 1) Tấn công thủ công: Tin tặc trực tiếp quét các hệ thống tìm lỗ hổng, đột nhập vào hệ thống, cài đặt mã tấn công và ra lệnh kích hoạt tấn công. Chỉ những tấn công DDoS trong giai đoạn đầu mới được thực hiện thủ công. 6 2) Tấn công bán tự động: Trong dạng này, mạng lưới thực hiện tấn công DDoS bao gồm các máy điều khiển (master/handler) và các máy agent (slave, deamon, zombie, bot). Các giai đoạn tuyển chọn máy agent, khai thác lỗ hổng và lây nhiễm được thực hiện tự động. Trong đoạn tấn công, tin tặc gửi các thông tin bao gồm kiểu tấn công, thời điểm bắt đầu, khoảng thời gian duy trì tấn công và đích tấn công đến các agent thông qua các handler. Các agent sẽ theo lệnh gửi các gói tin tấn công đến hệ thống nạn nhân. 3) Tấn công tự động: Tất cả các giai đoạn trong quá trình tấn công DDoS, từ tuyển chọn máy agent, khai thác lỗ hổng, lây nhiễm đến thực hiện tấn công đều được thực hiện tự động. Tất cả các tham số tấn công đều được lập trình sẵn và đưa vào mã tấn công. Tấn công dạng này giảm đến tối thiểu giao tiếp giữa tin tặc và mạng lưới tấn công, và tin tặc chỉ cần kích hoạt giai đoạn tuyển chọn các máy agent. Dựa trên giao thức mạng Dựa trên giao thức mạng, tấn công DDoS có thể chia thành 2 dạng: 1) Tấn công vào tầng mạng hoặc giao vận: Ở dạng này, các gói tin TCP, UDP và ICMP được sử dụng để thực hiện tấn công. 2) Tấn công vào tầng ứng dụng: Ở dạng này, các tấn công thường hướng đến các dịch vụ thông dụng ứng với các giao thức tầng ứng dụng như HTTP, DNS và SMTP. Tấn công DDoS tầng ứng dụng cũng có thể gây ngập lụt đường truyền và tiêu hao tài nguyên máy chủ, làm ngắt quãng khả năng cung cấp dịch vụ cho người dùng hợp pháp. Dạng tấn công này rất khó phát hiện do các yêu cầu tấn công tương tự yêu cầu từ người dùng hợp pháp. Dựa trên phương thức giao tiếp Thông thường, để thực hiện tấn công DDoS, tin tặc phải tuyển chọn và chiếm quyền điều khiển một số lượng lớn các máy tính có kết nối Internet, và các máy tính này sau khi bị cài phần mềm agent trở thành các bots - công cụ giúp tin tặc thực hiện tấn công DDoS. Tin tặc thông qua các máy điều khiển (master) giao tiếp với các bots để 7 gửi thông tin và các lệnh điều khiển tấn công. Theo phương thức giao tiếp giữa các master và bots, có thể chia tấn công DDoS thành 4 dạng: 1) DDoS dựa trên agent-handler: Tấn công DDoS dựa trên dạng này bao gồm các thành phần: clients, handlers và agents (bots/zombies). Tin tặc chỉ giao tiếp trực tiếp với clients. Clients sẽ giao tiếp với agents thông qua handlers. Nhận được lệnh và các thông tin thực hiện tấn công, agents trực tiếp thực hiện việc tấn công. 2) DDoS dựa trên IRC: Internet Relay Chat (IRC) là một hệ thống truyền thông điệp trực tuyến cho phép nhiều người dùng tạo kết nối và trao đổi các thông điệp theo thời gian thực. Trong dạng tấn công DDoS này tin tặc sử dụng IRC làm kênh giao tiếp với các agents, không sử dụng handlers. 3) DDoS dựa trên web: Trong dạng tấn công này, tin tặc sử dụng các trang web làm phương tiện giao tiếp qua kênh HTTP thay cho kênh IRC. Các trang web của tin tặc được sử dụng làm trung tâm điều khiển và lây nhiễm các phần mềm độc hại, các công cụ khai thác các lỗ hổng an ninh, cài đặt các agents chiếm quyền điều khiển hệ thống máy tính và biến chúng thành các bots. Các bots có thể được xác lập cấu hình hoạt động từ đầu, hoặc chúng có thể gửi các thông điệp đến trang web điều khiển thông qua các giao thức web phổ biến như HTTP và HTTPS. 4) DDoS dựa trên P2P: Ở dạng này, tin tặc sử dụng giao thức Peer to Peer – một giao thức ở tầng ứng dụng làm kênh giao tiếp. Bản chất của các mạng P2P là phân tán nên rất khó để phát hiện các bots giao tiếp với nhau thông qua kênh này. Dựa trên cường độ tấn công Dựa trên cường độ hoặc tần suất gửi yêu cầu tấn công, có thể phân loại tấn công DDoS thành 5 dạng: 1) Tấn công cường độ cao: Là dạng tấn công gây ngắt quãng dịch vụ bằng cách gửi cùng một thời điểm một lượng rất lớn các yêu cầu từ các máy agents/zombies nằm phân tán trên mạng. 2) Tấn công cường độ thấp: Các agents/zombies được phối hợp sử dụng để gửi một lượng lớn các yêu cầu giả mạo, nhưng với tần suất thấp, làm suy giảm dần 8 dần hiệu năng mạng. Dạng tấn công này rất khó bị phát hiện do lưu lương tấn công tương tự như lưu lượng đến từ người dùng hợp pháp. 3) Tấn công cường độ hỗn hợp: Là dạng kết hợp giữa tấn công cường độ cao và tấn công cường độ thấp. Đây là dạng tấn công phức hợp, trong đó tin tặc thường sử dụng các công cụ để sinh các gói tin tấn công gửi với tần suất cao và thấp. 4) Tấn công cường độ liên tục: Là dạng tấn công được thực hiện liên tục với cường độ tối đa trong suốt khoảng thời gian từ khi bắt đầu đến khi kết thúc. 5) Tấn công cường độ thay đổi: Đây là dạng tấn công có cường độ thay đổi động nhằm tránh bị phát hiện và đáp trả. Dựa trên việc khai thác các lỗ hổng an ninh Dựa trên việc khai thác các điểm yếu và lỗ hổng an ninh, tấn công DDoS có thể được phân loại thành 2 dạng: 1) Tấn công gây cạn kiệt băng thông: Các tấn công DDoS dạng này được thiết kế để gây ngập lụt hệ thống mạng của nạn nhân bằng các yêu cầu truy nhập giả mạo, làm người dùng hợp pháp không thể truy nhập dịch vụ. Tấn công dạng này thường gây tắc nghẽn đường truyền bằng lượng yêu cầu giả mạo rất lớn gửi bởi các máy tính ma (zombie) của các botnets. Dạng tấn công này cũng còn được gọi là tấn công gây ngập lụt hoặc tấn công khuếch đại. 2) Tấn công gây cạn kiệt tài nguyên: Các tấn công DDoS dạng này được thiết kế để tiêu dùng hết các tài nguyên trên hệ thống nạn nhân, làm cho nó không thể phục vụ các yêu cầu của người dùng hợp pháp. Dạng tấn công DDoS này có thể được chia nhỏ thành 2 dạng (i) tấn công khai thác tính năng hoặc lỗi cài đặt của các giao thức và (ii) tấn công sử dụng các gói tin được tạo đặc biệt. Trong dạng thứ nhất, tin tặc khai thác các lỗi hoặc các tính năng đặc biệt của các giao thức trên hệ thống nạn nhân để gây cạn kiệt tài nguyên. Trong dạng thứ hai, kẻ tấn công tạo ra các gói tin đặc biệt, như các gói sai định dạng, gói có khiếm khuyết, gửi đến hệ thống nạn nhân. Hệ thống nạn nhân có thể bị trục trặc khi cố gắng xử lý các gói tin dạng này. Ví dụ, trong tấn công Ping of Death, tin tặc gửi các gói tin ICMP có kích thước lớn hơn 64KB gây lỗi các máy chạy hệ điều hành Windows XP. 9 1.1.3 Đặc điểm và ảnh hưởng của tấn công từ chối dịch vụ vào tầng ứng dụng của websites. 1.1.3.1. Slowloris Lỗi này được phát hiện và công bố từ năm 2009 do thiết kế của của máy chủ web apache được dùng rất phổ biến trên internet. Máy chủ apache được thiết kế một lúc sẽ chỉ phục vụ số người dùng theo tham số MaxClients được cấu hình từ trước. Thêm vào đó khi nhận request từ người dùng apache sẽ đợi request kết thúc bằng cách đợi dữ liệu kết thúc request “\r\n\r\n” và mặc định apache sẽ làm việc này theo tham số cấu hình timeout là 300 giây. Lợi dụng lỗi này người tấn công website sẽ làm một mã khai thác dể tấn công vào bằng cách giữ được connection trong thời gian nhiều nhất có thể để chiến toàn bộ số slot mà apache dùng để phục vụ người dùng. Người tấn công lúc đó sẽ viết mã nhằm tạo ra request http vào server cần tấn công, khác với cách request bình thường mã này sẽ làm chậm quá trình request lên bằng cách gửi dữ liệu chậm lên server: cứ 1 đến 2 giây mới gửi dữ lệu 1 lần, thêm rất nhiều dữ liệu rác vào request và chậm gửi kết thúc request. Khi website bị tấn công bởi dạng tấn công này thì tất cả các người dùng khác rất khó truy cập vào server vì gần như tất cả các slot để phục vụ người dùng hầu như đã bị người tấn công chiếm dụng hết. Thêm vào đó đạng tấn công này không phải là dạng tấn công đánh vào tài nguyên của server, khi đó người quan trị chưa từng có kinh nghiệm sẽ rất khó tìm ra lý do tại sao người dùng không thể truy cập vào được server. Với dạng tấn công này thì log của apache cũng hoàn toàn bình thường chỉ thể hiện một số dòng log ghi lại việc request bị timeout rất dễ nhầm với log khi đang bị tấn công từ chối dịch vụ bình thường. Việc tấn công lỗi này khá dễ dàng do trên internet có rất nhiều công cụ được công bố, hiện tại các phiên bản apache được cài mặc định trên các hệ điều hành hay dùng cho máy chủ vẫn chưa chống được dạng tấn công này. Cộng vào đó cách tấn công này không đòi hỏi máy của người tấn công phải có cấu hình tốt hoặc đường truyền tốt do vậy việc tấn công càng dễ dàng hơn. Khi website bị tấn công dạng này gần như tất cả người dùng không thể truy cập vào website được. Nhất là trang thương mại điện tử mà số lượng khách hàng đến rất lớn 10 từ website thì ảnh hưởng khi bị tấn công dạng này rất lớn. Việc khắc phục lỗi này trong thời gian gắn lại cần có chuyên gia có kinh nghiệm xử lý tấn công từ chối dịch vụ mà các công ty làm về thương mại điện tử nhỏ thì khó có thể thuê được hoặc nhờ hỗ trợ được từ chuyên gia kiểu này. 1.1.3.2. Slow read, slow post. Sau khi các web service và một số web application firewall miễn phí cập nhập để chặn lỗi Slowloris. Thì khoảng năm 2012 các chuyên gia bảo mật tìm ra kiểu tấn công mới hơn vào các web service với mức độ lớn hơn ngoài apache bị ảnh hưởng còn có cả iis là web service được dùng khá phổ biến ở Việt Nam. Để hạn chế ảnh hưởng của lỗi slowloris thêm vào đó hiện tại tốc độ mạng đã tốt hơn rất nhiều nên việc đợi request trong 300 giây là thực sự không cần thiết lắm. Các cấu hình mặc định của apache đã giảm thời gian timeout xuống dưới thành 60 giây và cùng đó có xử lý riêng cho phần headers và phần body của request. Khi có cập nhật mới đó các chuyên gia bảo mật đã nghĩ ra được cách tấn công mới hơn là Slow Post, cách thức tấn công của slow post là người tấn công sẽ gửi POST request lên server với phần header hoàn toàn bình thường sau đó quá trình gửi body lên thì sẽ tiến hành làm chậm đi bằng cách gửi dữ liệu lên rất chậm. Trong request bình thường thì thông tường quá trình gửi header lên sẽ nhanh hơn rất nhiều khi gửi body lên do kích thước của body thường rất lớn do đó người tấn công có thể đơn giản gửi request với size của body rất lớn và gửi dần dữ liệu lên. Do thời gian timeout của quá trình nhận body sẽ nhiều hơn nên kẻ tấn công sẽ chiếm được nhiều connections hơn rất nhiều. Đặc biệt cách tấn công ảnh hưởng đến cả iis vốn không bị ảnh hưởng bởi lỗi slowloris do đã triển khai timeout khác nhau cho từng phần của request. Sau đó khi một số web service cập nhật bản vá cho lỗi này bằng cách kiểm tra tốc độc upload của client lên server thì các chuyên gian bảo mật lại nghĩ ra một cách tấn công mới khi phát hiện ra quá trình server gửi response trả xuống client thì timeout quá trình này rất hớn. Slow read lợi dụng cách hoạt động này của web service tiến hành tấn công bằng cách tạo request lên bình thường với header hợp lệ hoàn toàn tuy vậy quá trình nhận response trả về sẽ nhận rất chậm như là kết nối mạng có vấn 11 đề. Cách thức tấn công này cực kỳ khó phát hiện nếu chỉ xem log của server không và cách thức chặn cũng rất phức tạp. Về ảnh hưởng thì khi bị tấn công bởi 2 dạng tấn công này ảnh hưởng cũng tương đối giống lỗi SlowLoris khi tấn công cũng không yêu cầu băng thông cũng như tài nghiên của người tấn công các mã tấn công cũng đã được public trên mạng rất nhiều. Hình 1. Tấn công từ chối dịch vụ website bằng công cụ slowhttptest. 1.1.3.3. Http Flood. Kiểu tấn công phổ biến nhất vào website ở tầng ứng dụng, cách tấn công này nhằm vào tài nguyên của server khiến server quá tải để không đáp ứng được yêu cầu của người dùng. Cách thức tấn công theo cách này khá phổ biến và có rất nhiều công cụ thực hiện được. Hiện tại thì khi triển khai kiểu tấn công này người tấn công có thể thực hiện qua 3 cách chính: botnet, qua tận dụng khác website, công cụ tạo requests. Tấn công từ chối dịch vụ ở mức úng dụng vào website bằng botnet để thực hiện kiểu tấn công này người tấn công bằng cách nào đó chiếm quyền điều khiển các máy tính hoặc thiết bị mạng, các thiết bị có mạng và dùng để thực hiện request lên server cần tấn công. Để thực hiện kiểu tấn công này thì người tấn công cần có 12
- Xem thêm -

Tài liệu liên quan