ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Ngọc Khánh
XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ CẢNH BÁO SỰ THAY ĐỔI NỘI DUNG TRANG WEB
LUẬN VĂN THẠC SĨ
Hà Nội – 2018
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN NGỌC KHÁNH
XÂY DỰNG HỆ THỐNG GIÁM SÁT VÀ CẢNH BÁO SỰ THAY ĐỔI NỘI DUNG TRANG WEB
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật Phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hướng dẫn khoa học: Tiến sĩ Lê Quang Minh
Hà Nội – 2018
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu khoa học độc lập của riêng tôi. Các số liệu sử dụng phân tích trong luận văn có nguồn gốc rõ ràng, đã công bố theo đúng quy định. Các kết quả trong luận văn do tôi tự tìm hiểu, phân tích một cách trung thực, khách quan và phù hợp với thực. Các kết quả này chưa từng được công bố trong bất kỳ nghiên cứu nào khác.
Tôi xin hoàn toàn chịu trách nhiệm với lời cam đoan của mình.
HỌC VIÊN
Nguyễn Ngọc Khánh
LỜI CẢM ƠN
Em xin chân thành cảm ơn Khoa Công nghệ thông tin trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã tạo điều kiện thuận lợi cho em học tập và thực hiện luận văn tốt nghiệp này.
Em xin bày tỏ lòng biết ơn sâu sắc đến thầy Lê Quang Minh đã tận tình hướng dẫn, chỉ bảo em trong quá trình thực hiện luận văn này.
Em xin chân thành cảm ơn quý thầy cô trong Khoa Công nghệ thông tin đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu trong những năm học vừa qua.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót. Em rất mong nhận được sự góp ý, tận tình chỉ bảo của quý thầy cô.
HỌC VIÊN
Nguyễn Ngọc Khánh
MỤC LỤC
LỜI MỞ ĐẦU7
CHƯƠNG 1: CÔNG NGHỆ WEB VÀ MỘT SỐ VẤN ĐỀ AN NINH9
1.1. Tổng quan về Website9
1.1.1. Khái niệm Web9
1.1.2. Hoạt động của Web9
1.1.3. Trình duyệt Web10
1.1.4. Địa chỉ URL10
1.1.5. HTML11
1.1.6. Tên miền12
1.2. Tổng quan về Webserver13
1.3. Tổng quan về an ninh mạng14
1.4. Một số lỗ hổng an ninh trên Website14
1.5. Một số điểm yếu bảo mật và kỹ thuật tấn công Website16
1.5.1. Tấn công SQL Injection16
1.5.2. Tấn công XSS (Cross Site Scripting)23
1.5.3. Tấn công từ chối dịch vụ DOS (Denial of Service)25
CHƯƠNG 2: TẤN CÔNG THAY ĐỔI NỘI DUNG VÀ MỘT SỐ THUẬT TOÁN PHÁT HIỆN SỰ THAY ĐỔI30
2.1. Khái niệm Tấn công thay đổi nội dung (Deface website)30
2.2. Vì sao website bị Deface?30
2.3. Thực trạng tấn công thay đổi nội dung tại Việt Nam31
2.4. Làm thế nào để phát hiện bị Deface?33
2.5. Các bước xử lý khi phát hiện bị Deface33
2.6. Một số lời khuyên để website an toàn hơn35
2.7. Một số thuật toán phát hiện sự thay đổi36
2.7.1. Hàm băm36
2.7.2. Thuật toán đối sánh chuỗi39
2.7.3. Dấu vân tay tài liệu (Document Fingerprint)40
2.7.4. Thuật toán Rabin Fingerprint41
2.7.5. Thuật toán Rabin Fingerprint cải tiến43
2.7.6. Thuật toán tìm sự khác nhau của hai văn bản “An O(ND) Difference Algorithm”44
2.7.7. Thuật toán tìm sự khác nhau của hai hình ảnh45
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 WEB47
3.1. Giới thiệu47
3.2. Xác định mô hình phát triển48
3.3. Khảo sát49
3.4. Mô tả yêu cầu hệ thống50
3.4.1. Các yêu cầu chức năng50
3.4.2. Các yêu cầu phi chức năng51
3.5. Biểu đồ usecase51
3.6. Thiết kế cơ sở dữ liệu52
3.7. Công cụ và môi trường phát triển53
3.7.1. Kiến trúc .NET framework53
3.7.2. Ngôn ngữ C#54
3.7.3. SQLite55
3.8. Xây dựng hệ thống55
3.8.1. Hệ thống So sánh thay đổi nội dung mã nguồn web55
3.8.2. Hệ thống chuyển đổi Trang web thành hình ảnh57
3.8.3. Hệ thống So sánh thay đổi nội dung hình ảnh trang web58
3.8.4. Hệ thống Quản lý thời gian thực58
3.8.5. Hệ thống Lưu dữ liệu59
3.9. Thiết kế giao diện60
3.10. Thử nghiệm và những kết quả đạt được62
DANH MỤC HÌNH ẢNH
Hình 1. Một số Webserver thông dụng13
Hình 2. Mô hình tấn công SQL Injection17
Hình 3. Mô hình tấn công XXS (Cross-Site Scripting)24
Hình 4. Một mô hình tấn công từ chối dịch vụ DOS26
Hình 5. Mô hình tấn công SYNFlood Attack28
Hình 6. Giao diện Website Sở KH&CN BR- VT bị tấn công32
Hình 7. Giao diện Website sân bay Tuy Hòa bị tấn công32
Hình 8. Sơ đồ Merkel-Damgard38
Hình 9. Mô tả thuật toán Rabin Fingerprint43
Hình 10. Minh hoạ cải tiến giải thuật44
Hình 11. Mô hình thác nước49
Hình 12. Biểu đồ usecase51
Hình 13. Biểu đồ trình tự kiểm tra trang web52
Hình 14. Biểu đồ trình tự so sánh nội dung52
Hình 15. Giao diện phần mềm60
Hình 16. Giao diện thêm trang web61
Hình 17. Giao diện thêm so sánh sự khác nhau về hình ảnh61
Hình 18. Giao diện thêm so sánh sự khác nhau của mã nguồn62
DANH MỤC BẢNG
Bảng 1. Lịch sử phát triển .NET framework54
Bảng 2. Kết quả thử nghiệm lần 163
Bảng 3. Kết quả thử nghiệm lần 263
Bảng 4. Kết quả thử nghiệm lần 363
Bảng 5. Kết quả thử nghiệm tại máy tính của trường THCS Dịch Vọng Hậu64
LỜI MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, công nghệ thông tin ngày càng phát triển, kéo theo đó là sự phát triển của mạng máy tính và đặc biệt là internet ngày càng đa dạng và phong phú.
Trên mạng Internet, các tiện ích và dịch vụ đã thâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội. Các tiện ích và dịch vụ đó hầu hết đều rất đa dạng về nội dung và hình thức, chứa đựng rất nhiều thông tin, trong đó không ít thông tin cần được bảo mật cao bởi tính kinh tế, tính chính xác và tính tin cậy của nó.
Cùng với sự đa dạng và phong phú đó, các hình thức tấn công và phá hoại mạng cũng ngày càng trở lên tinh vi và phức tạp. Từ thực tế đó, với những người quản trị mạng hệ thống, nhiệm vụ đảm bảo an toàn hệ thống là hết sức quan trọng và cần thiết. Xuất phát từ thực tế đó, đề tài sẽ tìm hiểu về một số kiểu tấn công phổ biến hiện nay và cách phòng chống các loại tấn công đó.
Thông qua việc nghiên cứu một số phương pháp tấn công và cách bảo mật các loại tấn công đó, tôi mong muốn góp một phần nhỏ vào việc nghiên cứu và tìm hiểu về các vấn đề phát hiện tấn công làm thay đổi nội dung trang web và đưa ra cảnh báo sớm có ý nghĩa giúp cho việc duy trì các trang web trên hệ thống máy chủ được ổn định.
2. Mục tiêu
Mục tiêu của luận văn là nghiên cứu, tìm hiểu tổng quan về website, các mối đe dọa về an toàn thông tin khi làm việc trên ứng dụng web, hiểu thêm về các kỹ thuật tấn công và bảo mật website. Từ đó có sự đánh giá một cách tổng quan, để áp dụng các chính sách về bảo mật website và an toàn dữ liệu cho hệ thống. Đồng thời xây dựng và phát triển hệ thống phát hiện sớm các tấn công làm thay đổi nội dung trang web từ đó đưa ra các cảnh báo sớm giúp cho người quản trị web biết được có sự thay đổi bất thường và đưa ra các biện pháp làm cho hệ thống bảo mật tốt hơn.
3. Bố cục luận văn:
Chương 1: Tổng quan về website.
Trong chương 1 luận văn nêu lên một số các khái niệm cơ bản về web, thực trạng an ninh Web trên thế giới và tại Việt Nam, một số lỗ hổng an ninh trên Website, một số điểm yếu bảo mật và kỹ thuật tấn công Website.
Chương 2: Tấn công thay đổi nội dung và một số thuật toán phát hiện sự thay đổi
Trong chương 2 luận văn nêu khái niệm tấn công thay đổi nội dung, nguyên nhân và cách khắc phục cùng với một số thuật toán phát hiện sự thay đổi đó.
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 nội dung trang web.