Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
786,64 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC QUY NHƠN BÁO CÁO TIỂU LUẬN MÔN AN NINH MẠNG Chủ đề WEB APPLICATION SECURITY (ĐẢM BẢO AN NINH HỆ THỐNG WEB) Giảng viên hướng dẫn: TS Nguyễn Hồng Quang Bình Định, 01-2018 Đảm bảo an ninh hệ thống Web Đảm bảo an ninh hệ thống Web LỜI NÓI ĐẦU Ngày nay, 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à dần dần, 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 Các kỹ thuật công sử dụng chủ yếu SQL Injections, Buffer Overflow, CrossSite Scripting (XSS) Các lỗ hổng ứng dụng web chủ yếu xảy người lập trình khơng kiểm tra kỹ lỗ hổng bảo mật cho ứng dụng web Đ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ở lê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 hơn, đẹp ứng dụng web, tất nhiên khơng thể ngăn chặn hồn tồ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, 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 hướng tất yếu thời đạ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ách phòng chống, bảo mật web cách hợp lý Đảm bảo an ninh hệ thống Web CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT ỨNG DỤNG WEB I Khái niệm ứng dụng Web Ứng dụng web ứ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 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 Người dùng thường sử dụng trình duyệt Web Internet Explorer hay Netscape Navigator Cũng chương trình đóng vai trò đại lý người dung hoạt động trình duyệt tự động Người dùng gửi nhận thơng tin từ trình chủ thơng qua việc tác động mua bán, diễn đàn, gửi nhận email Tốc độ phát triển kỹ thuật xây dựng ứng dựng web phát triển nhanh Ngày ứng dụng web thường viết Java hay ngôn ngữ tương tự chạy máy chủ phân tán, kết nối đến nhiều nguồn liệu Hình Cấu trúc ứng dụng web Hoạt động ứng dụng Web: Đầu tiên trình duyệt gửi yêu cầu (request) đến máy chủ Web thông qua phương thức GET, POST…của giao thức HTTP, trình chủ lúc cho thực thi chương trình xây Đảm bảo an ninh hệ thống Web dựng từ nhiều ngôn ngữ C/C++, PHP, ASP,… trình chủ yêu cầu diễn dịch thực thi trang JSP, JAVAR…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 thong 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 or HTTPS, 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 Hình Sơ đồ mơ tả rủi ro lớp II An toàn cho ứng dụng Web Những năm gần đây, dịch vụ thương mại điện tử toán trực tuyến, giao dịch trực tuyến ebanking, … phát triển khơng ngừng Các tiện ích phát triển, Web server phải trang bị hạ tầng mạng chuyên nghiệp Đảm bảo an ninh hệ thống Web nhằm đáp ứng nhu cầu vận hành liên tục bảo mật hệ thống Một hệ thống mạng bảo mật phải đảm bảo mục tiêu như: Cho phép cấm dịch vụ truy cập ngoài; Cho phép cấm dịch vụ từ truy cập vào trong; Theo dõi luồng liệu mạng Internet Intranet (mạng nội bộ); Kiểm soát cấm địa truy nhập; Kiểm soát người sử dụng việc truy cập người sử dụng; Kiểm sốt nội dung thơng tin lưu chuyển mạng Những rủi ro tiềm ẩn Web Application Firewall - WAF Các dự án WAF đời tính tới thời điểm có nhiều sản phẩm đời đáp ứng đầy đủ nhu cầu mà WAF mong muốn Song bên cạnh đó, mạng Internet tồn cầu ngày phát triển vũ bão kéo theo nhiều rủi ro tiềm ẩn mà nhà nghiên cứu WAF chưa tìm cách ngăn chặn triệt để toàn diện Trong khảo sát tổng hợp rủi ro xảy môi trường Internet cho thấy có kết sau: Hình Bảng đánh giá kiểu công Website Nhu cầu cấp thiết cho ứng dụng web Thông thường việc bảo vệ hệ thống mạng giao cho thiết bị Firewall “truyền thống” Việc theo dõi, giám sát Firewall dựa vào địa Đảm bảo an ninh hệ thống Web IP nguồn đích kết hợp với cổng-port luồng liệu vận hành hệ thống mạng Một tường lửa chuyên dụng làm nhiệm vụ sau: + Thiết lập sách cho kết nối người dùng HTTP thông qua việc chọn lọc nội dung cho máy chủ dịch vụ web + Bảo vệ hệ thống trước loại hình cơng phổ biến mạng như: Cross-site Scripting (XSS) SQL Injection, … + Ngoài việc động tác kiểm tra tường lửa thông thường, WAF kiểm tra sâu hơn, kiểm tra nội dung HTTP lớp ứng dụng Hình Mơ hình hoạt động Firewall Đảm bảo an ninh hệ thống Web Hình Mơ hình hoạt động Firewall truyền thống Hình cho thấy rõ vấn đề lớn hệ thống: luồng liệu kết nối Web (sử dụng giao thức HTTP) từ bên vào bên trong, truy xuất tới hệ thống liệu Database mà khơng có “giám sát nội dung” Firewall Tìm hiểu rõ chế hoạt động Firewall truyền thống, thấy điều thiết bị hoạt động chủ yếu tầng mơ hình OSI, hầu hết ứng dụng xây dựng hệ thống mạng tuân thủ lớp Đây nguyên nhân khiến Firewall khơng thể kiểm sốt nội dung kết nối từ Web vào Database Giải pháp Web Application Firewall - WAF Lớp khóa an tồn (Secure Socket Layer – SSL): giao thức phát triển Netscape để chuyển tài liệu cá nhân qua Internet SSL sử dụng hệ thống mật mã sử dụng hai khóa để mã hóa liệu - khóa cơng khai người biết đến khóa riêng bí mật biết đến với người nhận tin nhắn Đảm bảo an ninh hệ thống Web Hình Mơ hình kết nối người dùng HTTP với Web server sử dụng SSL WAF giải pháp bảo mật toàn diện mạnh mẽ dành cho ứng dụng Web WAF đưa phương thức phòng vệ chống lại hoạt động tin tặc, khai thác lỗ hổng giao thức Bên cạnh đó, WAF cảnh báo cho bạn lỗi ứng dụng mà hacker khai thác, đánh cắp thông tin, gây lỗi từ chối dịch vụ làm thay đổi giao diện trang web bạn Mục đích WAF là: + Ứng dụng mở rộng chọn lọc cho máy chủ dịch vụ web nhằm thiết lập sách cho kết nối người dùng HTTP + Bảo vệ hệ thống trước loại công phổ biến như: Cross-site Scripting (XSS), SQL Injection, … + Kiểm tra nội dung truy cập Web sử dụng giao thức HTTP lớp ứng dụng + Phân tích yêu cầu cảnh báo có hoạt động đáng nghi hệ thống + Tăng khả hiển thị lưu lượng website Đảm bảo an ninh hệ thống Web Việc ứng dụng giải pháp WAF đòi hỏi trình triển khai lâu dài thân mơi trường Internet chứa đựng nhiều rủi ro: công dịch vụ, mã độc, thư rác, Ngày nay, với nhu cầu phát triển xã hội, dịch vụ thương mại điện tử mang đến nhiều tiện ích: mua bán hàng mạng online, giao dịch chứng khoán, đặt vé khách sạn, sân bay, … Những việc tạo hội tốt cho kẻ xấu (hacker) tìm cách cơng, khai thác thông tin Giải pháp WAF đưa đáp ứng nhu cầu bảo mật ứng dụng web nay, song bên cạnh nhà cung cấp dịch vụ cần phải biết kết hợp với giải pháp tường lửa truyền thống nhằm mang lại giải pháp hoàn chỉnh cho toàn hệ thống – điều việc nhà tích hợp hệ thống cần làm Với yêu cầu mục tiêu người dùng web đặt ra, nhà tích hợp hệ thống tư vấn xây dựng hệ thống mạng hoàn chỉnh: + Kết nối bên bao gồm thiết bị định tuyến kết nối ADSL, Leaseline… thiết bị cân tải + Kết nối bảo mật: Các thiết bị tường lửa (Firewall), hệ thống phòng chống cơng IDS/IPS phần mềm giám sát hệ thống + Hệ thống máy chủ: Các máy chủ (server) cài đặt hệ điều hành Windows, Linux… giải pháp phòng chống virus, chống thư rác (spam mail) + Hệ thống lưu trữ: Các thiết bị lưu trữ liệu tích hợp SAN (Storage Area Network) Giới thiệu Dự án An ninh Ứng dụng Web Mở OWASP Dự án An ninh Ứng dụng Web Mở (Open Web Application Security Project OWASP) tổ chức từ thiện phi lợi nhuận toàn cầu, tập trung vào việc nâng cao tính bảo mật phần mềm Nhiệm vụ họ làm cho bảo mật phần mềm nhìn thấy được, để cá nhân tổ chức đưa định sáng suốt OWASP nằm vị trí cung cấp thông tin vô tư, thiết thực AppSec cho cá nhân, tập đoàn, trường đại học, quan phủ tổ chức khác toàn giới Hoạt động cộng đồng chuyên gia có quan điểm, OWASP đưa công cụ phần mềm tài liệu dựa kiến thức bảo mật ứng dụng 10 Đảm bảo an ninh hệ thống Web Trên số cách bypass thơng dụng, nhiều hình thức chèn vào input dùng onmouseover, onload…, tùy tình vận dụng 2.2 Kỹ thuật ByPass Filter UpLoad file Một số ứng dụng cho phép người dùng upload file lên hệ thống, thường file jpg, png, gif,… Trong trình xây dựng ứng dụng, người lập trình sử dụng javascript php để kiểm tra đảm bảo liệu up lên hệ thống nằm danh sách loại file mà người lập trình quy định, nguy hiểm người lập trình ko để ý tới dạng file ứng dụng đứng trước nguy bị công kỹ thuật upload file Ta xét kịch upload file gồm trang upload.html trang upload.php Trang upload.html có mã nguồn sau: Demo hack upload file Select the file to upload: Và trang xử lý upload upload.php có mã nguồn sau: 27 Đảm bảo an ninh hệ thống Web Kịch cho phép người dùng upload file lên server, ta nghiên cứu phương pháp vượt qua kiểm tra file upload + Vượt qua kiểm tra ngôn ngữ trình khách Ta thêm vào trang upload.html xét đoạn code javarscript sau: function chkFileExtension() { var str=document.upload.userfile.value; var ext=str.substring(str.length,str.length-3); if ( ext != “gif”) { alert(“File is invalid”); return false; } else { return true; }; } Đoạn script có chức kiểm tra ký tự cuối tên file, khác gif ko cho phép upload Nhưng với cách kiểm tra ngơn ngữ trình khách bị vượt qua cách dễ dàng cách dùng tool proxy để thay đổi nội dùng truyền đến trình chủ, tải mã nguồn file upload.html 28 Đảm bảo an ninh hệ thống Web máy bỏ đoạn kiểm tra javarscript trên, ta upload loại file ta muốn + Vượt qua kiểm tra Content-Type Ta thêm vào file upload.php đoạn script kiểm tra định dạng file up load sau: if($_FILES[‘userfile’][‘type’] != “image/gif”) { echo “Sorry, we only allow uploading GIF images”; exit; } Với cách kiểm tra định dang file trên, an tồn chút ta vượt qua cách sau: Khi ta upload file test.php, nhấn nút upload liệu truyền lên trình chủ có dạng sau: -87532403332029\r\nContent-Disposition:form-data; name=”userfile”;filename=”test.php” stream\r\n\r\n\r\n 87532403332029\r\nContent-Disposition: formname=”upload”\r\n\r\nupload\r\n -87532403332029 \r\n Ta để ý đến đoạn in đậm: Content-Type: application/octet-stream Vì ta kiểm tra Content-Type lệnh $_FILES[‘userfile’][‘type’] Chỉ chấp nhận Content-Type image/gif , việc ta cần làm thay đổi lại giá trị trường Content-Type thành image/gif tool proxy cho phép thay đổi liệu trước gửi lên trình chủ tempdata + Vượt qua kiểm tra MINE Ta thêm vào file upload.php đoạn script kiểm tra định dạng file upload sau: 29 Đảm bảo an ninh hệ thống Web $imageinfo = getimagesize($_FILES[‘userfile’][‘tmp_name’]); if($imageinfo[‘mime’] != ‘image/gif’&&$imageinfo[‘mime’]!= ‘image/jpeg’) { echo “Sorry, we only accept GIF and JPEG images\n”; exit; } Với đoạn script trên, người lập trình kiểm tra định dạng file upload nội dung file, Vậy với cách làm phần trước, ta thất bại Cách để vượt qua script sau: Tạo file gif thực paint phần mềm tạo ảnh, ví dụ : test.gif GIF89a`_È_÷ € € €€ €€ € €€€€€ÀÀÀÿ ÿ ÿÿ ÿÿ ÿ ÿÿÿÿÿ … Mở file vừa tạo notepad, Dữ liệu file test.gif có dạng sau: Ta thêm đoạn mã muốn chèn vào cuối file test.gif save lại thành file test.php Hoặc ta lưu file test.gif lại thành test.php trình truyền đến server ta thêm vào phần cuối liệu file đoạn mã độc Sau upload ta đổi Content-Type thành Content-Type=”image/gif” phần trước + Vượt qua kiểm tra phần mở rộng Từ ví dụ trước ta thấy nguy hiểm bị upload file php lên hệ thống, điều giup hacker thực thi đoạn mã độc nằm file Vậy để đảm bảo an toàn trường hợp này, ta kiểm tra phần mở rộng file loại bỏ file có phần mở rộng php, phtml,.php3,.php4 Để làm điều ta sử dụng script sau: $blacklist = array(“.php”, “.phtml”,”.php3”,”.php4”); foreach ($blacklist as $item) { if(preg_match(“/$item\$/i”, $_FILES[‘userfile’][‘name’])) { echo “We not allow uploading PHP files\n”; exit; } } script ta chống khơng cho hacker upload file có phần mở Với 30 Đảm bảo an ninh hệ thống Web rộng thực thi mã độc hệ thống Nhưng ta vượt qua script để upload file có chứa mã độc lên hệ thống cách phần b (kiểm tra định dạng file nội dung file) không đổi tên file mà giữ nguyên test.gif Nếu ứng dụng có lỗ hổng file include ta include file test.gif upload, đoạn mã độc thực thi 14 Thêm câu lệnh hệ thống (OS COMMAND INJECTION) Khả thực thi câu lệnh hệ thống hay đoạn mã thêm vào tham số mà khơng có kiểm tra chặt chẽ tham số form, cookies, yêu cầu HTTP Header, liệu nguy hiểm tập tin đưa lên trình chủ Thành cơng kĩ thuật giúp hacker thực thi câu lệnh hệ thống với quyền trình chủ 3.1 Phát Dựa vào sơ hở Web Application, Hacker - kẻ cơng thực câu lệnh, dòng code OS để thực hành vi không tốt hệ thống Việc tiêm thêm (injection) vào ứng dụng để thực thi hành vi không tốt lỗi vô nguy hiểm Có thể gây lỗi cho host, lấy cắp thơng tin, trí chiếm quyền quản lý server Ví dụ: Web Application ứng dụng ping địa IP website Kết việc [ping google.com.vn] hiển thị kết sau: - Như kết hệ chức Ping thật nguy hiểm Nó có 31 Đảm bảo an ninh hệ thống Web thể hiển thị tất nội dung file /etc/passwd File lưu thông tin account, password server - Kẻ gây hại xem hết nội dung file hệ thống Có thể tạo shell script thực hành vi gây hại dùng command linux để nạp, chạy, trí xóa liệu server Nếu user chạy Web có khả quyền root lỗ hổng trở lên vô nghiêm trọng - Nguyên nhân việc chức thực thi câu lệnh OS mà khơng kiểm tra tính đắn input đầu vào 3.2 Một số biện pháp khắc phục - Không tin tưởng giá trị đầu vào người dùng - Loại bỏ ký tự đặc biệt bên server chuyển hướng, điều kiện command hệ thống - Với loại command muốn chạy kiểm tra chặt chẽ đầu vào Như ứng dụng kiểm tra việc nhập vào có format địa IP: {digit}.{digit} {digit}.{digit} 15 Vượt qua đường dẫn Path/Dirctory Traversal Là phương pháp lợi dụng đường dẫn truy xuất tập tin URL để trả kết cho trình duyệt mà hacker lấy nội dung tập tin hệ thống 4.1 Giới thiệu Kiểm sốt hợp lí truy cập nội dung trang web yếu tố định việc điều hành máy chủ bảo mật Path traversal khai thác HTTP cho phép hacker truy cập đến mục bị giới hạn, thực thi lệnh bên mục gốc máy chủ web Nếu truy cập thành cơng hacker xem file, thư mục bị giới hạn thực thi câu lệnh server mắc lỗi không kiểm tra đầu vào liệu gửi từ client Path Traversal hay biết với số tên khác “dot-dot-slash”, “directory traversal”,”directory clumbing” “backtracking” Web server có chế bảo mật để bảo vệ file thư mục: Máy chủ web cung cấp hai mức chế bảo mật chính: 32 Đảm bảo an ninh hệ thống Web + Access Control Lists (ACLs) + Root directory(Thư mục gốc) Access Control List Trên web server người dùng phép truy cập vào thư mục, file mà người quản trị định trước gọi Access Control List Tại đậy người dùng làm số thao tác bình thường truy cập, chỉnh sửa thực thi số file web server Chỉ mục gốc Chỉ mục đặc biệt file hệ thống máy chủ mà người dùng bị hạn chế sử dụng Người dùng truy cập thứ mục Ví dụ: bạn dùng WAMP web server thư mục gốc C:\wamp\www Người dùng phép truy cập thư mục file thư mục gốc với cho phép Access Control List Thông thường thư mục gốc thường ngăn cản người dùng truy cập vào thư mục nguy hiểm cho hệ thống cmd.exe Windows hay passwd Linux/UNIX Nếu web server bị lỗi Path traversal hacker tìm cách truy cập vào thư mục cao thư mục gốc Từ hacker xem tồn file, thư mục bị hạn chế hệ thống Để khai thác lỗi Path traversal hacker thường khai thác dựa trên: + Ứng dụng web server 33 Đảm bảo an ninh hệ thống Web + Lỗi web server 4.2 Những hacker làm website bạn có lỗ hổng Với hệ thống tồn lỗ hổng path traversal, hacker lợi dụng để tìm mục gốc truy cập phần file hệ thống Điều cho phép hacker xem file bị giới hạn hay nguy hiểm hacker thực thi lệnh mạnh máy chủ, dẫn đến xâm hại hoàn toàn hệ thống hacker thực thi lệnh giả mạo thành thành viên trang web Do kiểu cơng hồn tồn phụ thuộc vào cách thiết đặt người dùng trang web phép truy cập hệ thống 4.2.1 Ví dụ cơng Path Traversal thông qua Code ứng dụng web Trong ứng dụng web với trang động, đầu vào nhận từ trình duyệt thơng qua phương thức request GET POST Đây ví dụ HTTP GET request URL GET http://test.webarticles.com/show.asp?view=oldarchive.html HTTP/1.1 Host: test.webarticles.com Với URL này, trình duyệt yêu cầu trang động show.asp từ máy chủ kèm theo thông số view với giá trị từ oldarchive.htm từ file hệ thống máy chủ, sau gửi quay trở lại trình duyệt hiển thị với người dùng Hacker cho show.asp dẫn đến file từ file hệ thống gửi URL sau: GET http://test.webarticles.com/show.asp? view= / / / / /Windows/system.ini HTTP/1.1 Host: test.webarticles.com Lệnh khiến trang web động nhận file system.ini từ hệ thống hiển thị đến người dùng Dấu / định hướng hệ thống tiến lên mục Hacker đốn cần vượt qua mục để tìm thư mục Windows hệ thống thông qua nhiều lần thử thông báo lỗi 4.2.2 Ví dụ cơng Path Traversal thơng qua máy chủ web 34 Đảm bảo an ninh hệ thống Web Ngồi lỗ hổng code, máy chủ web tồn lỗ hổng công Path Traversal Vấn đề có xảy phần mềm kèm máy chủ file script có sẵn Lỗ hổng vá phiên phần mềm máy chủ web có nhiều máy chủ trực tuyến sử dụng phiên ISS Apache cũ Một vài lỗ hổng script mặc định nơi hacker tìm đến Ví dụ, URL request sử dụng mục script IIS để duyệt mục thực thi lệnh: GET http://server.com/scripts/ %5c /Windows/System32/cmd.exe?/c+dir+c:\ HTTP/1.1 Host: server.com Yêu cầu trả cho người dùng danh sách toàn file mục C:\ cách thực thi cmd.exe dir c:\ Kí tự %5c thể URL request escape code để thể kí tự thơng thường Trong trường hợp %5c đại diện cho \ Những phiên máy chủ kiểm tra escape code không cho phép chúng thực Một vài phiên cũ không lọc code mục gốc khiến hacker thực lệnh khác 4.3 Làm để kiểm tra lỗ hổng Path Traversal Cách tốt để kiểm tra liệu trang web hay ứng dụng web có tồn lỗ hổng Path Traversal sử dụng Web Vulnerability Scanner Nó giúp bạn quét toàn trang web tự động kiểm tra lỗ hổng Sau báo cáo bạn dễ dàng sửa chữa Bên cạnh lỗ hổng Path Traversal, Web Vulnerability Scanner tìm SQL Injection, Cross-site Scripting lỗ hổng khác 4.4 Ngăn ngừa công Path Traversal Trước hết, đảm bảo bạn cài đặt máy chủ web với phần mềm nhất, vá có sẵn áp dụng Thứ hai, cần có lọc cho liệu đầu vào từ người dùng 16 Thao tác biến ẩn Form (Hidden Form Field Manipulation) 5.1 Phát 35 Đảm bảo an ninh hệ thống Web Trong HTML truyền thơng tin qua biến ẩn form hiden field Biến ẩn form khơng hiển thị hình trình duyệt xem nội dung thơng qua việc view source, điểm yếu để hacker lợi dụng hiden field chứa thơng tin có giá trị chứa thơng tin có giá trị ví dụ giá mặt hàng Ví dụ form có nội dung sau: Với nội dung form trình duyệt gửi đến trình chủ nội dung sau: POST /http://www.test.com/checkout.phpHTTP/1.0 Cost=100 Nhưng hacker download source code form sửa giá trị hiden field sau: Thì request đến trình chủ bị thay đổi là: POST /http://www.test.com/checkout.php HTTP/1.0 Cost=1 Ngồi việc hacker thay đổi giá trị hiden field, hacker thay đổi nội dung form độ dài ô nhập liệu để tiến hành kỹ thuật công Buffer over flow, … 5.2 Một số biện pháp khắc phục Chỉ nên sử dụng biến ẩn form để lưu giữ biến giá trị có tác dụng tính tốn việc hiển thị trình duyệt khơng nên dùng biến ấn form để lưu giữ giá trị thao tác ứng dụng Dùng tham số HTTP_REFERER để kiểm tra xem nguồn gốc request, 36 Đảm bảo an ninh hệ thống Web hacker thay đổi tham số để đánh lừa trình chủ Vậy ta ko nên tin tưởng vào tham số Trên trình chủ nên sử dụng thơng tin tham chiếu từ sở liệu để tính toán 17 Thao tác HTTP Headers 6.1 Phát Thơng thường, có trình duyệt trình chủ trao đổi thơng tin qua HTTP Header, hầu hết ứng dụng web khơng Tuy nhiên hacker tự viết chương trình sử dụng tool có sẵn để xem thay đổi nội dung hay sử dụng proxy miễn phí cho phép thay đổi liệu gửi từ trình duyệt Ngồi ra, hacker cơng trực tiếp đến trình chủ cách telnet gửi HTTP Header Request Ví dụ: su-2.05# telnet localhost 80 Trying 127.0.0.1 Connected to localhost Escape character is ‘^]’ GET /HTTP/1.0 Referer: www.test.com/login.php User-Agent: HTTP/1.1 200 OK Date: Mon, 17 Dec 2011 20:39:02 GMT Server: Connection: close Content-Type: text/html (Những phần in đậm nội dung hacker thay đổi) Ví dụ: Một ứng dụng kiểm tra tham số Referer HTTP header để đảm bảo request gửi từ trang web ứng dụng (Vì Referer chứa URL trang web gửi request) Việc ngăn chặn hacker lưu source code máy, sửa tùy ý gửi Nhưng phương pháp kiểm tra thất bại hacker sửa tham số Referer giống gửi từ trang hợp lệ Một số biện pháp khắc phục 37 Đảm bảo an ninh hệ thống Web Đơn giản không nên tin tưởng vào HTTP Header khơng có biện pháp an toàn Với header gửi từ trình chủ nên mã hóa, header gửi từ trình khách khơng nên tin tưởng tham số Referer, … để thực biện pháp an toàn 18 Ký tự META( META CHARACTERS) Sử dụng kí tự đặc biệt, hacker chèn thêm vào liệu gửi kí tự chuỗi câu lệnh kĩ thuật XSS, ‘ SQL….để thực thi câu lệnh II Authentication/Authorization Xác thực để truy cập điều phổ biến web Có nhiều cách xác thực khác chủ yếu dựa vào tên tài khoản mật Nếu mật không mạnh hay xác thực khơng tốt hệ thống dễ bị công Dưới số cách công dựa vào xác thực Bằng việc lợi dụng cookie, hacker có cách để đưa session ID đến trình duyệt nạn nhận : Sử dụng ngôn ngữ kịch (javascrip, vbscrip) để thiết lập cookie trình duyệt nạn nhân cách thiết lập giá trị “document cookie= “sessionid=1234;domain = worldbank.com” ” Bên cạnh hacker thiết lập thời gian sống cho cookie, domain cookie III System Mis-Configurations Hiện hệ thống phần mềm ln ln có lỗi Lợi dụng lỗi tin tắc cơng hệ thống Một số kiểu công lỗ hổng + Zero day: lỗ hỏng lỗi chưa công bố chưa khắc phục thời gian công ngắn vòng ngày + Lỗ hổng Shellshock 38 Đảm bảo an ninh hệ thống Web KẾT LUẬN Bảo mật website vô quan trọng bạn không muốn bị liệu, thông tin, hay bị cài website bẩn vào web Những vụ cơng website liên tiếp gần lần khẳng định cần trọng nên thiết lập bảo mật tồn diện cho website, để khơng bảo vệ mà bảo vệ người khác ngăn chặn tài sản trực tuyến bạn bị lợi dụng vào hoạt động bất hợp pháp Trong năm gần đây, số lượng lỗ hổng bảo mật trình ứng dụng Web cơng bố tăng lên cách đáng kể, với phát triển mạnh cơng nghệ thơng tin nói chung ứng dụng Web nói riêng Những người làm bảo mật thường quan tâm đến độ bảo mật mạng hệ điều hành quan tâm nhiều đến bảo mật ứng dụng chạy máy chủ web Mặc dù có nhiều lỗ hổng bảo mật ứng dụng web, chi phí cho việc bảo mật thông tin không đưa vào ngân sách chí khơng xem xét suốt trình phát triển dự án Đa số ứng dụng web bị lỗi mà phương cách phòng chống mạng thơng thường khơng bảo vệ Lỗi lỗ hổng mã nguồn ứng dụng web gây hậu nghiêm trọng lộ liệu nhạy cảm, gây tổn thương đến toàn hệ thống hạ tầng CNTT Sự cố bảo mật ứng dụng web ảnh hưởng đến danh tiếng cơng ty, mát mặt tài chính, ảnh hưởng đến uy tín với khách hàng vấn đề liên quan đến ràng buộc pháp lý Khi tổ chức triển khai trực tuyến ứng dụng web, điều đồng nghĩa với việc cho phép có kết nối Internet truy cập vào ứng dụng qua giao thức HTTP Những công nằm truy cập HTTP có khả vượt qua tường lửa, hệ thống lọc tầng mạng, lớp bảo vệ hệ thống, hệ thống phát xâm nhập Những thiết bị phát cơng mã cơng nằm gói giao thức HTTP hợp lệ Ngay trang Web có mức độ bảo mật cao sử dụng SSL cho phép tất liệu qua mà không kiểm tra tính hợp lệ liệu Điều có nghĩa bảo mật ứng dụng Web nhân tố quan trọng nằm hệ thống phòng thủ ngọai vi, với tường lửa thiết bị bảo mật khác 39 Đảm bảo an ninh hệ thống Web Trong q trình làm việc cộng tác nhóm, nhóm thường xuyên liên lạc, trao đổi vấn đề liên quan phân công, thảo luận thống q trình phân cơng tìm hiểu nội dung báo cáo Cuối cùng, sau hoàn thành phần phân, công việc tổng hợp biên tập lại để hồn chỉnh nội dung hình thức trình bày nhóm thực Với tìm hiểu mang tính chủ quan thành viên nhóm dù có cộng tác bàn bạc thống nhất, nhiên sau hoàn thành nội dung, báo cáo khơng tránh khỏi thiếu sót, nội dung chưa thật sâu rộng bật nội dung chủ đề phân công Các thành viên nhóm mong hướng dẫn, bảo thầy để nội dung báo cáo hoàn thiện để thành viên nhóm tiếp nhận sâu nội dung kiến thức liên quan phân công Một lần thành viên nhóm nói riêng lớp Tin học Khóa 19 (niên khóa 2016-2018) Quy Nhơn, xin chân thành cảm ơn hướng dẫn giảng dạy tậm tâm thầy 40 Đảm bảo an ninh hệ thống Web TÀI LIỆU THAM KHẢO Sybex - Network Security Foundations 19.Nguồn tài liệu Internet 41 .. .Đảm bảo an ninh hệ thống Web Đảm bảo an ninh hệ thống Web LỜI NÓI ĐẦU Ngày nay, 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... 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ách phòng chống, bảo mật web cách hợp lý Đảm bảo an ninh hệ thống Web CHƯƠNG 1: TỔNG QUAN VỀ BẢO MẬT ỨNG DỤNG WEB. .. ebanking, … phát triển khơng ngừng Các tiện ích phát triển, Web server phải trang bị hạ tầng mạng chuyên nghiệp Đảm bảo an ninh hệ thống Web nhằm đáp ứng nhu cầu vận hành liên tục bảo mật hệ thống