tìm hiểu về các cách tấn công phổ biến nhất hiện nay và cách phòng chống

113 1.4K 1
tìm hiểu về  các cách tấn công phổ  biến nhất hiện nay và cách phòng chống

Đ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

Đề tài này chúng em sẽ xem xét các kiểu tấn công cơ bản và cách phòng chống tấn công web server bằng công cụ Modsecurity trên hệ điều hành windown 7, từ đây chúng ta sẽ có một cách nhìn tổng thể về bảo mật web server apache.

1 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Giáo viên hướng dẫn ThS Nguyễn Thị Thanh Vân NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Giáo viên phản biện MỤC LỤC DANH MỤC HÌNH ẢNH PHẦN MỞ ĐẦU GIỚI THIỆU Cùng với phát triển công nghệ thông tin, công nghệ mạng máy tính phát triển mạng Internet ngày đa dạng phong phú Các dịch vụ mạng thâm nhập vào hầu hết lĩnh vực đời sống xã hội Các thông tin Internet đa dạng nội dung hình thức, có nhiều thông tin cần bảo mật cao tính kinh tế, tính xác tính tin cậy Bên cạnh đó, hình thức phá hoại mạng trở nên tinh vi phức tạp Do hệ thống, nhiệm vụ bảo mật đặt cho người quản trị mạng quan trọng cần thiết Xuất phát từ thực tế đó, tìm hiểu cách công phổ biến phòng chống loại công thông qua công cụ mod_security Chính vậy, thông qua việc nghiên cứu số phương pháp công cách bảo mật loại công này, chúng em mong muốn góp phần nhỏ vào việc nghiên cứu tìm hiểu vấn đề an ninh mạng giúp cho việc học tập nghiên cứu TÍNH CẤP THIẾT CỦA ĐỀ TÀI Vấn đề An ninh hệ thống mạng mối quan tâm lớn Tại Việt Nam, An ninh mạng chưa nhìn nhận nghiêm túc hệ lụy nhiều Website bị công, thiệt hại gây số không nhỏ Thiết nghĩ tương lai, Việt Nam cần đổi tăng cường hệ thống phòng thủ trước mối nguy từ Internet Chính vậy, đề tài “Phát chống xâm nhập web server apache với Modsecurity” chọn làm đề tài tiểu luận chuyên ngành với mong muốn bổ sung kiến thức an ninh mạng cách xây dựng hệ thống phòng chống công, phục vụ cho công việc sau PHẠM VI NGHIÊN CỨU Đề tài chúng em xem xét kiểu công cách phòng chống công web server công cụ Modsecurity hệ điều hành windown 7, từ có cách nhìn tổng thể bảo mật web server apache PHƯƠNG PHÁP NGHIÊN CỨU - Tìm đọc tài liệu mạng, tham khảo nội dung Tải ebook liên quan đến htpp, modsecurity Coi video hướng dẫn PHẦN NỘI DUNG Chương HTTP CHƯƠNG HTTP 1.1 Giới thiệu HTTP: 1.1.1 Tổng quan HTTP: Tiêu chuẩn Hypertext Transfer Protocol (HTTP) – Giao thức truyền siêu văn ứng dụng để truyền tải tài liệu tệp siêu văn máy chủ Web (Web server) máy khách Web (Web client) thông qua trình duyệt Web Cụ thể hơn, HTTP giao thức tầng ứng dụng hệ thống thông tin phân tán, cộng tác, siêu phương tiện (hypermedia), cho phép máy khách gửi yêu cầu đơn giản dạng tệp siêu văn đến máy chủ nhận đáp ứng từ máy chủ Tim Berners-Lee, nhà khoa học máy tính người Anh nhóm dự án “World Wide Web” người công nhận phát minh HTTP với ngôn ngữ đánh dấu siêu văn HTML (HyperText Markup Language), công nghệ liên quanđến máy chủ web trình duyệt web dựa văn Cho đến nay, giao thức HTTP gồm có ba phiên là: • Phiên HTTP 0.9, Hiệp hội web toàn cầu (World Wide Web - W3C) công bố năm 1991 (có thể tham khảo tài liệu đây) Đây giao thức đơn giản để truyền liệu thô Internet • Phiên thứ hai HTTP 1.0, định nghĩa RFC 1945 vào năm 1996 (RFC - Request for Comments, tài liệu kỹ thuật tổ chức Internet, bao gồm tài liệu đặc tả kỹ thuật sách tổ chức IETF (Internet Engineering Task Force – Nhóm chuyên trách kỹ thuật Internet) phát hành), cho phép thông điệp định dạng kiểu giao thức mở rộng thư Internet đa chức (Multipurpose Internet Mail Extensions - MIME), kiểu văn phi cấu trúc (Text), kiểu hình ảnh (Image), kiểu âm (Audio), kiểu phim (Video), kiểu ứng dụng (Application), chứa thông tin mô tả liệu truyền tham số chỉnh sửa theo yêu cầu/đáp ứng Tuy nhiên, phiên không tác động nhiều đến proxy phân cấp, nhớ đệm, nhu cầu kết nối liên tục hay đến máy chủ lưu trữ ảo Proxy chương trình trung Chương HTTP gian hoạt 10 động vừa máy chủ vừa máy khách nhằm mục đích thực yêu cầu thay cho máy khách khác • Phiên thứ ba HTTP 1.1, lần công bố RFC 2608 vào tháng 01 năm 1997 sau cập nhật RFC 2616 vào tháng 07 năm 1999 HTTP 1.1 có yêu cầu nghiêm ngặt HTTP 1.0 để đảm bảo tính tin cậy thực tính 1.1.2 Lớp giao thức HTTP: HTTP giao thức lớp ứng dụng mô hình OSI Dùng để chuyển truyền tải thông tin mạng theo giao thức đáng tin cậy (TCP) không đáng tin cậy (UDP) Nhưng TCP lại giao thức thường sử dụng Hình 1.1 Quá trình thực yêu cầu trao đổi thông tin Hình bên trái cho biết trình tạo gửi thông điệp từ Client đến Server Đầu tiên HTTP tạo thông điệp mà muốn gửi Bước 1: HTTP đưa thông điệp đến tiến trình TCP (Transport layer) Ở đâythông điệp thêm thông tin cụ thể giao thức TCP vào thông Chương Ngăn chặn công với modsecurity 99 đánh lừa thành phần hệ thống để phần nghĩ chuỗi kết thúc (gặp Null Byte) phần hệ thống lại nghĩ chuỗi nhập đầy đủ Xét trang JSP, hiển thị text file đến người dùng việc sử dụng tên file làm tham số Với VD trang JSP hiển thị file có phần mở rộng “.txt” Tuy nhiên, Hacker cung cấp tham số Filename sau /etc/passwd%00.txt, công Null Byte có khả xảy Mặt khác, Java chuỗi chứa Null byte, tham số Filename chấp nhận trình đọc file bắt đầu thực Vấn đề xảy hệ thống xử lí chuổi theo kiểu NULL byte dấu hiệu kết thúc chuỗi Khi sau Null Byte bị loại bỏ Với tham số tên file truyền vào /etc/passwd%00.txt việc loại bỏ phần sau Null byte giúp cho Hacker đọc file thông tin người dùng “/etc/passwd” hình hiển thị  ModSecurity Null byte ModSecurity có hai phương thức chuyển đổi để giải Null Byte liệu nhập vào: replaceNulls and removeNulls - replaceNulls: thay Null byte khoảng trắng - removeNulls: loại bỏ Null byte Do Null byte đóng vai trò thấp việc định liệu đầu vào có đắn không việc sử phương thức chuyển đổi vào danh sách hành động mặc định ModeSecurity (do SecDefaultAction quy định) cần thiết Chương Ngăn chặn công với modsecurity 100 SecDefaultAction “phase:2,deny,log,status:403,t:removeNulls Các null byte không cần thiết liệu nhập vào hàm chuyển đổi ghi đè chúng cách sử dụng t:removeNulls theo cú pháp: SecRule ARGS:data “pass,t:-removeNulls” Tấn công Null byte ví dụ rõ ràng để thấy thiếu an toàn ứng dụng web kể từ chúng tạo nhiều ngôn ngữ lập trình khác 4.6 Directory Indexing Khi người dùng yêu cầu URL http://www.example.com/, URL không xác định tên file cụ thể, Apache tìm kiếm file cụ thể thiết lập DirectoryIndex (vd index.html) Nếu file tìm thấy, đươc chuyển tới cho người dùng Nếu không tìm thấy, hành động xác định tùy chọn mà Apache gọi Indexes có bật hay chưa Tùy chỉnh Indexes bật cho thư mục cách: Options +Indexes Nếu tùy chọn Indexes hoạt động Apache phát sinh danh sách thư mục hiển thị cho người dùng file DirectoryIndex mặc định ko tìm thấy Danh sách chứa tất file thư mục thư mục yêu cầu là vấn đề lí sau: - Các tập tin bảo mật lại công khai cho người dùng, có nghĩa file không cho phép kết nối tới dù đâu - Tên thư mục thị Điều đồng nghĩa với việc người dùng lại truy cập vào thư mục mà hệ thống không muốn công khai Một hệ thống hoàn hảo, bạn không đặt file “gốc” web server mà người dùng tải tất thư mục file yêu cầu chứng thực phải bảo vệ thiết lập xác thực HTTP phù hợp Nhưng thực tế, file thư mục thường đặt “gốc” Web Server Chương Ngăn chặn công với modsecurity 101 nghĩa chúng truy xuất tất user Vì cần phải tắt Directory Indexing để danh sách Directory Indexing không liệt kê file nằm “gốc” cửa web server: Options –Indexes Hoặc tắt cách cấu hình không chạy Module mod_autoindex.so # # Disable directory indexing # LoadModule autoindex_module modules/mod_autoindex.so Tuy nhiên, việc cấu thất bại, điều có nghĩa người dùng liệt kê danh sách thư mục tập tin mà không muốn công khai Nguyên nhân lỗ hổng máy chủ Web server Ví dụ: Một lỗ hổng phát vào năm 2001, phiên Apache 1.3.22 Multi Views sử dụng để yêu cầu Directory Index Trong vài trường hợp, yêu cầu với URI có query string M=D trả danh sách thư mục kể file thư mục không mong muốn Để đảm bảo chắn người dùng liệt kê file thư mục sử dụng ModSecurity với rule: SecRule REQUEST_URI "/$" "phase:4,deny,chain,log, msg:'Directory index returned' " SecRule RESPONSE_BODY "Index of /" Khi người dùng thực liệt kê file, thư mục Apache trả respone body có chứa Index of /, rule chặn lại ghi log với nội dung Directory index returned Chương Ngăn chặn công với modsecurity 102 4.7 Cross-site scripting 4.7.1 Tìm hiểu Cross-site scripting Cross-site Scripting hay gọi tắt XSS (thay gọi tắt CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet HTML) kỹ thuật công cách chèn website động (ASP, PHP, JSP…) thẻ HTLM hay đoạn mã script nguy hiểm có khả đánh cắp hay thiết lập thông tin quan trọng cookies, mật khẩu, username… Trong đó, đoạn mã nguy hiểm chèn vào hầu hết viết Client-Site Script Javacript, Jscript, DHTML thẻ HTML Phương pháp không nhằm vào máy chủ hệ thống mà chủ yếu công máy người sử dụng Hacker lợi dụng kiểm tra lỏng lẻo từ ứng dụng hiểu biết hạn chế người dùng biết đánh vào tò mò họ dẫn đến người dùng bị thông tin cách dễ dàng Thông thường Hacker lợi dụng địa URL để đưa liên kết tác nhân kích hoạt đoạn chương trình viết ngôn ngữ máy khách VBScript, Javacript… thực thi trình duyệt nạn nhân 4.7.2 Phân loại XSS  Stored XSS Attacks Stored XSS hình thức công mà cho phép kẻ công chèn đoạn script nguy hiểm (thường Javascript) vào website thông qua chức (vd: viết lời bình, guestbook, gởi bài…), để từ thành viên khác truy cập website bị dính mã độc từ kẻ công này, mã độc thường lưu lại database website nên gọi Stored Stored XSS phát sinh không lọc liệu thành viên gởi lên cách đắn, khiến cho mã độc lưu vào database website Chương Ngăn chặn công với modsecurity 103 Hình 4.44 Mô tả Store XSS Attacks  Reflected XSS Attacks Trong hình thức này, kẻ công thường gắn thêm đoạn mã độc vào URL website gởi chúng đến nạn nhân, nạn nhân truy cập URL bị dính mã độc Điều xảy ta không ý filter input từ URL website Hình 4.45 Mô tả Reflected XSS Attacks Tấn công XSS công nguy hiểm, cho phép kẻ công ăn cắp thông tin máy nạn nhân thông qua javacript ăn cắp cookie, chèn mã độc để chiếm Chương Ngăn chặn công với modsecurity 104 quyền điều khiển… XSS lỗi phổ biến, có nhiều trang web bị mắc phải lỗi Theo trang http://www.xssed.com có gần 13.000 trang có nhiều lỗ hổng cross-site cripting (XSS) Ví dụ: Một đoạn url mà hacker chèn Script vào để lấy cookie người dùng http://www.oracle.co.jp/mts_sem_owa/MTS_SEM/im_search_exe?search_text=%3 Cscript%3Ealert%28document.cookie%29%3C%2Fscript%3E 4.7.3 Hoạt động XSS XSS cho phép attacker chèn đoạn mã vào link đường dẫn để thực trình duyệt người dùng, dẫn đến việc cookies, mật khẩu, session hay chèn virus… Thường XSS có dạng sau: http://www.xxx.vn//index.php?pg=news&cat=alert(“Lỗi XSS”) Và nội dung xuất trình duyệt popup có thông tin “Lỗi XSS” Ở ví dụ minh họa cách đơn giản thêm đoạn mã vào trang web thông qua URL Nhưng thực có nhiều cách để thêm đoạn mã javascript với mục đích công kiểu XSS Hacker dễ dàng lợi dụng Document Object Model (DOM) để thay đổi ngữ cảnh nội dung web ứng dụng Ví dụ: Sau danh sách nơi chèn đoạn mã: &[code]ss Chương Ngăn chặn công với modsecurity 105 &{[code]}; [code] [code] <script>[code]</scriptss>; Phần in đậm phần đặt đoạn mã đánh cắp thông tin Về XSS giống SQL Injection hay Source Injection, request gửi từ máy client tới server nhằm chèn vào thông tin vượt tầm kiểm soát server Theo nguyên tắc trên, hacker lợi dụng lỗ hổng bảo mật từ website Các thẻ HTML công cụ cho công kĩ thuật XSS, thẻ IMG IFRAME cho phép trình duyệt load thêm website khác lệnh HTML hiển thị Lợi dụng nguyên tắc này, Chương Ngăn chặn công với modsecurity 106 hacker chèn đoạn mã độc vào khiến máy nạn nhân bị công XSS Đề ngăn chặn công XSS, phải đảm bảo tất liệu mà người dùng gởi lên cản lọc Cụ thể, thay loại bỏ ký tự, chuỗi thường dùng công XSS dấu ngoặc góc nhọn (< >) Dưới danh sách ký tự nên mã hoá client cung cấp để lưu vào sở liệu Ký tự < > ( ) # & “ ‘ Mã hóa HTML < > ( ) # & " ' Hình 4.46 Danh sách kí tự Nếu muốn ngăn chặn công với ModSecurity, đoạn script XSS phổ biến biểu thức quy để ngăn chặn người dùng request chứa chuỗi Hình 4.47 Danh sách biểu thức quy Chương Ngăn chặn công với modsecurity 107 4.7.4 Thực nghiệm phát chặn XSS attack Thực nghiệm thực dựa DVWA – Damn Vulnerable Web Application DVWA framework xây dựng sẵn lổ hổng bảo mật theo top 10 điểm yếu bảo mật web OWASP DVWA xây dựng php  Các bước chuẩn bị DVWA để công XSS Truy cập vào Web DVWA theo url sau: http://localhost/dvwa/login.php đăng nhập với quyền Admin, password: password Hình 4.48 Giao diện đăng nhập dvwa Ta giao diện sau: Hình 4.49 Giao diện dvwa Chương Ngăn chặn công với modsecurity 108 Ta chọn mục XSS reflected mục XSS stored để tiến hành công B1: Trước hết ta thử nghiệm công XSS, ta click vào nút XSS stored B2: Click vào khung Name nhập chữ test, khung Message nhập đoạn script dưới: alert(1); Hình 4.50 Quá trình nhập liệu để công Hình 4.51 Kết submit click vào nút Sign Guestbook B3: Click lại nút XSS stored lần ta cửa sổ popup hình lúc submit Đây kết webbrowser bạn đọc javascript viết trước Điều hoàn toàn vô hại, chứng minh rằng trang web dễ bị tổn thương Chương Ngăn chặn công với modsecurity 109 B4: Tiếp theo ta thực việc chèn đoạn script để chuyển tới trang web khác window.location="http://me.zing.vn"; B5: Sau ta thực việc click lại nút XSS stored, ta chuyển đến trang me.zing.vn Để thoát khỏi tình trạng này, ta click vào nút Setup để reset lại database Hình 4.52 Quá trình để reset lại database Sau reset lại không tinh trạng B6: Viết rule ngăn chặn công xss Hình 4.53 Rule để ngăn chặn công xss B7: Thực công lại sau thêm rule Chương Ngăn chặn công với modsecurity 110 Hình 4.54 Kết thêm luật B8: Kiểm tra file log ta kết quả: ModSecurity: Access denied with code 403 (phase 2) Pattern match "

Ngày đăng: 29/09/2016, 09:58

Từ khóa liên quan

Mục lục

  • PHẦN MỞ ĐẦU

  • PHẦN NỘI DUNG

  • PHẦN KẾT LUẬN

  • MỤC LỤC

  • DANH MỤC HÌNH ẢNH

  • GIỚI THIỆU

  • TÍNH CẤP THIẾT CỦA ĐỀ TÀI

  • PHẠM VI NGHIÊN CỨU

  • PHƯƠNG PHÁP NGHIÊN CỨU

  • CHƯƠNG 1. HTTP

    • 1.1. Giới thiệu về HTTP:

      • 1.1.1. Tổng quan về HTTP:

      • 1.1.2. Lớp giao thức HTTP:

        • Hình 1.1. Quá trình thực hiện yêu cầu và trao đổi thông tin

        • 1.1.3. Cơ chế hoạt động chung:

          • Hình 1.2. Mô hình HTTP đơn giản

          • Hình 1.3. Mô hình HTTP phức tạp

          • Hình 1.4. Mô hình HTTP phức tạp với bộ nhớ cache

          • 1.1.4. Hoạt động HTTP:

            • 1.1.4.1. Client and server

              • Hình 1.5. Khởi tạo kết nối giữa Client và Server.

              • Hình 1.6. Quá trình “bắt tay ba bước”

              • Hình 1.7. Hoạt động GET của HTTP

              • Hình 1.8. Hoạt động của Post

              • Hình 1.9. Hoạt động của PUT

              • Hình 1.10. Hoạt động của DELETE

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

Tài liệu liên quan