Báo cáo ứng dụng web và vấn đề bảo mật

35 432 0
Báo cáo ứng dụng web và vấn đề bảo mật

Đang tải... (xem toàn văn)

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

Thông tin tài liệu

Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu LỜI MỞ ĐẦU Trong thời đại ngày internet trở nên quen thuộc công cụ hữu ích để đất nước giới thiệu hình ảnh hay đơn giản trang web cá nhân giới thiệu Tất kéo theo phát triển không ngừng ứng dụng web Và khái niệm ứng dụng web trở nên phổ biến Khi mà internet ,ứng dụng web trở lên phổ biến ,ứng dụng cách rộng rãi công ứng dụng web phát triển phức tạp Điều đặt vấn đề cấp thiết cần làm để bào đảm an toàn thông tin cho ứng dụng web, thông tin người sử dụng Các khái niệm chuyên môn ứng dụng web công ứng dụng web dần trở nên phổ biến tài liệu chuyên ngành Các công cụ hỗ trợ người lập trình web, người quản trị mạng xuất giúp tìm kiếm lỗ hổng ứng dụng web không theo kịp phát triển nhanh đến mức chóng mặt theo xu hướng nhanh đẹp ứng dụng web, tất nhiên ngăn chặn hoàn toàn công ứng dụng web, mà công ngày đa dạng khai thác triệt để lỗi ứng dụng web, người quản trị, hay người lập trình ứng dụng web Thống kê cho thấy 75% công internet công ứng dụng web,nó gây thiệt hại vô to lớn, việc tìm hiểu công ứng dụng web cần thiết nhằm có cách phòng chống công bảo mật ứng dụng web hiệu trở thành yêu cầu cấp thiết… Do xu tất yếu thời, nên việc tìm hiểu nghiên cứu ứng dụng web giúp ích nhiều cho nhà lập trình web mới, hay quản trị viên kinh nghiệm việc quản trị hệ thống mạng mình, phòng tránh , hay khắc phục lỗi ứng dụng web Bài tập lớn thực nhằm mục đích giới thiệu rõ ứng dụng web nhằm tránh nhầm lẫn đồng thời tìm hiểu công ứng dụng web phổ dụng nhằm có cách phòng chống ,bảo mật cho ứng dụng web hợp lý SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ỨNG DỤNG WEB Khái niệm ứng dụng web (website widget hay web application) Cấu trúc, chức năng, giao diện & nguyên tắc hoạt động ứng dụng web 2.1 Cấu trúc ứng dụng 2.2 Giao diện ứng dụng web 2.3 Chức ứng dụng web 2.4 Nguyên tắc hoạt động ứng dụng web 2.5 Vấn đề bảo mật ứng dụng web CHƯƠNG 2: GIỚI THIỆU VỀ CÁC THUẬT NGỮ VÀ KHÁI NIỆM LIÊN QUAN 12 Các khái niệm thuật ngữ thường dùng 12 1.1 Các khái niệm chung ứng dụng web .12 1.2 Thuật ngữ ,khái niệm công cụ liên quan đến ứng dụng web 13 1.3 Các khái niệm thuật ngữ liên quan đến công bảo mật ứng dụng web 15 1.3.1 Khái niệm hacker 15 1.3.2 HTTP Hearder 16 1.3.3 Session 16 1.3.4 Cookie .17 CHƯƠNG 3: CÁC KỸ THUẬT TẤN CÔNG ỨNG DỤNG WEB CƠ BẢN .18 I LÝ THUYẾT 18 Kiểm soát truy cập ( Web Access Control ) 18 Chiếm hữu phiên làm việc ( Session Management ) .18 SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu 2.1 Ấn định phiên làm việc ( Session Fixation ) 18 2.2 Đánh cắp phiên làm việc 18 Lợi dụng thiếu sót việc kiểm tra liệu hợp lệ ( Input validation ) 18 3.1 Kiểm tra tính đắn liệu ngôn ngữ phía trình duyệt 18 3.2 Tràn đệm ( Buffer OverFlow ) 18 3.3 Mã hóa URL ( URL Encoding ) 19 3.4 Kí tự Meta ( Meta – characters sử dụng ký tự đặc biệt ) 19 3.5 Vượt qua đường dẫn ( Path Traversal ) .19 3.6 Chèn mã lệnh thực thi trình duyệt nạn nhân ( Cross – Site Scripting) 19 3.7 Thêm câu lệnh hệ thống ( OS Command Injection ) 19 3.8 Kí tự rỗng ( Null Characters ) 20 3.9 Chèn câu truy vấn SQL ( SQL Injection ) 20 3.10 Ngôn ngữ phía máy chủ ( Server side includes ) .20 3.11 Thao tác tham số truyền ( Parameter manipulation ) .20 3.12 Từ chối dịch vụ ( DOS ) 20 II Các cách triển khai công ứng dụng web .20 Thao tác tham số .20 1.1 Thao tác URL .21 1.2 Thao tác biến ẩn form 21 1.2.1 Khái niệm 21 1.2.2 Một số biện pháp khắc phục 21 Kỹ thuật công SQL Injection .22 2.1 Kỹ thuật SQL Injection đơn giản .22 2.2 Tấn công dựa vào câu lệnh Select 23 2.3 Tấn công dựa vào lệnh Having 23 2.4 Tấn công dựa vào câu lệnh kết hợp Union 23 2.5 Tấn công dựa vào lệnh Insert .24 SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu 2.6 Tấn công dựa vào Stored Procedure 24 Kỹ thuật công gây tràn đệm từ chối dịch vụ ( Buffer overflow) .25 3.1 Khái niệm 25 3.2 Các đối tượng bị ảnh hưởng kiểu công 25 3.3 Các kiểu công Dos .26 3.3.1 Kiểu công thứ 26 3.3.2 Kiểu công thứ hai 26 3.3.3 Kiểu công vào tài nguyên hệ thống 27 3.4 Cách phòng chống 27 CHƯƠNG 3: GIỚI THIỆU MỘT SỐ CÔNG CỤ THÔNG DỤNG TRONG KỸ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB 28 Tool Scanning 28 Công cụ bắt gói tin 30 Công cụ dùng để công dos ứng dụng web 33 CHƯƠNG 4: PHẦN KẾT LUẬN 34 TÀI LIỆU THAM KHẢO .35 SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ỨNG DỤNG WEB Khái niệm ứng dụng web (website widget hay web application) Mang tính kỹ thuật nhiều giải thích ứng dụng Web truy vấn máy chủ chứa nội dung (chủ yếu sở liệu lưu trữ nội dung) tạo tài liệu Web động để phục vụ yêu cầu máy khách (chính người dùng website) Tài liệu tạo kiểu định dạng tiêu chuẩn hỗ trợ tất trình duyệt (như HTML, XHTML) JavaScript dạng script client-side cho phép yếu tố động có trang (như thay đổi ảnh lần người dùng di chuột tới) Trình duyệt Web chìa khóa Nó dịch chạy tất script, lệnh… hiển thị trang web nội dung yêu cầu Dưới góc độ chức năng, ứng dụng Web chương trình máy tính cho phép người dùng website đăng nhập, truy vấn vào liệu qua mạng Internet trình duyệt Web yêu thích họ Dữ liệu gửi tới người dùng trình duyệt theo kiểu thông tin động (trong định dạng cụ thể, với HTML dùng CSS) từ ứng dụng Web qua Web Server Để hiểu nghĩa khái niệm sâu vào tìm hiểu tiếp mô hình cấu trúc chức nhiệm vụ ứng dụng web Cấu trúc, chức năng, giao diện & nguyên tắc hoạt động ứng dụng web 2.1 Cấu trúc ứng dụng Mô hình ứng dụng web đơn giản mô hình MVC (Model - View Controller) Tầng Model: chứa code connect tới database,truy vấn thêm xóa sửa liệu Tầng View: chứa code tạo giao diện tương tác với người dùng, liệu vẽ nhu Tầng Controller: chứa code điều khiển dòng liệu (flow control), gắn kết tầng Mode tầng View lại với Ứng dụng chia thành layer tăng tính reuse dễ dàng mở rộng Chẳng hạn muốn ứng dụng truy xuất di dộng, SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu cần tạo tầng view riêng cho di động, tầng model controller không thay dổi Hay muốn thay đổi database, việc dễ dàng hơn, cần ta tạo tầng model mới, phần view controller không bị ảnh hưởng Mô hình thể quan hệ ba lớp ứng dụng web: Hình 1: Mô hình tầng wungs dụng web Còn mô hình dịch vụ ứng dụng web: Hình Mô hình dịch vụ ứng dụng web đơn giản 2.2 Giao diện ứng dụng web Giao diện web đặt giới hạn khả người dùng Thông qua Java, JavaScript, DHTML, Flash công nghệ khác, phương pháp ứng dụng có vẽ hình, chơi nhạc, dùng bàn phím chuột tất thực Những kỹ thuật thông thường kéo thả hỗ trợ công nghệ SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu 2.3 Chức ứng dụng web Ứng dụng web phổ biến nhờ vào có mặt vào nơi đâu chương trình Khả cập nhật bảo trì ứng dụng Web mà phân phối cài đặt phần mềm hàng ngàn máy tính lý cho phổ biến Ứng dụng web dùng để thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG, Hệ quản trị quan hệ khách hàng nhiều chức khác Tất liệu cần phải đóng gói, lưu trữ, xử lý truyền vận theo cách đó, sử dụng vào ngày sau Các ứng dụng Web, lĩnh vực đăng ký, đệ trình, truy vấn, đăng nhập, bán hàng hệ thống quản lý nội dung website widget cho phép thực tất công việc mong muốn Web là yếu tố giúp doanh nghiệp tăng cường hình ảnh trực tuyến giới mạng, tạo trì nhiều mối quan hệ đem lại lợi nhuận lâu dài với khách hàng tiềm khách hàng Website ngày khác xa so với kiểu đồ họa văn tĩnh kỷ mười chín hay thời kỳ trước Các trang Web đại cho phép người dùng lấy xuống nội dung động cá nhân hóa theo thiết lập tham chiếu riêng Hơn chúng chạy script máy khách, “thay đổi” trình duyệt Internet thành giao diện cho ứng dụng thư điện tử, phần mềm ánh xạ tương tác (Yahoo Mail, Google Maps) Quan trọng website đại cho phép đóng gói, xử lý, lưu trữ truyền tải liệu khách hàng nhạy cảm (như thông tin cá nhân, mã số thẻ tín dụng, thông tin bảo mật xã hội …) dùng dùng định kỳ sau Và, điều thực qua ứng dụng Web Đó thành phần webmail (thư điện tử), trang đăng nhập, chương trình hỗ trợ mẫu yêu cầu sản phẩm hay hoạt động mua bán, hệ thống quản lý nội dung, phát triển website đại, cung cấp cho doanh nghiệp phương tiện cần thiết để liên lạc với khách hàng tương lai khách hàng SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu 2.4 Nguyên tắc hoạt động ứng dụng web Trong dạng tính toán chủ-khách trước đây, ứng dụng có chương trình khách riêng phục vụ giao diện người dùng phải cài đặt riêng rẽ máy tính cá nhân người dùng Sự nâng cấp phần máy chủ ứng dụng cần nâng cấp tất máy khách cài máy trạm người dùng, thêm vào chi phí hỗ trợ giảm suất Ứng dụng web linh hoạt tạo loạt tài liệu Web định dạng chuẩn hỗ trợ trình duyệt phổ biến HTML/XHTML Ngôn ngữ kịch phía người dùng dạng ngôn ngữ chuẩn JavaScript thường thêm vào để có thêm yếu tố động giao diện người dùng Nói chung, trang Web đơn lẻ gửi tới người dùng tài liệu ổn định, thứ tự trang cung cấp cảm giác trực quan, người dùng nhập vào trả thông qua thành phần mẫu Web nhúng vào đánh dấu trang Trong trình giao dịch đó, trình duyệt Web thông dịch hiển thị trang, hoạt động người dùng chung cho ứng dụng Web Theo mô hình MVC (Model - View - Controller) Hình Mô tả hoạt động ứng dụng web SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Các bước hoạt động ứng dụng web đơn giản: Bước 1: Browser tạo HTTP Request gửi tới ứng dụng web Bước 2: Controller Struts class ActionServlet bắt request này, phân tích URL nó, dựa vào file struts-config.xml để gửi request tới Action class tương ứng Bước 3: Action class class Struts Framework Ứng dụng chúng tathường extends từ class viết code để sử lý business tương ứng Chẳng hạn ta có LoginAction để xử lý việc user login, logout Bước 4: Action class truy xuất, cập nhật database cần thiết Bước 5: Khi Action class thực việc xử lý business xong, gửi yêu cầu forward/redirect, với liệu (nếu có) controller Bước 6: Controller chuyển control đến trang JSP tương ứng tầng view Nếu trang JSP có sử dụng liệu, controller cung cấp cho (đây liệu mà action tạo đua cho controller Bước 7: Sau trang JSP chuẩn bị xong, Controller tạo HTTP Response gửi cho browser, để browser hiển thị hình 2.5 Vấn đề bảo mật ứng dụng web Khi mà ứng dụng web phát triển nhanh mặt, khả ứng dụng cách rộng rãi vấn đề bảo mật cho ứng dụng web trọng Mặc dù phủ nhận cải tiến nâng cao đáng kể nay, vấn đề bảo mật ứng dụng Web không ngừng tăng lên Nguyên nhân xuất phát từ đoạn mã không phù hợp Nhiều điểm yếu nghiêm trọng hay lỗ hổng cho phép hacker xâm nhập thẳng truy cập vào sở liệu tách lấy liệu nhạy cảm Nhiều sở liệu chứa thông tin giá trị (như chi tiết cá nhân, thông tin tài chính) khiến chúng trở thành đích nhắm thường xuyên hầu hết hacker Mặc dù hoạt động công phá hoại website doanh nghiệp diễn thường xuyên, tin tặc thích tăng cường SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu khả truy cập liệu nhạy cảm nằm trình chủ chứa database lợi nhuận khổng lồ từ vụ mua bán liệu đem lại Hình 4: Mô hình hoạt động ứng dụng web Trong khung hoạt động mô tả trên, bạn thấy thật dễ dàng cho hacker truy cập nhanh chóng thông tin nằm sở liệu với chút sáng tạo Nếu may mắn chúng gặp lỗ hổng xuất phát từ cẩu thả hay lỗi người dùng ứng dụng Web Như nói, website phụ thuộc vào sở liệu để phân phối thông tin yêu cầu cho người dùng Nếu ứng dụng Web không an toàn (như có lỗ hổng, gặp phải kiểu kỹ thuật hacking đó), toàn sở liệu chứa thông tin nhạy cảm gặp nguy hiểm nghiệm trọng Một số hacker chèn mã độc hại vào ứng dụng Web có lỗ hổng để lừa đảo người dùng dẫn họ tới website phishing Kỹ thuật gọi Cross-site Scripting, dùng thân Web Server nơi chứa sở liệu lỗ hổng Một nghiên cứu gần 75% công mạng thực mức ứng dụng Web.Website ứng dụng Web liên quan phải sẵn sàng 24/7 để cung cấp dịch vụ theo yêu cầu khách hàng, yêu cầu từ phía nhân viên, nhà cung cấp nhiều người liên quan khác SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 10 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu trình công ứng dụng Vì nội dung chương đề cập phần , mục đích để hỗ trợ tốt phần trình bày phần 1.1 Thao tác URL - Khái niệm: Khi nhập form HTML kết gửi theo cách: GET hay POST Nếu dung GET, tất tên biến giá trị xuất chuỗi URL - Cách khắc phục: Ứng dụng sử dụng chế bảng băm Sau người dùng chứng thực thành công với username, ứng dụng sinh khóa tương ứng Khóa lưu server với biến username đối tượng bảng băm Mỗi người dùng kết nối tới ứng dụng, khóa username gửi so sánh với khóa username bảng băm Nếu tương ứng với bảng ghi liệu hợp lệ Còn không server biết người dùng thay đổi 1.2 Thao tác biến ẩn form 1.2.1 Khái niệm Thông tin chuyển đổi thông qua biến ẩn form, gọi Hidden Form Field Biến ẩn form không hiển thị hình trình duyệt người dùng tìm thấy nội dung “ view source ”, điểm yếu để hacker lợi dụng cách lưu nội dung trang web xuống trình duyệt, thay đổi nội dung trang gửi đến trình chủ 1.2.2 Một số biện pháp khắc phục Chỉ nên sử dụng biến ẩn form để hiển thị liệu trình duyệt, không sử dụng giá trị biến để thao tác xử lí ứng dụng Dùng biến HTTP_REFERER để kiểm tra nguồn gốc yêu cầu gửi đến, nhiên hacker sử dụng Proxy để che dấu nguồn gốc thực nó, không nên tin tưởng biến HTTP_REFERER để kiểm tra Ghép tên giá trị biến ẩn thành chuỗi đơn Sử dụng thuật toán mã SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 21 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu hoá MD5 kiểu hash chiều khác để tổng hợp chuỗi đóvà lưu vào hidden field gọi “Chuỗi mẫu” Khi giá trị form gửi đi, thao tác thực lại với khoá mà ta định trước Sau đem so sánh với“Chuỗi mẫu”, chúng không khớp chứng tỏ giá trị biểu mẫu bị thay đổi Dùng sessionID để tham chiếu đến thông tin lưu trữ sở liệu Kỹ thuật công SQL Injection 2.1 Kỹ thuật SQL Injection đơn giản Mục đích dùng để vượt qua form đăng nhập Ví dụ 1: giả sử ứng dụng web có đoạn mã sau: SQLQuery= “SELECT tkUsername FROM User WHERE tkUsername= ‘” & strUsername & “’ AND Password= ‘” & tkPassword & “’” flag= GetQueryResult (SQLQuery) if flag = “” then check=FALSE else check=TRUE end if Đoạn mã kiểm tra chuỗi nhập Username Password Nếu tồn bảng User check=true ngược lại check=false Giá tri nhập vào là: Username:’ OR ‘’=’ Password: ’ OR ‘’=’ Câu lệnh SQL lúc sau: SELECT tkUsername FROM User WHERE tkUsername= ‘’ OR ‘’=’‘ AND Password= ‘’ OR ‘’=’’ SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 22 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Câu lệnh so sánh luôn (vì ‘’ ‘’) Do câu điều kiện mệnh đề WHERE Giá trị tên người sử dụng dòng bảng chọn Kết hợp với kí tự đặc biệt SQL : • kí tự “ ; ” : đánh dấu kết thúc câu truy vấn • kí tự “ ” : ẩn chuỗi kí tự phía sau dòng 2.2 Tấn công dựa vào câu lệnh Select Direct Injection đối số thêm vào câu lệnh mà không nằm dấu nhấy đơn hay dấu ngoặc kép trường hợp direct injection Để vô hiệu hoá dấu nháy thay đổi câu lệnh mà giữ cú pháp đúng, chuỗi mã chèn thêm vào phải có dấu nháy đơn trước chuỗi kí tự chèn vào cuối câu lệnh phải có dấu nháy đơn, chẳng hạn sau: StrSQL=“SELECT tkUsername FROM User WHERE tkUsername=’’ and ‘’=’’” Nếu thực mà thông báo lỗi có liên quan đến dấu“(“thì chuỗi chèn vào phải có “)”: 2.3 Tấn công dựa vào lệnh Having Having sử dụng chung với mệnh đề GROUP BY phương pháp hữu hiệu để nhận thông tin bảng, trường… 2.4 Tấn công dựa vào câu lệnh kết hợp Union Lệnh SELECT dùng để lấy thông tin từ sở liệu Thông thường vị trí chèn thêm vào mệnh đề SELECT sau WHERE Để trả nhiều dòng thông tin bảng, thay đổi điều kiện mệnh đề WHERE cách chèn thêm UNION SELECT Ví dụ 6: StrSQL=“SELECT tkUsername FROM User WHERE tkUsername like ‘% “ & tName & “’UNION SELECT tkPassword from User” SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 23 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Câu lệnh trả tập kết kết hợp tkUsername với tkPassword bảng User 2.5 Tấn công dựa vào lệnh Insert Từ khoá INSERT dùng để đưa thông tin vào sở liệu Thông thường câu lệnh INSERT dùng trường hợp như: thông tin đăng kí người sử dụng, guestbook…v v… Kĩ thuật “;”, “ “ dùng dùng với câu lệnh SELECT, phải đảm bảo số lượng kiểu giá trị nhập vào nhằm tránh lỗi cú pháp (nếu không xác định kiểu liệu nhập tất số) Ví dụ 15: SQLString= “INSERT INTO User VALUES (‘” & strUsername & “’, ‘” & strName& “’, ‘” & strPassWord & “’,’”& strLimitSize & “’)” 2.6 Tấn công dựa vào Stored Procedure Stored Procedure sử dụng lập trình Web với mục đích giảm phức tạp ứng dụng tránh công kĩ thuật SQL Injection Tuy nhiên hacker lợi dụng Stored Procedure để công vào hệ thống Ví dụ 16: Stored procedure sp_login gồm hai tham số username password Nếu nhập: Username: nhimmap Password: ‘;shutdown-Lệnh gọi stored procedure sau: exec sp_login ‘nhimmap’,‘’;shutdown ’ Lệnh shutdown thực dừng SQL Server SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 24 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Kỹ thuật công gây tràn đệm từ chối dịch vụ ( Buffer overflow) Kĩ thuật chủ yếu khai thác việc người dùng mà vượt lượng nhớ cấp phát ban đầu ứng dụng gây chohệ thống lâm vào tình trạng tràn nhớ, chí bị chèn thêm đoạn mã Nếu ứng dụng cấu hình để thực thi root người công thao tác nhà quản trị hệ thống web server 3.1 Khái niệm Tấn công kiểu DoS kiểu công làm cho dịch vụ mạng bị tê liệt, không khả đáp ứng yêu cầu Loại công ảnh hưởng đến nhiều hệ thống, dễ thực lại khó bảo vệ hệ thống khỏi kiểu công DoS Thông thường, kiểu công DoS dựa giao thức (protocol) Ví dụ với giao thức ICMP, hacker sử dụng bomb e-mail để gửi hàng ngàn thông điệp email với mục đích tiêu thụ băng thông để làm hao hụt tài nguyên hệ thống mail server 3.2 Các đối tượng bị ảnh hưởng kiểu công - Tấn công Swap Space Hầu hết hệ thống có vài trăm MB không gian chuyển đổi ( swap space) đểphục vụ cho yêu cầu từ máy khách Swap space thuờng dùng cho tiến trình có thời gian ngắn nên DoS dựa phương thức làm tràn đầy swap space - Tấn công Bandwidth: Phần băng thông dành cho hệ thống giới hạn, hacker lúc gửi nhiều yêu cầu đến hệ thống phần băng thông không đủ đáp ứng cho khối lượng liệu lớn dẫn đến hệ thống bị phá vỡ SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 25 Báo cáo: Ứng dụng web vấn đề bảo mật - GVHD: Trần Công Mậu Tấn công vào Ram: Tấn công Dos chiếm khoảng lớn RAM gây vấn đề phá hủy hệ thống Kiểu công BufferOverflow ví dụ cho cách phá hủy - Tấn công vào Disks: Một kiểu công cổ điển làm đầy đĩa cứng Đĩa cứng bị tràn sử dụng 3.3 Các kiểu công Dos 3.3.1 Kiểu công thứ Hacker hoàn toà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 3.3.2 Kiểu công thứ hai 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 khả đáp ứng, máy chủ không khả nhận gói tin 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 sẽđược phát động để gửi gói tin đến máy đích, làm cho máy đích không khả tiếp nhận gói tin bị loại khỏi mạng Internet Bằng cách giả địa IP máy đích, hacker lúc gửi nhiều gói tin SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 26 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu đế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 đổ 3.3.3 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 như: 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ẻ 3.4 Cách phòng chống Kiểutấn 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 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 SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 27 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu CHƯƠNG 3: GIỚI THIỆU MỘT SỐ CÔNG CỤ THÔNG DỤNG TRONG KỸ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEB Tool Scanning Trong kĩ thuật công bảo mật ứng dụng web thao tác thường thao tác kiểm tra lỗi hệ thống nhằm xác định lỗi hệ thống Các công cụ dò tìm lỗi(tool scanning) hỗ trợ đắc lực cho công việc , hacker dùng chúng để dò tìm lỗi sau dung framework hay code có sẵn số tài liệu hay internet mà công ứng dụng web Nhưng công cụ hữu ích để nhà quản trị mạng , nhà quản trị hệ thống ứng dụng web đânhs giá lại mức độ bảo mật hệ thống ứng dụng web từ có phương phát bảo mật hay vá lỗi tương ứng Trong tập lớn chúng em giới thiệu tool scanning mà nguồn mở thông dụng nmap Nmap công cụ dễ sử dụng bạn có thẻ sử dụng dòng lệnh môi trường dos hay sử dụng tùy chọn trước tiếp giao diện nmap Hình giao diện nmap SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 28 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Giao diện thân thiện với người dung nên nmap dễ sử dụng Dưới ví dụ minh họa ứng dụng web host forum.congthuongit.net Thực điền: Target: forum.congthuongit.net profile:Intense sacan Chúng ta thu kết Hình mô tả kiểu quét intense nmap Hình kết dùng nmap phần (nmap out) SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 29 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Hình Kết nmap out (tiếp) Đây hình ảnh giao thức hệ thống ứng dụng web Hình hình ảnh host kiểm tra Mặc dù có nhiều chức có lúc nmap không xác định xác thông số đối tượng Công cụ bắt gói tin Dùng công cụ bắt gói tin cách phổ biến để nghe gói tin mạng SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 30 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Trong đồ án giới thiệu công cụ wireshare Một công cụ mà nguồn mở giao diện đồ họa thân thiện dễ sử dụng Hình giao diện wireshare Bạn click vào mục interface list chọn card mạng chọn start Ta giao diện sau(hình 7) Phần màu vàng gói tin truyền tới bạn Phần bên thông tin gói tin mà hóa dạng hexa SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 31 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Hình giao diện wireshare bắt gói tin Khi bạn nhấp vào phâng mã hexa dòng thông tin bạn thu thông tin gói tin mã hóa Nhu hinh Hình Thông tin gói tin mà wireshare bắt SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 32 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu Công cụ dùng để công dos ứng dụng web Như trình bày chương phương pháp công dó phương pháp kinh điển khó phòng tránh chúng em giới thiệu với bạn công cụ DoSHTTP 2.5 công cụ phổ dụng việc công dos ứng dụng web công cụ mà Hacker hay dùng Giao diện DoSHTTP 2.5(hình 9) Hình Giao diện DoSHTTP 2.5 Thao tác với công cụ dễ dàng, hacker cần nhập vào ô target URL địa ddos Chọn số socket nhấn start flood Và sau việc ngồi đợi khoảng phút sau host không truy cập Cảnh báo việc công ứng dụng web trái pháp luật nên bạn tùy tiện sử dụng công cụ SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 33 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu CHƯƠNG 4: PHẦN KẾT LUẬN Ứng dụng web phát triển với tốc độ chóng mặt kĩ thuật công bảo mật ứng dụng web phát triển với trình độ cao Tấn công bảo mật ứng dụng web đề tài rộng đòi hỏi am hiểu phải có kĩ thuật chuyên môn cao Do thời gian làm tập lớn kĩ thuật chúng em có hạn nên phần chúng em trình bày tập lớn kiến thức nhiều hạn chế Nhưng giúp đỡ tận tình của thầy khoa Kỹ Thuật Công Nghệ thầy Trần Công Mậu Chúng em hiểu rõ kĩ thuật công ứng dụng tảng cho phương phát công đại đồng thời chúng em biết số phương pháp phòng tránh công bảo mật ứng dụng web Những kiến thức giúp ích nhiều cho chúng em sau Những kiến thức giúp chúng em có tảng vững kĩ thuật chuyên môn liên quan đến kĩ thuật bảo mật ứng dụng web Sau thực xong tập lớn chúng em sử dụng kiến thức tìm hiểu cố gắng học thêm, tìm hiểu thêm nhũng kiến thúc chuyên môn liên quan nhằm xây dựng mộ công cụ hay phương pháp bảo mật ứng dụng web hiệu trước công SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 34 Báo cáo: Ứng dụng web vấn đề bảo mật GVHD: Trần Công Mậu TÀI LIỆU THAM KHẢO Trong tập lớn chúng em tham khảo nhiều viết tác giả , internet sau thông tin tài liệu Nghiên cứu số vấn đề bảo mật ứng dụng web internet http://vietbao.vn/Vi-tinh-Vien-thong/Tim-hieu-ve-cac-ungdung%20Web/65082882/229/ http://iht.vn/mang-bao-mat/505-tim-hieu-ve-cac-ung-dung-web http://www.onboom.com/kien-thuc-ve-web/quang-ba-website/1598-kien-truc-nettrong-mo-hinh-ung-dung-thuong-mai-dien-tu.html http://www.vnsolutions.net/cms/vi/chi-tiet/ung-dung-web-(webapp)-la-gi/30 http://vovanhai.wordpress.com/web/jsp/mo-hinh-mvc-va-1-vi-d%E1%BB%A5%E1%BB%A9ng-d%E1%BB%A5ng/ http://web.dongtak.net/spip.php?article125 http://www.truongchieu.0fees.net/diendan/130/PHP/Thuat-ngu.html THE END SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 35 [...]... Thắng Lớp K2 - CNTT 11 Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD: Trần Công Mậu CHƯƠNG 2: GIỚI THIỆU VỀ CÁC THUẬT NGỮ VÀ KHÁI NIỆM LIÊN QUAN 1 Các khái niệm và thuật ngữ thường dùng 1.1 Các khái niệm chung về ứng dụng web Web browser (trình duyệt web) là các ứng dụng phần mềm cho phép người dùng truy vấn dữ liệu và tương tác với nội dung nằm trên trang Web bên trong website Trang Web là tĩnh; người... CNTT 31 Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD: Trần Công Mậu Hình 7 giao diện của wireshare khi bắt gói tin Khi bạn nhấp vào phâng mã hexa hoặc các dòng thông tin bạn sẽ thu được thông tin của gói tin được mã hóa Nhu hinh dưới Hình 8 Thông tin của những gói tin mà wireshare bắt được SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 32 Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD:... socket và nhấn start flood Và sau đó chỉ việc ngồi đợi chỉ khoảng 5 phút sau host đó sẽ không truy cập được Cảnh báo việc tấn công ứng dụng web là trái pháp luật nên bạn không thể tùy tiện sử dụng công cụ này SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 33 Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD: Trần Công Mậu CHƯƠNG 4: PHẦN KẾT LUẬN Ứng dụng web phát triển với tốc độ chóng mặt và. .. 19 Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD: Trần Công Mậu 3.8 Kí tự rỗng ( Null Characters ) Lợi dụng chuỗi kí tự thường kết thúc bằng \0 mà hacker thường thêm vào để đánh lừa ứng dụng vì với những ứng dụng sử dụng chương trình dịch như C++ thì C++ cho rằng \0 là dấu kết thúc chuỗi 3.9 Chèn câu truy vấn SQL ( SQL Injection ) Trong lập trình với cơ sở dữ liệu, người lập trình đã sai sót trong vấn. .. liệu được gửi cho ứng dụng vượt quá lượng dữ liệu được cấp phát khiến cho ứng dụng không thực thi được câu lệnh dự định kế tiếp mà thay vào đó phải thực thi một đoạn mã bất kì do hacker đưa vào hệ thống Nghiêm trọng hơn nếu ứng dụng được cấu hình để thực thi với quyền root trên hệ thống SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 18 Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD: Trần.. .Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD: Trần Công Mậu ZF Tường lửa, SSL không thể bảo vệ ứng dụng Web trước mọi hoạt động hacking, đơn giản vì truy cập vào website phải để ở chế độ public để bất kỳ ai cũng có thể ghé thăm website được Tất cả hệ thống cơ sở dữ liệu hiện đại (như Microsoft SQL Server, Oracle, MySQL) đều có thể truy cập qua một số cổng cụ thể... internet mà tấn công ứng dụng web Nhưng nó cũng là công cụ hữu ích để các nhà quản trị mạng , các nhà quản trị hệ thống ứng dụng web đânhs giá lại mức độ bảo mật của hệ thống ứng dụng web từ đó có những phương phát bảo mật hay vá lỗi tương ứng Trong bài tập lớn này chúng em sẽ giới thiệu một tool scanning mà nguồn mở rất thông dụng đó là nmap Nmap một công cụ rất dễ sử dụng bạn có thẻ sử dụng dòng lệnh... tên miền trang web được liệt kê trong thanh địa chỉ Cookie của bên thứ ba đến từ các nguồn tên miền khác có các mục, chẳng hạn như quảng cáo hoặc hình ảnh, được nhúng vào trang SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 17 Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD: Trần Công Mậu CHƯƠNG 3: CÁC KỸ THUẬT TẤN CÔNG ỨNG DỤNG WEB CƠ BẢN I LÝ THUYẾT 1 Kiểm soát truy cập ( Web Access Control... đó và dẫn đến hệ thống bị phá vỡ SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 25 Báo cáo: Ứng dụng web và vấn đề bảo mật - GVHD: Trần Công Mậu Tấn công vào Ram: Tấn công Dos chiếm 1 khoảng lớn của RAM cũng có thể gây ra các vấn đề phá hủy hệ thống Kiểu tấn công BufferOverflow là một ví dụ cho cách phá hủy này - Tấn công vào Disks: Một kiểu tấn công cổ điển là làm đầy đĩa cứng Đĩa cứng... khi thực hiện xong bài tập lớn này chúng em sẽ sử dụng nhưng kiến thức đã tìm hiểu và cố gắng học thêm, tìm hiểu thêm nhũng kiến thúc chuyên môn liên quan nhằm xây dựng mộ công cụ hay một phương pháp bảo mật ứng dụng web hiệu quả trước các cuộc tấn công SVTH: Trần Văn Lực – Lê Văn Hợp – Phan Văn Thắng Lớp K2 - CNTT 34 Báo cáo: Ứng dụng web và vấn đề bảo mật GVHD: Trần Công Mậu TÀI LIỆU THAM KHẢO Trong

Ngày đăng: 24/07/2016, 08:28

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan