Đề tài Xác thực các thành phần trong hệ thống pac để chống lừa dối và lợi dụng

Giao thức lan tỏa ngược là một cơchế đểphòng chống lại các cuộc tấn công DDoS theo phương pháp phản ứng lại và kết hợp nhiều vịtrí. Giao thức lan tỏa ngược được nhóm tác giả(ĐHCN) công bốlần đầu tại Hội nghịKhoa học Công nghệThái Nguyên (2007). Sau đó tác giảHoàng Văn Quân (K49 ĐHCN) đã trình bày chi tiết mô hình lý thuyết và cài đặt thửnghiệm phần lõi của giao thức trong khóa luận tốt nghiệp đại học (2008 - ĐHCN). Những phần còn lại trong mô hình lý thuyết vẫn chưa được phát triển. Vì vậy, dưới sự định hướng của giáo viên hướng dẫn và sựtrợgiúp của tác giả, tôi thực hiện khóa luận tốt nghiệp này với mục đích hoàn thiện đầy đủcác thành phần đã nêu trong mô hình lý thuyết của giao thức.

pdf45 trang | Chia sẻ: nhungnt | Lượt xem: 1824 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đề tài Xác thực các thành phần trong hệ thống pac để chống lừa dối và lợi dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thế Hùng XÁC THỰC CÁC THÀNH PHẦN TRONG HỆ THỐNG PAC ĐỂ CHỐNG LỪA DỐI VÀ LỢI DỤNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng truyền thông HA NOI-2010 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thế Hùng XÁC THỰC CÁC THÀNH PHẦN TRONG HỆ THỐNG PAC ĐỂ CHỐNG LỪA DỐI VÀ LỢI DỤNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Mạng truyền thông Cán bộ hướng dẫn: ThS. Đoàn Minh Phương HA NOI-2010 Tóm tắt nội dung luận văn Giao thức lan tỏa ngược là một cơ chế để phòng chống lại các cuộc tấn công DDoS theo phương pháp phản ứng lại và kết hợp nhiều vị trí. Giao thức lan tỏa ngược được nhóm tác giả (ĐHCN) công bố lần đầu tại Hội nghị Khoa học Công nghệ Thái Nguyên (2007). Sau đó tác giả Hoàng Văn Quân (K49 ĐHCN) đã trình bày chi tiết mô hình lý thuyết và cài đặt thử nghiệm phần lõi của giao thức trong khóa luận tốt nghiệp đại học (2008 - ĐHCN). Những phần còn lại trong mô hình lý thuyết vẫn chưa được phát triển. Vì vậy, dưới sự định hướng của giáo viên hướng dẫn và sự trợ giúp của tác giả, tôi thực hiện khóa luận tốt nghiệp này với mục đích hoàn thiện đầy đủ các thành phần đã nêu trong mô hình lý thuyết của giao thức. MỤC LỤC Mở đầu: Tính cấp thiết của đề tài ........................................................................................1 Chương 1: Tổng quan về DDoS...........................................................................................2 1.1. Tổng quan về tấn công DDoS ...................................................................................2 1.1.1. Khái niệm về DDoS ...................................................................................... 2 1.1.2. Tổ chức mạng lưới DDoS................................................................................. 3 1.1.2.1. Tuyển mộ mạng lưới Agent ..........................................................................3 1.1.2.2. Điều khiển mạng lưới Agents .......................................................................5 1.1.3. Các loại tấn công DDoS ……………………………………………………..7 1.1.3.1. SYN flood attack: ........................................................................................ 8 1.1.3.2. UDP Flood attack ..........................................................................................9 1.1.3.3. Smurf attack .............................................................................................14 1.1.3.4. DNS Zone Transfer based Flooding..........................................................10 1.1.3.5. Ping based attacks .....................................................................................16 1.1.3.6. CGI attacks(Common Gateway Interface)................................................16 1.2. Tổng quan về phòng thủ DDoS..............................................................................17 1.2.1. Tại sao DDoS khó giải quyết........................................................................... 17 1.2.2. Những thách thức khi xây dựng hệ thống phòng thủ DDoS ............................ 18 1.2.2.1. Về mặt kĩ thuật ............................................................................................18 1.2.2.2. Về mặt xã hội ..............................................................................................19 1.2.3. Mục tiêu khi xây dựng hệ thống phòng thủ ...................................................... 20 1.2.4. Các hướng phòng thủ DDoS............................................................................. 21 1.2.4.1. Phòng ngừa và Phản ứng lại........................................................................21 1.2.4.2. Vị trí của hệ thống phòng thủ......................................................................17 Chương 2: Các nghiên cứu về phòng chống DDoS ...........................................................25 2.1. Giao thức AITF...................................................................................................25 2.1.1. Giới thiệu …..…........................................................................................ 25 2.1.2. Tổng quan về giao thức AITF ....................................................................... 25 2.1.3. Cơ chế hoạt động AITF ........................................................................... 26 2.1.4. nhận xét ....................................................................................................... 27 2.2. Hệ thống D-WARD..............................................................................................27 2.2.1. Mục tiêu....................................................................................................... 27 2.2.2. Triển khai D-WARD................................................................................... 28 3.2.3. Nhận xét ...................................................................................................... 29 Chương 3: GIAO THỨC LAN TỎA NGƯỢC..................................................................29 3.1. Giới thiệu về giao thức Lan tỏa ngược.....................................................................29 3.1.1. Khái niệm chung............................................................................................... 29 3.1.2. Các thuật ngữ .................................................................................................... 30 3.1.2.1. Bộ lọc (Filter) ..............................................................................................30 3.1.2.2. Router/Gateway...........................................................................................30 3.1.2.3. Cơ chế “Lan tỏa ngược”..............................................................................30 3.2. Cơ chế hoạt động......................................................................................................31 3.2.1. Bước 1: Khởi động ........................................................................................... 31 3.2.2. Bước 2: Bắt đầu ................................................................................................ 32 3.2.3. Bước 3: Kiểm tra giả mạo................................................................................. 32 3.2.4. Bước 4: Rút gọn................................................................................................ 32 3.2.5. Bước 5: Ngăn chặn ........................................................................................... 33 3.2.6. Bước 6: Lan tỏa ngược ..................................................................................... 34 3.3. Chống lừa dối ...........................................................................................................35 3.3.1. Nguy cơ............................................................................................................. 35 3.3.2. Giải pháp........................................................................................................... 35 3.4. Chống lợi dụng giao thức.........................................................................................36 3.4.1. Nguy cơ............................................................................................................. 36 3.4.2. Giải pháp........................................................................................................... 36 3.5. Nhận xét ...................................................................................................................37 3.5.1. Ưu điểm ............................................................................................................ 37 3.5.2. Nhược điểm ...................................................................................................... 37 Chương 4: Phát triển chức năng rút gọn và xác thực cho giao thức lan tỏa ngược ...........38 4.1. Rút gọn .....................................................................................................................38 4.1.1. Ý tưởng ............................................................................................................. 38 4.1.2. Cách thức xác định địa chỉ IP của Agw........................................................... 38 4.1.3. Thực thi quá trình rút gọn................................................................................. 40 4.1.4. Nhận xét ...................................................................................................... 40 4.2. xác thực...............................................................................................................................35 4.2.1. Ý tưởng ............................................................................................................ 41 4.2.2. Thực thi quá trình xác thực............................................................................. 41 4.2.3. Kết luận........................................................................................................... 42 Kết Luận .............................................................................................................................43 Mở đầu: Tính cấp thiết của đề tài Sự bùng nổ về công nghệ thông tin và viễn thông kéo theo sự xuất hiện của nhiều vấn đề nan giải liên quan đến mạng Internet. Tấn công DDoS là một trong những vấn đề nóng hổi, luôn thu hút được sự quan tâm của cộng đồng Internet. Trong những năm gần đây, ngày càng có nhiều các cuộc tấn công DDoS với qui mô lớn, gây ảnh hưởng nghiêm trọng đến các tổ chức lớn như: Vào ngày 15 tháng 8 năm 2003, Microsoft đã chịu đợt tấn công DDoS làm gián đoạn websites trong vòng 2 giờ. Vào lúc 15:09 giờ GMT ngày 27 tháng 3 năm 2003: toàn bộ phiên bản tiếng anh của website Al-Jazeera bị tấn công làm gián đoạn trong nhiều giờ. Tháng 6 năm 2004, một cuộc tấn công DDoS đánh sập Akamail name server, khiến khách hàng không thể truy cập đến server dịch vụ, bao gồm cả công cụ tìm kiếm phổ biến Google và Yahoo, một tháng sau đó một cuộc tấn công khác làm tràn ngập Doubleclick name server khiến các khách hàng của dịch vụ này tê liệt trong vòng 3 giờ. Trên thế giới đã có nhiều nghiên cứu về phòng chống DDoS, nhưng thực sự tất cả chỉ là những lý thuyết thử nghiệm, mới được triển khai qui mô nhỏ trong phòng thí nghiệm, chưa được áp dụng rộng rãi. Tôi viết luận văn này nhằm mục đích đưa ra một cái nhìn rõ ràng hơn về DDoS và giới thiệu một cách thức phòng chống DDoS-giao thức Lan tỏa ngược, với những phần phát triển thêm vào. 1 Chương 1: Tổng quan về DDoS 1.1. Tổng quan về tấn công DDoS 1.1.1. Khái niệm về DDoS Tấn công DoS (Denial of Service) là một hành động cố ý của những kẻ có ý định xấu nhằm mục đích làm quá tải tài nguyên mạng, khiến mạng mất khả năng phục vụ những người dùng hợp lệ. Phương pháp tấn công DDoS chủ yếu thường là tấn công tràn ngập mạng thông qua việc gửi số lượng lớn các gói tin đến nạn nhân, việc làm này tiêu tốn tài nguyên mạng như băng thông, bộ đệm router, khả năng xử lý của cpu. Một vài phương pháp tấn công DDoS phổ biến có thể nêu tên như: SYN flooding, UDP flooding, DNS base flooding, ICMP direct broadcast, Ping flood attack. Dựa trên số lượng các máy tính tham gia để tiến hành một cuộc tấn công, tấn công DoS có thể được chia làm hai loại: kẻ tấn công sử dụng tất cả băng thông sẵn có thông qua việc tạo ra một số lượng lớn các gói tin từ một máy tính, hay là trường hợp tấn công phân tán, khi rất nhiều máy tính kết hợp với nhau cùng gửi các truy vấn đến nạn nhân cùng một thời điểm- hay còn gọi là DDoS (distributed denial of sevice). Tấn công DDoS rất đa dạng, thường thì rất khó để tìm ra đâu là kẻ tấn công thực sự mà chỉ dò ra được đến các máy tính bị lợi dụng, điều khiển tham gia cuộc tấn công, do vậy rất khó để ngăn ngừa tấn công DDoS. Những khái niệm sau đây thường đi với tấn công DDoS: victim, agent, handle, attacker và stepping stone. Victim là nạn nhân của cuộc tấn công, hay còn gọi là máy mục tiêu. Agent là những máy trực tiếp gửi gói tin tấn công tới nạn nhân. Attacker là kẻ tấn công thực sự, Attacker ra lệnh cho các Handle, mỗi Handle này sẽ chịu trách nhiệm điểu khiển một lượng Agent trực tiếp tấn công vào nạn nhân. Khi truy tìm ngược lại các vết tấn công, thường chỉ có thể tìm ra các Agent – máy tính bị lợi dụng, chứ khó có thể tìm ra kẻ điều khiển thực sự. Ngoài ra, trong 1 số hệ thống DDoS, Attacker có thể sử dụng thêm một máy tính nữa dùng để điều khiển hệ thống từ xa, được gọi là stepping stone, nhằm che giấu hành tung của mình. 2 Xét về mặt cấu trúc gói tin, từng thông điệp gửi đến nạn nhân là hợp lệ. Mặt khác các core router khi định tuyến chỉ quan tâm đến địa chỉ đích chứ không quan tâm đến địa chỉ nguồn, nên nếu attacker giả mạo IP của Agent, sự phức tạp của việc xác định các Agent cũng như các gói tin tấn công trở nên rất khó khăn. 1.1.2. Tổ chức mạng lưới DDoS Tùy theo kế hoạch tấn công mà attacker có thể huy động 1 số lượng lớn các máy tính gián tiếp hay trực tiếp tham gia. Việc này có thể làm thủ công, bán thủ công hoặc hoàn toàn tự động. Các attacker thường hay sử dụng công cụ phổ biến Trinoo và Shaft, công cụ trên sẽ điều khiển những những tiến trình được cài đặt tự động tại các máy agents để tấn công vào victim. Ngày nay attacker thường sử dụng những kịch bản tự động để cài đặt những tiến trình ngầm vào các agents, hoặc thậm chí sử dụng những công cụ tự động scan để dò tìm những lỗ hổng rồi lây nhiễm qua máy khác . Điều này đang ngày càng trở lên nguy hiểm, bởi lẽ một khi đã có thể điều khiển 1 tiến trình trong máy Victim, thì attacker có thể cài đặt virut, các phần mềm độc hại khác, ăn cắp dữ liệu,thông tin cá nhân, tài khoản ngân hàng… chứ không chỉ đơn thuần nhằm tấn công DDoS nữa. Có 3 bước thực hiện chung để tổ chức 1 mạng lưới DDoS: tuyển mộ mạng lưới agent, điều khiển mạng botnet đó và thực hiện tấn công. 1.1.2.1. Tuyển mộ mạng lưới Agent Muốn thành lập mạng botnet, attacker phải tìm kiếm được những máy tính dễ bị lợi dụng (Vulnerable Machines). Quá trình này được gọi là quá trình thăm dò, attacker gửi 1 vài gói tin để thử xem những host nào có thể lợi dụng. Quá trình thăm dò có thể thực hiện dễ dàng thông qua một số công cụ có sẵn, hoặc thực hiện tự động với sâu hay virut máy tính . Một bot (khái niệm này xuất phát từ robot) là 1 chương trình máy khách được chạy ẩn trên máy tính bị hại, gửi thông báo cho attacker các thông tin trạng thái của máy tính bị lợi dụng và chờ đợi lệnh điều khiển từ attacker để phát hành tấn công. Các chương trình bot ngày nay thậm chí còn có khả năng tự động scan các máy trong cùng dải mạng để tìm 3 những máy tính có khả năng bị lợi dụng như mình rồi thông báo cho attacker để mở rộng mạng botnet. Những chương trình có thể tự động dò tìm, tự động lây nhiễm đến các máy có khả năng bị lợi dụng được gọi là Internet Worm. Do cơ chế có thể hoạt động độc lập xây dựng mạng botnet nên Worm rất được các attacker ưa thích. Worm có 3 chức năng chính là: dò quét để tìm kiếm các máy tính có khả năng lợi dụng, khai thác lỗi nhằm lây nhiễm, nhân bản và cho phép điều khiển từ xa, cuối cùng là tải về kịch bản tấn công DDoS hoặc 1 chương trình thực thi, thậm chí cả viruts. Worm có khả năng sử dụng những cách thức che giấu mình, biết lẩn tránh và disable chương trình antivirut . Trong lịch sử đã có những con Worm lây nhiễm cho hàng trăm nghìn máy tính, làm thiệt hại hàng triệu USD như MyDoom, Bagle, Slammer … Ngày nay, với sự bùng nổ của các dịch vụ Web và các mạng chia sẻ ngang hàng, Attacker đã có thêm nhiều cách thức khác nhau để thành lập được một mạng botnet lớn một cách nhanh chóng. Theo cách này, Attacker thường khai thác những lỗi của phần mềm, lợi dụng sự cả tin và những thói quen không an toàn của người sử dụng máy tính để cài đặt 1 tiến trình trên máy tính, từ đó có thể từ xa tra lệnh cho máy tính tấn công Victim. Điển hình ở Việt Nam đã có thời kì bùng nổ Virut, Trojan lan truyền qua Yahoo Messenger. Kẻ tấn công đã lợi dụng 1 lỗi bảo mật trên trình duyệt Web Internet Explorer để tạo 1 trang web, sao cho mỗi khi người dùng vào trang web đó là bị cài đặt 1 chương trình chạy ngầm trên máy tính. Từ đó chương trình này tiếp tục quảng bá nó, dụ dỗ người khác vào website kia bằng cách gửi tin nhắn chứa link đến tất cả bạn bè của người bị hại qua phần mềm Yahoo Messenger, đặt status có chứa link đến trang web… Mỗi khi sử dụng YM trên máy bị nhiễm, thì hàng chục, hàng trăm bạn bè trong friend list đều được ‘giới thiệu’ đến Website độc hại đó. Và vì tin tưởng lẫn nhau, chỉ cần 1 người bạn lỡ dùng IE mở website ấy lên là chương trình được nhân bản, và nó tiếp tục quảng bá đến hàng chục, hàng trăm người khác. Chương trình ấy lây lan nhanh đến mức cơ quan quản lý dịch vụ Yahoo Messenger Việt Nam đã phải chặn tất cả các tin nhắn offline có chứa link lạ trong đó. 4 1.1.2.2. Điều khiển mạng lưới Agents Khi mạng lưới các Agents đã trở lên rộng lớn, có thể lên tới hàng chục, hàng trăm nghìn nên rất khó để Attacker liên lạc với từng agent, để điều khiền Agents, Attacker thường sử dụng các công cụ kết nối “nhiều – nhiều”. Có 2 mục đích của việc làm này: 1 – Attacker ra lệnh rõ ràng, mạch lạc hơn 2 – Attacker dễ dàng thu thập được thông tin, hành vi của các Agents Những công cụ tạo mạng lưới Agents trước đây như Trinoo, Tribe Flood Network (TFN), và Shaft chỉ có thể tạo mạng botnet với vài trăm hoặc vài nghìn Agents. Nhưng ngày nay số lượng 1 mạng botnet đã tăng lên rất lớn, điển hình là mạng Phatbot đã có đến 400.000 host. Có một số cách thông dụng để Attacker có thể điều khiển mạng botnet của mình: Ra lệnh trực tiếp Một số công cụ như Trinoo xây dựng 1 mạng gồm 2 thành phần là handler và agents. Attacker sẽ điều khiển mạng qua handler, còn handler sẽ gửi lệnh đó đến nhiều agents (đôi khi sử dụng 1 bộ lệnh khác với attacker đã dùng) để chúng trực tiếp tấn công Victim. (hình 1: ra lệnh tấn công) 5 Trong thời kì đầu, những chương trình điều khiển theo cách này thì không mã hóa khi truyền thông tin điều khiển hay có bất cứ authentication nào giữa Attacker – Handlers và giữa Handler – Agents cả. Vì thế các Handler dễ bị phát hiện, thậm chí có thể bị 1 attacker khác lợi dụng. Những công cụ ngày nay đã cho phép mã hóa trên kênh truyền lệnh giữa Attacker và Handler, hoặc yêu cầu password để điều khiển các Agents (ví dụ như Stacheldraht) Ra lệnh gián tiếp Phương pháp ra lệnh trực tiếp có 1 số nhược điểm đối với Attacker. Handlers cần phải lưu trữ những định nghĩa về các Agents, và đôi khi, chính những Agents cũng lưu những giá trị để xác định Handler. Vì thế phương pháp ra lệnh trực tiếp thường tạo ra nhiều hiện tượng bất thường trên mạng (ví dụ máy tính đột nhiên mở nhiều cổng lạ chờ kết nối, Web server lại tự khởi tạo liên lạc với nhiều IP ngoài…), khiến cho người quản trị nhanh chóng phát hiện ra dấu vết. Trong phương pháp ra lệnh trực tiếp thì Handler và Agent luôn luôn phải ở trạng thái sẵn sàng đợi lệnh. Dù không có thông điệp nào truyền tải giữa Attacker với Handler, giữa Handler với Agent thì người quản trị vẫn có thể phát hiện ra có những tiến trình ngầm hoạt động trong máy tính, mở những cổng lạ để chờ đợi lệnh điều khiển. Vì thế, Attacker cần phải viết trước những đoạn code để lập kịch bản trước, tránh để cho các quản trị viên phát hiện ra. Điển hình của phương pháp ra lệnh gián tiếp này là việc sử dụng hệ thống Internet Relay Chat (IRC) để điều khiển 1 số lượng lớn Agents. Hai chương trình nổi tiếng đã được sử dụng là Kaiten bot trên Unix và Power bot trên Windows. Đầu tiên, cả Attacker và Agent (bot) đều kết nối tới 1 IRC Server như là 1 IRC Client bình thường. Tới khi hầu hết các sites đều chấp nhận các kênh IRC cho người dùng, thì những giao tiếp DDoS đều chưa tạo bất cứ 1 hiện tượng bất thường nà