Tải bản đầy đủ (.docx) (59 trang)

Bảo mật website và do quét lỗ hổng bằng mã nguồn mở vega ( có video demo + pp)

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 (2.07 MB, 59 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TỒN THƠNG TIN

BÁO CÁO MÔN HỌC

THỰC TẬP CƠ SỞ
ĐỀ TÀI
BẢO MẬT WEBSITE VÀ DÒ QUÉT LỖ
HỔNG BẢO MẬT WEBSITE BẰNG VEGA
Sinh viên thực hiện:

Giảng viên hướng dẫn:

Hà Nội, 2021



LỜI CẢM ƠN

Để có được thành quả như ngày hơm nay, ngồi sự nỗ lực khơng ngừng nghỉ
của các thành viên trong nhóm thì một phần khơng nhỏ đóng góp nên thành công này
là nhờ sự quan tâm, chỉ bảo, giúp đỡ của các thầy cơ, các anh chị khóa trên và bạn bè
xung quanh.
Chúng em xin chân thành cảm ơn thầy ----------------- – giảng viên trực tiếp
hướng dẫn, chỉ bảo, tạo mọi điều kiện thuận lợi giúp đỡ chúng em trong q trình thực
hiện đề tài.
Tuy đã có rất nhiều cố gắng và sự nỗ lực của các thành viên để hoàn thiện đề
tài, nhưng chắc chắn đề tài “ BẢO MẬT WEBSITE VÀ DÒ QUÉT LỖ HỔNG
BẢO MẬT WEBSITE BẰNG VEGA ” của chúng em còn nhiều thiếu sót. Chúng em
rất mong nhận được sự góp ý từ các thầy giáo để nhóm em có thể hồn thiện tốt hơn
các đề tài nghiên cứu sau. Chúng em xin chân thành cảm ơn!


Hà Nội, ngày....tháng....năm 2021.
Nhóm sinh viên thực hiện đề tài

1


MỤC LỤC
LỜI CẢM ƠN......................................................................................................1
MỤC LỤC............................................................................................................2
DANH MỤC HÌNH VẼ...................................................................................... 4
DANH MỤC BẢNG BIỂU.................................................................................6
MỞ ĐẦU..............................................................................................................7
CHƢƠNG 1. TỔNG QUAN VỀ TẤN CÔNG LỖ HỔNG BẢO MẬT
WEBSITE............................................................................................................ 9
1.1 Tổng quan về công nghệ Web....................................................................9
1.1.1 Giới thiệu chung.................................................................................. 9
1.1.2 Dịch vụ và cơ chế hoạt động Web......................................................11
1.1.3 So sánh giữa Ứng dụng website và website................................... 13
1.2 Một số phương thức tấn công lỗ hổng bảo mật website.........................15
1.2.1 Giới thiệu chung............................................................................... 15
1.2.2 Các phương thức tấn công lỗ hổng bảo mật website........................16
1.2.3 Nhận xét và đánh giá........................................................................ 20
CHƢƠNG 2. NGHIÊN CỨU GIẢI PHÁP PHÁT HIỆN LỖ HỔNG BẢO
MẬT WEBSITE................................................................................................22
2.1 Tổng quan về phát hiện lỗ hổng bảo mật Website..................................22
2.1.1 Giới thiệu chung................................................................................ 22
2.1.2 Cơ chế và mơ hình phát hiện lổ hổng bảo mật Website.....................23
2.2 Giải pháp sử dụng cơng cụ phần mềm dị qt...................................... 25
2.2.1 Giới thiệu giải pháp........................................................................... 25
2.2.2 Một số phần mềm phát hiện lỗ hổng bảo mật Website......................26

2.3 Giải pháp sử dụng hệ thống phát hiện xâm nhập..................................28
2.3.1 Giới thiệu hệ thống phát hiện xâm nhập............................................28
2.3.2 Ứng dụng hệ thống IDS phát hiện lỗ hổng bảo mật Website.............32
2.3.3 Nhận xét.............................................................................................35
2.4 Kết luận chương 2....................................................................................36
CHƢƠNG 3. THỰC NGHIỆM...................................................................... 37
3.1 Cài đặt VEGA trên nền tảng Kali Linux.................................................37
3.1.1 Chuẩn bị môi trường Kali - Linux trên Vmware 16 Pro....................37

2


3.1.2 Tiến hành cài đặt vega....................................................................... 39
3.2 Thực nghiệm :..........................................................................................45
3.2.1 Đối tượng thực nghiêm :....................................................................45
3.2.2. Kết quả thực nghiệm.........................................................................46
3.2.3 : Bảng tổng kết kết quả :....................................................................52
3.3 Kết luận và đánh giá................................................................................ 54
3.3.1 Kết luận:.............................................................................................54
3.3.2 Đánh giá.............................................................................................54
KẾT LUẬN........................................................................................................55
TÀI LIỆU THAM KHẢO................................................................................56

3


DANH MỤC HÌNH VẼ
Hình 1. 1. Mơ phỏng ứng dụng Web ............................................................................. 11
Hình 1. 2 Dịch vụ Web Service. .................................................................................... 12
Hình 1. 3. Cơ chế hoạt động của Web Service. ............................................................. 12

Hình 1. 4. Website và Web Application ......................................................................... 14
Hình 2. 1. Mơ hình cơ chế tổng qt phát hiện lỗ hổng bảo mật Website. ................... 24
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 .................... 26
Hình 2. 3. Ứng dụng Vega ............................................................................................. 27
Hình 2. 4. Các thành phần của hệ thống IDS ................................................................ 29
Hình 2. 5. Mơ hình hệ thống HIDS ............................................................................... 30
Hình 2. 6. Mơ hình hệ thống NIDS ............................................................................... 30
Hình 2. 7. Mơ hình hệ thống IDS phát hiện lỗ hổng bảo mật ....................................... 35
Hình 3. 1 : Tải file iso Kali linux ................................................................................... 37
Hình 3. 2: Đường dẫn chứa file iso ............................................................................... 38
Hình 3. 3 : Cài Kali trên hệ điều hành linux .................................................................. 38
Hình 3. 4 : Thơng số kỹ thuật của Kali .......................................................................... 39
Hình 3. 5 : Tải file JDK 8 .............................................................................................. 39
Hình 3. 6 : Chạy file JDK 8 đã tải ................................................................................. 40
Hình 3. 7 : Thực hiện thêm các dòng lệnh vào etc/environment ................................... 41
Hình 3. 8: Thực hiện việc cập nhật JDK 8 cho Kali ...................................................... 42
Hình 3. 9: Thực hiện chuyển sang chế độ JDK 8 .......................................................... 42
Hình 3. 10: Thêm dữ liệu vào /etc/apt/sources.list.d/deb9.list ...................................... 43
Hình 3. 11 : Tạo và mở thư mục Repos để lưu file Vega .............................................. 43
Hình 3. 12: Sao chép link download file Vega .............................................................. 44
Hình 3. 13: Dùng wget để tải file Vega ......................................................................... 44
Hình 3. 14 : Thực hiện unzip file Vega để cài đặt ......................................................... 45
Hình 3. 15 : Mở thư mục chứa Vega và chạy ứng dụng ................................................ 45
Hình 3. 16 : Kết quả dò quét trang web của MBBANK ............................................... 46
Hình 3. 17 : Kết quả dị qt trang web của TIKI ......................................................... 47
Hình 3. 18 : Kết quả dị quét trang chủ của HVKT Mật Mã ......................................... 47
4


Hình 3. 19 : Kết quả dị qt trang web quan lý sinh viên HVKT Mật Mã..................48

Hình 3. 20 : Kết quả dị qt trang web của Biti’s....................................................... 48
Hình 3. 21 : Kết quả dò quét trang web bán hàng của kênh Thợ Rừng........................49
Hình 3. 22 : Kết quả dị qt trang web của salon tóc 30shine..................................... 49
Hình 3. 23 : Kết quả dò quét trang web bán tài khoản game của 1 youtuber...............50
Hình 3. 24 : Kết quả dị qt trang web của cổng thơng tin tiêm chúng covid-19........50
Hình 3. 25 : Kết quả dò quét trang web của ví điện tử MOMO...................................51
Hình 3. 26 : Kết quả dị quét trang web testphp.vulnweb.com..................................... 51
Hình 3. 27 : Kết quả dò quét trang web demo.testfire.net............................................ 52

5


DANH MỤC BẢNG BIỂU
Bảng I : Danh sách các trang web dùng để dò quét..................................................... 46
Bảng II : Kết quả thực nghiệm.................................................................................... 53

6


MỞ ĐẦU
1.Tính cấp thiết của đề tài
Ngày nay cơng nghệ thông tin đang là nền công nghệ mũi nhọn trong
chiến lược phát triển kinh tế, xây dựng đất nước của hầu hết các quốc gia. Các
sản phẩm công nghệ thông tin đã và đang được ứng dụng rộng rãi trong mọi lĩnh
vực của đời sống kinh tế, xã hội và hầu hết đều đem đến những giá trị thiết thực.
Đối tượng phục vụ chủ yếu của ngành công nghệ thông tin hiện nay chính là các
tổ chức, các cơ sở doanh nghiệp… Bảo mật luôn luôn là một vấn đề hàng đầu
cho tất cả các loại ứng dụng, đặc biệt là các website.
Từ những ngày đầu của Internet người ta đã quan tâm đến tính an tồn
trong trao đổi thơng tin. Tuy khơng có sự an tồn tuyệt đối nhưng những phát

triển trong lĩnh vực này thì rất nhanh và mang lại nhiều thành quả vì đây là vấn
đề cấp bách của nhiều doanh nghiệp. Khơng có một mức an tồn thích hợp, sự
khai thác thương mại của Internet thì khơng hồn tồn an tồn.
Chính vì thế sự an tồn của Web trên mạng cũng khơng thể nằm ngồi
vấn đề này. Có thể nói ngày nay ngồi việc nghiên cứu làm sao để tạo ra một
Website tốt mang lại nhiều lợi ích thì việc nghiên cứu để làm sao mang lại sự an
toàn cho Website cũng là một trong những vấn đề quan trọng nhất. Thật khó tin
tưởng để sử dụng một dịch như mua hàng trên một giao diện website, hoặc
chuyển tiền trực tuyến trên nền website nếu không đảm bảo được mức độ an
tồn tối đa. Vì vậy nhóm em đã chọn đề tài để báo cáo cho mơn thực tập cơ sở là
“BẢO MẬT WEBSITE VÀ DỊ QUÉT LỖ HỔNG BẢO MẬT WEBSITE BẰNG
VEGA”. Đề tài tập trung đi vào tìm hiểu về các lỗ hổng kĩ thuật tấn công website

và các vấn đề bảo mật liên quan, sử dụng ứng dụng mã nguồn mở có tên là
VEGA để quét và phân tích các lỗ hổng tồn tại trong 1 website bất kì . Từ đó

7


đưa ra các giải pháp đảm bảo an tồn thơng tin cho website nói riêng và cho cả
hệ thống nói chung.
2. Mục đích nghiên cứu
Mục đích nghiên cứu của đề tài là nghiên cứu phát hiện các lỗ hổng
bảo mật website, nêu ra 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, sử dụng mã nguồn mở Vega kiểm tra một số trang web
để đánh giá độ bảo mật , các lỗ hổng thường gặp của các trang web.
3. Đối tƣợng và phạm vi nghiên cứu
Đối tượng và phạm vi nghiên cứu của đề tài là nghiên cứu các giải
pháp, công cụ phát hiện các lỗ hổng bảo mật website và mã nguồn mở Vega.
4.


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.

-

Về mặt thực nghiệm : Tiến hành phát hiện lỗ hổng bảo mật của website trên
ứng dụng Vega .
Kết cấu của luận văn gồm 2 chương chính với các nội dung sau:
Chương 1: Tổng quan về các lỗ hổng bảo mật website.
Chương 2: Nghiên cứu giải pháp phát hiện và ngăn chặn lỗ hổng bảo mật
website.
Chương 3: Thử nghiệm 1 số trang web phát hiện lỗ hổng bảo mật bằng phần
mềm Vega.
Trong chương 3 sẽ tiến hành tìm kiếm thử nghiệm phát hiện một số dạng
lỗ hổng bảo mật website bằng phần mềm Vega.

8


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 :


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,

9


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

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ể th 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.1.1 Khái niệm về ứng dụng website
Web app (Web application) là một chương trình ứng dụng được lưu trữ

trên một máy chủ từ xa và được phân phối bằng Internet thơng qua bất kỳ trình
duyệt nào hiện có. Giao diện người dùng của Web app thường được xây dựng
bằng các ngơn ngữ lập trình như HTML, CSS, Javascript. Khác với các ứng
dụng dành cho thiết bị di động, hiện tại khơng có SDK cụ thể nào để phát triển
các Web app.

10


Ngồi ra, bất kỳ thành phần nào của Website có thể thực hiện một số chức
năng cho người dùng đều đủ điều kiện là Web app. Ví dụ: mua hàng, tính tiền,

thanh tốn,…
Các Web App có thể được thiết kế cho nhiều mục đích sử dụng khác nhau
và được sử dụng bởi bất kỳ ai từ tổ chức đến một cá nhân. Một số ví dụ điển
hình về các Web app mà chúng ta thường dùng hàng ngày như: Email, các trang
thương mại điện tử, website chỉnh sửa ảnh, Facebook…Nhờ có Web app chúng
ta có thể thực hiện các chức năng như đăng thông tin, upload file, xuất báo cáo,
chỉnh sửa ảnh trực tuyến,..

Hình 1. 1. Mơ phỏng ứng dụng Web

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 tố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

11


đổ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 .
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 . Được
minh hoạ trong hình 1.1 sau:

Hình 1. 2 Dịch vụ Web Service.


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 hồn tồ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 .

Hình 1. 3. Cơ chế hoạt động của Web Service.

12


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 So sánh giữa Ứng dụng website và website
-


Về khả năng tƣơng tác

Mục đích chính của Website là cung cấp những thơng tin hữu ích, nhưng
tại đó, người đọc chỉ có thể xem, nghe và click các link qua lại chứ không thể
tác động hay tạo nên sự ảnh hưởng gì của trang. Nên khả năng tương tác của
Website thấp
Cịn mục đích của Web app là tăng khả năng tương tác của người dùng
với trang nên bạn khơng chỉ đọc, nghe mà cịn có thẻ thao tác dữ liệu trên trang
bằng cách nhấn nút, gửi biểu mẫu, nhận phản hồi từ trang, nhắn tin trực tuyến
hay mua hàng, thanh tốn,…
-

Về khả năng tích hợp

Thực tế, cả Website và Web app đều có khả năng tích hợp các phần mềm,
cơng cụ trực tuyến khác. Tuy nhiên, web app có khả năng tích hợp cao hơn do
chúng có những chức năng phức tạp và thường yêu cầu tương tác với các hệ
thống bổ sung.
Điển hình như phần mềm CRM thường được tích hợp trong Web app, giúp cho
việc quản lý bán hàng trở nên dễ dàng và hiệu quả hơn.
Còn với Website, phần lớn sẽ tập trung vào việc cung cấp cho người dùng
những chức năng cốt lõi hơn là các chức năng tích hợp.

13


Hình 1. 4. Website và Web Application

-


Về khả năng xác thực thông tin
Đối với Web app, xác thực là một yếu tố quan trọng và rất cần thiết khi

người dùng đăng nhập. Khả năng có tác dụng giúp người dùng bảo mật tài
khoản, tránh truy cập trái phép và rò rỉ những dữ liệu riêng tư của họ.
Còn với các Website, thông tin xác thực thường không bắt buộc đối với
người dùng. Chỉ trong trường hợp website của bạn chứa thông tin nhạy cảm, chỉ
phù hợp với một đối tượng nhất định thì tính năng xác thực mới cần dùng đến.
Hoặc người dùng cũng có thể được đề nghị đăng ký tài khoản để có quyền truy
cập vào các tùy chọn khơng có sẵn.
-

Về ngơn ngữ sử dụng khi thiết kế

Website thường được thiết kế khá đơn giản, chủ yếu hiển thị nội dung văn bản,
hình ảnh, video và hỗ trợ việc giới thiệu, nhận thông tin của người dùng từ form
yêu cầu. Nên các lập trình viên Website thường sử dụng CMS WordPress bởi có
mã nguồn chuẩn SEO, giao diện đơn giản, giúp tiết kiệm chi phí và thời gian
triển khai.
Còn Web app được thiết kế phức tạp hơn với nhiều ngơn ngữ. Ngồi
HTML, CSS cịn có PHP, LAMP, MEAN, .NET, Ruby, Python,… Hơn nữa, các

14


Web app thường là được lập trình bằng code tay mà khơng có sự hỗ trợ của các
CMS hay mã nguồn có sẵn.
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 :
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 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 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 ở ngồ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 tồ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 sốt ứng dụng web, hoặc thậm chí kiểm số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.

15


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 .
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ó tồ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.


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á

16


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à 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.

17


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 tồ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.
1.2.2.6. Tấn công Sensitive Data Exposure ( Dò rỉ dữ liệu nhạy cảm )
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 ( lỗi phân quyền )
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ể

18


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 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 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ọngCá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,

19


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 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 tồn thơng tin.
Theo thống kế của FireEye , tấn cơng APT nằm trong nhóm hiểm họa an tồ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ự

20



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 tồ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,…..

21


CHƢƠNG 2. NGHIÊN CỨU GIẢI PHÁP PHÁT HIỆN LỖ
HỔNG BẢO MẬT WEBSITE
Trong chương 2 này sẽ nghiên cứu về một số giải pháp phát hiện
lỗ hổng bảo mật website.

2.1. Tổng quan về phát hiện lỗ hổng bảo mật Website

2.1.1. Giới thiệu chung.

Hệ thống Website có thể hoạt động và cung cấp dịch vụ cho người dùng
thường trải qua các giai đoạn sau đây:

(3)

(1)

Giai đoạn thiết kế hệ thống Website;

(2)

Giai đoạn cài đặt hệ thống Website;

Giai đoạn triển khai và vận hành khai thác hệ thống Website. Trong cả ba
giai đoạn trên đều có thể phát sinh các lỗ hổng bảo mật và

cần phải có các giải pháp phát hiện lỗ hổng bảo mật cho hệ thống Website.
Quy trình phát hiện lỗ hổng bảo mật cho hệ thống Website đang hoạt

động thông thường được thực hiện theo các bước sau:
(1)

Bƣớc 1: Khảo sát hiện trạng hệ thống Website

Trước hết, thực hiện khảo sát toàn bộ hệ thống website nhằm thu thập
những thông tin cơ bản về thiết kế, cài đặt và hiện trạng vận hành để chuẩn bị
cho bước 2.
(2)


Bƣớc 2: Xây dựng kịch bản đánh giá

Trong bước này cần xây dựng các kịch bản cụ thể để tiến hành phát hiện
lỗ hổng bảo mật cho hệ thống Website.
(3)

Bƣớc 3: Đánh giá sơ bộ

Thường sử dụng các công cụ rà quét tồn bộ hệ thống website bao gồm
website chính và các website site con như: blog, website wordpress, diễn
đàn,....
(4)

Bƣớc 4: Đánh giá chi tiết

Trong bước này thường thực hiện tấn công từ bên trong và bên ngoài
mạng nội bộ kết nối hệ thống website. Trong đó, tấn cơng từ bên trong hệ
thống sẽ tiến hành thâm nhập toàn bộ hệ thống thông qua bộ lưu trữ mật khẩu

22


của website, tấn cơng từ diễn đàn, …. Cịn tấn cơng từ bên ngồi hệ thống sẽ
giả lập vai trị là các hacker thâm nhập vào hệ thống thông qua wifi, internet,
host, IDS, tường lửa, ….
Trên cơ sở đánh giá chi tiết sẽ đưa ra những giải pháp, những tư vấn
thiết thực nhằm khắc phục các lỗ hổng bảo mật đã phát hiện cho hệ thống
website.
Trong mục tiếp theo, dựa trên ý tưởng trình bày trong [2], luận văn sẽ

đưa ra mơ hình phát hiện lỗ hổng bảo mật Website tổng qt.
2.1.2. Cơ chế và mơ hình phát hiện lổ hổng bảo mật Website.

Lỗ hổng bảo mật Website rất đa dạng và có thể do nhiều nguyên nhân
khác nhau, có thể phát sinh từ những yếu tố thuần túy kỹ thuật; cũng có thể do
các yếu tố về tổ chức và quản lý như: thiếu hoặc khiếm khuyết trong các biện
pháp bảo vệ thông tin. Tuy nhiên, lỗ hổng bảo mật Website có thể được chia
thành ba loại: lỗ hổng khách quan, lỗ hổng chủ quan và lỗ hổng ngẫu nhiên.
Lỗ hổng khách quan xuất phát từ các đặc tính kỹ thuật vốn có của thiết bị và
phần mềm của Website. Lỗ hổng chủ quan xuất phát từ hành vi của chủ thể,
có thể là nhà thiết kế, các quản trị viên và người sử dụng. Lỗ hổng ngẫu nhiên
xuất phát từ môi trường của hệ thống Website và những bối cảnh khơng dự
đốn trước được.
Hình 2.1 dưới đây mơ tả mơ hình tổng qt phát hiện lỗ hổng bảo mật
Website.
Theo hình 2.1, quá trình phát hiện lỗ hổng bảo mật Website được xây
dựng bằng cách thực hiện kiểm tra thụ động và kiểm tra thăm dị tích cực
(active probe) các lỗ hổng.
Trong q trình rà qt (scan), các cơng cụ phân tích lỗ hổng bảo mật
Website



sẽ gửi yêu cầu đến địa chỉ của Website (lên cổng máy chủ)

phân tích các gói dữ liệu nhận được
hổng có thể tồn tại.






sau đó trả về tương ứng về các lỗ

Phương pháp thăm dị tích cực cung cấp khả năng phân tích dấu vết số
đoạn phần mềm của Website, thực hiện quá trình so sánh kết quả nhận được

23


×