Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
1,86 MB
Nội dung
CHƯƠNG 1: CÔNG NGHỆ WEB VÀ MỘT SỐ VẤN ĐỀ AN NINH 1.1 Tổng quan Website 1.1.1 Khái niệm Web Web viết tắt World Wide Web, mạng lưới tồn cầu mà người truy cập (đọc viết) qua máy tính thiết bị kết nối với mạng Internet Thuật ngữ thường hiểu nhầm từ đồng nghĩa với thuật ngữ Internet, thực web dịch vụ chạy Internet (Theo wikipedia.org) 1.1.2 Hoạt động Web Thơng qua trình duyệt, người máy chủ kết nối với địa URL Tùy theo yêu cầu khác nhau, ứng dụng web gửi yêu cầu đến máy chủ, máy chủ xử lý gửi liệu trình duyệt, sau người dùng nhận thơng tin hiển thị trình duyệt 1.1.3 Trình duyệt Web Như nêu, trình duyệt Web phần mềm cho phép người dùng truy cập trang web, tương tác với nội dung trang web văn bản, hình ảnh, đoạn phim, nhạc, trị chơi thơng tin khác Trong trang web chứa liên kết tới nội dung khác trang web khác Để hiển thị nội dung web, trang web phải định dạng dạng HTML 1.1.4 Địa URL URL viết tắt Uniform Resource Locator (dịch Định vị Tài nguyên thống nhất), URL dùng Internet để tham chiếu tới tài nguyên đó, mang lại khả liên kết cho trang mạng Các tài nguyên sử dụng địa để tham chiếu, URL, cịn tên gọi địa mạng, liên kết mạng hay gọn liên kết 1.1.5 HTML HTML chữ viết tắt cụm từ HyperText Markup Language (Ngôn ngữ đánh dấu siêu văn bản) sử dụng để tạo trang web, website chứa nhiều trang trang quy tài liệu HTML Cha đẻ HTML Tim Berners-Lee, người khai sinh World Wide Web chủ tịch World Wide Web Consortium (W3C – tổ chức thiết lập chuẩn môi trường Internet) 1.1.6 Tên miền Tên miền dịch vụ có mục đích cung cấp hình thức đại diện, dùng tên dễ nhận biết, dễ nhớ thay cho tài nguyên Internet mà đa số địa số Với cách cho phép tài nguyên nói chung, website nói riêng di chuyển đến địa vật lý khác cấu trúc liên kết địa mạng, toàn cầu cục mạng intranet Việc dịch từ tên miền sang địa IP ngược lại hệ thống DNS toàn cầu thực (Theo wikipedia.org) 1.2 Tổng quan Webserver Webserver (máy chủ web) từ dùng để phần mềm máy chủ, phần cứng dành riêng để chạy phần mềm máy chủ, để từ cung cấp dịch vụ World Wide Web Một máy chủ web xử lí yêu cầu (request) từ client (trong mơ hình server - client) thông qua giao thức HTTP số giao thức liên quan khác Một số Webserver thông dụng nay: Hình Một số Webserver thơng dụng 1.3 Tổng quan an ninh mạng 1.3.1 Khái niệm an tồn an ninh mạng Với máy tính thường yêu cầu công bảo vệ liệu máy tính phần mềm diệt virus hay phần quyền truy cập hệ thống người dùng, với hệ thống máy tính nối mạng cần địi hỏi nhiều hơn, ví dụ 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 cần phát ngăn chặn thay đổi liệu trình truyền hệ thống An ninh mạng dây quy trình, sản phẩm, hay sách mà kết hợp sản phẩm quy trình có hỗ trợ sách quy định 1.3.2 Sự cần thiết phải bảo vệ thông tin Trong thời đại công nghệ thông tin, doanh nghiệp hay tổ chức có yếu tố quan trong, cần bảo vệ như: - Tài nguyên: người, hệ thống đường truyền - Dữ liệu - Danh tiếng công ty Nếu không thực xác định tầm quan trọng vấn đề an toàn thơng tin 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.4 Một số lỗ hổng an ninh Website Các lỗ hổng bảo mật có hệ thống điểm yếu mà dựa vào đó, kẻ cơng cơng hệ thống, thêm quyền cho phép truy nhập không hợp pháp vào hệ thống Các lỗ hổng bảo mật nhiều nơi hệ thống, dịch vụ, tiện ích web, mail, file ứng dụng, hệ điều hành - Lỗ hổng loại C: lỗ hổng loại cho phép thực phương thức công từ chối dịch vụ theo (DoS Dinal of Services) Loại lỗ hổng có mức độ nguy hiểm thuộc loại thập, đa phần ảnh hưởng đến tốc độ chất lượng dịch vụ, nặng làm gián đoạn hoạt động hệ thống, không gây mất, hỏng liệu hay chiếm quyền cập bất hợp pháp - Lổ hổng loại B: lỗ hổng loại gây tượng người sử dụng có thêm quyền bất hợp pháp khơng cần kiểm tra hợp lệ - Lỗ hổng loại A: Các lỗ hổng loại cho phép người sử dụng ngồi truy nhập vào hệ thống bất hợp pháp, thay đổi, xóa làm phá hủy toàn hệ thống 1.5 Một số điểm yếu bảo mật kỹ thuật công Website 1.5.1 Tấn công SQL Injection 1.5.1.1 SQL Injection SQL injection hiểu cách cơng, kẻ công lợi dụng lỗ hổng xử lý liệu nhập trang web để "tiêm vào" (inject) câu lênh SQL bất hợp pháp thi hành câu lệnh Hình Mơ hình công SQL Injection 1.5.1.2 Các dạng công SQL Injection SQL Injection có dạng cơng thường gặp, là: sử dụng câu lệnh INSERT, sử dụng câu lệnh SELECT, vượt qua kiểm tra lúc đăng nhập, sử dụng stored-procedures 1.5.1.3 Cách phịng chống cơng SQL Như vậy, thấy lỗi SQL injection khai thác bất cẩn lập trình viên phát triển ứng dụng web xử lí liệu nhập vào để xây dựng câu lệnh SQL Tác hại từ lỗi SQL injection tùy thuộc vào môi trường cách cấu hình hệ thống Nếu ứng dụng sử dụng quyền dbo (quyền người sở hữu sở liệu - owner) thao tác liệu, xóa tồn bảng liệu, tạo bảng liệu mới, … Nếu ứng dụng sử dụng quyền sa (quyền quản trị hệ thống), điều khiển toàn hệ quản trị sở liệu với quyền hạn rộng lớn tạo tài khoản người dùng bất hợp pháp để điều khiển hệ thống bạn 1.5.2 Tấn cơng XSS (Cross Site Scripting) 1.5.2.1 XSS XSS viết tắt Cross-Site Scripting, kĩ thuật công mà kẻ công chèn vào website động đoạn mã thực thi câu lênh bất hợp pháp Các đoạn mã thường viết JavaScript, DHTML, JScript thẻ HTML 1.5.2.2 Tấn cơng XSS + Nhận biết website bị mắc lỗi XSS: Thường XSS xảy nơi mà người dùng nhập liệu vào, sau nhận kết Nên thường kiểm tra ô đăng nhập (login form) đầu vào Khi nhập chuỗi kí tự mà kết server trả có dính tới chuỗi mà bạn nhập có khả trang bị mắc lỗi XSS Hình Mơ hình cơng XXS (Cross-Site Scripting) 1.5.2.3 Phịng chống công XSS Nếu sử dụng mã nguồn xây dựng sẵn, truy cập trang web securityfocus.com, securiteam.com, để tham khảo danh sách lỗ hổng bảo mật Tuy nhiên áp dụng phương pháp tự viết mã nguồn website Trong trường hợp cần dùng đến chương trình dị tìm kiếm (scanner) tự động Nếu sử dụng mơi trường Windows, có chương trình qt tìm chất lượng AppScan hay N-Stealth, khơng tìm lỗi XSS mà cịn kiểm tra lỗi khác website 1.5.3 Tấn cơng từ chối dịch vụ DOS (Denial of Service) 1.5.3.1 Khái niệm Tấn công DOS kiểu công mà kẻ công làm cho hệ thống sử dụng, làm cho hệ thống chậm cách đáng kể so với bình thường, cách làm tải tài nguyên hệ thống 1.5.3.2 Mục đích công DOS Hầu hết công DOS chiếm băng thông mạng làm ngập (flood) hệ thống mạng, u cầu dịch vụ bình thường hệ thống khơng cịn khả đáp ứng, chúng gây ngắt kết nối máy tính, q trình truy cập vào dịch vụ bị gián đoạn Hình Một mơ hình cơng từ chối dịch vụ DOS 1.5.3.3 Tấn công từ chối dịch vụ DOS Là phương thức xuất đầu tiên, giản đơn kiểu công từ chối dịch vụ Các kiểu công thuộc phương thức đa dạng: + Tấn công chiếm dụng tài nguyên (Resource Depletion): + Tấn cơng SYN: Hình Mơ hình công SYNFlood Attack + Tấn công chiếm dụng băng thông: 1.5.3.4 Phịng chống cơng DOS - Giai đoạn ngăn ngừa gồm: tối thiểu hóa lượng Agent, tìm vơ hiệu hóa Handler - Giai đoạn đối đầu: phát cơng, lúc cần ngăn chặn, làm suy giảm, dừng chuyển hướng công - Giai đoạn sau công: sau công sảy cần phân tích liệu để tìm chứng rút kinh nghiệm để phịng chống cơng sau 10 - Theo thay đổi pattern văn + Pattern thay đổi, văn cố định + Pattern cố định, văn thay đổi + Pattern thay đổi, văn thay đổi 2.7.3 Dấu vân tay tài liệu (Document Fingerprint) Trong khoa học máy tính, dấu vân tay nhận dạng liệu gốc cho tất mục đích thực tiễn giống việc nhận dạng dấu vân tay người thực tế Dấu vân tài liệu tập hợp mã sinh tù khóa nội dung tài liệu Mỗi mã gọi giá trị băm 2.7.4 Thuật toán Rabin Fingerprint Thuật toán Rabin Fingerprint nhiều thuật toán Fingerprint thực khóa cơng khai sử dụng đa thức trường giới hạn Thuật toán Rabin Fingerprint điển hình tạo giá trị băm từ chuỗi trang web (web pages), thuật toán nhanh dễ để thực thi, kèm với phân tích xác toán học xác suất đụng độ (hai tập tin có dấu vân tay giống nhau) 16 Hình Mơ tả thuật toán Rabin Fingerprint 2.7.5 Thuật toán Rabin Fingerprint cải tiến Thuật toán cải tiến đề xuất hệ thống sau: Đầu vào: Tài liệu (trang web công khai) Đầu ra: Dấu vân tay tài liệu (các giá trị băm tài liệu đó) Bước 1: Bắt đầu Bước 2: Xử lý văn bản, xoá hết tất khoảng trắng kí tự đặc biệt (như: , %, !, …) từ mã HTML (mã trang web) để thu khối văn túy (pure text block) Bước 3: Từ văn ban M, chia thành K khối với kích thước n khối (n nguyên dương) Bước 4: Tính mã băm cho chuỗi con: Bước 5: Lưu lại giá trị băm Bước 6: Kết thúc 17 Hình Minh hoạ cải tiến giải thuật 2.7.6 Thuật tốn tìm khác hai văn "An O(ND) Difference Algorithm" Thuật toán xuất lần cách 30 năm tựa đề "An O(ND) Difference Algorithm and its Variations" Eugene Myers, Algorithmica Vol số 2, 1986, trang 251 Trong này, tác giả có đề cập đến định nghĩa thuật toán theo cách đệ quy, sử dụng số mã ngôn ngữ lập trình có 2.7.7 Thuật tốn tìm khác hai hình ảnh Việc tìm khác hai hình ảnh so sánh trực tiếp điểm ảnh hai ảnh 18 CHƯƠNG 3: XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ CẢNH BÁO SỰ THAY ĐỔI NỘI DUNG TRANG WEB Trong chương luận văn nêu khái niệm công thay đổi nội dung, nguyên nhân cách khắc phục với số thuật tốn phát thay đổi Từ thuật tốn đó, tơi nghiên cứu xây dựng hệ thông giám sát cảnh báo thay đổi nội dung trang web giới thiệu Chương 3.1 Giới thiệu Luận văn đề xuất xây dựng hệ thống giám sát website nhằm phát kịp thời công (như nêu) hệ thống đa kiểm tra dựa nhiều thuật toán nhằm phát thay đổi để đảm bảo tính tồn vẹn trang web đồng thời tạo thông điệp cảnh báo có ý nghĩa phục hồi lại trang web bị cơng 3.2 Xác định mơ hình phát triển Mơ hình phát triển phần mềm thể trừu tượng quy trình phần mềm Nó biểu diễn đặc tả quy trình từ khía cạnh cụ thể; đó, cung cấp phần thơng tin quy trình phần mềm Các pha mơ hình thác nước bao gồm: - Phân tích xác định yêu cầu - Thiết kế hệ thống phần mềm - Cài đặt kiểm thử đơn vị - Tích hợp kiểm thử hệ thống - Vận hành bảo trì 19 Hình 10 Mơ hình thác nước 3.3 Khảo sát Tác giả khảo sát số công ty, doanh nghiệp, người quản lý website để tìm hiểu nhu cầu thực tế phần mềm 3.4 Mô tả yêu cầu hệ thống 3.4.1 Các yêu cầu chức + Quản lý danh sách trang web: gồm thông tin địa tên trang web, thời gian kiểm tra, khu vực kiểm tra + Giám sát: + Hiển thị kết quả: + Cảnh báo + Quản lý liệu hệ thống: 3.4.2 Các yêu cầu phi chức + Ổn định, chạy lâu dài + Tương thích với phiên Windows 20 + Giao diện đẹp, thân thiện, dễ sử dụng 3.5 Biểu đồ Hình 11 Biểu đồ usecase Hình 12 Biểu đồ trình tự kiểm tra trang web 21 Hình 13 Biểu đồ trình tự so sánh nội dung 3.6 Thiết kế sở liệu Để lưu liệu trình giám sát web, chương trình sử dụng sở liệu SQLite, với bảng Web LichSu 3.7 Công cụ môi trường phát triển 3.7.1 Kiến trúc NET framework NET Framework sản phẩm Microsoft, vừa tảng dành cho lập trình tảng dành cho thực thi, ứng dụng NET Framework chủ yếu chay hệ điều hành Microsoft Windows 22 .NET framework chưa thư viện lập trình lớn, thư viện hỗ trợ nhiều việc xây dựng chương trình phần mềm lập trình giao diện; truy cập, kết nối sở liệu; ứng dụng web; giải thuật, cấu trúc liệu; giao tiếp mạng 3.7.2 Ngôn ngữ C# C# (đọc "C thăng" hay "C sharp" ("xi-sáp")) sản phẩm Microsoft, ngơn ngữ lập trình hướng đối Microsoft phát triển C# dựa C++ Java, nhiều người nhận xét C# ngơn ngữ có cân C++, Java Visual Basic 3.7.3 SQLite SQLite sản phẩm Richard Hipp, hệ thống sở liệu quan hệ Đặc điểm SQLite tính nhỏ gọn, hồn chỉnh, cài đặt bên trình ứng dụng khác dạng thư viện 3.8 Xây dựng hệ thống Bằng cách sử dụng thuật toán nghiên cứu, xây dựng hàm để thực công việc cụ thể: 3.8.1 Hệ thống So sánh thay đổi nội dung mã nguồn web Việc so sánh thay đổi nội dung mã nguồn, so sánh toàn mã nguồn so sánh phần nội dung (VD: nội dung xuất giao diện, bỏ qua thẻ ) Hai phần có trình, khác so sánh phần nội dung cần có thêm bước tiền xử lý 23 Sau có phần văn cần so sánh sử dụng thuật toán Rabin Fingerprint cải tiến để lấy giá trị băm văn để so sánh chúng với nhau, giá trị băm khác hai văn khác có thay đổi Nếu phát sử thay đổi, sử dụng Thuật tốn tìm khác hai văn để tìm chỗ thay đổi 3.8.2 Hệ thống chuyển đổi Trang web thành hình ảnh Trong c# có hỗ trợ cơng cụ giúp chuyển đổi Trang web thành hình ảnh 3.8.3 Hệ thống So sánh thay đổi nội dung hình ảnh trang web Sau có hình ảnh trang web, sử dung Thuật tốn tìm khác hai hình ảnh cải tiến để tìm khác hai ảnh, giá tri trả ảnh bôi đỏ chỗ thay đổi 3.8.4 Hệ thống Quản lý thời gian thực Sử dụng công cụ Timer c# để liên tục kiểm tra thay đổi 24 3.9 Thiết kế giao diện Hình 14 Giao diện phần mềm Hình 15 Giao diện thêm trang web 25 Hình 16 Giao diện thêm so sánh khác hình ảnh Hình 17 Giao diện thêm so sánh khác mã nguồn 3.10 Thử nghiệm kết đạt - Tiến hành thử nghiệm máy tính tác giả: + Kịch bản: Chạy chương trình giờ, giờ, ngày với thời gian kiểm tra 10 phút/lần, vùng kiểm tra vùng chứa nội dung chính, có lưu liệu mã nguồn, ảnh chụp website với trang web: 26 dantri.com: website TW Hội Khuyến học Việt Nam google.com: website tìm kiếm google vietnamairlines.com: website Tổng công ty Hàng không Việt Nam thcsdichvonghau.com: (web trường THCS Dịch Vọng Hậu, nơi tác giả công tác) + Kết thử nghiệm: Lần 1, chạy từ 19h00 đến 20h05 ngày 24/04/2018 STT Website dantri.com google.com vietnamairlines.com thcsdichvonghau.com Số lần KT 7 7 Số lần phát thay đổi 0 chiếm nhớ RAM tổng dung lượng ổ cứng Tình trạng bất thường 206 KB 6,1 MB Khơng Kết luận Bảng Kết thử nghiệm lần Lần 2, chạy từ 14h00 đến 19h05 ngày 25/04/2018 STT Website dantri.com google.com vietnamairlines.com thcsdichvonghau.com Số lần KT 31 31 31 31 Số lần phát thay đổi chiếm nhớ RAM tổng dung lượng ổ cứng Tình trạng bất thường 208 KB 26,3 MB Không Kết luận Bảng Kết thử nghiệm lần Lần 3, chạy ngày từ 19h00 ngày 26/04/2018 đến 19h05 ngày 27/04/2018 27 STT Website dantri.com google.com vietnamairlines.com thcsdichvonghau.com Số lần KT 145 145 145 145 Số lần phát thay đổi 18 chiếm nhớ RAM tổng dung lượng ổ cứng Tình trạng bất thường 207 KB 124,7 MB Không Kết luận Bảng Kết thử nghiệm lần + Kết luận: Hệ thống chạy ổn định, khơng bị lỗi, cảnh báo xác âm phát thay đổi, mức độ chiếm nhớ RAM ổn định, không tăng hệ thống chạy lâu dài, dung lượng lưu trữ liệu kiểm tra website ổ cứng trung bình 200KB/lần kiểm tra (gồm ảnh chụp, liệu lưu database) Nếu tiến độ kiểm tra 10 phút/lần ngày website lưu liệu tốn 30MB dung lượng 28 KẾT LUẬN Qua đề tài này, nhờ hướng dẫn tận tình thầy Lê Quang Minh 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, em có thêm nhiều kiến thức kinh nghiệm vấn đề web an ninh việc xây dựng hệ thống phần mềm lĩnh vực này, cụ thể: - Về mặt lý thuyết: + Hiểu Website, an ninh mạng, lỗ hổng bảo mật kỹ thuật cơng cách phịng chống + Hiểu số thuật toán phát thay đổi, ứng dụng + Củng cố kiến thức lập trình đặc biệt ngơn ngữ C#, kiến trúc NET framework hệ thống sở liệu quan hệ SQLite - Về mặt ứng dụng: + Giải yêu cầu đặt + Đã thử nghiệm hệ thống thực tế, đáp ứng yêu cầu người dùng Tuy nhiên giới hạn thời gian có nhiều kiến thức chưa thể nghiên cứu hết, hệ thống giám sát nhiều hạn chế cần nghiên cứu, cải tiến phiên tiếp theo, hướng phát triển: + Tiếp tục cải thiện, nâng cao tính xác hệ thống + Thêm chức giám sát thay đổi mã nguồn (PHP, ASP ) 29 + Khi có thay đổi, đánh giá mức độ nguy hiểm thay đổi để cảnh báo + Xây dựng chức lưu liệu server, đăng nhập tài khoản online để thuận tiện cho việc quản lý 30 ... 3: XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ CẢNH BÁO SỰ THAY ĐỔI NỘI DUNG TRANG WEB Trong chương luận văn nêu khái niệm công thay đổi nội dung, nguyên nhân cách khắc phục với số thuật toán phát thay đổi. .. cứu xây dựng hệ thông giám sát cảnh báo thay đổi nội dung trang web giới thiệu Chương 3.1 Giới thiệu Luận văn đề xuất xây dựng hệ thống giám sát website nhằm phát kịp thời công (như nêu) hệ thống. .. Deface thay đổi hồn nội dung trang web, người sử dụng phát thấy thay đổi website Nhưng hacker thay đổi phần nhỏ, không thay đổi giao diện, thay đổi đường dẫn, chí tải mã độc lên trang web người