Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
3,52 MB
Nội dung
- i LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu riêng tơi Các số liệu, kết nêu Luận văn trung thực chưa công bố cơng trình khác Tơi xin cam đoan giúp đỡ cho việc thực Luận văn cảm ơn thơng tin trích dẫn Luận văn rõ nguồn gốc Học viên thực Luận văn (Ký ghi rõ họ tên) Trần Thanh Phong - ii LỜI CẢM ƠN Trong suốt trình học tập trình thực đề tài, dẫn học hỏi nhiều kiến thức quý báu kinh nghiệm nghiên cứu khoa học từ thầy cô, anh chị, bạn bè đồng nghiệp Trước hết, xin gửi lời cảm ơn sâu sắc đến thầy TS Lưu Thanh Trà, giảng viên trường đại học Bách Khoa TP.HCM, thầy tận tình hướng dẫn, giúp đỡ tơi suốt q trình thực luận văn Tôi xin cảm ơn quý thầy cô trường Đại Học Cơng Nghệ Thành Phố Hồ Chí Minh tận tình giảng dạy, trang bị cho tơi kiến thức đáng giá năm học vừa qua Sau cùng, tơi xin chân thành cảm ơn gia đình, anh chị, bạn bè đồng nghiệp ủng hộ, giúp đỡ động viên tơi suốt q trình học tập thực luận văn TPHCM, ngày tháng năm 2016 Trần Thanh Phong - iii TÓM TẮT Trong luận văn này, tập trung nghiên cứu phát triển hệ thống ứng dụng tường lửa Modsecurity web Từ xây dựng hệ thống tường lửa web server cho Trường Cao Đẳng Nghề Thành Phố Hồ Chí Minh Về luận điểm thử nghiệm luận văn, chúng tơi tập trung phân tích, ngăn chặn hai loại công độc hại: DDos SQL injection Trường Cao Đẳng Nghề Thành Phố Hồ Chí Minh - iv ABSTRACT In this thesis, we focused on research and development system Modsecurity web application firewall From that building the web server firewall system for Ho Chi Minh City vocational college In the testbed of thesis, we go analyse, prevent two types of malicious attacks: DDoS and SQL injection for website of Ho Chi Minh City vocational college - v MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii TÓM TẮT iii ABSTRACT iv DANH MỤC CÁC HÌNH ẢNH ix DANH MỤC CÁC BẢNG xi MỞ ĐẦU CƠ SỞ LÝ THUYẾT 1.1 Vấn Đề Bảo Mật Ứng Dụng Web 1.2 Danh Sách Rủi Ro Bảo Mật Cho Các Ứng Dụng Web OWASP Top 10 1.3 Tấn Công DDoS Và Phương Pháp Phòng Chống 1.3.1 Giới Thiệu 1.3.2 Chiến Lược Tấn Công .8 1.3.3 Phân Loại Tấn Công DDoS .9 1.3.4 Các Phương Pháp Phòng Chống 14 1.4 Tấn Cơng SQL Injection Và Phương Pháp Phịng Chống .14 1.4.1 Giới Thiệu 14 1.4.2 Một Số Kiểu Tấn Công SQL Injection 16 1.4.3 Phương Pháp Phòng Chống .19 MƠ HÌNH HỆ THỐNG BẢO VỆ WEB SERVER ĐỀ NGHỊ .20 2.1 Tổng Quan 20 2.2 Tường Lửa Ứng Dụng Web - Web Application Firewall 21 2.3 Các Loại Tường Lửa Ứng Dụng Web Để Bảo Vệ Ứng Dụng Web 22 2.3.1 Tường lửa ứng dụng Allplicure DotDefender 22 2.3.2 Tường lửa ứng dụng Imperva SecureSphere 22 2.3.3 Tường lửa ứng dụng FortiWeb 22 2.3.4 Tường lửa ứng dụng Barracuda .23 2.3.5 Tường lửa ứng dụng Citrix 23 2.3.6 Tường lửa ứng dụng ModSecurity 23 2.3.7 Tường lửa ứng dụng WebKnight .23 2.3.8 Tường lửa ứng dụng Shadow Daemon 23 - vi 2.4 Tường Lửa Ứng Dụng Web - ModSecurity 25 2.4.1 Tính Năng Của ModSecurity 26 2.4.2 Phương Thức Hoạt Động Của ModSecurity 27 2.4.3 Các Giai Đoạn Xử Lý Trong ModSecurity .28 2.5 Mơ Hình Đề Xuất 29 TRIỂN KHAI MƠ HÌNH HỆ THỐNG 32 3.1 Cài Đặt Chương Trình 32 3.2 Tạo Rule Trong ModSecurity Và Shell Script Ngăn Chặn Tấn Công DDoS 37 3.2.1 Tạo Rule Trong ModSecurity Ngăn Chặn DDoS 37 3.2.2 Tạo Shell Script system_status.sh 38 3.2.3 Tạo Shell Script add_ip.sh .38 3.3 Tạo Rule Cho ModSecurity Ngăn Chặn Tấn Công SQL Injection 39 THỰC NGHIỆM - ĐÁNH GIÁ HỆ THỐNG 40 4.1 Thực Nghiệm Tấn Công Và Ngăn Chặn DDoS .40 4.2 Thực Nghiệm Tấn Công SQL Injection Và Ngăn Chặn 47 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58 TÀI LIỆU THAM KHẢO 59 - vii DANH MỤC CÁC TỪ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt Clients Máy trạm Server Máy chủ Web Server Máy Chủ Web Signature Dấu hiệu cơng zombie Máy tính ma web browser Trình duyệt web Firewall tường lửa Botnet mạng máy tính tạo lập từ máy tính mà hacker Phương thức truyền Get/post request nhận liệu IDS/IPS intrusion detection Hệ thống phát system /Intrusion ngăn chặn xâm nhập Prevention System OWASP Open Web Application Dự án mở bảo mật ứng Security Project dụng web DMZ Demilitarized Zone Khu phi quân HTML HyperText HTTP Markup Ngôn ngữ Đánh dấu Siêu Language văn HyperText Transfer Giao thức truyền tải siêu Protocol văn - viii HTTPS Hypertext Transfer Giao thức truyền tải siêu Protocol Secure văn an toàn DoS Denial of Service Tấn công từ chối dịch vụ DDoS Distributed Denial of Tấn công từ chối dịch vụ Service SMTP TCP/IP Simple phân tán Mail Transfer giao thức truyền tải thư tín Protocol đơn giản Transmission Control Bộ giao thức liên mạng Protocol/Internet Protocol ICMP Internet Control Message Một dạng giao thức mạng Protol UDP User Datagram Protocol Một dạng giao thức mạng - ix DANH MỤC CÁC HÌNH ẢNH Hình 1.1 Top 10 kỹ thuật công năm 2014 2015 [9] Hình 1.2 Sơ đồ phân loại kiểu công DDoS 10 Hình 1.3 Mơ hình công Agent-Handler [1] 11 Hình 1.4 Mơ hình cơng IRC-based [1] 11 Hình 1.5 Mơ hình cơng khuếch đại [2] .12 Hình 1.6 Tấn cơng SYN ACK giao thức TCP [3] 13 Hình 2.1 Tường lửa ứng dụng Web (WAF) 21 Hình 2.2 Mơ hình hệ thống WAF Trường Cao Đẳng Nghề Tp.HCM 30 Hình 4.1 Hệ thống trạng thái bình thường 40 Hình 4.2 Trang web trạng thái bình thường 41 Hình 4.3 Tập tin system_status.txt trạng thái bình thường 41 Hình 4.4 Tập tin recentlist.txt trạng thái bình thường 41 Hình 4.5 Tập tin suspiciouslist.txt trạng thái bình thường 41 Hình 4.6 Tập tin whitelist.txt trạng thái bình thường 42 Hình 4.7 Tập tin blacklist.txt blocklist.txt trạng thái bình thường 42 Hình 4.8 Giao diện HTTP Flooder 42 Hình 4.9 Tập tin system_status.txt bị cơng 43 Hình 4.10 Tập tin recentlist.txt đếm số lượng kết nối bị cơng .43 Hình 4.11 Tập tin blocklist.txt bị cơng .44 Hình 4.12 Khi bị công truy cập vào web bị báo lỗi 44 Hình 4.13 Tập tin suspiciouslist.txt đếm số kết nối lớn 50 lần đưa vào blacklist.txt 44 Hình 4.14 Trạng thái hệ thống bị cơng .44 Hình 4.15 Tập tin blacklist.txt lưu địa có kết nối 50 lần bị cơng 45 Hình 4.16 Tập tin system_status.txt địa máy bị đưa vào blacklist.txt trạng thái hệ thống trở 45 Hình 4.17 Các IP tập tin blocklist.txt bị xóa trạng thái hệ thống trở 45 Hình 4.18 Khi bị công IP tập tin whitelist.txt truy cập web bình thường 46 - x Hình 4.19 Giao diện phần mềm Acunetix sau quét lỗi bảo mật 47 Hình 4.20 Thơng báo lỗi bảo mật SQL Injection 47 Hình 4.21 Gõ lệnh kiểm tra sở liệu 48 Hình 4.22 Tên sở liệu có webserver 48 Hình 4.23 Lệnh bảng sở liệu itcdn .48 Hình 4.24 Các bảng sở liệu itcdn .49 Hình 4.25 Lệnh cột bảng liệu kcntt_users .49 Hình 4.26 Các cột bảng liệu kcntt_users .50 Hình 4.27 Lệnh lấy liệu cột bảng liệu kcntt_users 50 Hình 4.28 Dữ liệu name, email, username password bảng liệu kcntt_users 51 Hình 4.29 Tên bảng cần lấy liệu .51 Hình 4.30 Lệnh hiển thị cột bảng kcntt_session .52 Hình 4.31 Lệnh hiển thị cột cần lấy liệu 52 Hình 4.32 Hiển thị session_id admin 53 Hình 4.33 Thêm cơng cụ chỉnh sửa cookie 53 Hình 4.34 Đăng nhập quyền admin máy 54 Hình 4.35 Copy session-id hình 4-32 bỏ vào phần Value 54 Hình 4.36 Truy cập vào trang quản trị session_id admin .55 Hình 4.37 Khơng thể truy cập sở liệu có web server .56 Hình 4.38 Khơng cịn thơng báo lỗi bảo mật SQL Injection 56 - 46 Hình 4.18 Khi bị công IP tập tin whitelist.txt truy cập web bình thường Nhiều kỹ thuật cơng cụ công DDoS phức tạp phát triển, hỗ trợ đắc lực cho cơng DDoS phát triển nhanh chóng kỹ thuật lây nhiễm phần mềm độc hại, xây dựng hệ thống mạng máy tính ma (zombie, botnets) Tin tặc chiếm quyền điều khiển máy tính có kết nối Internet, điều khiển mạng botnet với hàng trăm ngàn máy tính để thực cơng DDoS Hệ thống phát ngăn chặn công DDoS bao gồm: Mod Security, Shell Script, SNMP Mod Security có chức kiểm tra gói tin GET/POST REQUEST gửi từ người dùng đến máy chủ dựa đặc điểm số kiểu cơng DDoS, Mod Security xác định liệu công yêu cầu hợp pháp tiến hành chặn cho phép người dùng truy cập vào website Trong nhiều trường hợp, Mod Security không nhận diện kiểu công trên, Shell Script dùng SNMP để truy xuất thông tin máy chủ dựa vào mức độ sử dụng tài nguyên, Shell Script đưa dự đốn máy chủ có tình trạng bị cơng hay khơng đồng thời hỗ trợ ModSecurity việc chặn cho phép người dùng truy cập vào website Khi phát máy chủ bị công, hệ thống nỗ lực ngăn chặn địa IP không đáng tin truy cập vào máy chủ Cùng lúc email gửi đến người quản trị hệ thống để cảnh báo cho người quản trị hỗ trợ việc ngăn cản công DDoS Ưu điểm hệ thống dễ triển khai, giá thành thấp, tự động gửi email nghi ngờ bị cơng, bảo vệ cho nhiều máy chủ hiệu cao Tuy nhiên, hệ thống điểm hạn chế Khi hệ thống bị công trang web truy cập chậm mức bình thường tài nguyên hệ thống sử lý nhiều yêu cầu truy cập - 47 4.2 Thực Nghiệm Tấn Công SQL Injection Và Ngăn Chặn Đầu tiên sử dụng công cụ Acunetix Web Vulnerability Scanner để quét lỗi bảo mật trang web (hình 4.19 hình 4.20): Hình 4.19 Giao diện phần mềm Acunetix sau quét lỗi bảo mật Hình 4.20 Thơng báo lỗi bảo mật SQL Injection - 48 Sau sử dụng Acunetix quét bảo mật web phát có lỗi SQL Injection, nhiên không hiển thị chi tiết lỗi để lỗi SQL Injection ta sử dụng công cụ SQLMAP để quét (từ hình 4.21 đến hình 4.28): Bước 1: hiển thị sở liệu có webserver mở cmd chuyển thư mục hành C:\Users\peter\Desktop\sqlmapprojectsqlmap-3a94435> gõ lệnh sau: Hình 4.21 Gõ lệnh kiểm tra sở liệu Hình 4.22 Tên sở liệu có webserver Bước 2: thị danh sách bảng sở liệu itcdn Hình 4.23 Lệnh bảng sở liệu itcdn - 49 Hình 4.24 Các bảng sở liệu itcdn Bước 3: thị danh sách cột bảng liệu kcntt_users Hình 4.25 Lệnh cột bảng liệu kcntt_users - 50 Hình 4.26 Các cột bảng liệu kcntt_users Bước 4: thực lấy liệu cột bảng liệu kcntt_users Hình 4.27 Lệnh lấy liệu cột bảng liệu kcntt_users - 51 Hình 4.28 Dữ liệu name, email, username password bảng liệu kcntt_users Các bước cho thấy việc sử dụng SQLMAP để lấy thông tin sở liệu web dễ dàng Tuy nhiên lấy thơng tin quyền quản trị web việc giải mã mật nhiều thời gian Vì sử dụng session ID quản trị web để chiếm quyền đăng nhập trực tiếp vào trang quản trị mà không cần user name password Các bước thực sau: Trong Bước (hình 4.23 hình 4.24) sử dụng SQLMAP để hiển thị sở liệu web Chúng ta thực thêm thao tác sau để truy cập trang quản trị session ID (từ hình 4.29 đến hình 4.36) : Hình 4.29 Tên bảng cần lấy liệu - 52 Hình 4.30 Lệnh hiển thị cột bảng kcntt_session Hình 4.31 Lệnh hiển thị cột cần lấy liệu - 53 Hình 4.32 Hiển thị session_id admin Hình 4.33 Thêm cơng cụ chỉnh sửa cookie - 54 Hình 4.34 Đăng nhập quyền admin máy Hình 4.35 Copy session-id hình 4-32 bỏ vào phần Value - 55 Hình 4.36 Truy cập vào trang quản trị session_id admin Qua bước thấy việc truy xuất vào sở liệu chiếm quyền quản trị web dễ dàng Từ lỗ hổng cho phép kẻ công lợi dụng lỗ hổng sở liệu trang web để chiếm quyền quản trị web từ làm thay đổi, xóa điều khiển web theo hướng riêng Việc chiếm quyền quản trị web nguy hiểm, việc ngăn chặn truy xuất vào sở liệu web quan trọng tất trang web Để ngăn chặn không cho truy xuất vào sở liệu hay công SQL Injection máy web serever khởi động lại dịch vụ Modsecurity: ~# a2enmod security2 ~# service apache2 restart Sử dụng SQLMAP kiểm tra website lại lỗ hổng SQL Injection (hình 4.37 4.38) - 56 Hình 4.37 Khơng thể truy cập sở liệu có web server Sử dụng phần mềm Acunetix quét lỗi bảo mật Hình 4.38 Khơng cịn thơng báo lỗi bảo mật SQL Injection - 57 Việc sử dụng hai phần mềm SQLMAP Acunetix quét lỗ hổng ứng dụng web, thấy ứng dụng web mã nguồn mở tồn nhiều lỗ hổng nghiêm trọng Ứng dụng web ngày dần trở thành mục tiêu công phổ biến tin tặc Những kẻ cơng dễ dàng tận dụng lỗ hổng bảo mật tương đối đơn giản nhằm chiếm quyền truy cập vào nguồn thông tin nhạy cảm, bao gồm thông tin cá nhân người dùng, thông tin người quản trị web Từ lỗ hổng bảo mật tồn luận văn kết hợp phần mềm quét lỗ hổng ModSecurity để ngăn chặn lỗi SQL Injection giúp cho liệu hệ thống an toàn sử dụng mã nguồn mở cho ứng dụng web - 58 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Theo mục tiêu đặt nghiên cứu phát triển hệ thống bảo mật web lựa chọn đơn vị thực nghiệm trường Cao Đẳng Nghề Thành Phố Hồ Chí Minh Luận văn hồn thành số cơng việc sau: - Phân tích số phương thức cơng điển hình phương pháp ngăn chặn - Nghiên cứu phát triển hệ thống tường lửa ứng dụng web lựa chọn ModSecurity hệ thống tường lửa ứng dụng web (WAF) - Tìm hiểu phương thức công DDoS SQL Injection xây dựng hệ thống tường lửa ứng dụng web (WAF) có khả phát giảm thiểu công web server Đề tài tập trung xây dựng giải pháp bảo vệ hệ thống thông tin web trước hai loại công phổ biến nguy hiểm DDoS SQL Injection Các giải pháp thương mại giá thành cao nên chưa phù hợp với nhiều doanh nghiệp Đề tài hướng đến việc phát triển hệ thống bảo vệ mã nguồn mở với chi phí thấp cho phép người quản lý trực tiếp can thiệp vào nhiều q trình xử lý bị công Do công ngày đa dạng có nhiều biến thể thời gian ngắn, giải pháp mà đề tài nhắm tới cho phép người quản lý phát chống công nhanh Do kiến thức liên quan đến bảo mật, công web server lớn thay đổi liên tục luận văn không tránh khỏi nhiều thiếu sót Tuy nhiên, với kết đạt luận văn góp phần vào việc nghiên cứu phát triển hệ thống bảo mật ứng dụng Web trường Cao Đẳng Nghề Thành Phố Hồ Chí Minh an toàn Hướng Phát Triển: - Nghiên cứu phát triển tính ModSecurity phát phần mềm độc hại web, Webshell/Backdoor Detection, quét virus cho tập tin đính kèm để nâng cao khả bảo vệ hệ thống, bảo mật ứng dụng web trường Cao Đẳng Nghề Thành Phố Hồ Chí Minh - 59 TÀI LIỆU THAM KHẢO [1] Aniruddh R Ladole, D A Phalke “A Survey on SQL Injection Attack Countermeasures Techniques” International Journal of Science and Research (IJSR) ISSN: 2319-7064 Index Copernicus Value (2013) [2] Ms Chandni M Patel, Asst Prof Viral H Borisagar “Survey On Taxonomy Of Ddos Attacks With Impact And Mitigation Techniques” International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol Issue 9, November- 2012 [3] Rajkumar, ManishaJitendra Nene “A Survey on Latest DoS Attacks: Classification and Defense Mechanisms” International Journal of Innovative Research in Computer and Communication Engineering ISO 3297: 2007 Certified Organization ISSN: 2320-9801 Vol 1, Issue 8, October 2013 [4] Vaishali Malekar, Prof J M.Waghmare “Web Application Firewall to Protect Against Web Application Vulnerabilities: A Survey and Comparison” Vaishali Malekar et al, ,Int.J.Computer Technology & Applications,Vol (1),141-144 ISSN:2229-6093 Các WEBSITE [5] Automatic SQL injection and database takeover tool, [Online] Available: http://sqlmap.org/ [Accessed May 2016] [6] Barracuda Application Firewall, [Online] Available: https://www.barracuda Com/products/webapplicationfirewall [Accessed September 2016] [7] DotDefender Web Application Firewall, [Online] Available: http://www applicure.Com/solutions/web-application-firewall [Accessed September 2016] [8] FortiWeb Web Application Firewall (WAF), [Online] Available: https://www fortinet.com /products/application-security/fortiweb.html [Accessed September 2016] - 60 [9] Hackmageddon, “2015 Cyber Attacks Statistics” January 11, 2016, [Online] Available:http://www.hackmageddon.com/2016/01/11/2015-cyber-attacksstatistics/ [Accessed 15 September 2016] [10] ModSecurity Open Source Web Application Firewall, [Online] Available: https://modsecurity.org/about.html [Accessed June 2016] [11] NetScaler AppFirewall, [Online] Available: https://www.citrix.com/products /netscaler-appfirewall/ [Accessed September 2016] [12] OWASP Top Ten Attacks, [Online] Available: https://www.owasp.org/ index.php /Top_10_2013-Top_10 [Accessed 15 May 2016] [13] Securesphere Web Application Firewall, [Online] Available: https://www imperva.Com/Products/WebApplicationFirewall-WAF [Accessed September 2016] [14] Shadow Daemon Open Source Web Application Firewall, [Online] Available: https://shadowd.zecure.org/overview/introduction/ [Accessed 15 September 2016] [15] Simple Network Management Protocol (SNMP), [Online] Available: http://www.net-snmp.org/ [Accessed 15 September 2016] [16] Web Application Security with Acunetix Web Vulnerability Scanner, [Online] Available: https://www.acunetix.com/vulnerability-scanner/ [Accessed May 2016] [17] WebKnight Open Source Web Application Firewall, [Online] Available: https://www.aqtronix.com/?PageID=99 [Accessed 15 September 2016] [18] What is Cacti, [Online] Available: http://www.cacti.net/what_is_cacti.php [Accessed 15 May 2016]