Tài liệu Phân tích và mô hình hóa tấn công từ chối dịch vụ phân tán

  • Số trang: 26 |
  • Loại file: PDF |
  • Lượt xem: 94 |
  • Lượt tải: 0
nganguyen

Đã đăng 34345 tài liệu

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG --------------------------------------- Nguyễn Văn Hạnh PHÂN TÍCH VÀ MÔ HÌNH HÓA TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN Chuyên ngành: Truyền dữ liệu và mạng máy tính Mã số: 60.48.15 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI - 2013 Luận văn được hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: PGS. TSKH. Hoàng Đăng Hải Phản biện 1: …………………………………………………………………………… Phản biện 2: ………………………………………………………………………….. Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: ....... giờ ....... ngày ....... tháng ....... .. năm ............... Có thể tìm hiểu luận văn tại: - Thư viện của Học viện Công nghệ Bưu chính Viễn thông ơ HÀ NỘI - 2013 1 LỜI CẢM ƠN Lời đầu tiên của bản luận văn này cho phép em được bày tỏ lòng cảm ơn sâu sắc đối với thầy giáo PGS.TSKH.Hoàng Đăng Hải, Phó Giám đốc Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam (VNCERT) đã chỉ bảo tận tình đầy trách nhiệm cho các ý kiến chỉ đạo trong suốt quá trình làm khóa luận, đã động viên, tạo điều kiện thuận lợi để em hoàn thành khóa luận này. Em xin chân thành cảm ơn các thầy, cô khoa Quốc tế và đào tạo sau đại học. Đặc biệt, Em cũng xin bày tỏ lòng biết ơn sâu sắc các thầy giáo, cô giáo tham gia giảng dạy lớp Cao học Công nghệ Thông tin, người đã truyền đạt những kiến thức bổ ích và lý thú giúp ích cho em trên con đường học tập của mình. Chân thành cảm ơn lãnh đạo trường sư phạm kỹ thuật Hưng Yên, đồng nghiệp luôn tạo điều kiện thuận lợi và hỗ trợ em trong suốt quá trình học tập, cung cấp nhiều tư liệu và các kiến thức về nghiệp vụ giúp cho khóa luận của em có kết quả tốt. Cuối cùng xin cảm ơn sự ủng hộ của gia đình và bạn bè cùng khoa đã đóng góp ý kiến quý báu, động viên, giúp đỡ cho việc hoàn thành khóa luận này. Hà Nội, ngày 24 tháng 1 năm 2013 Học viên Nguyễn Văn Hạnh 2 MỞ ĐẦU Internet có vai trò to lớn đối với đời sống con người hiện nay, giúp cho quá trình trao đổi thông tin, truyền thông trở nên nhanh chóng, hiệu quả và có tính tương tác cao. Sự ra đời của Internet kéo theo rất nhiều các dịch vụ, ứng dụng được xây dựng, hỗ trợ con người trong công việc một cách tốt nhất với khả năng truyền đạt thông tin đa dạng, với nhiều kiểu dữ liệu như: Hình ảnh, âm thanh, video. Khi Internet ngày càng phát triển, phạm vi ứng dụng của Web ngày càng mở rộng thì khả năng xuất hiện lỗi và bị tấn công càng cao, trở thành đối tượng cho tấn công với các ý đồ, mục đích khác nhau, nhằm vào tất cả các máy tính có mặt trên Internet, các tổ chức quân sự, ngân hàng, các trang thông tin điện tử lớn…. Có rất nhiều các kiểu tấn công nhưng thời gian gần đây nổi trội nên là kiểu tấn công vô cùng phổ biến và tỏ ra rất là nguy hiểm, đó là các cuộc tấn công từ chối dịch vụ phân tán (Distributed Denial of Service-DDoS). Các hacker sử dụng phương pháp tấn công này để tấn công vào các trang web của các chính phủ, doanh nghiệp lớn, các thiết bị của các công ty lớn làm cho các hệ thống máy chủ này bị tê liệt và không còn khả năng phục vụ. Mục tiêu của luận văn là nghiên cứu tìm hiểu về bản chất của tấn công DDoS, phân tích và mô hình hóa tấn công, xây dựng mô hình bảo vệ chống tấn công DDoS và thử nghiệm đánh giá kết quả thông qua mô phỏng. Luận văn sử dụng các phương pháp phân tích, phương pháp mô hình hoá, giải thuật, phương pháp mô phỏng, thực nghiệm, phân tích, đánh giá… Cấu trúc của luận văn gồm 4 chương chính: Chương 1: Tổng quan về tấn công DoS và DDoS. Chương này trình bày khái quát về các kiểu tấn công DoS và DDoS điển hình, một số công cụ tấn công DDoS điển hình. Nội dung chương tập trung chủ yếu vào các kiểu tấn công DDoS. Chương 2: Phân tích, mô hình tấn công DDoS. Chương trình bày các đặc tính của tấn công DDoS, phân tích mô hình mạng Botnet, các mô hình tấn công DDoS điển hình. Chương 3: Mô hình bảo vệ chống tấn công DDoS. Trong chương này, bài trình bày các vấn đề khi xây dựng hệ thống chống DDoS, các đặc trưng của mô hình, mô hình hóa.... Chương 4: Mô phỏng phát hiện tấn công và chống tấn công DDoS. Bài thực hiện mô phỏng với công cụ NeSSi2 của trưởng Đại học TU Berlin (CHLB Đức). 3 Chƣơng 1 - TỔNG QUAN VỀ TẤN CÔNG TỪ CHỐI DỊCH VỤ DoS/DDoS 1.1. Khái niệm chung về tấn công từ chối dịch vụ. Tấn công từ chối dịch vụ là sự cố gắng làm cho tài nguyên của một máy tính không thể sử dụng được nhằm vào những người dùng của nó. Mặc dù phương tiện để tiến hành, động cơ, mục tiêu của tấn công từ chối dịch vụ là khác nhau, nhưng nói chung nó gồm có sự phối hợp, sự cố gắng ác ý của một người hay nhiều người để chống lại Internet site hoặc service (dịch vụ Web) vận hành hiệu quả hoặc trong tất cả, tạm thời hay một cách không xác định. Thủ phạm tấn công từ chối dịch vụ nhằm vào các mục tiêu site hay server tiêu biểu như ngân hàng, cổng thanh toán thẻ tín dụng và thậm chí DNS root servers. Tấn công bằng từ chối dịch vụ 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 khả năng truy cập và sử dụng vào một dịch vụ nào đó. Nó bao gồm việc làm tràn ngập mạng, mất kết nối với dịch vụ… mà mục đích cuối cùng là máy chủ (Server) không thể đáp ứng được các yêu cầu sử dụng dịch vụ từ các máy trạm (Client). DoS có thể làm ngưng hoạt động của một máy tính, một mạng nội bộ hoặc cả một hệ thống mạng rất lớn.Về bản chất thực sự của DoS, kẻ tấn công sẽ chiếm dụng một lượng lớn tài nguyên mạng như băng thông, bộ nhớ… và làm mất khả năng xử lý các yêu cầu dịch vụ từ các client khác. 1.2. Tấn công từ chối dịch vụ phân tán DDoS Tấn công từ chối dịch vụ phân tán (DDoS - Distributed Denial Of Service) là kiểu tấn công làm cho hệ thống máy tính hay hệ thống mạng quá tải, không thể cung cấp dịch vụ hoặc phải dừng hoạt động, song từ nhiều nguồn tấn công khác nhau, phân tán trên mạng. Trong các cuộc tấn công DDoS, máy chủ dịch vụ sẽ bị "ngập" bởi hàng loạt các lệnh truy cập từ lượng kết nối khổng lồ từ nhiều máy tấn công ở nhiều nơi. Khi số lệnh truy cập quá lớn, máy chủ sẽ quá tải và không còn khả năng xử lý các yêu cầu. Hậu quả là người dùng không thể truy cập vào các dịch vụ trên các trang web bị tấn công DDoS. Như vậy, sự khác biệt cơ bản giữa tấn công DoS và DDoS là DDoS sử dụng một mạng lưới tấn công rộng khắp, gồm nhiều máy tấn công nằm rải rác trên mạng (còn gọi là các máy tính ma - Zoombi, hay mạng Botnet). 1.3.1. Mạng lưới tấn công từ chối dịch vụ phân tán. 1.3.1.1. Tuyển mộ mạng Agent. 4 Trước tiên kẻ tấn công phải làm đó là xây dựng lên mạng botnet. Kẻ tấn công tiến hành thăm dò những máy tính nào dễ bị lợi dụng. Quá trình này được gọi là scanning. Scanning có thể được làm bằng tay do kẻ tấn công sử dụng các công cụ hỗ trợ scaning như nmap.... Các công cụ này đang ngày càng được phát triển hoàn thiện hơn. 1.3.1.2. Điều khiển mạng Agent. Khi số lượng Agent lớn, có thể lên đến hàng nghìn host. Kẻ tấn công phải có những phương pháp điều khiển mạng lưới Agent. Việc tìm ra những phương pháp tốt sẽ giúp kẻ tấn công dễ dàng thu thập được các thông tin và hành vi của các Agent. Ở đây có hai mô hình chính để kẻ tấn công điều khiển mạng lưới Agent. 1.3.1.2 Cập nhật mã độc (malware) Cũng như các phần mềm khác, các chương trình được cài đặt trên Handler hay Agent phải được thường xuyên cập nhật. Hầu hết các công cụ DDos hiện nay đều yêu cầu kẻ tấn công gửi những dòng lệnh cập nhật trên các Handler và Agent bằng việc download các phiên bản mới hơn qua giao thức HTTP. 1.3.2. Mục tiêu tấn công từ chối dịch vụ phân tán. 1.3.2.1. Tấn công vào băng thông mạng. 1.3.2.2. Tấn công giao vào thức. 1.3.2.3. Tấn công bằng những gói tin khác thường. 1.3.2.4 Tấn công qua phần mềm trung gian. 1.4. Nguyên lý các tấn công DDoS điển hình. - SYN flood attack. - UDP Flood attack. - Smurf attack.. - DNS Zone Transfer based Flooding. - Ping based attacks. - CGI attacks (Common Gateway Interface. Tất cả những cách tấn công trên đều nhằm mục đích làm giảm chức năng của hệ thống mạng và có thể dẫn đến đánh sập hệ thống, làm hệ thống không có khả năng hoạt động. Những cuộc tấn công DDoS có thể phân tán, rải rác, khiến cho việc xác định kẻ tấn công là rất khó khăn. Cần phải hiểu về hành vi, hoạt động của các luồng dữ liệu trong hệ thống mạng để từ đó phát hiện sớm và có những biện pháp hiệu quả để ngăn chặn tấn công DDoS. 5 1.5. Một số công cụ tấn công DDoS điển hình. - Trinoo. . - Tribe Flood Network (TFN. - Stacheldraht. - Shaft. - Trinity. - Knight. 1.6. Một số tấn công DDoS điển hình ở Việt Nam. Vào đầu tháng 2 cư dân mạng trên các diễn đàn xôn xao việc trang web của Bkav bị hacker tấn công và khiến người dùng không thể truy cập vào địa chỉ www.bkav.com.vn. Trong 2 năm gần đây, nhiều website và báo điện tử của Việt Nam bị tấn công DDoS gây ra những thiệt hại không nhỏ. Cuộc chiến chống lại những cuộc tấn công từ chối dịch vụ DDoS được coi là vô cùng khó khăn và dường như không thể có biện pháp ngăn chặn hoàn toàn. Trang hvaonline.net (HVA), một trong các diễn đàn hacker lớn nhất tại Việt Nam thông báo bị tấn công từ chối dịch vụ (DDOS) tới 2 lần chỉ trong nửa đầu tháng 6/2011. - Ngày nay mục tiêu chính của tấn công là doanh nghiệp lớn, doanh nghiệp kinh doanh trực tuyến. …dự báo trong thời gian sắp tới các cuộc tấn công DDoS cũng nhằm vào khối các cơ quan Chính phủ, tài chính công, làm đình trệ việc cung cấp dịch vụ, gây thiệt hại nặng nề cho nền kinh tế, xã hội… 1.7. Tóm tắt chương Chương 1 của luận văn đã giới thiệu khái quát về các kiểu tấn công DoS và DDoS điển hình, một số công cụ tấn công DDoS điển hình. Nội dung chương tập trung chủ yếu vào các kiểu tấn công DDoS. Chương 2 tiếp theo sẽ đi sâu phân tích mô hình tấn công DDoS. 6 Chƣơng 2 - PHÂN TÍCH MÔ HÌNH TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN 2.1. Các đặc tính của tấn công DDoS. Tấn công DDoS là cuộc tấn công từ một hệ thống các máy tính cực lớn trên Internet. 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. Chúng có các đặc điểm chính như sau: - Các dịch vụ tấn công được điều khiển từ những máy nạn nhân sơ cấp ("primary victim") là các máy lây nhiễm mã độc ban đầu, trong khi các máy tính bị chiếm quyền sử dụng trong mạng Bot (máy bị lây lan khác) được sử dụng để tấn công thường được gọi là máy nạn nhân thứ cấp ("secondary victims"). - DDoS 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. - Nếu một địa chỉ IP tấn công một công ty, nó có thể được chặn bởi Firewall. Nếu nó từ 30.000 địa chỉ IP khác, thì điều này là vô cùng khó khăn. 2.2. Mô hình mạng Botnet 2.2.1. Đặc trưng của mạng Botnet - Bot (hay Internet bot, còn gọi là robot) là một ứng dụng phần mềm thực thi các nhiệm vụ đặc biệt theo yêu cầu của tin tặc một cách tự động và lan truyền qua Internet. - Mạng Bot là những chương trình tương tự Trojan backdoor cho phép kẻ tấn công sử dụng máy của nạn nhân (Victim) như là những Zoombie (máy tính thây ma – máy tính bị chiếm quyền điều khiển hoàn toàn) và chúng chủ động kết nối với một Server để dễ dàng điều khiển. Cần lưu ý chữ “chủ động” vì đó là một đặc điểm khác của bot so với trojan backdoor. Chính vì sự chủ động này mà máy tính bị cài đặt chúng kết nối trở nên chậm chạp , Một đặc điểm giúp ta dễ dàng nhận diện bot. - Mạng botnet là một mạng rất lớn gồm hàng trăm hàng ngàn máy tính Zombie kết nối với một máy chủ mIRC (Internet Replay Chat) qua các máy chủ DNS để nhận lệnh từ hacker một cách nhanh nhất. Các mạng bot gồm hàng ngàn “thành viên” (gọi tắt là bot hay robot) là một công cụ lý tưởng cho các cuộc giao tranh trên mạng như DDOS, spam, cài đặt các chương trình quảng cáo. 2.2.2. Các dạng của mạng Botnet: Agobot/Phatbot/Forbot/XtremBot, SDBot/Rbot/UrBot/UrXbot, mIRC-Based Bots – GT-Bots. 7 2.2.3. Phân tích các bước thiết lập Botnet. Để hiểu hơn về xây dựng hệ thống mạng BotNet chúng ta nghiên cứu từ cách lây nhiễm vào một máy tính, cách tạo ra một mạng Bot và dùng mạng Bot này tấn công vào một đích nào đó của mạng Botnet được tạo ra từ Agobot‟s. Bƣớc 1: Cách lây nhiễm vào máy tính Đầu tiên kẻ tấn công lừa cho người dùng chạy file "chess.exe", một Agobot thường copy chúng vào hệ thống và sẽ thêm các thông số trong Registry để đảm bảo sẽ chạy cùng với hệ thống khi khởi động. Trong Registry có các vị trí cho các ứng dụng chạy lúc khởi động tại. HKLM\Software\Microsoft\Windows\CurrentVersion\Run. HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices. Bƣớc 2: Cách lây nhiễm và xây dựng tạo mạng Botnet. Sau khi trong hệ thống mạng có một máy tính bị nhiễm Agobot, nó sẽ tự động tìm kiếm các máy tính khác trong hệ thống và lây nhiễm sử dụng các lỗ hổng trong tài nguyên được chia sẻ trong hệ thống mạng. - Chúng thường cố gắng kết nối tới các dữ liệu share mặc định dành cho các ứng dụng quản trị (administrator or administrative) ví dụ như: C$, D$, E$ và print$ bằng cách đoán usernames và password để có thể truy cập được vào một hệ thống khác và lây nhiễm. - Agobot có thể lây nhiễm rất nhanh bởi chúng có khả năng tận dụng các điểm yếu trong hệ điều hành Windows, hay các ứng dụng, các dịch vụ chạy trên hệ thống. Bƣớc 3: Kết nối vào IRC. Bước tiếp theo của Agobot sẽ tạo ra một IRC-Controlled Backdoor để mở các yếu tố cần thiết, và kết nối tới mạng Botnet thông qua IRC-Controll, sau khi kết nối nó sẽ mở những dịch vụ cần thiết để khi có yêu cầu chúng sẽ được điều khiển bởi kẻ tấn công thông qua kênh giao tiếp IRC. Bƣớc 4: Điều khiển tấn công từ mạng BotNet. Kẻ tấn công điều khiển các máy trong mạng Agobot download những file .exe về chạy trên máy. + Lấy toàn bộ thông tin liên quan và cần thiết trên hệ thống mà kẻ tấn công muốn. + Chạy những file khác trên hệ thống đáp ứng yêu cầu của kẻ tấn công. + Chạy những chương trình DDoS tấn công hệ thống khác. 2.2.4. Sơ đồ hệ thống lây lan của mạng Botnet (Agobot). 8 2.3. Các mô hình tấn công DDoS. 2.3.1. Mô hình tấn công Agent Handler Model Theo mô hình này mạng tấn công (attack-network) gồm 3 thành phần: Agent, Client và Handler. + Client: Là software cơ sở để hacker điều khiển mọi hoạt động tấn công. + Handler: Là một thành phần software trung gian giữa Agent và Client. + Agent: Là thành phần software thực hiện sự tấn công mục tiêu, nhận điều khiển từ Client thông qua các Handler. + Attacker sẽ từ Client giao tiếp với Handler để xác định số lượng agent đang online, điều chỉnh thời điểm tấn công và cập nhật các Agent. Tùy theo cách attacker cấu hình attack-network, agent sẽ chịu sự quản lý của một hay nhiều Handler. Thông thường Attacker sẽ đặt Handler software trên một Router hay một server có lượng traffic lưu thông nhiều. Việc này nhằm làm cho các giao tiếp giữa Client, handler và Agent khó bị phát hiện. Chủ nhân thực sự của các Agent thông thường không hề hay biết họ bị lợi dụng vào cuộc tấn công kiểu DDOS, do họ không đủ kiến thức hoặc các chương trình Backdoor Agent chỉ sử dụng rất ít tài nguyên hệ thống làm cho hầu như không thể thấy ảnh hưởng gì đến hiệu năng của hệ thống. 2.3.2. Mô hình tấn công DDoS dựa trên nền tảng IRC. - IRC là một hệ thống online chat multiuser, IRC cho phép User tạo một kết nối đến multipoint đến user khác và chat thời gian thực. Kiến trúc của IRC network bao gồm nhiều IRC server trên khắp internet giao tiếp với nhau trên nhiều kênh. IRC network cho phép user tao ba loại kênh: Public, private, serect. + Public channel: Cho phép user của channel đó thấy IRC name và nhận được mesage của mọi user khác trên cùng channel. + Private channel: Được thiết kế để giao tiếp với các đối tượng cho phép. Không cho phép các user không cùng channel thấy IRC name và message.Tuy nhiên, nếu user ngoài channel dùng một số lệnh locator thì có thể biết được sự tồn tại của private channel đó. + Secret channel: Tương tự như private channel nhưng không thể xác định bằng channel locator. - IRC -Based network cũng tương tự như Agent -Handler network nhưng mô hình này sử dụng các kênh giao tiếp IRC làm phương tiện giao tiếp giữa Client và Agent. Sử dụng mô hình này, kẻ tấn công còn có thêm một số lợi thế khác như: 9 + Các giao tiếp dưới gạnh chat message làm cho việc phát hiện chúng vô cùng khó khăn. + Các IRC traffic có thể di chuyển trên mạng với số lượng lớn mà không bị nghi ngờ. Không cần phải duy trì danh sách các Agent, tin tặc chỉ cần logon vào IRC sever là đã có thể nhận được thông báo về trạng thái các Agent do các channel gửi về. Sau cùng: IRC cũng là một môi trường chỉa sẻ tệp tại điều kiện phát tán các Agent code lên nhiều máy khác. Kẻ tấn công sử dụng các mạng IRC để điều khiển, khuyếch đại và quản lý kết nối với các máy tính trong mạng Botnet. 2.4. Tóm tắt chƣơng 2. Chương 2 của luận văn đã trình bày chi tiết về mô hình tấn công DDoS, trong đó đặc biệt quan tâm đến các đặc tính của tấn công DDoS, mô hình mạng Botnet. Nội dung chương cũng đã giới thiệu một số dạng Botnet điển hình; phân tích quá trình thiết lập mạng Botnet và các mô hình tấn công DDoS. 10 Chƣơng 3 - MÔ HÌNH BẢO VỆ CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN 3.1. Các vấn đề đặt ra khi xây dựng hệ thống chống DDoS. 3.1.1. Những khó khăn cần giải quyết. Nhìn chung, có hai hướng để DDoS tận dụng nhằm thực hiện tấn công Đó là: Nhằm vào điểm yếu (vulnerability) hệ thống và làm ngập mạng (flooding). Do tấn công DDoS có một số đặc tính kỹ thuật như sau, nên việc giải quyết được triệt để các cuộc tấn công DDoS luôn là điều hết sức khó khăn. - Sự phổ biến của các công cụ tấn công và đơn giản trong sử dụng. - Đa dạng của các gói tin tấn công. - Sự giả mạo IP: Làm cho các luồng dữ liệu tấn công từ các agent đến như là từ những người dùng hợp lệ. Vì thế quản trị viên rất khó phân biệt để có thể phát hiện các cuộc tấn. - Lượng lưu lượng lớn, gửi với tần suất cao: Lưu lượng khổng lồ mà DDoS tạo ra không chỉ làm ngập tài nguyên của máy nạn nhân, mà còn làm quản trị viên rất khó mô tả, phân tích và tách biệt được gói tin hợp lệ và gói tin tấn công của chúng. - Số lượng lớn các Agents: Một trong những điểm mạnh của tấn công DDoS là có thể huy động được 1 số lượng lớn Agent phân tán trên toàn Internet. Khi đó, luồng tấn công sẽ lan tỏa trên nhiều nhánh tới máy nạn nhân, điểm tụ tấn công sẽ gần sát nạn nhân, và hệ thống phòng thủ sẽ rất khó có thể chống từ phía xa. Ngoài ra, hệ thống Agent phân tán cũng đồng nghĩa với sự phức tạp, phong phú, khác biệt về mô hình quản lý mạng giữa các ISP khác nhau, vì thế các cơ cơ chế phòng thủ yêu cầu sự phối hợp từ nhiều nơi sẽ triển khai khó khăn hơn rất nhiều. - Những điểm yếu trên mô hình mạng Internet: Có những cơ chế, giao thức mạng mà khi thiết kế chưa lường trước được những điểm yếu có thể bị lợi dụng (ví dụ TCP SYN, ping of Death, LAND Attack…).Đôi khi là lỗi của nhà quản trị khi cấu hình các chính sách mạng chưa hợp lý. 3.1.2. Thách thức khi xây dựng hệ thống phòng thủ. - Về mặt kĩ thuật, phải xử lý phân tán từ nhiều điểm trên Internet: Vì các luồng tấn công xảy ra từ nhiều nguồn khác nhau, đi qua toàn mạng Internet trong khi thường chỉ có một mình Victim với ít thiết bị, quyền hạn, khả năng xử lý hạn chế nên không thể đạt được hiệu quả cao. Sự tấn công phân tán thì cần sự phòng thủ phân tán thì mới giải quyết triệt để được. 11 + Thiếu thông tin chi tiết về các cuộc tấn công thực tế: Có không nhiều thông tin về tác hại của DDoS gây lên cho các doanh nghiệp, nó thường chỉ có khi tác hại của nó là rõ ràng và doanh nghiệp không thể tự xử lý được mà phải nhờ cậy sự trợ giúp khác từ bên ngoài. Vì thế lại càng ít các thông tin chi tiết, như là bản nhật ký lưu lượng (log các traffic), sơ đồ mạng chi tiết của doanh nghiệp. + Khó thử nghiệm trên thực tế: Những hệ thống thử nghiệm DDoS ở phòng thí nghiệm không thể phản ánh đúng thực tế rộng lớn, phong phú trên mạng Internet được. Trong khi đó nếu muốn triển khai để thử nghiệm thật qua Internet thì các điều luật không cho phép, vì tấn công DDoS không chỉ ảnh hưởng đến Victim, mà còn liên quan đến rất nhiều các thành phần khác như router, switch… của ISP quản lý ở phần lõi Mạng. Còn nếu thử nghiệm luôn trên 1 hệ thống thật đang bị tấn công thì lại thiếu thông tin cần đo đạc ở Agent, Handler, Attacker… + Chưa có chuẩn đánh giá các hệ thống phòng thủ: Có nhiều nhà sản xuất đã công bố rằng giải pháp của họ có thể giải quết được DDoS. Nhưng hiện tại vẫn chưa có một lộ trình chuẩn nào để kiểm thử các hệ thống phòng thủ DDoS. Từ đó dẫn đến 2 vấn đề: Thứ nhất là những người phát triển hệ thống phòng thủ tự test chính họ, do đó những thiết kế sẽ luôn phù hợp nhất để hệ thống đó hoạt động thuận lợi. Thứ hai là những nghiên cứu về DDoS không thể so sánh hiệu suất thực tế của các hệ thống phòng thủ khác nhau, thayvào đó, họ chỉ có thể nhận xét về từng giải pháp trên môi trường thử nghiệm mà thôi. - Về mặt xã hội: Một thử thách lớn khi muốn giải quyết triệt để vấn nạn tấn công DDoS là về yếu tố xã hội. Có rất nhiều điều luật về an ninh, bảo mật của nhiều đất nước, quy định của nhiều ISP khác nhau mà người triển khai khó có thể thỏa mãn tất cả để thực hiện hệ thống phòng thủ của mình. Ví dụ ISP không cho biết sơ đồ chi tiết cấu hình Mạng, không cho phép chúng ta tự do cài đặt chương trình trên các router của họ… Đối với các nạn nhân của DDoS, thông thường là các doanh nghiệp, thì việc đầu tiên là họ sẽ cố gắng tự mình giải quyết, nếu thành công thì sẽ giấu kín, không công bố cho bên ngoài là mình đang bị tấn công vì lo ngại ảnh hưởng đến danh tiếng của công ty. Chỉ khi nào dịch vụ của họ bị chết hẳn, không thể tự cứu thì mới liên hệ với các ISP và chính quyền. Yếu tố cuối cùng là thiếu sự thống nhất về các điều luật, chế tài xử phạt các Attacker, Handler, Agents giữa các bộ luật về Công nghệ thông tin của các nước và giữa các quy định về bảo mật, an toàn của các Internet Service Provider. 3.1.3. Mục tiêu xây dựng. 12 Cho dù triển khai hệ thống phòng thủ theo cách thức nào thì cuối cùng cũng phải hướng tới 4 mục tiêu chính như sau: - Tính hiệu quả: Yêu cầu các thành phần tham gia vào hệ thống phòng thủ victim, router… đều không phải chịu thêm tải quá nặng. Ví dụ khi bình thường CPU của Server chỉ chạy 10% để phục vụ cho các Client, nhưng sau khi cài đặt hệ thống phòng thủ vào, cho dù chưa xảy ra DDoS thì tải CPU do phải tính toán thêm nhiều nên đã lên đến 20% là không chấp nhận được. - Tính trọn vẹn: Một hệ thống phòng thủ tốt cần phải bảo vệ Victim được khỏi tất cả các kiểu tấn công DDoS. Bởi vì đối với Attacker, một khi đã điều khiển được mạng botnet thì hắn hoàn toàn có thể sử dụng nhiều kịch bản tấn công khác nhau, lợi dụng nhiều điểm yếu của giao thức, của mạng hoặc thay đổi thông số bên trong packet. Vì thế nếu hệ thống chỉ có thể phòng thủ được 1 số cách tấn công nhất định, thì khi attacker thay đổi, hệ thống đó sẽ sụp đổ hoàn toàn. - Cung cấp dịch vụ cho tất cả các traffic hợp lệ: Đây là yêu cầu quan trọng nhất khi triển khai một hệ thống phòng thủ DDoS. - Chi phí phát triển và điều hành thấp. 3.2. Các đặc trƣng của mô hình bảo vệ chống DDoS. Như chúng ta đã thấy, khả năng phát hiện một cuộc tấn công ngay lập tức sẽ ảnh hưởng rất lớn đến quá trình ngăn chặn và làm giảm đến mức thấp nhất tác hại mà một cuộc tấn công DDos gây ra. Hiện nay các hệ thống phát hiện đang được phát triển và khá công phu. Những hệ thống phát hiện DDos này thường sử dụng rất nhiều phương thức để dò tìm và phát hiện. Thông thường các công cụ này so sánh lưu lượng hiện tại với lưu lượng có thể chấp nhận được. Công nghệ này vẫn còn có một vài thiếu sót. Trước tiên, ngưỡng này thường đặt tĩnh và yêu cầu người sử dụng phải cấu hình để phù hợp với mọi môi trường, tuy nhiên sẽ khó có thể thay đổi thích ứng với môi trường mới. Thứ hai, chỉ có một số ít các ngưỡng được thiết lập vì sự thống kê chi tiết các giao thức không có giá trị cho người sử dụng. Thứ 3, ngưỡng chỉ áp dụng ở mức độ tổng hợp cao. Sự thiếu sót này có thể dẫn tới sự đánh giá sai về tính rõ ràng và tính phủ định của hệ thống phát hiện. Thậm chí một phát hiện sự xâm hại có thể chặn nhầm một địa chỉ hợp lệ. Do vậy, để hiệu quả một hệ thống phát hiện xâm nhập phải thêm nhiều tính năng để phát hiện và phân biệt một sự tấn công với các hoạt động bình thường. 13 - Phát hiện nhiều cơ chế: Hiện nay các hình thức tấn công DDos rất đa dạng và luôn được phát triển không ngừng. Càng ngày càng có nhiều kiểu tấn công mới. Do vậy, một hệ thống phát hiện Ddos thật sự hiệu quả khi phát hiện được hầu hết các kiểu tấn công. Luôn đánh giá được hệ thống mạng khi có những dấu hiệu bất thường, phải cập nhật thường xuyên những kiểu tấn công mới để có biện pháp phát hiện nhanh nhất . - Phản ứng: Khi một cuộc tấn công DDos xảy ra, bước đầu tiên và cũng là quan trọng nhất là phát hiện chính xác các gói tin tấn công. Hệ thống phòng thủ phải đáp ứng trong thời gian thực, đặc biệt là tốc độ phản ứng phải cao. Tránh trường hợp chặn nhầm gói tin hợp lệ. 3.3. Mô hình hóa tấn công và bảo vệ chống tấn công DDoS. 3.3.1. Phòng chống và đáp trả. Phương pháp phòng ngừa áp dụng các chính sách để kẻ tấn công không thể hoặc khó tấn công hệ thống. Phương pháp này có thể được thực hiện bằng cách tăng cường sức mạnh của hệ thống: năng lực xử lý các yêu cầu dịch vụ, băng thông… để giảm thiểu tối đa tác hại của cuộc tấn công DDoS. Nhưng do mạng lưới tấn công có đặc điểm phân tán, là tập trung của nhiều máy tính cấu hình trung bình nên dễ tập hợp được số lượng lớn để hội tụ thành một lượng băng thông gấp nhiều lần so với hệ thống của victim. Vì vậy việc tăng cường sức mạnh không thực sự có hiệu quả. Phương pháp phản ứng lại chấp nhận cho cuộc tấn công xảy ra, sau đó truy tìm và tiêu diệt các hướng tấn công, làm giảm thiểu rủi ro hoặc chấm dứt cuộc tấn công. Bằng cách phát hiện chính xác kẻ tấn công, nạn nhân sẽ có chính sách cấm những truy nhập, từ đó giảm thiểu được tác hại của cuộc tấn công. Phương pháp này hiện là hướng nghiên cứu chính trong việc giải quyết DDoS. Nhược điểm chung của phương pháp phản ứng lại là việc giải quyết không triệt để và không chủ động. Nạn nhân bị tấn công đã phải hứng chịu các hậu quả. Biện pháp này chỉ giúp chấm dứt hậu quả sớm và giảm thiểu thiệt hại. 3.3.2. Vị trí của hệ thống phòng thủ. Phương pháp đặt gần victim là phương pháp đơn giản nhất do ít phụ thuộc vào các tác nhân khác, nạn nhân tự giải quyết vấn đề. Phương pháp này thường dùng để phản ứng lại sau khi nạn nhân phát hiện bị tấn công. Tuy nhiên cách tiếp cận này không thể giải quyết tận gốc, quản trị viên chỉ có thể giảm thiểu thiệt hại chứ không thể chấm dứt cuộc tấn công. Phương pháp đặt gần kẻ tấn công (attacker) là phương pháp ngăn chặn các gói tin DDoS ngay khi vừa được sinh ra tại nguồn. Nó có ưu điểm là giảm được tối đa tác hại của 14 gói tin DDoS, chống được giả mạo IP. Tuy nhiên lại rất khó thực hiện do phải thay đổi hệ thống mạng trên quy mô lớn. Hiện mới chỉ có khoảng ba hướng nghiên cứu theo cách tiếp cận này. Trong đó, D-WARD là có kết quả tốt nhất với khả năng hoạt động độc lập. Một vị trí khác là đặt tại phần lõi của Internet. Cách tiếp cận này ít được quan tâm rộng rãi do để tiếp cận được phần lõi của Internet cần có một khoản chi phí không nhỏ, cũng như sự đảm bảo chắc chắn về tính hiệu quả đem lại khi tăng sự phức tạp của phần lõi. Phương pháp cuối cùng và hay được nghiên cứu hiện nay là phương pháp kết hợp nhiều vị trí: Nạn nhân phát hiện và bắt đầu xử lý, sau đó cố gắng đẩy vị trí phòng chống ra hệ thống mạng gần kẻ tấn công nhất có thể, từ đó giúp giảm tải cho toàn mạng Internet chứ không chỉ cho Victim nữa. 3.3.3. Vị trí kiểm tra và phát hiện tấn công DDoS. - Phát hiện ở gần nguồn tấn công.Các phương án này thường không có hiệu quả cao khi mà cuộc tấn công diễn ra với quy mô rất lớn. Do vậy việc phát hiện tấn công gần nguồn sẽ tránh được tắc nghẽn và đạt hiệu quả cao nhất. - Phát hiện tấn công tại nạn nhân, phương pháp này không khó vì lúc đó lưu lượng mạng tại nạn nhân sẽ trở nên rất cao và tất nhiên sẽ dẫn đến tình trạng không thể cung cấp được các dịch vụ. Tuy nhiên, thông thường việc phát hiện và phản ứng lại tại nạn nhân thường muộn và vào lúc cuộc tấn công đang ở mức cao. Nạn nhân lựa chọn tắt server và sau đó liên hệ với các ISP. Các ISP sau khi đã nhận được lời đề nghị của nạn nhân sẽ tiến hành đẩy ngược lại lưu lượng tấn công tại các router. Công việc này thường tốn rất nhiều thời gian. 3.4. Thuật toán sử dụng để phát hiện ra tấn công DDoS. 3.4.1. Thuật toán Adaptive Threshold (ngưỡng giới hạn khả năng đáp ứng) Thuật toán này nói chung khá đơn giản và dễ hiểu. Thuật toán phát hiện sự không bình thường dựa trên sự vị phạm của một ngưỡng khả năng đáp ứng của lưu lượng mạng trong thời gian gần. Thuật toán đặc biệt có khả năng phát hiện cao nhất khi kẻ tấn công tiến hành một cuôc tấn công TCP SYN. Thuật toán tin tưởng vào việc kiểm tra phép đo lưu lượng có vượt qua một ngưỡng giới hạn cụ thể hay không. Nếu vượt qua, chứng tỏ đã có một cuộc tấn công xảy ra. 3.4.2. Thuật toán (SIM). Thuật toán tổng tích lũy dựa trên giá trị trung bình của một quá trình xử lý thống kê. Sự phát hiện điểm thay đổi cần phải theo dõi trong các khoảng thời gian. Một công thức được xây dựng để theo dõi sự thay đổi này, khi vượt qua một ngưỡng giới hạn chứng tỏ đã xảy ra một cuộc tấn công. 15 3.4.3. Thuật toán CUSUM (tổng tích lũy). Trong giai đoạn này, tiến hành phân tích thống kê các lưu lượng đến giữa hai khoảng thời gian là n. Với kỹ thuật phát hiện tấn công này, một bảng băm sẽ được sử dụng để ghi lại các địa chỉ IP xuất hiện giữa hai khoảng thời gian. Trong bảng băm nay sẽ gồm 2 trường: IP address và timestamp. So sánh các trường này với các trường trong IAD để có thể tính toán có bao nhiêu địa chỉ IP mới đã xuất hiện trong các khe thời gian. Phân tích các địa chỉ IP mới này cho biết khi nào cuộc tấn công DDos xảy ra. 3.5. Một số giải pháp phòng chống DDoS điển hình. 3.5.1. Giao thức AITF. 3.5.2. Hệ thống D-Ward. 3.5.3. Giao thức lan tỏa ngược. 3.5.3.1. Giới thiệu về giao thức lan tỏa ngược. Giao thức „Lan tỏa ngược‟ dựa trên 3 nguyên tắc sau để ngăn chặn các cuộc tấn công: + Sử dụng các bộ lọc (Filter) trên các router để chặn các gói tin DDoS. + Dùng cơ chế „lan tỏa ngược‟ để đẩy nhiệm vụ lọc cho các router gần Attacker. + Sử dụng một số giải thuật để nâng cao hiệu suất và chống lừa dối, lợi dụng giao thức. 3.5.3.2. Bộ lọc - Bộ lọc (Filter): Filter là 1 bộ các luật để xác định cách thức 1 router truyền hay ngăn chặn dữ liệu []. Cụ thể trong trường hợp này thì Filter của router có chức năng chặn tất cả các gói tin DDoS có IP nguồn là IP của Agent, hoặc IP bị Agent giả mạo, và IP đích là IP của Victim. - Cơ chế “Lan tỏa ngược”:Là phương pháp cho phép xác định được chính xác nguồn tấn công từ chối dịch vụ bằng cách lan truyền bộ lọc trên các router qua cơ chế pushback. Khi có 1 địa chỉ IP được xác định là nguồn tấn công. Trên gateway của Victim sẽ bật 1 bộ lọc, vừa để loại bỏ các gói tin DDoS, vừa lắng nghe xem các gói tin ấy đến từ interface nào. Sau khi xác định được thì sẽ gửi 1 yêu cầu qua interface ấy, đến router hàng xóm yêu cầu lập Filter tương tự. Router hàng xóm lập Filter, lắng nghe rồi xác định gói tin đến từ interface nào, và lại gửi yêu cầu lập Filter cho router kế tiếp. Cứ như vậy sẽ xác định được router gần nguồn tấn công nhất, cho dù là IP nguồn tấn công có bị giả mạo hay không. 3.5.3.3. Cơ chế hoạt động. - Bước 1: Khởi động. - Bước 2: Bắt đầu - Bước 3: Kiểm tra giả mạo 16 .- Bước 4: Rút gọn - Bước 5: ngăn chặn. - Bước 6: Lan tỏa ngược. 3.5.3.4. Chống lợi dụng giao thức. - Nguy cơ: Một router G nào đó giả vờ là người bị DDoS, để ngăn cho mạng của nạn nhân H không thể truy xuất đến 1 mạng K được. Router G sẽ giả vờ H chính là kẻ tấn công mạng K, yêu cầu chạy giao thức lan tỏa ngược để các router khác chặn không cho H liên lạc được với K. Có 2 cách để G làm được điều này: + G giả vờ mình là gateway của K, đang bị mạng H tấn công (G đóng giả Victim_GW), G kết nối đến gateway của mạng H, yêu cầu lập bộ lọc ngăn chặn H truy cập đến K. + G đóng vai trò là router trên đường đi, chạy giao thức lan tỏa ngược, yêu cầu hàng xóm lập filter ngăn truy xuất từ H đến K. - Giải pháp: Trong trường hợp 1, khi G kết nối đến gateway của mạng H thì theo giao thức đây phải là 1 kết nối tin cậy => G không thể fake ip được. Sau đó gateway của H còn kiểm tra xem G có đứng kề trước K hay không bằng cách thực hiện 2 lần ping như ở trên đã nói. Nếu xác nhận đúng thì gateway của H mới lập Filter. Trường hợp G đóng vai trò là router trên đường đi, yêu cầu hàng xóm lập filter để ngăn chặn truy xuất từ H đến K là rất khó xảy ra. Thứ nhất là router trong phần lõi của Internet được các ISP quản lý rất kĩ, gần như không thể xâm nhập được. Thứ hai là router trong phần lõi là các thiết bị đơn giản hơn máy tính rất nhiều, rất ít ứng dụng và lỗ hổng để hacker có thể khai thác. Thứ ba là kiến trúc của mạng Internet là packet switching, do đó con đường đi từ mạng H đến mạng K không cố định, có thể thay đổi động theo thời gian. Việc nắm bắt được đường đi này để tấn công vào đúng router ở giữa để lừa đảo cũng là 1 khó khăn không nhỏ. Tổng kết lại, chi phí để thực hiện phương pháp lợi dụng giao thức này lớn hơn rất nhiều lần so với mục đích cuối cùng là ngăn chặn H truy xuất tới K. 3.5.3.5. Nhận xét. - Ưu điểm: Thuật toán giúp giao thông trên Internet nhẹ hơn nhiều so với AITF, “Lan tỏa ngược” chỉ được kích hoạt khi Victim bị tấn công. Còn AITF luôn luôn phải ghi thêm Route Record vào gói tin IP khiến cho tải của toàn bộ Internet tăng lên đáng kể. – Do Victim_GW đẩy nhiệm vụ lọc gói tin cho Router gần Agent. Vì vậy sẽ sớm ngăn chặn được các gói tin DDoS và đỡ tốn băng thông mạng và giảm tình trạng nút cổ chai ở gần Victim. 17 – Chống được Fake IP, lừa dối và lợi dụng giao thức. – Chặn được DDoS ngay cả khi từ Attacker đến Victim có nhiều đường đi và có sự thay đổi động trên các router ở phần lõi Internet. – Xây dựng trên tầng network, kể cả 1 router trên mạng không cài đặt giải thuật này thì mạng vẫn có thể hoạt động bình thường. – “Lan tỏa ngược” hoạt động tốt ngay cả khi DDoS được thiết kế có độ phân tán cao. Nhược điểm: Do phải huy động router ở lõi lập Filter phần lõi của Internet phải chịu thêm tải. Trong trường hợp 1 router ở lõi không được cài thuật toán, hoặc bị Attacker chiếm quyền điều khiển thì khi có DDoS đi qua, router lõi liền kề nó sẽ phải lập Filter với thời gian tlong.Nếu attacker có cơ chế giả mạo (fake) nhiều IP luân phiên, thì ứng với mỗi 1 IP, A_GW sẽ phải tạo 1 bộ lọc khác nhau. 3.6. Tóm tắt chƣơng 3 Trên cơ sở kết quả nghiên cứu về các hành vi tấn công, mô hình tấn công DDoS đã nêu ở chương trước, chương 3 của luận văn trình bày cụ thể về mô hình bảo vệ chống tấn công DDoS. Nội dung chương đã nêu các vấn đề đặt ra khi xây dựng hệ thống chống DDoS, các đặc trưng của mô hình bảo vệ chống tấn công; đi sâu phân tích một số thuật toán điển hình để phát hiện ra tấn công DDoS như: thuật toán Adaptive Thresholds, SIM, CUSUM. Ba giao thức điển hình cho phòng chống DDoS là AITF, D-Ward, giao thức lan tỏa ngược, trong đó giao thức lan tỏa ngược là hiệu quả nhất. Kết quả chương đã đưa ra đề xuất về mô hình bảo vệ chống DDoS. 18 Chƣơng 4 - MÔ PHỎNG PHÁT HIỆN TẤN CÔNG VÀ CHỐNG TẤN CÔNG DDoS. 4.1. Giới thiệu bộ công cụ NeSSi2. 4.1.1. Tổng quan. NeSSiNeSSi (Network Security Simulator) là một công cụ mô phỏng kết hợp nhiều tính năng liên quan đến an ninh mạng, được phát triển tại phòng nghiên cứu DAI-Labs thuộc Trường Đại học TU Berlin (CHLB Đức) (xem www.nessi2.de). Thông qua công cụ NeSSi, chúng ta có thể mô phỏng các cuộc tấn công tự động dựa trên các profile đã được thiết lập, phân tích lưu lượng...NeSSi được sử dụng trong lĩnh vực nghiên cứu an ninh và các mục đích đánh giá. Trong các trường hợp muốn thử nghiệm các thuật toán phát hiện xâm nhập,tiến hành phân tích tình hình an ninh mạng thì NeSSi là công cụ mạng lại hiệu quả rất cao. Các cơ hở hạ tầng truyền thông hiện đại, hệ thống mạng máy tính dựa trên nền tảng IP đóng vai trò chủ đạo. Việc triển khai các mạng này đang phát triển theo cấp số mũ. Thật vậy hầu hết các tập đoàn, các cơ quan và cá nhân đều sử dụng các dịch vụ phúc tạp và hệ thống thông tin liên lạc cho mình. Đối với an ninh thông tin, điều này dẫn đến những thách thức mới như một lượng lớn dữ liệu, trong đó có thể chứa nội dung độc hại như sâu, virus, hoặc Trojans, được chuyển qua các mạng mở. Mạng biện pháp an ninh đối phó với những mối đe dọa này có thể được thực hiện trong mạng riêng của mình cũng như tại các máy chủ kết nối để truy cập vào bộ định tuyến của mạng. Bản thân các nhà cung cấp mạng cũng luôn phấn đẩu để cung cấp các tính năng bảo mật cho khách hàng của họ. Để làm được điều này thì bên trong hệ thống của họ sẽ đặt thiết bị an ninh để phát hiện và ngăn chặn các hiểm họa có thể xảy ra. Trước khi làm được điều này thì các nhà cung cấp dịch vụ phải sử dụng các công cụ mô phỏng mạng mà trong đó các tính năng khác nhau của các kiến trúc bảo mật có thể kiểm tra để đảm bảo tối đa phát hiện tấn công trước khi triển khai thực tế. NeSSi cho phép thử nghiệm với các hệ thống mạng khác nhau, thiết lập chính sách bảo mật và các thuật toán để đánh giá và so sánh hiệu quả của việc phát hiện xâm nhập và chi phí triển khai.
- Xem thêm -