Đăng ký Đăng nhập
Trang chủ Giáo dục - Đào tạo Cao đẳng - Đại học Công nghệ thông tin Nghiên cứu phát hiện lỗ hổng bảo mật web và thử nghiệm...

Tài liệu Nghiên cứu phát hiện lỗ hổng bảo mật web và thử nghiệm

.PDF
82
172
101

Mô tả:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- NGUYỄN THỊ THÁI NGHIÊN CỨU PHÁT HIỆN LỖ HỔNG BẢO MẬT WEB VÀ THỬ NGHIỆM LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI – 2019 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- NGUYỄN THỊ THÁI NGHIÊN CỨU PHÁT HIỆN LỖ HỔNG BẢO MẬT WEB VÀ THỬ NGHIỆM CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH MÃ SỐ: 8.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. VŨ VĂN THỎA HÀ NỘI – 2019 i LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Nội dung của luận văn có tham khảo và sử dụng các tài liệu, thông tin được đăng tải trên những tạp chí khoa học và các trang web được liệt kê trong danh mục tài liệu tham khảo. Tất cả các tài liệu tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình. Hà nội, ngày 28 tháng 01năm 2019 Người cam đoan Nguyễn Thị Thái ii LỜI CẢM ƠN Trong quá trình thực hiện luận văn này, em luôn nhận được sự hướng dẫn, chỉ bảo rất tận tình của Thầy TS. Vũ Văn Thỏa, Khoa Đào tạo sau đại học là cán bộ trực tiếp hướng dẫn khoa học cho em. Thầy đã dành nhiều thời gian trong việc hướng dẫn cách nghiên cứu, đọc tài liệu, cài đặt các thuật toán và giúp đỡ về xây dựng hệ thống thực nghiệm. Em xin chân thành cảm ơn các Thầy, Cô giáo trong Học viện Công nghệ Bưu chính Viễn thông đã luôn nhiệt tình giúp đỡ và tạo điều kiện tốt nhất cho em trong suốt quá trình học tập tại trường. Xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học – trong Học viện đã luôn động viên, giúp đỡ và nhiệt tình chia sẻ với em những kinh nghiệm học tập, công tác trong suốt khoá học. Em cũng xin chân thành cảm ơn các vị lãnh đạo và các bạn đồng nghiệp tại cơ quan đã luôn tạo mọi điều kiện tốt nhất để em có thể hoàn thành tốt đẹp khoá học Cao học này. Em xin chân thành cảm ơn ! Hà Nội, ngày 28 tháng 01 năm 2019 iii MỤC LỤC LỜI CAM ĐOAN ....................................................................................................... i LỜI CẢM ƠN ............................................................................................................ii DANH SÁCH CÁC HÌNH VẼ .................................................................................. vi DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT .......................................................vii MỞ ĐẦU .................................................................................................................... 1 CHƯƠNG 1: TỔNG QUAN VỀ TẤN CÔNG LỖ HỔNG BẢO MẬT WEBSITE 5 1.1. Tổng quan về công nghệ Web ......................................................................... 5 1.1.1. Giới thiệu chung ........................................................................................ 5 1.1.2. Dịch vụ và cơ chế hoạt động Web ............................................................ 6 1.1.3. Công nghệ web 2.0 .................................................................................... 8 1.1.4. Công nghệ web 3.0 .................................................................................... 9 1.2 Một số phương thức tấn công lỗ hổng bảo mật website ................................. 10 1.2.1 Giới thiệu chung ....................................................................................... 10 1.2.2 Các phương thức tấn công lỗ hổng bảo mật website ................................ 11 1.2.3 Nhận xét và đánh giá ................................................................................ 16 1.3 Một số nguyên nhân gây ra các lỗ hổng bảo mật website .............................. 16 1.3.1 Nguyên nhân do nền tảng xây dựng website ............................................ 16 1.3.2 Nguyên nhân do hạ tầng cung cấp dịch vụ web ....................................... 17 1.3.3 Nguyên nhân do người vận hành và sử dụng dịch vụ web ...................... 18 1.3.4 Nhận xét và đánh giá ................................................................................ 18 1.4. Kết luận chương 1 .......................................................................................... 19 Chương 2: NGHIÊN CỨU GIẢI PHÁP PHÁT HIỆN LỖ HỔNG BẢO MẬT WEBSITE ................................................................................................................. 20 2.1. Tổng quan về phát hiện lỗ hổng bảo mật Website ........................................ 20 2.1.1 Giới thiệu chung ....................................................................................... 20 2.1.2 Mô hình phát hiện lỗ hổng bảo mật Website ........................................... 21 2.2. Giải pháp sử dụng công cụ phần mềm dò quét .............................................. 24 2.2.1 Giới thiệu giải pháp .................................................................................. 24 2.2.2 Một số phần mềm phát hiện lỗ hổng bảo mật Website ............................ 25 2.2.3 Nhận xét ................................................................................................... 29 iv 2.3 Giải pháp sử dụng hệ thống phát hiện xâm nhập ........................................... 29 2.3.1 Giới thiệu hệ thống phát hiện xâm nhập .................................................. 29 2.3.2 Ứng dụng hệ thống IDS phát hiện lỗ hổng bảo mật Website ................... 33 2.3.3 Nhận xét ................................................................................................... 37 2.4 Giải pháp sử dụng các kỹ thuật học máy ........................................................ 37 2.4.1 Giới thiệu về học máy .............................................................................. 37 2.4.2 Ứng dụng các kỹ thuật học máy phát hiện lỗ hổng bảo mật Website ...... 40 2.4.3 Nhận xét ....................................................................................................... 43 2.4. Kết luận chương 2. ......................................................................................... 43 Chương 3: THỬ NGHIỆM ...................................................................................... 44 3.1. Yêu cầu thử nghiệm ....................................................................................... 44 3.1.1. Đặt bài toán ............................................................................................. 44 3.1.2. Giới thiệu chung về Python ..................................................................... 45 3.2. Kịch bản thử nghiệm 1: Thử nghiệm dò quét các cổng website đang mở .... 47 3.2.1. Bài toán thử nghiệm 1 ............................................................................. 47 3.2.2. Kết quả thử nghiệm 1 .............................................................................. 48 3.2.3. Đánh giá kết quả thử nghiệm 1 ............................................................... 51 3.3. Kịch bản thử nghiệm 2: Thử nghiệm tấn công website bằng phương thức DDoS .................................................................................................................... 51 3.3.1. Bài toán thử nghiệm 2 ............................................................................. 51 3.3.2. Kết quả thử nghiệm 2 .............................................................................. 52 3.3.3. Đánh giá kết quả thử nghiệm 2 ............................................................... 55 3.4. Kịch bản thử nghiệm 3: Thử nghiệm phát hiện lỗ hổng bảo mật SQL Injection ................................................................................................................ 56 3.4.1. Bài toán thử nghiệm 3 ............................................................................. 56 3.4.2. Kết quả thử nghiệm 3 .............................................................................. 57 3.4.3. Đánh giá kết quả thử nghiệm 3 ............................................................... 62 3.5. Kịch bản thử nghiệm 4: Thử nghiệm kiểm tra lỗi trang website bằng phương pháp Google Hacking ........................................................................................... 62 3.5.1. Bài toán thử nghiệm 4 ............................................................................. 62 3.5.2. Kết quả thử nghiệm 4 .............................................................................. 62 3.5.3. Đánh giá kết quả thử nghiệm 4 ............................................................... 65 v 3.6. Kịch bản thử nghiệm 5: Thử nghiệm đề xuất hệ thống IDS sử dụng Snort .. 66 3.6.1. Bài toán thử nghiệm 5 ............................................................................. 66 3.6.2. Kết quả thử nghiệm 5 ............................................................................. 67 3.6.3. Đánh giá kết quả thử nghiệm 5 .............................................................. 70 3.7. Kết luận chương 3 .......................................................................................... 70 KẾT LUẬN .............................................................................................................. 71 DANH MỤC CÁC TÀI LIỆU THAM KHẢO ........................................................ 72 vi DANH SÁCH CÁC HÌNH VẼ Hình 1.1. Dịch vụ Web Service[10]. .......................................................................... 7 Hình 1.2. Cơ chế hoạt động của Web Service[10]. .................................................... 7 Hình 1.3. Các loại hình dịch vụ phổ biến trên nền web 2.0 [10] ............................... 8 Hình 1.4. Tiến trình phát triển công nghệ web (Nguồn Internet) ............................ 10 Hình 2.2: Sơ đồ thực hiện tấn công lỗ hổng cơ sở dữ liệu SQL trên web ............... 25 Hình 2.3: Giao diện phần mềm Havaij quét lỗ hổng bảo mật web .......................... 26 Hình 2.4: Giao diện phần mềm Havij khai thác được tên và mật khẩu người dùng 27 Hình 2.5: Giao diện phần mềm WVS khai thác lỗ hổng bảo mật website .............. 28 Hình 2.6: Giao diện khởi động file sqlmap.py ......................................................... 28 Hình 2.7: Các thành phần của hệ thống IDS [4] ...................................................... 30 Hình 2.7: Mô hình hệ thống HIDS ........................................................................... 31 Hình 2.8: Mô hình hệ thống NIDS ........................................................................... 31 Hình 2.9: Mô hình hệ thống IDS phát hiện lỗ hổng bảo mật ................................... 36 Hình 2.10: Mô hình tấn công SQLi sử dụng chèn tham số ...................................... 41 Hình 2.11: Mô hình phát hiện tấn công SQLi sử dụng SVM …………………….. 43 Hình 3.4: Giao diện trang website trước khi bị tấn công ......................................... 52 Hình 3.7: Kết quả phát hiện lỗi trang web có tổn thương SQL Injection ................ 58 Hình 3.11: Trang giao diện truy xuất được tên và mật khẩu trong Database .......... 61 Hình 3.12: Hiển thị những trang website bị lỗi truy xuất hình ảnh ......................... 64 Hình 3.13: Trang website bị lỗi truy xuất hình ảnh ................................................. 65 Hình 3.14: Website bị lỗi truy xuất hình ảnh ........................................................... 65 Hình 3.15: Mô hình thử nghiệm hệ thống IDS sử dụng Snort ................................. 66 Hình 3.16: Cài đặt Snort (Bước 1) ........................................................................... 67 Hình 3.17: Cài đặt Snort (Bước 2) ........................................................................... 68 Hình 3.18: Cài đặt Snort (Bước 3) ........................................................................... 68 Hình 3.19: Cài đặt Snort (Bước 4) ........................................................................... 69 Hình 3.20: Cài đặt Snort (Bước 5) ........................................................................... 69 Hình 3.21: Kết quả thực hiện Snort ......................................................................... 70 vii DANH MỤC CÁC THUẬT NGỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng việt APT Advanced Persistent Threat Mối đe dọa nâng cao DDoS Distribute Denial of Service Tấn công từ chối dịch vụ phân tán DMZ Demilitarized Zone Vùng nhận dạng DoS Denial of Service Tấn công từ chối dịch vụ Hyper Text Transfer Protocol Giao thức truyền tải siêu văn bản IDS Intrusion detection system Hệ thống phát hiện xâm nhập IPS Intrusion Prevention system Hệ thống ngăn chặn xâm nhập ISS Internet Security Systems Hệ thống bảo mật Internet NSM Network System Monitor Hệ thống giám sát bảo mật mạng HTTP OWASP Open Web Application Security Project Dự án mở về bảo mật ứng dụng Web SQL Structured Query Language Ngôn ngữ truy vấn cấu trúc TCP Transmission Control Protocol Giao thức kiểm soát truyền tin XSS Cross-Site Scripting Tấn công thực thi mã script 1 MỞ ĐẦU 1. Tính cấp thiết của đề tài Vấn đề an toàn an ninh mạng hiện nay đang là vấn đề cấp bách, đặc biệt là việc tấn công vào các website. Việc tấn công vào hệ thống mạng trong ứng dụng web ngày càng gia tăng, cho thấy việc bảo mật an toàn thông tin trên website chưa thực sự đảm bảo. Theo thống kê của BKAV[12] về an ninh mạng trong năm 2017, mức thiệt hại do virus máy tính gây ra đối với người dùng Việt Nam lên tới 10.400 tỷ, vượt qua mức 8.700 tỷ đồng năm 2016. Đây là kết quả từ chương trình đánh giá an ninh mạng được Tập đoàn công nghệ Bkav thực hiện vào tháng 12/2017. Mã độc mã hóa dữ liệu Ransomware, virus lây qua USB, vấn nạn tin nhắn rác và nguy cơ từ các cuộc tấn công có chủ đích APT là những chủ điểm nóng nhất của năm 2017. Cũng theo thống kê của Trung tâm Ứng cứu khẩn cấp máy tính Việt Nam [13], năm 2017 Trung tâm này đã ghi nhận tổng số 134.375 sự cố tấn công mạng của cả 3 loại hình Phishing (lừa đảo), Malware (mã độc) và Deface (thay đổi giao diện). So với năm 2016, số lượng vụ tấn công mạng năm 2017 nhiều gấp hơn 4,2 lần (năm 2016 là 31.585), trong đó, loại hình tấn công Phishing là 10.057 sự cố (gấp hơn 1,7 lần so với năm 2016), Malware là 46.664 sự cố (gấp gần 2,8 lần năm 2016) và Deface là 77.654 sự cố (gấp hơn 8,7 lần năm 2016). Mặt khác, theo khảo sát của Hiệp hội An toàn thông tin Việt Nam, chỉ số an toàn thông tin của Việt Nam trong năm 2017 là 59,9%. Đây là bước tiến đáng kể trong những năm qua, bởi năm 2016, con số này là 47,4%. Đặc biệt theo thống kê của Microsoft, trong 5 nước đứng đầu toàn cầu về nguy cơ nhiễm mã độc có 2 nước thuộc khu vực Đông Nam Á là Việt Nam và Indonesia. Đây là hai nước có tỷ lệ nhiễm mã độc hơn 45% vào quý II/2016, gấp đôi so với mức trung bình cùng kỳ là 21% của thế giới Do nhu cầu phát triển các dịch vụ thông tin trên mạng internet ngày càng lớn, đòi hỏi các cơ quan, tổ chức và doanh nghiệp phải đảm bảo an toàn cho các website 2 của mình. Vì vậy, vấn đề nghiên cứu các giải pháp phát hiện lỗ hổng bảo mật website có tính cấp thiết, có ý nghĩa khoa học và thực tiễn. Từ những lý do trên, học viên lựa chọn đề tài: “NGHIÊN CỨU PHÁT HIỆN LỖ HỔNG BẢO MẬT WEB VÀ THỬ NGHIỆM” cho luận văn tốt nghiệp trình độ đào tạo thạc sĩ. 2. Tổng quan về vấn đề nghiên cứu World Wide Web (gọi tắt là Web hoặc WWW - mạng lưới toàn cầu) là một không gian thông tin toàn cầu mà mọi người có thể truy cập (đọc và viết) qua các thiết bị kết nối với mạng Internet. Website là một tập hợp các trang Web (web pages) bao gồm văn bản, hình ảnh, video, flash, ..., thường chỉ nằm trong một tên miền (domain name) hoặc tên miền phụ (subdomain). Kể từ khi ra đời vào năm 1990, công nghệ WEB đã phát triển mạnh mẽ và là hạ tầng cung cấp các dịch vụ phổ biến nhất trên Internet. Cho đến nay, đã có công nghệ WEB 1.0, WEB 2.0 và thế giới đang hướng tới công nghệ WEB 3.0. Trong thực tế, do thiếu Logging và Monitoring trong quá trình vận hành, khai thác các dịch vụ WEB dẫn đến sự thiếu giám sát và phát hiện kịp thời các tấn công lỗ hổng bảo mật Website. Sự phát triển đa dạng về chủng loại cũng như số lượng các thiết bị truy nhập Website, trong nhiều trường hợp cũng gây ra khó khăn trong quá trình phát hiện lỗ hổng bảo mật Website. Vì vậy, các vấn đề về bảo mật Website luôn được quan tâm do các tấn công Website ngày càng phổ biến và gây nhiều hệ lụy khôn lường. Các lỗ hổng bảo mật Website là các điểm yếu cho phép tin tặc tấn công đánh cắp dữ liệu người dùng, dữ liệu hệ thống, kiểm soát ứng dụng web, hoặc thậm chí kiểm soát cả hệ thống máy chủ chạy ứng dụng web. OWASP (Open Web Application Security Project ) là một dự án cộng đồng mở hoạt động với mục đích tăng cường an toàn cho các ứng dụng web. Từ những năm 2010 cho đến nay, OWASP khởi động dự án “OWASP Top 10” nhằm đưa ra danh sách 10 lỗ hổng bảo mật nghiêm trọng nhất trong các ứng dụng web. Kết quả của dự án này đã được công bố như sau [16]: 3 (1) Injection (Chèn mã). (2) Broken Authentication and Session Management (Xác thực và quản phiên yếu). (3) Cross-Site Scripting (XSS – Lỗi XSS). (4) Insecure Direct Object References (Tham chiếu các đối tượng trực tiếp không an toàn). (5) Security Misconfiguration (Lỗi cấu hình an ninh). (6) Sensitive Data Exposure (Rò rỉ dữ liệu nhạy cảm). (7) Missing Function Level Access Control (Thiếu kiểm soát truy nhập ở mức tính năng). (8) Cross-Site Request Forgery (CSRF - Lỗi CSRF). (9) Using Components with Known Vulnerabilities (Sử dụng các thành phần chứa lỗ hổng đã biết). (10) Unvalidated Redirects and Forwards (Tái định hướng và chuyển tiếp không được kiểm tra). Hiện nay, có nhiều tác giả trong và ngoài nước đã đề xuất nhiều giải pháp và công cụ phát hiện lỗ hổng bảo mật Website để đảm bảo an toàn Website và quá trình cung cấp dịch vụ WEB. 3. Mục đích nghiên cứu Mục đích nghiên cứu của luận văn là nghiên cứu phát hiện các lỗ hổng bảo mật website và thử nghiệm một số giải pháp phát hiện các lỗ hổng bảo mật website thường gặp. 4. Đối tượng và phạm vi nghiên cứu Đối tượng và phạm vi nghiên cứu của luận văn là nghiên cứu các giải pháp và công cụ phát hiện các lỗ hổng bảo mật website. 5. Phương pháp nghiên cứu - Về mặt lý thuyết: Thu thập, khảo sát, phân tích các tài liệu và thông tin có liên quan đến phát hiện lỗ hổng bảo mật website. 4 - Về mặt thực nghiệm: Xây dựng một số chương trình để mô phỏng phát hiện lỗ hổng bảo mật website. Kết cấu của luận văn gồm 3 chương chính với các nội dung sau: Chương 1: Tổng quan về tấn công lỗ hổng bảo mật website Nội dung của chương 1 sẽ tập trung vào khảo sát nền tảng công nghệ website và các vấn đề liên quan đến tấn công lỗ hổng bảo mật website. Chương 2: Nghiên cứu giải pháp phát hiện một số dạng lỗ hổng bảo mật website Nội dung của chương 2 sẽ nghiên cứu một số giải pháp phát hiện lỗ hổng bảo mật website và các vấn đề liên quan. Chương 3: Thử nghiệm Trong chương 3 luận văn sẽ tiến hành thử nghiệm phát hiện một số dạng lỗ hổng bảo mật website và các vấn đề liên quan. 5 CHƯƠNG 1: TỔNG QUAN VỀ TẤN CÔNG LỖ HỔNG BẢO MẬT WEBSITE Nội dung của chương 1 sẽ khảo sát tổng quan về công nghệ web, một số phương thức tấn công lỗ hổng bảo mật website, một số nguyên nhân gây ra lỗ hổng bảo mật website và các vấn đề khác liên quan. 1.1. Tổng quan về công nghệ Web 1.1.1. Giới thiệu chung Trang web (web page) trên mạng Internet là nơi giới thiệu những thông tin, hình ảnh về doanh nghiệp và sản phẩm, dịch vụ của doanh nghiệp (hay giới thiệu bất cứ thông tin gì) để khách hàng có thể truy cập ở bất kỳ nơi đâu, bất cứ lúc nào. Website là tập hợp nhiều trang web. Khi doanh nghiệp xây dựng website nghĩa là đang xây dựng nhiều trang thông tin, catalog sản phẩm, dịch vụ, .... Để tạo nên một website cần phải có 3 yếu tố cơ bản [1]:  Cần phải có tên miền (domain).  Nơi lưu trữ website (hosting).  Nội dung các trang thông tin (web page). Một số thuật ngữ cơ bản: Website động (Dynamic website) là website có cơ sở dữ liệu, được cung cấp công cụ quản lý website (Admin Tool). Đặc điểm của website động là tính linh hoạt và có thể cập nhật thông tin thường xuyên, quản lý các thành phần trên website dễ dàng. Loại website này thường được viết bằng các ngôn ngữ lập trình như PHP, Asp.net, JSP, Perl,..., quản trị Cơ sở dữ liệu bằng SQL hoặc MySQL... Website tĩnh do lập trình bằng ngôn ngữ HTML theo từng trang như brochure, không có cơ sở dữ liệu và không có công cụ quản lý thông tin trên website. Thông thường website tĩnh được thiết kế bằng các phần mềm như FrontPage, Dreamwaver,... Đặc điểm của website tĩnh là ít thay đổi nội dung, sự 6 thay đổi nội dung này thường liên quan đến sự thay đổi các văn bản đi kèm thể hiện nội dung trên đó. Hiện nay, hầu hết các doanh nghiệp đều sử dụng website động, thế hệ công nghệ website được mọi người biết đến là web 2.0 [1]. - Tên miền (domain): Tên miền chính là địa chỉ website, trên internet chỉ tồn tại duy nhất một địa chỉ (tức là tồn tại duy nhất một tên miền). Có 2 loại tên miền: - Tên miền Quốc tế: là tên miền có dạng .com; .net; .org; .biz; .name ... - Tên miền Việt Nam: là tên miền có dạng .vn; .com.vn; .net.vn; org.vn; .gov.vn;... - Lưu trữ website: Dữ liệu thông tin của website phải được lưu trữ trên một máy tính (máy chủ - server) luôn hoạt động và kết nối với mạng Internet. Một server có thể lưu trữ nhiều website, nếu server này bị sự cố chẳng hạn tắt trong một thời điểm nào đó thì không ai có thể truy cập được những website lưu trữ trên server tại thời điểm bị sự cố. - Tùy theo nhu cầu lưu trữ thông tin mà doanh nghiệp có thể thuê dung lượng thích hợp cho website [thuê dung lượng host]. - Dung lượng host: Là nơi để lưu cơ sở dữ liệu của website (hình ảnh, thông tin, …), đơn vị đo dung lượng thường là MB hoặc GB. - Băng thông hay dung lượng đường truyền: Là tổng số MB dữ liệu tải lên máy chủ hoặc tải về từ máy chủ (download, upload) nơi đặt website, đơn vị đo thông thường là MB/giây. 1.1.2. Dịch vụ và cơ chế hoạt động Web Dịch vụ Web là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ cấu tính toán ảo mà người sử dụng có thể làm việc thông qua các trình duyệt mạng. Bản thân các dịch vụ này sẽ chạy trên các máy phục vụ trên nền Internet chứ không phải là các máy tính cá nhân, do vậy có thể chuyển các chức nǎng từ máy tính cá nhân lên Internet. Người sử dụng có thể làm việc với các dịch vụ thông qua bất kỳ loại máy nào có hỗ trợ Web service và có truy cập Internet, kể cả các thiết bị 7 cầm tay. Do đó các Web service sẽ biến đổi Internet thành một môi trường làm việc chứ không chỉ là một phương tiện để xem và tải nội dung [10]. Web Service là một giao diện truy cập mạng đến các ứng dụng chức năng, được xây dựng từ việc sử dụng các công nghệ chuẩn Internet [10]. Được minh hoạ trong hình 1.1 sau: Hình 1.1. Dịch vụ Web Service[10]. Web Service cho phép truy cập tới các code ứng dụng sử dụng chuẩn công nghệ Internet. Không giống như mô hình Client/Server truyền thống, chẳng hạn như hệ thống Web server/webpage, Web Service không cung cấp cho người dùng một giao diện đồ hoạ nào, Web Service đơn thuần chỉ là việc chia sẻ các dữ liệu logic và xử lý các dữ liệu đó thông qua một giao diện chương trình ứng dụng được cài đặt xuyên suốt trên mạng máy tính. Tuy nhiên nguời phát triển Web Service hoàn toàn có thể đưa Web Service vào một giao diện đồ hoạ người dùng (chẳng hạn như là một trang web hoặc một chương trình thực thi nào đó) để có thể cung cấp thêm các chức năng đặc biệt cho người dùng. Cơ chế hoạt động của Web Service yêu cầu phải có 3 thao tác đó là : Find, Public, Bind [10]. Hình 1.2. Cơ chế hoạt động của Web Service[10]. 8 Trong kiến trúc Web Service, Service Provider công bố các mô tả về các service thông qua Service Registry. Service Consumer tìm kiếm trong các Service Registry để tìm ra các service mà họ cần sử dụng. Service Consumer có thể là một người hoặc cũng có thể là một chương trình. Kĩ thuật mô tả dịch vụ là một trong những thành phần chủ chốt của kiến trúc Web Service. Các thông tin mô tả đầy đủ nhất về kiến trúc Web Service được thể hiện trong hai tài liệu riêng biệt, đó là Network Accessible Service Specification Language (NASSL) và Web-Defined Service (WDS). 1.1.3. Công nghệ web 2.0 Khái niệm Web 2.0 đầu tiên được Dale Dougherty, phó chủ tịch của Oreilly Media, đưa ra tại hội thảo Web 2.0 lần thứ nhất do OReilly Media và MediaLive International tổ chức vào tháng 10/2004. Dougherty không đưa ra định nghĩa mà chỉ dùng các ví dụ so sánh, phân biệt Web 1.0 và Web 2.0: "DoubleClick là Web 1.0; Google AdSense là Web 2.0. Ofoto là Web 1.0; Flickr là Web 2.0. Britannica online là Web 1.0; Wikipedia là Web 2.0. v.v...". Web 2.0 là một cách tiếp cận mới để sử dụng web như là một nền tảng nơi mà người dùng cùng nhau tham gia vào việc tạo ra, chỉnh sửa, và xuất bản thông tin thông qua những công cụ hợp tác sáng tạo nội dung trên nền web. Web 2.0 liên quan tới người dùng không phải chỉ ở chỗ người dùng tạo ra nội dung mà người dùng giúp thu thập, tổ chức, mô tả, cập nhật, chia sẻ, truyền bá, sắp xếp lại, bình luận, hiệu chỉnh, và đóng gói lại nội dung Hình 1.3. Các loại hình dịch vụ phổ biến trên nền web 2.0 [10] 9 1.1.4. Công nghệ web 3.0 Web 3.0 còn có tên gọi là Semantic Web, được định nghĩa bởi Hiệp hội World Wide Web (W3C) nhằm xác định một thế hệ web mới với những tính năng độc đáo, hiện đại hơn, chú trọng vào việc sử dụng các định dạng dữ liệu và các giao thức chung để mọi trang web, mọi dịch vụ online đều có thể giao tiếp với nhau một cách nhanh chóng, tiện lợi và dễ dàng. Hiện nay, hầu hết các doanh nghiệp đều sử dụng website động, thế hệ công nghệ website được mọi người biết đến là công nghệ web thuộc thế hệ thứ ba - web 3.0 [8]. Web 3.0 có các tính năng đặc trưng sau: (1) Web có vai trò nền tảng, có khả năng chạy trên mọi ứng dụng. (2) Tập hợp trí tuệ thông qua internet. (3) Dữ liệu giữ vai trò then chốt. (4) Phần mềm được cung cấp bởi các dạng dịch vụ website và cập nhật liên tục. (5) Phát triển web dễ dàng và nhanh chóng. (6) Phần mềm có thể chạy trên nhiều thiết bị. (7) Giao diện phong phú. Thực tế hiện nay, ứng dụng trên web là thành phần quan trọng của web 3.0, hàng loạt công nghệ mới phát triển nhằm giúp cho các ứng dụng của web hoạt động mạnh hơn, nhanh hơn, dễ dàng sử dụng, đây là yếu tố thực tế để làm nền tảng của web 3.0 hiện nay. Công nghệ web 3.0 vẫn đang phát triển nhưng các thành phần cơ bản bao gồm: phần mềm máy chủ, cơ chế cung cấp nội dung, giao thức truyền thông, trình duyệt và ứng dụng. Tiến trình phát triển của công nghệ Web có thể mô tả trong Hình 1.4 dưới đây: bắt đầu bằng công nghệ Web 1.0, công nghệ Web 2.0 trong giai đoạn hiện tại và đang hướng tới công nghệ Web 3.0. 10 Hình 1.4. Tiến trình phát triển công nghệ web [13] 1.2 Một số phương thức tấn công lỗ hổng bảo mật website 1.2.1 Giới thiệu chung Các lỗ hổng bảo mật trên một hệ thống thông tin nói chung là các điểm yếu có thể tạo ra sự ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy cập không hợp pháp vào hệ thống. Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung cấp như sendmail, web, ftp … Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ điều hành như trong Windows, UNIX; hoặc trong các ứng dụng mà người sử dụng thường xuyên sử dụng như Word processing, các hệ databases, …. Có thể được phân chia các dạng lỗ hổng bảo mật trên một hệ thống nói chung thành ba cấp độ nguy hiểm như sau [2]: Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức tấn công theo DoS (Dinal of Services – Từ chối dịch vụ). Mức độ nguy hiểm thấp, chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng trệ, gián đoạn hệ thống; không làm phá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp. Lỗ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ. Mức độ nguy hiểm trung 11 bình; Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật. Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể truy nhập vào hệ thống bất hợp pháp. Lỗ hổng rất nguy hiểm, có thể làm phá hủy toàn bộ hệ thống. Các lỗ hổng bảo mật Website là các điểm yếu của hệ thống cung cấp dịch vụ Web cho phép tin tặc tấn công đánh cắp dữ liệu người dùng, dữ liệu hệ thống, kiểm soát ứng dụng web, hoặc thậm chí kiểm soát cả hệ thống máy chủ chạy ứng dụng web. Các lỗ hổng bảo mật Website rất đa dạng và bao gồm cả ba loại trên. Trong phần tiếp theo, luận văn sẽ trình bày một số phương thức tấn công lỗ hổng bảo mật Website. 1.2.2 Các phương thức tấn công lỗ hổng bảo mật website Trong mục này, luận văn sẽ khảo sát các phương thức tấn công lỗ hổng bảo mật Website dựa trên khuyến nghị của OWASP [16]. 1.2.2.1. Tấn công SQL injection SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để "tiêm vào" (inject) và thi hành các câu lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước). Hậu quả của nó rất tai hại vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa, hiệu chỉnh, … do có toàn quyền trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy. Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lí bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase. Có 4 dạng tấn công kiểu SQL injection sau: - Vượt qua kiểm tra lúc đăng nhập - Sử dụng câu lệnh SELECT - Sử dụng câu lệnh INSERT - Sử dụng các Stored-Procedures.
- Xem thêm -

Tài liệu liên quan