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

BÁO cáo môn học THỰC tập cơ sở đề tài một số kĩ THUẬT đảm bảo AN TOÀN THÔNG TIN CHO WEBSITE

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.04 MB, 57 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ

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

THỰC TẬP CƠ SỞ
ĐỀ TÀI
MỘT SỐ KĨ THUẬT ĐẢM BẢO AN TOÀN THÔNG TIN

CHO WEBSITE

Sinh viên thực hiện:

Dương Văn Minh
AT160726 Nguyễn Văn Anh
AT160701 Mai Văn Thắng
AT160744 Nhóm 57

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

TS. Phạm Văn Hưởng

1

TIEU LUAN MOI download : moi nhat


2

TIEU LUAN MOI download : moi nhat



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 Phạm Văn Hưởng – 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 quá 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 “ MỘT SỐ KĨ THUẬT ĐẢM BẢO AN TỒN THƠNG
TIN TRONG WEBSITE ” 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..24..tháng..8..năm 2022.
Nhóm sinh viên thực hiện đề tài
Nhóm 57

1

TIEU LUAN MOI download : moi nhat


MỤC LỤC
LỜI CẢM ƠN................................................................................................................................1
MỤC LỤC......................................................................................................................................2
CHƯƠNG 1. TỔNG QUAN VỀ TẤN CƠNG LỖ HỔNG BẢO MẬT WEBSITE..............7
1.1 Tổng quan về cơng nghệ Web...................................................................................................... 7
1.1.1 Giới thiệu chung.......................................................................................................7
1.1.2 Dịch vụ và cơ chế hoạt động Web..................................................................................... 10

1.1.3 Công nghệ Web 2.0 và 3.0................................................................................................... 11
1.1.4 Ưu điểm và hạn chế của Web app...................................................................................... 11
1.2 Một số phương thức tấn công lỗ hổng bảo mật Website.................................................... 12
1.2.1 Giới thiệu chung.................................................................................................................... 11
1.2.2 Các phương thức tấn công lỗ hổng bảo mật Website.................................................... 12
1.2.3 Nhận xét và đánh giá............................................................................................................ 12

1.3 Một số nguyên nhân gây ra các lỗ hổng bảo mật Website................................................ 13
1.2.1 Nguyên nhân do nền tảng xây dựng website................................................................... 11
1.2.2 Nguyên nhân do hạ tầng cung cấp hạ tầng web............................................................. 12
1.2.3 Nguyên nhân do người vận hàng và sử dụng dịch vụ web.......................................... 12
1.4 Kết luận............................................................................................................................................ 20
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.................................................................................................................... 11
2.1.2 Cơ chế và mơ hình phát hiện lỗ hổng bảo mật Website................................................ 11
2.2 Giải pháp sử dụng công cụ phần mềm dò quét.................................................................... 21
2.2.1 Giới thiệu giải pháp............................................................................................................... 11
2.2.2 Một số phần mềm phát hiện lỗ hổng bảo mật Website................................................. 11
2.2.3 Nhận xét................................................................................................................................... 11
2.3 Giải pháp sử dụng hệ thống phát hiện................................................................................... 25
2.3.1 Giới thiệu chung.................................................................................................................... 25
2.3.2 Ứng dụng hệ thống IDS trong phát hiện xâm nhập....................................................... 11
2.3.3 Nhận xét................................................................................................................................... 11

2

TIEU LUAN MOI download : moi nhat



2.4 Kết luận............................................................................................................................................ 32
CHƯƠNG 3. THỰC NGHIỆM........................................................................................................... 24
3.1 Cài đặt phầm mềm......................................................................................................................... 24
3.2 Tiến hành quét......................................................................................................................... 24
3.3 Kết quả thực nghiệm.............................................................................................................. 24
3.3 Kết luận..................................................................................................................................... 24
DANH MỤC CÁC TÀI LIỆU THAM KHẢO.................................................................. 25

3

TIEU LUAN MOI download : moi nhat


DANH SÁCH CÁC HÌNH VẼ

4

TIEU LUAN MOI download : moi nhat


5

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 em đã chọn đề tài để báo cáo cho môn thực tập cơ sở là “Một
số kĩ thuật đảm bảo an tồn thơng tin cho Website”. Đề tài tập trung đi sâu 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 để phân tích các lỗ hổng
và giải quyết bài tốn đề ra .
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 và thử nghiệm một số giải pháp phát hiện các lỗ

5

TIEU LUAN MOI download : moi nhat


hổng bảo mật website thường gặp.
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 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.
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 trên ứng
dụng Vega và xây dựng một số chương trình
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
Chương 2: Nghiên cứu giải pháp
Chương 3: Thử nghiệm
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 và các vấn đề liên quan.

6

TIEU LUAN MOI download : moi nhat


7

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ự

7


TIEU LUAN MOI download : moi nhat


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) ln 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.

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

8

TIEU LUAN MOI download : moi nhat


9

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 đổ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:

9

TIEU LUAN MOI download : moi nhat


Hình 1.2. 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 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 [10].


Hình 1.3. 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 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).

10

TIEU LUAN MOI download : moi nhat


11

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.

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

11

TIEU LUAN MOI download : moi nhat


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 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 … Ngồ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 bình. Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có

12

TIEU LUAN MOI download : moi nhat


13


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

13

TIEU LUAN MOI download : moi nhat


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 q 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

14

TIEU LUAN MOI download : moi nhat


15

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

15


TIEU LUAN MOI download : moi nhat


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

16

TIEU LUAN MOI download : moi nhat


17

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 ln 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 [12], 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

17

TIEU LUAN MOI download : moi nhat


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

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

18

TIEU LUAN MOI download : moi nhat


thường trải qua các giai đoạn sau đây:

19

(1)

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


(2)

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

(3)

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à qt 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 ngồ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 tồn bộ hệ thống thơng qua bộ lưu trữ mật khẩu
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

19

TIEU LUAN MOI download : moi nhat


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  sau đó trả về tương ứng về các lỗ
hổng có thể tồn tại.
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
với dấu vết số lỗ hổng đã được biết của Website đang được kiểm tra. Trong
quá trình kiểm tra thăm dị tích cực, các phương tiện phân tích an tồn mô
phỏng các tấn công vào Website, sử dụng thông tin lỗ hổng nhận được khi
quét.

20

TIEU LUAN MOI download : moi nhat


21

Hình 2.1. Mơ hình cơ chế tổng qt phát hiện lỗ hổng bảo

mật Website.
Kết quả rà quét và kiểm tra thăm dị tích cực được đưa vào cơ sở dữ liệu lỗ
hổng, trong đó lưu giữ thơng tin các lỗ hổng của Website. Trên cơ sở so sánh
thông tin lỗ hổng được phát hiện với thông tin các lỗ hổng của Website, các
phương tiện phân tích an tồn hệ thống lập báo cáo về sự vắng mặt hay hiện
diện của những trùng hợp trong thông tin của các lỗ hổng, báo cáo này được
lưu trong cơ sở dữ liệu lỗ hổng.
Mô tả thông tin các lỗ hổng đã được biết đến và lỗ hổng chưa biết (lỗ
hổng zero-day) được lưu giữ bằng thơng tin về các tính chất đặc thù của từng
lỗ hổng cụ thể. Để nhận dạng chính xác thông tin lỗ hổng được phát hiện, cơ
sở dữ liệu lỗ hổng cần chứa thông tin về tên gọi và phiên bản phần mềm của
Website, về định danh, tên và lớp của các lỗ hổng được phát hiện. các lỗ hổng
đã được biết đến và lỗ hổng zero-day được lưu giữ bằng thơng tin về các tính
chất đặc thù của từng lỗ hổng cụ thể. Để nhận dạng chính xác thông tin lỗ
hổng được phát hiện, cơ sở dữ liệu lỗ hổng cần chứa thông tin về tên gọi và

21

TIEU LUAN MOI download : moi nhat


phiên bản phần mềm của Website, về định danh, tên và lớp của các lỗ hổng
được phát hiện
Dựa trên các thơng tin trên, các phương tiện phân tích an tồn sẽ phân
loại các mức độ của lỗ hổng. Để đánh giá một cách chính xác thơng tin về lỗ
hổng bao gồm: loại khiếm khuyết của Website, vị trí phát hiện và phương
pháp phát hiện lỗ hổng. Quá trình đánh giá lỗ hổng kết thúc bằng các khuyến
nghị về việc loại bỏ lỗ hổng hoặc loại trừ khả năng sử dụng chúng.
Trong trường hợp lỗ hổng được phát hiện lần đầu tiên, các phương tiện
phân tích sẽ đưa thơng tin về nó vào cơ sở dữ liệu lỗ hổng và hình thành cơ sở

dữ liệu mới của lỗ hổng zero-day. Khi các nhà phát triển Website đưa ra các
bản cập nhật và các biện pháp bảo vệ thơng tin, thì lỗ hổng zero-day sẽ
chuyển thành lỗ hổng đã biết.
2.2 Giải pháp sử dụng cơng cụ phần mềm dị qt.
.
2.2.1 Giới thiệu giải pháp

Trong quá trình thiết kế, cài đặt và vận hành hệ thống Website, thường
xuyên dò quét phát hiện các lỗ hổng bảo mật để kịp thời xử lý là sự lựa chọn
thông minh giúp cho các doanh ngiệp, cá nhân, tổ chức bảo vệ được hệ thống
của mình. Để thực hiện dò quét phát hiện các lỗ hổng bảo mật, người dùng có
thể tự cài đặt các phần mềm hoặc sử dụng các phần mềm sẵn có của các nhà
cung cấp.
Một số tiêu chuẩn kiểm thử lỗ hổng bảo mật website điển hình:
– OWASP (Open Web Application Security Project).
– OSSTMM (Open Source Security Testing Methodology Manual) –

Kiểm thử theo phương thức mã nguồn mở.
– PTF (Penetration Testing Framework) – Dò quét lỗ hổng bảo mật hệ thống.
– ISSAF (Information Systems Security Assessment Framework) –

Đánh giá bảo mật Hệ thống thông tin.
Để xây dựng các phần mềm phát hiện lỗ hổng bảo mật, trước hết cần
nghiên cứu kỹ các đặc điểm lỗ hổng bảo mật dựa trên các tiêu chuẩn nêu trên.
Tiếp theo là sử dụng các ngôn ngữ lập trình (chẳng hạn như Python) để cài đặt

22

TIEU LUAN MOI download : moi nhat



23

phần mềm mơ phỏng q trình tấn cơng lỗ hổng bảo mật nhằm phát hiện
chúng. Cuối cùng là sử dụng phần mềm để dò quét phát hiện lỗ hổng bảo mật.
Quá trình tự cài đặt các phần mềm phát hiện lỗ hổng bảo mật giúp cho
các nhà phát triển Website nắm rõ bản chất của lỗ hổng và sớm có các giải
pháp khắc phục.
Trong hình 2.2 mơ tả sơ đồ tấn công lỗ hổng cơ sở dữ liệu SQL của
website được viết bằng ngơn ngữ lập trình PHP và cơ sở dữ liệu SQL server .

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

Trên cơ sở đó, thực hiên cài đặt phần mềm theo sơ đồ trên để phát hiện
lỗ hổng bảo mật webiste tương ứng.
2.2.2 Một số phần mềm phát hiện lỗ hổng bảo mật Website

Hiện nay có khá nhiều phần mềm miễn phí cũng như trả phí được phát
hành. Một số ứng dụng phát hiện lỗ hổng bảo mật Website khá phổ biến được
liệt kê dưới đây.
-

Google Safe Browsing Diagnostic: sẽ cho biết về tên miền và các

đường dẫn liên quan đến địa chỉ web muốn kiểm tra.
- URL Void: có chức năng quét địa chỉ web bằng hơn 30 công cụ khác nhau.
- UnMask Parasites: quét web cho biết nó chứa các mối nguy hiểm nào

23


TIEU LUAN MOI download : moi nhat


×