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 -