Tải bản đầy đủ (.pdf) (82 trang)

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ĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.4 MB, 82 trang )

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 .................................................................................... 8
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ự
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 đó.



6

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ị
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].


7

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,

d )
Fin iếm
k

Service
Provider
(Nh cung

cấp dịch vụ)

Service
registry
(Đăng k
dịch vụ)

m
(T

P
(C ubli
ôn s h
gk
ha
i)

Public, Bind [10].

Bind
(r ng buộc)

Service
Consumer
(Ngƣời tiêu
d ng dịch
vụ)

Hình 1.2. Cơ chế hoạt động của Web Service[10].


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


8

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]

1.1.4. Công nghệ web 3.0



9

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.


12

1.2.2.2. Tấn công kiểu Broken Authentication And Session Management

Đây là kiểu tấn công lỗi xác thực và quản lý phiên làm việc (Broken
Authentication And Session Management), bao gồm những đoạn chƣơng trình kiểm
tra danh tính và quản lý phiên làm việc của ngƣời sử dụng thƣờng hay đƣợc làm qua
loa không đúng cách. Điều này giúp kẻ thâm nhập có thể ăn cắp mật mã, khóa, mã
của các phiên làm việc {session token} hoặc tận dụng những lỗi khác để giả mạo
danh tính các ngƣời dùng khác.
Quản lý xác thực và phiên bao gồm tất cả các khía cạnh xử lý xác thực và
quản lý phiên làm việc. Xác thực là một khía cạnh quan trọng của quá trình này,
nhƣng ngay cả các cơ chế xác thực vững chắc cũng có thể bị suy yếu do chức năng
quản lý có khe hở, bao gồm thay đổi mật khẩu, ghi nhớ mật khẩu, thay đổi tài khoản
và nhiều chức năng khác. Vì các cuộc tấn công có thể xảy ra với nhiều ứng dụng
web nên chức năng quản lý tài khoản yêu cầu xác thực lại ngay cả khi ngƣời sử
dụng có phiên làm việc hợp lệ. Một phƣơng pháp xác thực mạnh mẽ hơn là sử dụng
phần mềm và phần cứng tuy nhiên phƣơng pháp này rất tốn kém.
Các ứng dụng web thƣờng phải thiết lập phiên để theo dõi các luồng yêu cầu
từ ngƣời dùng, giao thức HTTP không hỗ trợ khả năng này vì vậy các ứng dụng
web phải tự tạo ra nó. Thông thƣờng môi trƣờng ứng dụng web cung cấp khả năng
phiên nhƣng nhiều nhà phát triển thích tự họ tạo ra một thẻ phiên của riêng họ. Tuy
nhiên, chức năng ứng dụng liên quan đến quản lý xác thực và phiên làm việc
thƣờng thực hiện một cách chính xác, điều này cho phép kẻ tấn công lấy đƣợc mật
khẩu, khóa, thẻ phiên hoặc khai thác lỗ hổng để thực hiện các giả mạo danh tính
ngƣời dùng.

1.2.2.3. Tấn công Cross Site Scripting (XSS)
Kiểu tấn công thực thi mã script xấu Cross-Site Scripting (XSS) là một trong
những kĩ thuật tấn công phổ biến nhất hiên nay, đồng thời nó cũng là một trong
những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những ngƣời
sử dụng web. Bất kì một website nào cho phép ngƣời sử dụng đăng thông tin mà



13

không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi
XSS.
Cross-Site Scripting hay còn đƣợc gọi tắt là XSS (thay vì gọi tắt là CSS để
tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kĩ thuật tấn công
bằng cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những thẻ HTML
hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những ngƣời sử dụng
khác. Trong đó, những đoạn mã nguy hiểm đƣợc chèn vào hầu hết đƣợc viết bằng
các Client-Site Script nhƣ JavaScript, JScript, DHTML và cũng có thể là cả các thẻ
HTML. Kĩ thuật tấn công XSS đã nhanh chóng trở thành một trong những lỗi phổ
biến nhất của Web Applications và mối đe dọa của chúng đối với ngƣời sử dụng
ngày càng lớn.

1.2.2.4. Kiểu tấn công Insecure Direct Object References
Kiểu tấn công đối tƣợng tham chiếu trực tiếp không an toàn (Insecure Direct
Object References), xảy ra khi ngƣời phát triển để lộ một tham chiếu đến những đối
tƣợng trong hệ thống nhƣ các tập tin, thƣ mục hay chìa khóa dữ liệu. Nếu chúng ta
không có một hệ thống kiểm tra truy cập, kẻ tấn công có thể lợi dụng những tham
chiếu này để truy cập dữ liệu một cách trái phép.
Việc phân quyền yếu cho phép ngƣời dùng có thể truy cập dữ liệu của ngƣời
khác. Hacker có thể xác định đƣợc cấu trúc truy vấn gửi đến server và có thể nhanh
chóng thu nhập dữ liệu nhƣ Credit Card, mã khách hàng, thông tin cá nhân.

1.2.2.5. Tấn công Security Misconfiguration
Kiểu tấn công sai sót trong cấu hình bảo mật (Security Misconfiguration), nhƣ
là một cơ chế an ninh tốt cần phải định nghĩa những hiệu chỉnh về an ninh và triển
khai nó cho các ứng dụng, máy chủ ứng dụng, máy chủ web, máy chủ dữ liệu và
các ứng dụng nền tảng.
Tất cả những thiết lập nên đƣợc định nghĩa, thực hiện và bảo trì bởi vì rất

nhiều hệ thống không đƣợc triển khai với thiết lập an toàn mặc định. Các hiệu chỉnh
cũng bao gồm cập nhật phần mềm và những thƣ viện đƣợc sử dụng bởi ứng dụng.


14

1.2.2.6. Tấn công Sensitive Data Exposure
Kiểu tấn công phơi bày các dữ liệu nhạy cảm (Sensitive Data Exposure), bao
gồm nhiều ứng dụng web không bảo vệ dữ liệu nhạy cảm nhƣ thẻ tín dụng, mã số
thuế và những mã xác thực bí mật bằng các phƣơng thức mã hóa hay băm
(hashing). Kẻ tấn công có thể ăn cắp hay thay đổi những dữ liệu nhạy cảm này và
tiến hành hành vi trộm cắp, gian lận thẻ tín dụng, v.v..

1.2.2.7. Tấn công Missing Function Level Access Control
Kiểu tấn công thiếu chức năng điều khiển truy cập (Missing Function Level
Access Control) bao gồm gần nhƣ tất cả các ứng dụng web kiểm tra quyền truy cập
cấp độ chức năng trƣớc khi thực hiện chức năng mà có thể nhìn thấy trong giao diện
ngƣời dùng. Tuy nhiên, các ứng dụng cần phải thực hiện kiểm tra kiểm soát truy
cập tƣơng tự trên máy chủ khi mỗi chức năng đƣợc truy cập. Nếu yêu cầu không
đƣợc xác nhận, kẻ tấn công sẽ có thể giả mạo yêu cầu để truy cập vào chức năng
trái phép.

1.2.2.8. Tấn công Cross-Site Request Forgery (CSRF)
Kiểu tấn công giả mạo yêu cầu (CSRF) là kiểu tấn công này ép buộc trình
duyệt web của một ngƣời dùng đã đăng nhập gửi những yêu cầu các HTTP giả bao
gồm cookie của phiên truy cập và những thông tin tự động khác bao gồm thông tin
đăng nhập đến một ứng dụng web. Điều này, cho phép kẻ tấn công buộc trình duyệt
web tạo ra những yêu cầu đến ứng dụng web mà ứng dụng không thể biết đây là
những yêu cầu giả mạo của kẻ tấn công.


1.2.2.9. Tấn công Using Components with Known Vulnerabilities
Kiểu tấn công sử dụng thành phần đã tồn tại lỗ hổng (Using Components with
Known Vulnerabilities) bao gồm các lổ hổng có thể có trong các thành phần (thành
phần phát triển ứng dụng) nhƣ các thƣ viện, các framework, và mô-đun phần mềm
khác. Các thành phần này gần nhƣ luôn luôn chạy với quyền cao nhất trong hệ
thống. Vì vậy, nếu bị khai thác, các thành phần này có thể gây mất dữ liệu nghiêm
trọng.


15

Các ứng dụng sử dụng các thành phần tồn tại lổ hổng có thể làm suy yếu
phòng thủ của hệ thống, cho phép một loạt các cuộc tấn công và ảnh hƣởng đến hệ
thống.

1.2.2.10. Tấn công Unvalidated Redirects and Forwards
Kiểu tấn công chuyển hƣớng và chuyển tiếp thiếu kiểm tra (Unvalidated
Redirects and Forwards) là kiểu tấn công ứng dụng web thƣờng chuyển hƣớng,
chuyển tiếp ngƣời dùng đến những trang web, website khác và sử dụng những
thông tin thiếu tin cậy để xác định trang đích đến. Nếu không đƣợc kiểm tra một
cách cẩn thận, kẻ tấn công có thể lợi dụng để chuyển hƣớng nạn nhân đến các trang
web lừa đảo hay trang web chứa phần mềm độc hại, hoặc chuyển tiếp để truy cập
các trang trái phép.
Ngoài 10 phƣơng thức tấn công phổ biến mạng hiện nay theo OWASP, còn có
thể kế đến phƣơng pháp tấn công APT rất quan trọng trong tấn công mạng.

1.2.2.11. Tấn công APT
Thuật ngữ APT (Advanced Persistent Threat) đƣợc sử dụng để mô tả kiểu
tấn công dai dẳng và có chủ đích vào một thực thể đƣợc nhắm đến. Thông thƣờng
tấn công APT có sự chuẩn bị kỹ càng và đƣợc thực hiện, hỗ trợ bởi một tổ chức

hoặc cao cấp hơn là chính phủ của một nƣớc nào đó nhằm tìm kiếm thông tin tình
báo từ cá nhân, doanh nghiệp, chính phủ nƣớc khác.
Phân tích các thuật ngữ trong APT
Advanced: thuật ngữ này trong cụm từ APT chỉ các kiểu tấn công cao cấp
hơn các thể loại thông thƣờng. Trong APT, tin tặc sử dụng các malware và các biến
thể khác nhau để tiến hành qua mặt và xâm nhập vào hệ thống. Không giống các
virus hay chƣơng trình độc hại máy tính khác, các malware này phần lớn có thể qua
mặt đƣợc các phƣơng pháp bảo vệ truyền thống khác nhƣ Firewall, IPS, và phần
mềm diệt virus.
Persistent: kiểu tấn công APT thực sự bao giờ cũng có chủ đích nhất định và
thuật ngữ Persistent mang ý nghĩa việc tấn công luôn theo sát để đạt đƣợc mục đích
của nó. Mục tiêu tấn công sẽ không bị tấn công ngay tức thì mà các mã độc sẽ đi


16

theo nhiều đƣờng khác nhau cho đến khi xâm nhập vào hệ thống, sau đó chờ thời
cơ. Chúng chỉ thực sự kích hoạt tấn công khi phát hiện đúng mục tiêu.
Threat: chỉ các mối nguy hại liên quan đến an ninh, an toàn thông tin.
Theo thống kế của FireEye [12], tấn công APT nằm trong nhóm hiểm họa an toàn
thông tin bắt đầu xuất hiện từ giai đoạn 2010-2011 cho đến nay. Đây là phƣơng
thức tấn công đa dạng, nhanh chóng tạo ra các biến thể để qua mặt các giải pháp an
ninh và gây thiệt hại to lớn so với các rủi ro an ninh khác nhƣ virus, spyware.

1.2.3 Nhận xét và đánh giá
Thực tế với tình hình hiện nay, các ứng dụng Web ngày một nhiều. Sự thay
đổi chóng mặt của công nghệ đã giúp ứng dụng Web đƣợc cải tiến nâng cao rất
nhiều, và vấn đề bảo mật cho ứng dụng Web không ngừng tăng lên. Một khi ứng
dụng Web bị rò rỉ lỗ hổng, các hacker sẽ dễ dàng chiếm quyền quản trị Web, ứng
dụng và phần mềm của công ty. Nguyên nhân dẫn đến các ứng dụng Web bị rò rỉ

thông tin, các nguy cơ về lỗ hổng, là do các đoạn mã lệnh, mã code không phù hợp
trong ứng dụng Web. Chỉ cần một lỗ hổng, hacker cũng có thể xâm nhập và truy
cập vào cơ sở dữ liệu, thông tin và thực hiện các hành vi sai trái nhƣ đánh cắp, thay
đổi, chỉnh sửa, mã hóa dữ liệu…Đối với các doanh nghiệp, tổ chức, cơ quan nhà
nƣớc, việc tăng lớp bảo mật, rà quét lỗ hổng ứng dụng là điều cần thiết.
Việc đánh cắp hoặc chiếm đoạt quyền truy cập của ngƣời dùng, nhà quản trị,
cũng nhƣ chiếm các phiên làm việc trên session management hoặc ẩn phiên làm
việc session fixation, dẫn đến các hậu quả không an toàn nhƣ: những thông tin cá
nhân, thông tin quan trọng, tài chính của công ty và khách hàng sẽ bị hacker xâm
phạm; ứng dụng web và các phần mềm khác mà công ty, doanh nghiệp đang sử
dụng rất có thể sẽ bị hacker cài mã theo dõi, virus độc hại; hệ thống máy chủ hoặc
hệ thống có thể bị tê liệt do sự cố bắt nguồn từ các ứng dụng Web,…..

1.3 Một số nguyên nhân gây ra các lỗ hổng bảo mật website
1.3.1 Nguyên nhân do nền tảng xây dựng website
Với sự bùng nổ của thƣơng mại điện tử, có rất nhiều nền tảng website ra đời
để đáp ứng nhu cầu cho ngƣời dùng. Cũng chính vì vậy, sẽ gây khó khăn cho các tổ


×