Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
601,59 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN TRỌNG VIỆT NGHIÊN CỨU MỘT SỐ DẠNG TẤN CÔNG WEBSITE, PHƢƠNG PHÁP VÀ CÔNG CỤ KIỂM SOÁT, PHÒNG TRÁNH TẤN CÔNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2015 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN TRỌNG VIỆT NGHIÊN CỨU MỘT SỐ DẠNG TẤN CÔNG WEBSITE, PHƢƠNG PHÁP VÀ CÔNG CỤ KIỂM SOÁT, PHÒNG TRÁNH TẤN CÔNG Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS TRẦN MINH Hà Nội – 2015 i LỜI CAM ĐOAN Tôi xin cam đoan luận văn hoàn toàn thực Các trích dẫn số liệu sử dụng luận văn đƣợc dẫn nguồn có độ xác cao phạm vi hiểu biết Tôi xin chịu trách nhiệm nghiên cứu Tác giả luận văn Nguyễn Trọng Việt ii LỜI CẢM ƠN Sau gần tháng nỗ lực thực hiện, luận văn “Nghiên cứu số dạng Tấn công Website, phƣơng pháp công cụ kiểm soát, phòng tránh công” hoàn thành Ngoài cố gắng thân, nhận đƣợc khích lệ nhiều từ phía nhà trƣờng, thầy cô, gia đình bạn bè Tôi xin gửi lời cảm ơn tới thầy cô khoa Công nghệ thông tin trƣờng Đại học Công nghệ - Đại học Quốc Gia Hà Nội truyền đạt kiến thức quý báu cho suốt trình học tập Đặc biệt, xin chân thành cảm ơn thầy Trần Minh (Viện Công nghiệp phần mềm Nội dung số Việt Nam), ngƣời tận tình hƣớng dẫn giúp đỡ trình làm luận văn tốt nghiệp Xin cảm ơn tất bạn bè động viên, giúp đỡ trình học tập hoàn thành luận văn tốt nghiệp iii LỜI MỞ ĐẦ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ụ, ứng dụng Web 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 đƣợc 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 ứng dụng Web trở nên tinh vi phức tạp Do hệ thống, nhiệm vụ bảo mật đƣợc đặt cho ngƣời quản trị mạng quan trọng cần thiết Xuất phát từ thực tế đó, luận văn sâu tìm hiểu cách công phổ biến cách phòng chống loại công 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, tác giả mong muốn góp phần sức 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 Lý chọn đề tà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 Web Hầu hết ngƣời nghe làm việc ứng dụng Web 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 toàn, bảo mật cho ứng dụng Web vấn đề nan giải cho ngƣời quản trị Website Chính vậy, luận văn sâu vào tìm hiểu ứng dụng Web, cách thức công bảo mật web Mục tiêu Giúp cho ngƣời đọc hiểu rõ ứng dụng Web, mối đe dọa vấn đề an toàn thông tin làm việc ứng dụng Web hàng ngày, hiểu rõ kỹ thuật công bảo mật web Phạm vi Tìm hiểu kỹ thuật công phổ biến nhƣ Denial of Service, SQL Injection, Cross-Site Scripting,…cách bảo mật, phòng thủ loại công phổ biến cách tổng quan iv Bố cục luận văn Nội dung luận văn bao gồm phần sau (3 chƣơng): Chƣơng 1: Tổng quan an ninh mạng ứng dụng Web - Tìm hiểu chung ứng dụng Web, khái niệm hoạt động ứng dụng Web Internet, đồng thời đề cập khái quát bảo mật ứng dụng Web Chƣơng 2: Các kỹ thuật công bảo mật ứng dụng Web - Trình bày kỹ thuật công ứng dụng Web cách phòng chống o Chiếm hữu phiên làm việc o Từ chối dịch vụ o Chèn câu truy vấn (SQL Injection) o Chèn mã lệnh thực thi trình duyệt nạn nhân (Cross Site Scripting) o Các công cụ phát lỗ hổng bảo mật Web Chƣơng 3: Tấn công thực nghiệm - Một vài ví dụ công ứng dụng Web kỹ thuật công trình bày chƣơng Kết luận: Trình bày kết đạt đƣợc luận văn hƣớng phát triển tƣơng lai v MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN .ii LỜI MỞ ĐẦU iii DANH MỤC CÁC TỪ VIẾT TẮT viii DANH MỤC HÌNH VẼ viii CHƢƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG VÀ ỨNG DỤNG WEB 1.1 TỔNG QUAN VỀ AN NINH MẠNG 1.1.1 An ninh mạng gì? 1.1.2 Kẻ công ai? 1.1.3 Lỗ hổng bảo mật? 1.2 TỔNG QUAN VỀ ỨNG DỤNG WEB 1.2.1 Giới thiệu Website 1.2.2 Khái niệm ứng dụng Web 1.2.3 Một số thuật ngữ ứng dụng Web 1.2.3.1 Session 1.2.3.2 Cookie 1.2.3.3 Proxy 1.2.4 Kiến trúc ứng dụng Web 1.2.5 Nguyên lý hoạt động ứng dụng Web CHƢƠNG 2: CÁC KỸ THUẬT TẤN CÔNG VÀ BẢO MẬT ỨNG DỤNG WEBError! Bookma 2.1 CHIẾM HỮU PHIÊN LÀM VIỆC Error! Bookmark not defined 2.1.1 Ấn định phiên làm việc (Session Fixation) Error! Bookmark not defined 2.1.1.1 Kỹ thuật công Error! Bookmark not defined 2.1.1.2 Một số biện pháp bảo mật khắc phục Error! Bookmark not defined 2.1.2 Đánh cắp phiên làm việc (Session Hijacking) Error! Bookmark not defined 2.1.2.1 Kỹ thuật công Error! Bookmark not defined 2.1.2.2 Một số biện pháp bảo mật khắc phục Error! Bookmark not defined 2.2 TỪ CHỐI DỊCH VỤ (DOS) Error! Bookmark not defined 2.2.1 Những mục tiêu công DOS Error! Bookmark not defined 2.2.2 Kỹ thuật công Error! Bookmark not defined 2.2.2.1 Tấn công thông qua kết nối Error! Bookmark not defined vi 2.2.2.2 Lợi dụng tài nguyên nạn nhân để côngError! Bookmark not defined 2.2.2.3 Sử dụng băng thông Error! Bookmark not defined 2.2.2.4 Sử dụng tài nguyên khác Error! Bookmark not defined 2.2.3 Một số biện pháp bảo mật khắc phục Error! Bookmark not defined 2.3 CHÈN CÂU TRUY VẤN SQL (SQL Injection) Error! Bookmark not defined 2.3.1 Kỹ thuật công Error! Bookmark not defined 2.3.1.1 Tấn công SQL Injection vƣợt form đăng nhập đơn giảnError! Bookmark not defin 2.3.1.2 Tấn công dựa vào câu lệnh SELECT Error! Bookmark not defined 2.3.1.3 Tấn công dựa vào câu lệnh INSERT Error! Bookmark not defined 2.3.1.4 Tấn công sử dụng stored-procedures Error! Bookmark not defined 2.3.2 Một số biện pháp bảo mật khắc phục Error! Bookmark not defined 2.3.2.1 Kiểm soát chặt chẽ liệu nhập vào Error! Bookmark not defined 2.3.3.2 Thiết lập cấu hình an toàn cho hệ quản trị sở liệuError! Bookmark not defin 2.4 CHÈN MÃ LỆNH THỰC THI TRÊN TRÌNH DUYỆT NẠN NHÂN (Cross Site Scripting) Error! Bookmark not defined 2.4.1 Kỹ thuật công Error! Bookmark not defined 2.4.1.1 Reflected XSS Error! Bookmark not defined 2.4.1.2 Stored XSS Error! Bookmark not defined 2.4.2 Một số biện pháp bảo mật khắc phục Error! Bookmark not defined 2.4.2.1 Lọc liệu Error! Bookmark not defined 2.4.2.2 Input Encoding Error! Bookmark not defined 2.4.2.3 Output Encoding Error! Bookmark not defined 2.4.2.4 Web Brower’s Security Error! Bookmark not defined 2.5 CÁC CÔNG CỤ PHÁT HIỆN LỖ HỔNG BẢO MẬT WEBError! Bookmark not defined 2.5.1 Acunetix Error! Bookmark not defined 2.5.2 Maxisploit Scanner Error! Bookmark not defined CHƢƠNG 3: TẤN CÔNG THỰC NGHIỆM Error! Bookmark not defined 3.1 Công cụ cần thiết Error! Bookmark not defined 3.1.1 XAMPP Error! Bookmark not defined 3.1.2 DVWA Error! Bookmark not defined 3.1.3 Firefox Error! Bookmark not defined 3.1.4 Cài đặt thiết lập Error! Bookmark not defined vii 3.2 Thực hành công Error! Bookmark not defined 3.2.1 Tấn công SQL Injection Error! Bookmark not defined 3.2.2 Tấn công XSS Error! Bookmark not defined 3.2.2.1 Reflected XSS Error! Bookmark not defined 3.2.2.2 Stored XSS Error! Bookmark not defined 3.2.2.3 Khai thác lỗ hổng XSS đánh cắp cookie Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined TÀI LIỆU THAM KHẢO 11 viii DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt ACL CGI Tiếng Anh Access Control List Common Gateway Interface Tiếng Việt Danh sách điều khiển truy cập Bộ thông dịch Script Distributed Denial Of Từ chối dịch vụ từ nhiều Services nguồn DNS Domain Name System Hệ thống tên miền DOS Denial Of Services Từ chối dịch vụ FTP File Tranfer Protocol DDOS Giao thức truyền file đơn giản Internet Information Dịch vụ cung cấp thông tin Services Internet SSL Secure Socket Layer Giao thức mã hóa SSL XSS Cross Site Scripting IIS Tấn công XSS ứng dụng Web DANH MỤC HÌNH VẼ Hình 1.1: Kiến trúc ứng dụng Web Hình 1.2: Nguyên lý hoạt động ứng dụng Web Hình 2.1: Nguyên lý công ấn định phiên làm việcError! Bookmark not defined Hình 2.2: Cơ chế thiết lập kết nối trƣớc truyền số liệuError! Bookmark not defined Hình 2.3: Tấn công DoS truyền thống Error! Bookmark not defined Hình 2.4: Tấn công SYN flood Error! Bookmark not defined Hình 2.5: Tấn công DDOS Error! Bookmark not defined Hình 2.6: Tấn công Smurf Attack Error! Bookmark not defined Hình 2.7: Một site bị lỗi SQL Injection Error! Bookmark not defined Hình 2.8: Tấn công SQL Injection Error! Bookmark not defined Hình 2.9: Tấn công dạng Reflected Error! Bookmark not defined Hình 2.10: Tấn công XSS thông qua email Error! Bookmark not defined Hình 2.11: Các bƣớc thực XSS đánh cắp Cookie ngƣời dùngError! Bookmark not de ix Hình 2.12: Chèn câu lệnh Javascript để khai thác lỗ hổng XSSError! Bookmark not defin Hình 2.13: Popup hiển thị chứng tỏ web bị lỗi XSSError! Bookmark not defined Hình 2.14: Kiểu công Stored XSS Error! Bookmark not defined Hình 2.15: Giao diện Acunetix Web Vulnerability ScannerError! Bookmark not defin Hình 2.16: Kết Scan Acunetix Web Vulnerability ScannerError! Bookmark not d Hình 2.17: Giao diện Maxisploit Scanner Error! Bookmark not defined Hình 2.18: Kết Scan Maxisploit Scanner Error! Bookmark not defined Hình 3.1: Hiển thị ghi CSDL Error! Bookmark not defined Hình 3.2: Hiển thị tất ghi CSDL Error! Bookmark not defined Hình 3.4: Hiển thị phiên CSDL Error! Bookmark not defined Hình 3.5: Hiển thị tên CSDL Error! Bookmark not defined Hình 3.6: Hiển thị nội dung cột bảng User CSDLError! Bookmark not defin Hình 3.7: Giải mã MD5 để lấy password Error! Bookmark not defined Hình 3.8: Lấy cookie trang web Error! Bookmark not defined Hình 3.9: Website bị lỗi Stored XSS Error! Bookmark not defined Hình 3.10: Cookie đƣợc gửi Hacker Error! Bookmark not defined Hình 3.11: Đăng nhập cookie ăn cắp đƣợc Error! Bookmark not defined 0 CHƢƠNG 1: TỔNG QUAN VỀ AN NINH MẠNG VÀ ỨNG DỤNG WEB 1.1 TỔNG QUAN VỀ AN NINH MẠNG 1.1.1 An ninh mạng gì? An ninh mạng lĩnh vực mà giới công nghệ thông tin quan tâm Một Internet đời phát triển, nhu cầu trao đổi thông tin trở nên cần thiết Mục đích việc kết nối mạng làm cho ngƣời sử dụng chung tài nguyên mạng từ vị trí địa lý khác Chính mà tài nguyên dễ dàng bị phân tán, hiển nhiên điều dễ bị xâm phạm, gây mát liệu nhƣ thông tin có giá trị Kết nối rộng dễ bị công, quy luật tất yếu Từ đó, vấn đề bảo vệ thông tin đồng thời xuất nhƣ an ninh mạng đời Ví dụ: User A gửi tập tin cho User B phạm vi nƣớc Việt Nam khác xa so với việc User A gửi tập tin cho User C Mỹ Ở trƣờng hợp đầu liệu mát với phạm vi nhỏ nƣớc nhƣng trƣờng hợp sau việc mát liệu với phạm vi rộng giới Mỗi lỗ hổng mạng mối nguy hiểm tiềm tàng Từ lổ hổng bảo mật nhỏ hệ thống, nhƣng biết khai thác lợi dụng kỹ thuật hack điêu luyện trở thành mối tai họa 1.1.2 Kẻ công ai? Kẻ công ngƣời ta thƣờng gọi Hacker, kẻ công vào hệ thống mạng với nhiều mục đích khác Trƣớc Hacker đƣợc chia làm loại nhƣng đƣợc chia thành loại: Hacker mũ đen Đây tên trộm hiệu, với Hacker có kinh nghiệm đặc biệt nguy hiểm hệ thống mạng Mục tiêu chúng đột nhập vào hệ thống mạng đối tƣợng để lấy cấp thông tin, nhằm mục đích bất Hacker mũ đen tội phạm thật cần trừng trị pháp luật Hacker mũ trắng Họ nhà bảo mật bảo vệ hệ thống Họ xâm nhập vào hệ thống, mục đích tìm kẽ hở, lổ hổng chết ngƣời sau tìm cách vá lại chúng Tất nhiên, Hacker mũ trắng có khả xâm nhập trở thành Hacker mũ đen Hacker mũ xám Loại đƣợc kết hợp hai loại Thông thƣờng họ ngƣời trẻ, muốn thể Trong thời điểm, họ đột nhập vào hệ thống để phá phách Nhƣng thời điểm khác họ gửi đến nhà quản trị thông tin lổ hổng bảo mật đề xuất cách vá lỗi Ranh giới phân biệt Hacker mong manh Một kẻ công Hacker mũ trắng thời điểm nhƣng thời điểm khác họ lại tên trộm chuyên nghiệp 1.1.3 Lỗ hổng bảo mật? Các lỗ hổng bảo mật hệ thống điểm yếu tạo ngƣng trệ dịch vụ, thêm quyền ngƣời sử dụng cho phép truy nhập không hợp pháp vào hệ thống Các lỗ hổng xuất hạ tầng mạng nằm dịch vụ cung cập nhƣ Sendmail, Web, Ftp, Ngoài lỗ hổng tồn hệ điều hành nhƣ: Windows XP, 7, Linux, ứng dụng mà ngƣời sử dụng thƣờng xuyên sử dụng nhƣ: Office, trình duyệt, Theo quốc phòng Mỹ, lỗ hổng bảo mật hệ thống đƣợc chia nhƣ sau: Lỗ hổng loại A Các lỗ hổng cho phép ngƣời sử dụng truy nhập vào hệ thống bất hợp pháp Lỗ hổng nguy hiểm, phá hủy toàn hệ thống Lỗ hổng loại B Các lỗ hổng cho phép ngƣời sử dụng thêm quyền hệ thống mà không cần thực kiểm tra tính hợp lệ Mức độ nguy hiểm trung bình Những lỗ hổng thƣờng có ứng dụng hệ thống, dẫn đến lộ thông tin liệu Lỗ hổng loại C Các lỗ hổng loại cho phép thực phƣơng thức công theo DoS Mức độ nguy hiểm thấp, ảnh hƣởng tới chất lƣợng dịch vụ, làm ngƣng trệ, gián đoạn hệ thống, không làm phá hỏng liệu đƣợc quyền truy nhập bất hợp pháp 2 1.2 TỔNG QUAN VỀ ỨNG DỤNG WEB 1.2.1 Giới thiệu Website Website “trang web” đƣợc lƣu trữ máy chủ hay hosting hoạt động Internet Đây nơi giới thiệu thông tin, hình ảnh doanh nghiệp, sản phần dịch vụ doanh nghiệp hay giới thiệu thông tin để khách hàng truy cập đâu, lúc Website tập hợp nhiều web page Khi doanh nghiệp, công ty xây dựng website nghĩa xây dựng nhiều trang thông tin sản phẩm, dịch vụ hay giới thiệu, Để tạo nên website cần có yếu tố sau: Tên miền (domain) Thực chất website không cần đến tên miền hoạt động bình thƣờng có địa IP trang web đấy, cần gõ vào trình duyệt IP trang web trình duyệt load trang web trình duyệt bạn Sỡ dĩ cần phải có tên miền thay cho IP IP chuỗi số thập phân, có địa IP dễ nhớ nhƣng đa số địa IP khó nhớ Với tên gần gũi với ngôn ngữ tự nhiên ngƣời nên dễ nhớ mà ngƣời ta thay tên miền cho IP từ công nghệ DNS đời Ví dụ đơn giản để hiểu thêm tính tên miền: Trong danh bạ điện thoại lƣu số điện thoại mà không gán với tên chắn điều nhớ hết đƣợc số điện thoại ngƣời biết đƣợc số điện thoại nhƣng lƣu số với tên sau cần gọi cho ngƣời tìm danh bạ dễ dàng Nơi lƣu trữ website (hosting) Nơi lƣu trữ website bắt buộc phải có, máy chủ để lƣu trữ hay hosting thuê từ nhà cung cấp dịch vụ Nội dung trang thông tin (web page) Nội dung trang thông tin phải có mục đích lập nên website nhằm đăng thông tin lên website hay giới thiệu thông tin công ty 3 Nói đến website ngƣời ta thƣờng nói website web động hay tĩnh, đa số website đến website động Website tĩnh hiểu nhƣ này: ngƣời dùng gửi yêu cầu tài nguyên máy chủ trả tài nguyên Các trang Web không khác văn đƣợc định dạng phân tán Lúc đầu phát triển website web tĩnh đƣợc sử dụng nhiều lúc nhu cầu việc đăng tải website chƣa cao nhƣ đăng thông tin kiện, địa hay lịch làm việc qua Internet mà thôi, chƣa có tƣơng tác qua trang Web Website động thuật ngữ đƣợc dùng để website đƣợc hỗ trợ phần mềm sở web, nói cho dễ hiểu web động web có sở liệu Ngày nay, đa số trang web có sở liệu mục đích, nhu cầu ngƣời ngày gia tăng Thực chất, website động có nghĩa website tĩnh đƣợc "ghép" với phần mềm web (các modules ứng dụng cho Web) Với chƣơng trình phần mềm này, ngƣời chủ website thực có quyền điều hành nó, chỉnh sửa cập nhật thông tin website mà không cần phải nhờ đến ngƣời chuyên nghiệp Trƣớc đây, năm 1995 đến 2004 sử dụng công nghệ web 1.0 với công nghệ đƣợc đọc nội dung trang web mà ngƣời dùng chỉnh sửa, bình luận hay nói cách khác website lúc bất hoạt động chiều mà Hiện nay, phát triển công nghệ web 2.0 hoạt động hai chiều có nghĩa ngƣời dùng chỉnh sửa, bình luận hay xóa nội dung trang web Trên đà phát triển ngƣời ta tiếp tục nghiên cứu phát triển web 3.0 hƣớng hẹn nhiều điều thú vị phía trƣớc 1.2.2 Khái niệm ứng dụng Web Ứng dụng Web ứng dụng máy chủ/máy 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 Trình duyệt Web dành cho ngƣời dùng nhƣ Internet Explore Firefox hay Chrome, ngƣời dùng gửi nhận thông tin từ máy chủ Web thông qua việc tác động vào trang Web Các ứng dụng Web trang trao đổi mua bán, diễn đàn, gửi nhận email, games online, 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 web viết web không đƣợc gọi phần website nữa, chúng đƣợc gọi phần mềm viết nên web Có nhiều phần mềm chạy web nhƣ Google Word (xử lý file văn bản), Google spreadsheets (xử lý tính bảng tính), Google Translate (từ điển, dịch văn bản), Ngày nay, ứng dụng web phát triển cao, gần nhƣ ngƣời ta sử dụng ứng dụng web nhƣ xem phim online, nghe nhạc online, chia sẻ mạng xã hội (facebook, zing), chơi games online, ngân hàng trực tuyến, bắt đầu xuất Hacker muốn thu lợi ích phần từ ứng dụng web 1.2.3 Một số thuật ngữ ứng dụng Web 1.2.3.1 Session Session khoảng thời gian ngƣời sử dụng giao tiếp với ứng dụng Session bắt đầu ngƣời sử dụng truy cập vào ứng dụng lần đầu tiên, kết thúc ngƣời sử dụng thoát khỏi ứng dụng Mỗi session có định danh (ID), session khác có ID khác Trong ngữ cảnh ứng dụng web, website định session bắt đầu kết thúc Trong session, website lƣu trữ số thông tin nhƣ đánh dấu bạn login hay chƣa, viết bạn đọc qua… 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 web, trình chủ trƣớc trình duyệt có trạng thái Vì thế, để giải vấn đề này, ứng dụng web đƣa khái niệm phiên làm việc (Session) Còn Session ID chuỗi để chứng thực phiên làm việc Một số trình chủ cung cấp Session ID cho ngƣời dùng họ xem trang web trình chủ Để trì phiên làm việc Session ID thƣờng đƣợc lƣu vào: Biến URL Biến ẩn form Cookie Phiên làm việc tồn thời gian cho phép, thời gian đƣợc cấu hình quy đị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 5 1.2.3.2 Cookie Cookie phần liệu nhỏ có cấu trúc đƣợc chia sẻ trình chủ trình duyệt ngƣời dùng Các cookie đƣợc lƣu trữ dƣới file liệu nhỏ dạng text, đƣợc ứ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 đƣợc bao gồm tên/định danh ngƣời dùng, mật khẩu, sở thích, thói quen… cookie đƣợc trình duyệt ngƣời dùng chấp nhận lƣu đĩa cứng máy tính, nhiên 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 web đó, ứng dụng dùng lại thông tin cookie (nhƣ thông tin liên quan đến việc đăng nhập vào Facebook…) mà ngƣời dùng làm lại thao tác đăng nhập hay cung cấp thông tin khác Cookie đƣợc 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 cookie đƣợc lƣu trữ dƣới dạng tập tin txt máy khách khoảng thời gian xác định Non-Persistent cookie đƣợc lƣu trữ nhớ RAM máy khách bị hủy đóng trang web hay nhận đƣợc lệnh hủy từ trang web Secure cookie đƣợc gửi thông qua HTTPS (SSL) Non-Secure cookie đƣợc 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 6 Các thành phần cookie bao gồm: Domain Flag www.abc.co FALSE Path Secure Expiration Name Value / FALSE 11540294 Apache 64.3.40.151.1601 m 90 8996349247480 Domain: tên miền trang web tạo cookie (trong ví dụ www.abc.com) Flag: mang giá trị TRUE/FALSE – Xác định máy khác với tên miền có đƣợc truy xuất đến cookie hay không Path: phạm vi địa truy xuất cookie Ví dụ: Nếu path “/tracuu” địa thƣ mục /tracuu nhƣ tất thƣ mục nhƣ /tracuu/baomat truy xuất đến cookie Còn giá trị “/” cookie đƣợc truy xuất tất địa thuộc miền trang web tạo cookie Secure: 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 Expiration: thời gian hết hạn cookie,, đƣợc tính giây kể từ 00:00:00 GMT ngày 01/01/1970 Nếu giá trị không đƣợc thiết lập trình duyệt hiểu non-persistent cookie lƣu nhớ RAM xóa trình duyệt bị đóng Name: tên biến (trƣờng hợp Apache) Value: với cookie đƣợc tạo giá trị Apache 64.3.40.151.16018996349247480, tên miền http://www.abc.com Kích thƣớc tối đa cookie 4kb Số cookie tối đa cho tên miền 20 cookie Cookie bị hủy đóng trình duyệt gọi “session cookie” Một ví dụ cookie: Giả sử lần bạn vào trang facebook.com máy tính bạn tải trang lâu phải tải nội dung trang web máy bạn Sau đăng nhập vào hệ thống sử dụng nhƣ bình thƣờng Sang ngày hôm sau, vào lại trang facebook.com vào nhanh nhiều không cần phải đăng nhập tài khoản nguyên nhân trình duyệt lƣu cookie thông tin hôm qua bạn vào Cookie cao dao hai lƣỡi, lợi ích bạn thấy đƣợc tiện lợi đỡ tốn thời gian tải lại trang web nhƣng ngƣợi lại nhƣợc điểm Hacker dựa vào file cookie để lấy thông tin tài khoản Rất nguy hiểm nên tốt không để trình duyệt lƣu cookie nhƣng đa số ngƣời dùng để chế độ lƣu cookie ngƣời dùng đến nguy hiểm thấy tiện cho công việc 1.2.3.3 Proxy Hiện nay, ngƣời dùng sử dụng Internet đa số Internet trực tiếp nghĩa ngƣời dùng tự đến máy chủ hỏi xin yêu cầu Đi trƣc tiếp nhƣ có khuyết điểm băng thông tốt nhiều vấn đề băng thông nên đời khái niệm “proxy” Proxy Internet server làm nhiệm vụ chuyển tiếp thông tin kiểm soát tạo an toàn cho việc truy cập Internet máy khách, gọi khách hàng sử dụng dịch vụ Internet Trạm cài đặt proxy gọi proxy server Proxy hay trạm cài đặt proxy có địa IP cổng truy cập cố định Proxy cung cấp cho ngƣời sử dụng truy xuất Internet nghi thức đặt biệt Những chƣơng trình máy khách ngƣời sử dụng qua trung gian máy chủ proxy thay cho máy chủ thật mà ngƣời sử dụng cần giao tiếp Máy chủ proxy xác định yêu cầu từ client định đáp ứng hay không đáp ứng, yêu cầu đƣợc đáp ứng máy chủ proxy kết nối với máy chủ thật thay cho máy khách tiếp tục chuyển tiếp yêu cầu từ máy khách đến máy chủ, nhƣ trả lời máy chủ đến máy khách Vì máy chủ proxy giống cầu nối trung gian máy chủ máy khách Thƣờng máy chủ proxy đƣợc xây dựng chủ yếu công ty hay nhà cung cấp dịch vụ để phục vụ cho nhân viên khách hàng nhà cung cấp Ví dụ: ngƣời dùng Việt Nam thích vào trang facebook.com nhƣng nhà mạng lại chặn trang facebook Sở dĩ nhà mạng chặn đƣợc ngƣời dùng dựa gói tin chạy qua Router với địa đích facebook bị chặn Vậy ngƣời dùng đến trang facebook theo phƣơng thức truyền thống trực tiếp nên ngƣời dùng theo gián tiếp trỏ trang facebook đến máy chủ proxy để nhờ máy chủ proxy đến trang facebook giúp Nhƣ ngƣời dùng truy cập facebook bị nhà mạng chặn Nói nhƣ nghĩa theo kiểu proxy lợi hoàn toàn, khuyết điểm lớn mà proxy mắc phải bảo mật thằng trung gian nên biết hết thứ mà ngƣời dùng khai báo với máy chủ facebook 1.2.4 Kiến trúc ứng dụng Web Hình 1.1: Kiến trúc ứng dụng Web Một ứng dụng Web có đầy đủ thành phần nhƣ sau: Máy khách Tại máy khách muốn truy cập vào đƣợc ứng dụng web phải có trình duyệt web Có thể dùng trình duyệt Web mặc định hệ điều hành nhƣ windows Internet Explorer, Linux thƣờng Firefox, không cài thêm chƣơng trình duyệt web nhƣ Google Chrome, Opera, Máy chủ web Là nơi lƣu trữ nội dung trang web, tiếp nhận yêu cầu kết nối từ máy khách, máy chủ web sử dụng phần mềm để chạy dịch vụ web phục vụ cho máy khách nhƣ Windows có IIS, Linux có Apache, Tom cat, Ứng dụng web Ứng dụng web đƣợc viết ngôn ngữ khác nhƣ java, php, đoạn flash đơn giản để nhúng ứng dụng vào trang web Ví dụ nhƣ games online facebook hay zing Cơ sở liệu Là máy chủ đảm nhiệm việc lƣu trữ thông tin ứng dụng web lƣu trữ máy chủ web máy chủ khác nhƣng thƣờng để bảo mật ngƣời ta lƣu máy chủ khác sử dụng hệ quản trị sở liệu nhƣ SQL Server hay Oracle, Ví dụ: nhƣ chơi games online web facebook hay zing ngƣời chơi games xong thƣờng lƣu giá trị ngƣời chơi vào sở liệu ngƣời chơi muốn tiếp tục chơi truy vấn lấy sở liệu 1.2.5 Nguyên lý hoạt động ứng dụng Web Hình 1.2: Nguyên lý hoạt động ứng dụng Web 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, Acess Hoạt động ứng dụng Web: Trình duyệt: Gửi yêu cầu (request) đến trình chủ thông qua lệnh GET, POST giao thức HTTP 10 Trình chủ: Thực thi chƣơng trình đƣợc xây dựng từ nhiều ngôn ngữ nhƣ Perl, C/C++ Yêu cầu diễn dịch thực thi trang ASP, JSP, PHP Trình chủ 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 11 TÀI LIỆU THAM KHẢO Tiếng Việt Lê Đình Duy (2004), Tấn công kiểu SQL Injection – Tác hại phòng tránh, Kỷ yếu hội thảo Công nghệ thông tin 2004, Trƣờng Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh Bùi Duy Hùng (2009), Phát lỗ hổng an ninh ứng dụng Web, Đồ án tốt nghiệp, Trƣờng Đại học Bách Khoa Hà Nội Đặng Thị Thu Hƣơng (2009), Một số vấn đề bảo mật Web, Luận văn tốt nghiệp, Trƣờng Đại học Công nghệ, Đại học Quốc gia Hà Nội Võ Đỗ Thắng (2014), Web Application & Defense, Slide giảng, Trung tâm Đào tạo Quản trị mạng an ninh mạng Athena Võ Đỗ Thắng (2014), Các công cụ xác định lỗ hổng Website, Slide giảng, Trung tâm Đào tạo Quản trị mạng an ninh mạng Athena Nguyễn Duy Thắng, Nguyễn Thu Minh, Nghiên cứu số vấn đề bảo mật ứng dụng Web Internet, Luận văn tốt nghiệp, Trƣờng Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh Tiếng Anh Stuart Mcclure (2012), Hacking Exposed 7: Network Security Secrets & Solutions, VP of Operations & Strategy for the Risk & Compliance Business Unit at McAfee Kevin Spett (2002), SQL Injection - Are your web Application vulnerable?, SPI Dynamics, Inc [...]... thay tên miền cho IP và từ đó công nghệ DNS ra đời Ví dụ đơn giản để hiểu thêm tính năng của tên miền: Trong danh bạ điện thoại của chúng ta nếu chúng ta lƣu số điện thoại mà không gán với một tên thì chắc chắn một điều là chúng ta không thể nhớ hết đƣợc số điện thoại của từng ngƣời và cũng không thể nào biết đƣợc số điện thoại này là của ai nhƣng nếu chúng ta lƣu số một ai đó với một cái tên thì sau... dữ liệu và các thuộc tính, trạng thái trao đổi giữa trình duyệt và WebServer Body – phần nội dung dữ liệu mà Server gửi về Client, nó có thể là một file HTML, một hình ảnh, một đoạn phim hay một văn bản bất kỳ 11 TÀI LIỆU THAM KHẢO Tiếng Việt 1 Lê Đình Duy (2004), Tấn công kiểu SQL Injection – Tác hại và phòng tránh, Kỷ yếu hội thảo Công nghệ thông tin 2004, Trƣờng Đại học Khoa học Tự nhiên Thành... (2009), Một số vấn đề bảo mật Web, Luận văn tốt nghiệp, Trƣờng Đại học Công nghệ, Đại học Quốc gia Hà Nội 4 Võ Đỗ Thắng (2014), Web Application & Defense, Slide bài giảng, Trung tâm Đào tạo Quản trị mạng và an ninh mạng Athena 5 Võ Đỗ Thắng (2014), Các công cụ xác định lỗ hổng Website, Slide bài giảng, Trung tâm Đào tạo Quản trị mạng và an ninh mạng Athena 6 Nguyễn Duy Thắng, Nguyễn Thu Minh, Nghiên cứu một. .. việc mất mát dữ liệu với phạm vi rất rộng là cả thế giới Mỗi một lỗ hổng trên mạng đều là mối nguy hiểm tiềm tàng Từ một lổ hổng bảo mật nhỏ của hệ thống, nhƣng nếu biết khai thác và lợi dụng kỹ thuật hack điêu luyện thì cũng có thể trở thành mối tai họa 1.1.2 Kẻ tấn công là ai? Kẻ tấn công ngƣời ta thƣờng gọi là Hacker, là những kẻ tấn công vào hệ thống mạng với nhiều mục đích khác nhau Trƣớc đây Hacker... 4kb Số cookie tối đa cho một tên miền là 20 cookie Cookie bị hủy ngay khi đóng trình duyệt gọi là “session cookie” Một ví dụ về cookie: Giả sử lần đầu tiên bạn vào trang facebook.com thì máy tính của bạn sẽ tải trang này rất lâu vì nó phải tải nội dung trang web về máy của bạn Sau khi đăng nhập vào hệ thống và sử dụng nhƣ bình thƣờng Sang ngày hôm sau, vào lại trang facebook.com thì vào rất nhanh và. .. hiện mình Trong một thời điểm, họ đột nhập vào hệ thống để phá phách Nhƣng trong thời điểm khác họ có thể gửi đến nhà quản trị những thông tin về lổ hổng bảo mật và đề xuất cách vá lỗi Ranh giới phân biệt các Hacker rất mong manh Một kẻ tấn công là Hacker mũ trắng trong thời điểm này nhƣng ở thời điểm khác họ lại là một tên trộm chuyên nghiệp 1.1.3 Lỗ hổng bảo mật? Các lỗ hổng bảo mật trên một hệ thống... persistent/non-persistent do đó ta sẽ có 4 kiểu cookie là: Persistent và Secure Persistent và Non-Secure Non-Persistent và Secure Non-Persistent và Non-Secure Persistent cookie đƣợc lƣu trữ dƣới dạng tập tin txt trên máy khách trong một khoảng thời gian xác định Non-Persistent cookie thì đƣợc lƣu trữ trên bộ nhớ RAM của máy khách và sẽ bị hủy khi đóng trang web hay nhận đƣợc lệnh hủy từ trang web... thì sử dụng công nghệ web 1.0 với công nghệ này thì chỉ đƣợc đọc nội dung trang web mà ngƣời dùng không thể chỉnh sửa, bình luận hay nói cách khác website lúc bất giờ chỉ hoạt động một chiều mà thôi Hiện nay, đã phát triển công nghệ web 2.0 hoạt động hai chiều có nghĩa là ngƣời dùng cũng có thể chỉnh sửa, bình luận hay xóa nội dung trang web Trên đà phát triển đó ngƣời ta tiếp tục nghiên cứu và phát triển... online, ngân hàng trực tuyến, và bắt đầu xuất hiện những Hacker muốn thu lợi ích về phần mình từ các ứng dụng web 1.2.3 Một số thuật ngữ trong ứng dụng Web 1.2.3.1 Session Session là khoảng thời gian ngƣời sử dụng giao tiếp với một ứng dụng Session bắt đầu khi ngƣời sử dụng truy cập vào ứng dụng lần đầu tiên, và kết thúc khi ngƣời sử dụng thoát khỏi ứng dụng Mỗi session sẽ có một định danh (ID), mỗi session... quyết vấn đề này, ứng dụng web đƣa ra một khái niệm phiên làm việc (Session) Còn Session ID là một chuỗi để chứng thực phiên làm việc Một số trình chủ sẽ cung cấp một Session ID cho ngƣời dùng khi họ xem trang web trên trình chủ Để duy trì phiên làm việc thì Session ID thƣờng đƣợc lƣu vào: Biến trên URL Biến ẩn form Cookie Phiên làm việc chỉ tồn tại trong một thời gian cho phép, thời gian này