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

Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web

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 (1.19 MB, 88 trang )

Bộ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC sư PHẠM HẢ NỘI 2

TRẦN THỊ HÀ

1.1.

NGHIÊN CỨU GIẢI PHÁP ĐÁNH GIÁ RỦI RO

CHO ỨNG DỤNG WEB



HÀ NỘI, 2015


LUẬN VĂN THẠC sĩ MÁY TÍNH
TRẦN THI HÀ

Bộ GIÁO DỤC VÀ ĐÀO TẠO

1.2. NGHIÊN CỨU GIẢI PHÁP
ĐÁNH
GIÁ
TRƯỜNG
ĐẠI HỌC
sư RỦI
PHẠMRO
HÀ CHO
NỘI 2 ỨNG DỤNG WEB
Chuyên ngành: Khoa học máy tính Mã SỔ: 60 48 01 01



LUẬN VĂN THẠC sĩ MÁY TÍNH Người hướng dẫn khoa học: TS. HỒ VĂN HƯƠNG

HÀ NỘI, 2015


3

LỜI CẢM ƠN
Trong thời gian làm luận văn em đã gặp rất nhiều khó khăn nhưng được sự giúp
đỡ và tạo điều kiện rất nhiều từ các thầy cô giáo, bạn bè và gia đình, em đã hoàn thành
xong luận văn của mình.
Trước tiên em xin được bày tỏ lòng biết ơn tới các thầy cô giáo đã và đang công
tác tại khoa Sau Đại Học - Trường Đại học sư phạm Hà Nội 2, những người đã giảng dạy
và cung cấp những kiến thức khoa học quý báu ừong suốt năm học qua để em có nền
tảng kiến thức thực hiện luận văn.
Đặc biệt em xin gứi lời cảm ơn sâu sắc tới TS. Hồ Văn Hương, người đã tận tình
chỉ bảo, giúp đỡ và tạo điều kiện để em có thể hoàn thành luận văn này.
Em cũng xin gửi lời cảm ơn tới tập thể lớp Khoa Học Máy Tính - KI7, trường
Đại học sư phạm Hà Nội 2 đã nhiệt tình giúp đỡ và chia sẻ những kinh nghiệm quý báu
cho em.
Cuối cùng em xin gửi lời cảm ơn gia đình, bạn bè đã tạo điều kiện, giúp đỡ và
đóng góp nhiều ý kiến quý báu cho em trong cuộc sống, trong công việc và học tập nói
chung cũng như trong quá trình em thực hiện luận văn nói riêng.
Mặc dù đã có nhiều cố gắng nhưng do hạn hẹp về kiến thức, kinh nghiệm cũng
như thời gian tìm hiểu, nghiên cứu và thực hiện nên luận văn không tránh khỏi những
thiếu sót. Em rất mong nhận được sự góp ý của thầy cô, bạn bè để em có thể hoàn thiện
tốt luận văn của mình.
Em xin chân thành cảm ơn!
Xuân Hòa, tháng 10 năm 2015

Học viên

Trần Thị Hà


4

LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Tác giả luận văn

Trần Thị Hà


5

MỤC LỤC


6

DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT


Ký hiệu
ASP

«


7

Tiếng Anh
Active Server Pages

Tiếng Việt

Môi trường cho các ứng dụng chạy trên
Server

CAPTC
HA

DOM

Completely Automated Public

Phép thử Turing hoàn toàn tự động để

Turing test to tell Computers and

phân biệt máy tính và con người

Humans Apart
Document Object Model

Hệ giao tiêp lập trình ứng dụng cho
HTML và XML


ESAPI

Anhanced Small Arms Protective

Tăng cường lá chắn nhỏ bảo vệ chèn

Insert
IDE

IDS
IIS
IPSec

Integrated Development
Environment
Intrusion Detection System
Internet Information Services
Internet Protocol Security

NTFS

New Technology File System

OSI

Open Systems Interconnection

Môi trường phát triển tích hợp

Một hệ thông phát hiện xâm nhập

Dịch vụ cung câp thông tin Internet
Giao thức bảo mật Internet
Hệ thống tập tin công nghệ mới
Mô hình tham chiêu kêt nôi các hệ
thống mở


7

OWASP

Open Web Application Security

Dự án an ninh mở ứng dụng Web

Project

DANH MỤC BẢNG

DANH MỤC HÌNH VẼ


8

MỞ ĐẦU
1. Lý do chọn đề tài
Với xu thế phát triển nhanh chóng của ngành thương mại điện tử hiện nay, rất nhiều
doanh nghiệp hiện đang sử dụng ứng dụng web để cung cấp dịch vụ thương mại trực tuyến,
kết nối khách hàng, đối tác và nhân viên một cách hiệu quả nhất. Đa số ứng dụng web có
thể bị những lỗi mà các phương pháp phòng chống mạng thông thường không bảo vệ được.

Lỗi và lỗ hổng ừong mã nguồn của ứng dụng web có thể gây ra những hậu quả nghiêm
trọng như lộ dữ liệu nhạy cảm, gây tổn thương đến toàn hệ thống hạ tầng công nghệ thông
tin. Sự cố bảo mật ừong ứng dụng web có thể ảnh hưởng đến danh tiếng của công ty, mất
mát về mặt tài chính, ảnh hưởng đến uy tín với khách hàng và các vấn đề liên quan đến
pháp lý.
Khi một tổ chức triển khai trực tuyến một ứng dụng web, điều này đồng nghĩa với
việc tổ chức đó cho phép bất kỳ ai cũng có quyền truy cập vào ứng dụng qua giao thức
HTTP. Những truy cập này có khả năng vượt qua tường lửa, hệ thống lọc tầng mạng, các
lớp bảo vệ hệ thống và cả hệ thống phát hiện xâm nhập. Vì các mã tấn công đều nằm trong
các gói giao thức HTTP hợp lệ. Ngay cả những trang Web có mức độ bảo mật cao sử dụng
SSL cũng đều cho phép tất cả các dữ liệu đi qua mà không hề kiểm tra tính hợp lệ của
những dữ liệu này. Điều này có nghĩa bảo mật ứng dụng web là một yếu tố quan trọng nằm
trong hệ thống phòng thủ ngoại vi, cùng với tường lửa và các thiết bị bảo mật khác. Vì vậy,
việc “Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng Web ” là đề tài rất cấp thiết và có
ý nghĩa thực tiễn.
2. Mục đích nghiên cứu
Nghiên cứu về các lỗ hổng bảo mật và phương pháp đánh giá mức độ rủi ro cho ứng
dụng Web nói chung và website nói riêng. Kết quả nghiên cứu của luận văn sẽ góp phần
giúp cho các nhà quản lý (hay chủ sở hữu) các website có được cái nhìn đầy đủ về hiện
trạng và mức độ an toàn các website của họ thông qua kết quả đánh giá sự tồn tại các lỗ
hổng, các nguy cơ tấn công tiềm ẩn.
3. Nhiệm vụ nghiên cứu
-

Nghiên cứu tổng quan về đánh giá rủi ro cho ứng dụng Web.

-

Nghiên cứu giải pháp đánh giá và mô hình đánh giá rủi ro cho ứng dụng Web.


-

Nghiên cứu một số công cụ đánh giá lỗ hổng bảo mật của website.
-

Tiến hành thử nghiệm đánh giá rủi ro cho ứng dụng Web theo phương pháp hộp
đen.


9

4. Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý luận: Đọc tài liệu, phân tích, hệ thống hoá, khái quát
hoá tài liệu để tổng quan cơ sở lý luận của đề tài.
-

Phương pháp mô phỏng thực nghiệm: sử dụng công cụ Acunetix để áp dụng triển
khai đánh giá cổng thông tin điện tử của Trường Đại học Sư Phạm Hà Nội 2 và
cống thông tin điển tử của Tinh Vĩnh Phúc.

Bố cục của luận văn gồm 3 chương:

Chương 1: Tổng quan về đánh giá rủi ro cho ứng dụng web
Trình bày các khái niệm về an toàn thông tin, đánh giá rủi ro, tổng quan về ứng dụng
web. Đồng thời nghiên cứu các mối đe dọa, các lỗ hổng bảo mật phổ biến của ứng dụng
web và các biện pháp đảm bảo an toàn ứng dụng web.
Chương 2: Phương pháp đánh giá và mô hình đánh giá rủi ro cho ứng dụng web Giới thiệu
và phân tích các lỗ hổng bảo mật của các thành phần ứng dụng web, phân tích và đánh giá
các phương pháp kiểm tra lỗ hổng, lựa chọn ra phương pháp kiểm tra tối ưu. Đồng thời
phân tích và đánh giá một số công cụ kiểm tra lỗ hổng và chọn ra một công cụ để thử

nghiệm đánh giá ở chương 3.
Chương 3: Thử nghiệm đánh giá rủi ro cho ứng dụng web theo phương pháp hộp đen
Sử dụng công cụ phần mềm kiểm tra lỗ hổng Acunetix xây dựng kịch bản, tiến hành
thử nghiệm đánh giá rủi ro cho ứng dụng web của 2 đơn vị cụ thể và đề xuất các giải pháp
đảm bảo an toàn cho ứng dụng web.

CHƯƠNG 1: TỔNG QUAN VỀ ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG
WEB
1.1.
1.1.1

Một số khái niệm về an toàn thông tin và đánh giá rủi ro
Khái niệm cơ bản về an toàn thông tin
An toàn thông tin: Là sự bảo vệ thông tin chống lại các rủi ro, mất mát, phá hủy hay

sử dụng không hợp lệ.
Đảm bảo an toàn thông tin: Là đảm bảo các tính chất bí mật, toàn vẹn, chính xác,
sẵn sàng phục vụ của thông tin trong lưu trữ, xử lý và truyền tải trên mạng [3]. Khái niệm
này bao hàm việc đảm bảo an toàn kỹ thuật cho hoạt động của các cơ sở hạ tầng thông tin,
cả phần cứng và phần mềm hoạt động theo các tiêu chuẩn kỹ thuật nhằm ngăn ngừa các
hành vi trái phép gây hại cho cộng đồng, phạm pháp hay khủng bố.
An toàn phần cứng là bảo đảm hoạt động cho mạng và các thiết bị. An toàn phần
mềm là bảo đảm cho phần mềm, cơ sở dữ liệu, ứng dụng.
Những đặc tính cơ bản của thông tin cần được đảm bảo:

Các đặc điểm


1
0


này bao trùm toàn bộ phạm trù an toàn các hệ thống thông tin, đúng với mọi tổ chức, không
lệ thuộc vào việc chia sẻ thông tin như thế nào [3].
Tính bảo mật (Confidentialy): là đảm bảo thông tin chỉ được tiếp cận bởi những
người được cấp quyền tương ứng.
Tính toàn vẹn (Integrity): là bảo vệ sự chính xác, hoàn chỉnh

của thông tin

và thông tin chỉ được thay đổi bởi những người được cấp quyền.
Tính sẵn sàng (availability): là những người được quyền sử dụng có thể truy xuất
thông tin khi họ cần.
Tính xác thực: Trong hoạt động tính toán, kinh doanh qua mạng và an toàn thông
tin, tính xác thực là vô cùng cần thiết để đảm bảo rằng dữ liệu, giao dịch, kết nối hoặc các
tài liệu đều là thật.
Tính không thể chối cãi: có nghĩa rằng một bên giao dịch không thể phủ nhận việc
họ đã thực hiện giao dịch với các bên khác.
1.1.2.

Khái niệm về đánh giá rủi ro Thông tin: giống như các tài sản quan trọng

khác, có giá trị cho một tổ chức và do vậy cần phải được bảo vệ phù hợp. Thông tin
có thể là bản in hay bản viết trên giấy (tài liệu), các tệp lưu trữ điện tử số, thông tin
chuyển qua mạng hoặc thư điện tử, thông tin trong các đàm thoại.
Mối đe doạ (nguy cơ): là nguyên nhân tiềm ẩn gây ra sự cố không mong muốn, kết
quả là có thể gây tổn hại cho một hệ thống hoặc tổ chức [4], Ví dụ, các loại mã độc, kẻ tấn
công (attacker), các kỹ thuật khai thác, thảm hoạ thiên nhiên...
Lỗ hổng bảo mật: là nhược điểm (hay điểm yếu) của một tài sản hoặc một nhóm tài
sản có khả năng bị khai thác bởi một hay nhiều mối đe dọa [4]. Ví dụ, lỗ hổng do thiếu cơ
chế kiểm soát dữ liệu đầu vào từ phía người dùng của một website, lỗ hổng do đặt mật khẩu

yếu...
Rủi ro: là sự kết hợp giữa hậu quả do xuất hiện sự kiện không mong muốn và khả
năng (xác suất) xảy ra sự kiện này hay nói cách khác là khả năng một tài sản thông tin (ví
dụ một ứng dụng web) bị tác động bởi một tác nhân đe doạ [6].
Những đặc trưng cứa rủi ro:
Rủi ro bao gồm 3 yếu tố: xác suất xảy ra (Probability), khả năng ảnh hưởng đến đối
tượng (Impacts on objectives) và thời lượng ảnh hưởng (Duration).
Đánh giá rủi ro: là việc xác định giá trị của các tài sản thông tin, nhận biết các đe
dọa có thể xảy ra và các lỗ hổng bảo mật tồn tại, nhận biết các biện pháp xử lý hiện có và
hiệu quả của các biện pháp đó, xác định các hậu quả tiềm ẩn và cuối cùng là phân loại và


1
1

sắp xếp thứ tự ưu tiên các biện pháp xử lý các rủi ro [6].
Sự khác nhau giữa rủi ro và không đảm bảo an ninh thông tin:
An toàn thông tin là bảo vệ thông tin và hệ thống thông tin nói chung. Rủi ro là hậu
quả khi thông tin và hệ thống thông tin không được đảm bảo.

1.2.

Khái quát về ứng dụng web
1.2.1.

Giới thiệu chung Đa số các trang Web hiện nay là các ứng dụng thực tế.

Các ứng dụng này hỗ trợ việc đăng ký, đăng nhập, giao dịch tài chính, tìm kiếm...,
các nội dung trình bày
cho người sử dụng được tạo ra tự động và thường được thiết kế cho mỗi người dùng cụ thể.

ứng dụng Web được tạo ra để thực hiện tất cả các chức năng hữu ích mà có thể thực hiện
trực tuyến. Có rất nhiều cách hiểu khác nhau về ứng dụng Web như dưới góc độ kỹ thuật
và dưới góc độ chức năng.
Dưới góc độ chức năng, một ứng dụng web (Web Application) là một chương trình
ứng dụng có thể tiếp cận thông qua môi trường mạng Internet (hoặc Intranet), ứng dụng
web phổ biển nhờ vào việc có thể truy cập ở bất cứ nơi đâu thông qua trình duyệt hoặc ứng
dụng khác, ứng dụng web chỉ cần cập nhật và bảo trì trên máy chủ hoặc cụm máy chủ, chứ
không phải thực hiện trên hàng ngàn máy tính sử dụng, đó cũng là lý do chính cho sự phổ
biến của nó. Một số ứng dụng web phổ biến hiện nay như webmail, bán hàng trực tuyến,
cổng thông tin điện tử, diễn đàn thảo luận, quảng bá thông tin, giải trí...
Việc phát triển ứng dụng web có thể dựa trên những bộ khung có sẵn như Joomla,
Dotnetrmke, SharePoint, PHP Nuke, CMS portal, Liferay... hoặc tự xây dựng bằng những
ngôn ngữ lập trình như ASP, PHP, JSP, Perl, Python... Một thành phần khác không thể
thiếu trong việc phát triển ứng dụng web là hệ quản trị cơ sở dữ liệu. CSDL cho phép lưu
trữ và truy xuất dữ liệu một cách linh hoạt. Một số cơ sở dữ liệu được sử dụng cho ứng
dụng web phổ biến hiện nay như Oracle, SQL Server, MySQL....
Xu hướng phát triển ứng dụng web hiện nay hướng tới sự thuận tiện trong chia sẻ,
hợp tác và sáng tạo giữa các người dùng, giao diện trực quan, dễ sử dụng.
1.2.2.

Giao thức HTTP
Giao thức HTTP (Hypertex Transfer Protocol): là giao thức truyền thông cốt lõi

được sử dụng để truy nhập World Wide Web và tất cả các ứng dụng Web. Giao thức này
hoạt động theo cơ chế request/response mà ữong đó client gửi message request (yêu cầu)
và server gửi lại message response (hồi đáp). HTTP đã được mở rộng, phát triển theo nhiều
hướng khác nhau để hỗ trợ cho các ứng dụng phân tán phức tạp phổ biến hiện nay.


1

2

Giao thức HTTPS (HTTP over SSL/TLS): là sự kết hợp giữa giao thức
HTTP và giao thức bảo mật SSL hay TLS cho phép trao đổi thông tin một cách an toàn trên
Internet. HTTPS được thiết lập sẽ giúp bảo mật thông tin truyền giữa hai máy tính. Do đó,
cứ thông tin nào cần bảo mật trên nền web thì có thể sử dụng nó. Tuy nhiên, hệ thống phải
xử lý nhiều hơn.
1.2.3.

Kiến trúc của web
Một ứng dụng web khi triển khai, về cơ bản sẽ có ba lớp như sau: lớp trình bày, lớp

ứng dụng và lớp cơ sở dữ liệu.
-

Lớp ữình bày: là lớp máy chủ web hoạt động, có nhiệm vụ hiển thị dữ liệu cho
người dùng.

-

Lớp ứng dụng: là lớp mà ứng dụng Web hoạt động, nó sẽ xử lý thông tin người
dùng yêu cầu, đưa ra quyết định, gửi kết quả đến “lớp trình bày”.

-

Lớp cơ sở dữ liệu: là nơi máy chủ Cơ sở dữ liệu (CSDL) hoạt động, thường là các
hệ quản trị CSDL (DBMS-database management system) chịu trách nhiệm quản lý
các file dữ liệu và quyền sử dụng.
Theo phân lớp như trên, có thể có các loại mô hình kiến trúc web như sau:


a. Mô hình một lớp
Mô hình 1 lớp

Web Server Web Application Data

Hình 1.1: Mô hình một lớp

base Server


1
3

Trong mụ hỡnh 1 lp, mỏy ch web, ng dng web, mỏy ch c s d liu u c
thit lp trờn cựng mt ti nguyờn mỏy ch (cựng mt host) nh hỡnh v. u im: D dng
ci t v khụng tn nhiu ti nguyờn.
Nhuỗrc diộm: Khi mot lõp bi tin tọc tan cụng v chiộm quyốn kiộm soõt co thộ dan
dộn cõc lụp khõc cỹng bi õnh huụng theo. Han nỷa, sờ gap nhiốu khử khõn trong quõ trùnh
võn hnh v triờn khai cõc biờp phõp bõo vờ cho ỹng dung.
b. Mụ hinh hai lõp:
Khõc vụi mụ hinh 1 lõp, trong mụ hinh 2 lụp cõc mõy chỹ web, ỹng dung web duỗrc
thiột lõp trờn cựng mot mõy chỹ, con mõy chỹ co so dỷ lieu duỗrc thiột lõp trờn mot mõy
chỹ khõc.

Mụ hinh 2 lụp
Web Server Web
Application
Data base
Server
Hinh 1.2: Mụ hinh hai lõp

ĩu diờm: Khụng ton quõ nhiờu ti nguyờn nhung võn dm bõo duoc mot phõn no
dụ quõ trinh võn hnh v bõo mõt.
Nhuỗrc diờm: Mõy chỹ web v mõy chỹ ỹng dung duoc kờt hop trờn mot mõy chỹ
nờn khi mõy chỹ ny bi tin tọc tõn cụng, co thờ ma nguụn ỹng dung web sở bi lụ, dieu ny
co thờ dõn dờn mõy chỹ CSDL cỹng cụ thờ tiờp tue bi tõn cụng.
c. Mụ hinh ba lõp
Trong mụ hinh 3 lụp, cõc mõy chỹ web, ỹng dung web v mõy chỹ co sụ dỷ lieu
dờu duoc thiờt lõp trờn cõc host khõc nhau (Hùnh 1.3).
Uu diờm: Dờ dng võn hnh hờ thụng v chỹ dụng phong, chụng cõc nguy co tõn
cụng tự tin tac.


1
4

Nhuoc diém: Ton kém nhièu tài nguyên và quâ trinh cài dät.

Hình 1.3: Mô hình 3 lớp
d. Mô hình N lớp:
Trong mô hình N lớp, máy chủ web, ứng dụng và máy chủ cơ sở dữ liệu đều được tổ
chức thành cụm máy chủ độc lập (Hình 1.4). Mô hình này phù hợp với những hệ thống
cung cấp dịch vụ lớn, đòi hỏi phải có nhiều tài nguyên.
Ưu điểm: Cung cấp dịch vụ rộng lớn với nhiều người sử dụng.
Nhược điểm: Tốn nhiều tài nguyên, tăng chi phí cài đặt và vận hành cao.

1.2.4.

Hình 1.4: Mô hình N lớp
Hoạt động của web
Thông qua ừình duyệt, người dùng cuối sẽ kết nối đến máy chủ phục vụ web

bằng địa chỉ URL. Tại đây, máy chủ phục vụ web sẽ xử lý kết nối và gửi yêu cầu
đến ứng dụng web. Tùy theo yêu cầu, ứng dụng web sẽ truy vấn đến cơ sở dữ liệu

và nhận kết quả ưả về, sau đó sẽ gửi phản hồi về máy chủ phục vụ web. Cuối cùng, máy
chủ phục vụ web sẽ gửi dữ liệu về trình duyệt dưới dạng siêu văn bản và người


1
5

dùng cuối sẽ nhận thông tin hiển thị trên trình duyệt.

Hình 1.5: Mô hình hoạt động của một ứng đụng web
Trình duyệt web (web browser): là các ứng dụng phần mềm cho phép người dùng
truy vấn dữ liệu và tương tác với nội dung (văn bản, hình ảnh, đoạn phim, nhạc, trò chơi
và các thông tin khác) nằm ưên trang Web bên trong website.
Một số trình duyệt web hiện nay bao gồm Internet Explorer, Mozilla Firefox,
Safari, Google Chrome, opera....
Máy chủ web (Web Server): là máy chủ cài đặt các chương trình phục vụ các ứng
dụng web. Web Server có khả năng tiếp nhận yêu cầu từ các trình duyệt web và gửi phản
hồi đến máy khách với những trang web, thông qua môi trường mạng Internet bằng các
giao thức HTTP hoặc các giao thức khác.
Một số Web Server thông dụng hiện nay gồm:
Product
Vendor
w eb Site Hosted

Percent

Apache


Apache

179,720,332

60.31%

IIS

Microsoft

57,644,692

19.34%

Nginx

Igor Sysoev

22,806,060

7.65%

GWS

Google

15,161,530

5.09%


Lighttpd

Lighttpd

1,796,471

0.60%

SunOne

Sun Microsystems

-

-

Hình 1.6: Một sổ Web Server thông dụng hiện nay
ứng dụng Web (Web Application): là nơi mà các kịch bản hay mã nguồn tạo ra ứng
dụng web được thực thi. Mã nguồn sẽ được biên dịch và thực hiện các truy vấn đến cơ sở
dữ liệu dựa vào mã nguồn ứng dụng.
Máy chủ cơ sở dữ liệu (Database Server): là máy chủ lưu trữ tất cả các dữ liệu liên
quan đến ứng dụng web. Bất kỳ người sử dụng nào trên mạng máy tính, về nguyên tắc đều


1
6

có quyền truy nhập khai thác toàn bộ hay một phần dữ liệu theo quyền hạn mà không phụ
thuộc vào vị trí địa lý.

Cơ sở dữ liệu (Database): là một tập hợp thông tin có cấu trúc. Một số hệ cơ sở dữ
liệu phổ biến hiện nay là MS SQL Server, Oracle, My SQL, Postgres....

1.3.

Các mối đe dọa, các loại lỗ hổng phổ biến của ứng dụng web

1.3.1.

Các mối đe dọa
Những nguy cơ tiềm ẩn, đối với an toàn ứng dụng web đến từ nhiều nguyên nhân

khách quan và chủ quan sau đây:
-

Thảm họa bất ngờ: tác động đến từ bên ngoài, ảnh hưởng đến bảo vệ ở mức vật
lý của trang web như hỏa hoạn, bão lũ, động đất, khủng bố, tai nạn lao động ...

-

Sự cố máy tính: trục trặc vật lý ảnh hưởng đến hoạt động của trang web như sự cố
nguồn điện, hỏng phần cứng, thiết bị nối mạng hỏng, môi trường vận hành thiết bị
hỏng,...

-

Sự co vô tinh', sự kiện ảnh hưởng đến hệ thống do yếu tố con người như

-


nhân viên thiếu hiểu biết về bảo mật, lơ là, cẩu thả khi quản lý hệ thống....
-

Sự co có chủ ỷ: hoạt động phá hoại, khai thác tấn công làm ảnh hưởng đến an toàn
của trang web, bao gồm tội phạm máy tính, tình báo và khủng bố công nghệ cao,
nhân viên bất mãn với tổ chức, nhân viên gián điệp bán thông tin để nhận hối lộ,
nhân viên bị đánh lừa tài khoản hệ thống...
Loại bỏ các mối đe dọa trên đòi hỏi phải tốn nhiều thời gian và công sức. Trước hết

là cần ý thức rõ ràng và đầy đủ về những hiểm họa này, sau đó lên kế hoạch thực hiện quản
lý và phòng tránh rủi ro thích hợp trước mỗi loại nguy cơ.
1.3.2.

Các loại lỗ hẩng phổ biến theo tiêu chuẩn OWASP Đứng trên quan điểm

của người đánh giá rủi ro cũng như người quản trị an toàn ứng dụng web thì việc
hiểu rõ lỗ hổng bảo mật có ý nghĩa vô cùng quan trọng OWASP (Open Web
Application Security Project) là một dự án mở về bảo mật ứng dụng web thúc đẩy
cố gắng chung của cộng đồng nhằm giúp các cá nhân, tổ chức, doanh nghiệp có thể
phát triển, mua và bảo trì các ứng dụng web một cách an toàn. Hàng năm OWASP
tổng hợp, cập nhật và công bố danh sách 10 lỗ hổng phổ biến nhất của ứng dụng
web một cách ngắn gọn và xúc tích, giúp các doanh nghiệp, cá nhân xây dựng, phát
triển hay đánh giá các ứng dụng web có thể tự đưa ra được các giải pháp phù hợp,
nâng cao bảo mật thông tin. Danh sách này luôn được thay đổi và cập nhật liên tục,
do sự thay đổi về các tác động ảnh hưởng của các lỗ hổng. Theo OWASP trong năm


1
7


2013 [7], 10 rủi ro an ninh cao nhất là:
1. Injection (Chèn mã): Sai sót trong nhập liệu, ví dụ SQL injection, OS injection,
LDAP injection... Thông tin sai lệch được đưa vào cùng với các biến dữ liệu đầu
vào như một phần của lệnh hay câu truy vấn. Kẻ tấn công lợi dụng sơ hở này để
thực hiện các lệnh không mong muốn hay truy cập các dữ liệu bất hợp pháp.
2. Broken Authentication and Session Management (Lỗi xác thực, quản lý phiên)'.
Lỗ hổng này cho phép kẻ tấn công lợi dụng để đoạt mật khẩu, khóa hay phiên làm
việc, từ đó mạo danh phiên làm việc và danh tính của người dùng.
3. Cross-Site Scripting (Lỗi chéo trang-XSS): Lỗ hổng bảo mật do thiếu cơ chế kiểm
soát dữ liệu nhập vào. Các dữ liệu bất hợp pháp được gửi đến trình duyệt web mà
không được xác nhận. Điều này cho phép kẻ tấn công thực thi các kịch bản trên
trình duyệt web của nạn nhân, làm thay đổi nội dung trang web, chuyển hướng trang
web hay đánh cắp phiên làm việc được lưu trên trình duyệt...
4. Insecure Direct Object References (Tham chiếu trực tiếp đối tượng không an
toàn)'. Nhà phát triển ứng dụng web đưa ra tham chiếu đến một đối tượng bên trong
ứng dụng như là một tập tin, một thư mục hay một khóa cơ sở dữ liệu. Neu việc
kiểm tra quá trình tham chiếu này không an toàn, kẻ tấn công có thể dựa theo để
tham chiếu đến các dữ liệu mà họ không có quyền truy cập
5. Security Misconfigtiration (Cấu hình bảo mật kém): Một hệ thống bảo mật tốt là
hệ thống triển khai cho khung ứng dụng, máy chủ ứng dụng, máy chủ cơ sở dữ liệu,
nền tảng... các phương pháp bảo mật cần thiết, thống nhất và liên kết với nhau. Điều
này nhằm tránh những nguy cơ bị khai thác vào ứng dụng, ví dụ để lộ những thông
tin quan trọng khi trao đổi các gói tin.
6. Sensitive Data Exposure (Lộ dữ liệu nhạy cảm): Các dữ liệu nhạy cảm như thông
tin thẻ tín dụng, tài khoản ngân hàng, ID (định danh) nộp thuế... không được lưu trữ
và bảo vệ an toàn, kẻ tấn công có thể lấy cắp hoặc thay đổi những thông tin này. Dữ
liệu nhạy cảm cần được lưu trữ, truyền tải và bảo vệ đúng cách, có mã hoá và sao
lưu.
7. Missing Function Level Access Control: Thiếu các điều khoản trong việc phân
quyền quản trị các mức, dẫn đến việc kẻ tấn công có thể lợi dụng và truy ra các

điểm yếu trên hệ thống hay lợi dụng để leo thang đặc quyền.
8. Cross-Site Request Forgery (CSRF): Lợi dụng sơ hở của nạn nhân, tin tặc có thể
lừa nạn nhân thực hiện các hành động nguy hiểm mà nạn nhân không hề hay biết, ví


1
8

dụ chuyển tiền từ tài khoản nạn nhân sang tài khoản kẻ tấn công.
9. Using Known Vulnerable Components'. Sử dụng các thư viện, plugin, module... có
chứa các lỗ hổng đã được công khai, dễ dàng dẫn đến việc bị kẻ tấn công lợi dụng
để tấn công vào hệ thống một cách nhanh chóng.
Unvaỉidated Redirects and Forwards: Chuyển hướng không an toàn người
dùng đến một đường dẫn bên ngoài có thể bị kẻ tấn công lợi
dụng để chuyển
hướng nạn nhân đến một trang đích được chuẩn bị sẵn của kẻ
tấn công.
SQL Injection Cross-Site Scripting

j 61%

Predictable Resource Location

22 %
. 19% i

Brute Force

17% j 15%


Information Leakage Insufficient

J
12%

Authentication
Directory Traversal Application
Identification

0%

10%

10%

20%

30%

40%

50%

60%

70%

Hình 1.7: Các lẽ hổng bảo mật cỏ nguy cơ tẩn công cao nhất

1.4.


Một số biện pháp đảm bảo an toàn ứng dụng web [4]
Các biện pháp đảm bảo an toàn cho ứng dụng web không chỉ có lập trình an toàn (an

toàn mã nguồn) mà cần được triển khai cho toàn bộ các thành phần, bao gồm:
Triển khai hệ thống phòng thủ: gồm hai nội dung chính là tổ chức mô hình mạng
hợp lý và tổ chức hệ thống phòng thủ. Điều này giúp người quản trị có cách nhìn tổng quan
về toàn bộ hệ thống của mình. Hệ thống phòng thủ có thể là thiết bị Firewall, thiết bị ngăn
chặn và phát hiện tấn công IDS/IPS...
Vận hành ứng dụng web an toàn: như đã trình bày ở phần trên, các lỗ hổng phổ biến
mà OWASP đưa ra hàng năm chính là cơ sở để người quản trị nhận diện các lỗ hổng trên
ứng dụng của họ. Từ đó có biện pháp khắc phục, sửa đổi mã nguồn kịp thời, nhằm đối phó
với các mối đe dọa luôn luôn thường trực.
Thiết lập cấu hình cơ sở dữ liệu an toàn: rất quan trọng trong vận hành ứng dụng.
CSDL là nơi lưu trữ toàn bộ dữ liệu quan trọng của ứng dụng. Vì vậy, thường bị tin tặc tìm
cách tấn công và khai thác. Nội dung này giúp người quản trị hiểu được yêu cầu thiết lập an
toàn cho CSDL nhằm đối phó với nguy cơ tấn công.


1
9

Cài đặt các ứng dụng bảo vệ: ngoài việc khắc phục lỗi cho các thành phần của một
ứng dụng, nội dung này sẽ trình bày việc cài đặt các ứng dụng bảo vệ nhưhệ thống chống
virus (Anti-Virus) hay hệ thống phát hiện xâm nhập máy tính (Host Based IDS) nhằm bảo
vệ ứng dụng một cách chủ động và tổng quát.
Thiết lập cơ chế sao lưu và phục hồi: thiết lập cơ chế sao lưu thường xuyên cho hệ
thống nhằm lưu lại các trạng thái ổn định của hệ thống. Bản sao lưu sẽ được sử dụng trong
trường hợp kiểm tra lỗi hệ thống hoặc phục hồi hệ thống ở trạng thái trước khi bị tấn công
(cần thiết).

Phòng chống tấn công từ chối dịch vụ: việc phòng chống tấn công DoS/DDoS luôn
luôn là bài toán khó đối với bất kỳ tổ chức nào. Đối với một cuộc tấn công quy mô lớn thì
gần như không có biện pháp nào thực sự hữu hiệu để có thể chống đỡ. Chính vì vậy, để hạn
chế đến mức thấp nhất loại tấn công này, hệ thống cần thường xuyên cập nhật bản vá lỗi,
thiết lập hệ thống cân bằng, sẵn sàng kết nối với các kênh ứng cứu sự cố máy tính, ví dụ
như Trung tâm VNCERT.

1.5.

Kết luận chưong
Chương 1, đã trình bày khái quát được các khái niệm về an toàn thông tin và đánh

giá rủi ro. Thông qua chương này ta cũng nắm được một cách tổng quan về ứng dụng web.
Đồng thời, hiểu được các mối đe dọa và các loại lỗ hổng bảo mật của ứng dụng web, các
biện pháp phòng chống tấn công, bảo đảm an toàn ứng dụng web.
CHƯƠNG 2: GIẢI PHÁP ĐÁNH GIÁ VÀ MÔ HÌNH
ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB 2.1 Giới thiệu chung
Thường đi kèm với lỗ hổng bảo mật là các mối đe dọa và nguy cơ tấn công. Nếu hệ
thống không được gia cố kỹ càng, loại bỏ các lỗ hổng, cách ly với các mối đe dọa thì khả
năng xuất hiện rủi ro sẽ tăng lên. Như vậy, giữa lỗ hổng bảo mật, mối đe dọa và rủi ro là ba
yếu tố có mối quan hệ chặt chẽ với nhau (Hình 2.1).

Hình 2.1: Mối quan hệ giữa rủi ro, mối đe dọa và ỉẽ hống bảo mật


2
0

Một yếu tố khác cần phải được nhắc đến, đó là giá trị của một ứng dụng web càng
cao (ví dụ website của ngân hàng) thì càng khiến cho rủi ro tăng lên. Bản thân nó thu hút

những người dùng (khách hàng hợp pháp), đồng thời cả kẻ tấn công. Do đó, nguy cơ bị tấn
công, khai thác sẽ tăng lên và rủi ro cũng sẽ lớn hơn.

Hình 2.2: Các lỗ hổng, mối đe dọa trong mỗi thành phần của hệ thống
Đối với một ứng dụng web, lỗ hổng bảo mật có thể xuất hiện tại bất cứ thảnh phần
nào của hệ thống, như hạ tầng mạng (bao gồm lỗ hổng trong kết nối), hệ điều hành, hay các
dịch vụ được cài đặt trên hệ điều hành đó. Hình 2.2 giới thiệu tổng quan về các lỗ hổng,
mối đe doạ đối với mỗi thảnh phần trong hệ thống.
Trong chương này, ta chỉ tập trung nghiên cứu các vấn đề liên quan đến lỗ hổng bảo
mật, các mối đe dọa nhằm xác định rủi ro đối với ứng dụng web.

2.2.

Phân tích lẫ hổng bảo mật của các thành phần ứng dụng web
Xét về yếu tố kỹ thuật, trong số các loại lỗ hổng thuộc về hạ tầng mạng, hệ điều

hành, hay lỗ hổng thuộc về ứng dụng, thì hạ tầng mạng luôn luôn được ưu tiên đầu tư, bảo
vệ nhiều nhất. Thế nhưng, những cuộc tấn công nhằm vào các lỗ hổng ứng dụng chiếm số
lượng lớn nhất (trên 70%). Chính vì vậy, luận văn này sẽ tập trung nghiên cứu sâu hơn các
vấn đề an toàn thuộc về ứng dụng.
Các máy chủ phục vụ ứng dụng web gồm máy chủ web, máy chủ ứng dụng, máy chủ
CSDL. Các thảnh phần ứng dụng được cài đặt trên môi trường HĐH, do đó, chúng ẩn chứa
những loại lỗ hổng giống nhau (như 2.2.1). Mặt khác, mỗi loại máy chủ được cài các dịch
vụ khác nhau, thực hiện các nhiệm vụ khác nhau, nên sẽ có những loại lỗ hổng riêng của
từng máy chủ (sẽ thảo luận kỹ hơn ở phần sau).
2.2.1

Lỗ hổng bảo mật trên máy chủ và máy trạm [6]

a. Lỗ hổng bảo mật trên máy chủ



2
1

Trên thế giới, các loại HĐH cho máy chủ phổ biến là Windows, Linux, UNIX hay
MacOS. Tính riêng đối với hệ thống máy chủ phục vụ web, HĐH Linux được sử dụng phổ
biến nhất (36.72%), thứ hai là HĐH Windows (với 33.10%). Theo thống kê hàng năm của
CVE Details (Hệ thống cung cấp thông tin về lỗ hổng bảo mật của tập đoàn MITRE, được
ủy Ban an ninh mạng quốc gia Mỹ bảo ữợ) thì lỗ hổng bảo mật trên HĐH Windows luôn
chiếm số lượng lớn hơn hẳn các HĐH khác, trong số đó có rất nhiều lỗ hổng nghiêm trọng
được đánh giá mức 9.3/10 (mức 10 là nghiêm trọng nhất).
Chính vì những lý do trên, nội dung phàn này chúng ta sẽ đi sâu tìm hiểu các loại lỗ
hổng điển hình của HĐH Windows, bao gồm:
- Không cập nhật bản vá lỗi;
- Nhiều dịch vụ không cần thiết, song vẫn được cài đặt;
- Nhiều giao thức không cần thiết, nhưng vẫn bị kích hoạt;
- Quản lý tài khoản không chặt chẽ;
- Thiếu cơ chế bảo vệ các tệp và các thư mục;
- Mở những cổng không cần thiết;
- Thiếu cơ chế ghi nhật ký (log) và kiểm toán (audit).
Sau đây là chi tiết từng loại lỗ hổng, nguy cơ tấn công và giải pháp khắc
phục.
♦♦♦ Lỗ

hổng do không cập nhật bản vá lỗi

Phần lớn các loại lỗ hổng sau khi được phát hiện thì đều được công bố rộng rãi,
trong đó bao gồm các lỗ hổng của hệ thống máy chủ. Đó là một trong những nguyên nhân
cơ bản hình thành các mối đe dọa. Thông thường, sau khi lỗ hổng mới được công bố thì

ngay lập tức kỹ thuật khai thác những lỗ hổng đó cũng xuất hiện. Neu máy chủ không kịp
thời cập nhật bản vá lỗi, kẻ tấn công sẽ có cơ hội tấn công khai thác những lỗ hổng này. Do
đó, việc đưa ra các bản vá và cập nhật bản vá cho máy chủ được coi là công việc quan trọng
bậc nhất trong vấn đề đảm bảo an toàn cho hệ thống. Những máy tính không thường xuyên
cập nhật bản vá sẽ là môi trường thuận lợi cho tấn công bằng các loại mã độc như virus,
worm, Trojan .... Ngoài việc cập nhật bản vá lỗi cho HĐH, trên mỗi máy chủ (web server,
app server, datebase server) cũng cần được cập nhật các bản vá cho các dịch vụ và ứng
dụng cài trên đó. Đe kiểm tra trạng thái cập nhật bản vá lỗi trên HĐH Windows, Microsoft
cung cấp một công cụ miễn phí là MBSA (Microsoft Baseline Security Analyzer).
♦♦♦ Lỗ

hổng do chạy các dịch vụ

Các dịch vụ được cài đặt trên máy chủ là nơi rất dễ bị tổn thương, vì bản thân mỗi


2
2

dịch vụ đó có thể tiềm ẩn những lỗ hổng. Mặt khác, mỗi dịch vụ được cài đặt trên hệ thống
thường sẽ mở một số cổng nhất định. Kẻ tấn công có thể lợi dụng, khai thác những điểm
yếu này nhằm thâm nhập, điều khiển máy tính từ xa. Do đó, việc loại bớt các dịch vụ không
cần thiết sẽ vừa đảm bảo bảm hiệu năng hệ thống,
dễ dàng quản lý và đặc biệt là làm giảm bề mặt tấn công.
♦♦♦ Lỗ

hổng do các giao thức được kích hoạt

Một số giao thức không được sử dụng, nhưng vẫn được kích hoạt dẫn đến các nguy
cơ bị tấn công chiếm quyền điều khiển hệ thống hoặc lây lan các loại mã độc. Đó là các giao

thức mạng NetBIOS và SMB. Giao thức NetBIOS sử dụng các cổng TCP/UDP 137, 138,
139. Giao thức SMB sử dụng các cổng TCP 139, 445. Khi vô hiệu hóa các giao thức này, hệ
thống sẽ đóng toàn bộ các cổng trên. Điều này sẽ làm giảm các nguy cơ tấn công trong
mạng LAN và tấn công leo thang (máy tính đã bị thoả hiệp dùng làm bàn đạp để tấn công
sang các máy tính khác trong cùng mạng).
♦♦♦ Lỗ

hổng do quản lý tài khoản không chặt chẽ

Các tài khoản trên hệ thống nếu không được quản lý chặt chẽ có thể sẽ bị lộ tên đăng
nhập hoặc mật khẩu. Có ba loại tài khoản chúng ta cần quan tâm, đó là tài khoản không sử
dụng đến, tài khoản người quản trị và tài khoản khách.
-

Tài khoản không dùng đến: thường có tên đăng nhập và mật khẩu đơn giản, được

tạo ra trong quá trình thử nghiệm, ít được các quản trị viên quan tâm. Các tài khoản này dễ
bị kẻ tấn công lợi dụng. Do đó, cần phải xoá bỏ hoặc vô hiệu hoá nó, nhưng cần chắc chắn
không ảnh hưởng đến hệ thống.
-

Tài khoản khách (Guest account): Khi cài đặt máy chủ, tài khoản này sẽ tự động

được tạo và mặc định không được kích hoạt. Tài khoản này không hữu ích đối với máy chủ
ứng dụng web. Trái lại nó có thể dẫn đến nguy cơ như: truy cập máy chủ trái phép, tắt máy
chủ, tải các file mã độc từ Internet.... Do đó cần kiểm tra để đảm bảo rằng tài khoản này
luôn được vô hiệu hoá.
-

Tài khoản quản trị mặc định tên “Administrator”: tài khoản này có tất cả các đặc


quyền trên hệ thống. Khi tài khoản này bị lộ, nó có thể bị lợi dụng kiểm soát toàn bộ hệ
thống. Do đó, đây là tài khoản mà được chú ý nhiều nhất. Đe tránh được các nguy cơ có thể
xảy ra (như tấn công vét cạn), chúng ta cần đổi tên mặc định Administrator bằng một tên
khác, kết hợp với việc đặt mật khẩu đủ mạnh.
-

Ngoài ra, nếu hệ thống cài đặt dịch vụ IIS thì mặc định nó sẽ tạo ra một

tài khoản IUSR MACHINE, cần vô hiệu hoá tài khoản này trên máy chủ web.


2
3

♦♦♦ Lỗ

hổng do thiếu cơ chế bảo vệ các tệp và thư mục

Các tệp và thư mục không được bảo vệ đúng cách (cấp quyền truy cập), có thể dẫn
đến các đối tượng này bị truy cập trái phép. Đối với tài nguyên chia sẻ, cần phải quan tâm
đến hai việc. Thứ nhất, loại bỏ tính năng chia sẻ đối với các thư mục chia sẻ không cần thiết
(ví dụ các thư mục chia sẻ mặc định, kể cả không phải mặc định) vì nó có thể là con đường
lây lan mã độc (đặc biệt là worm) hay có thể bị lợi dụng vì mục đích khác. Thứ hai, trong
trường hợp tài nguyên cần được chia sẻ thì những tài nguyên đó cần phải được bảo vệ với
quyền NTFS để đảm bảo rằng, chỉ có những người dùng có quyền phù hợp mới được truy
cập đến tài nguyên đó.
♦♦♦ Lỗ

hổng do mở những cẳng không cần thiết


Trên máy chủ mở nhiều cổng, không kiểm soát được sẽ giống như ngôi nhả không
được khoá. Nó có thể dẫn đến tấn công điều khiển hệ thống từ xa. Có nhiều lý do dẫn đến
mở cổng trên máy chủ, như cài đặt các dịch vụ, bị cài đặt Backdoor (mở cổng hậu), kích
hoạt các giao thức.... Kẻ tấn công có thể dễ dàng tìm kiếm những cổng này bằng nhiều
phương pháp, chẳng hạn như sử dụng công cụ Nmap. Người quản trị hệ thống cần thường
xuyên kiểm tra, rà soát để kịp thời xử lý. Với những cổng cho phép mở, chẳng hạn cổng 80
hoặc 443 (dịch vụ web) cần được hạn chế các loại lưu lượng đi vào.
♦♦♦ Lỗ

hổng do thiếu cơ chế ghi nhật ký và kiểm toán

Việc kiểm toán không ngăn chặn được các cuộc tấn công hệ thống, nhưng đây là
tính năng hỗ trợ rất tốt cho việc xác định và điều tra xâm nhập hệ thống trái phép. Neu tính
năng này trên hệ thống không được bật sẽ rất khó để phát hiện kịp thời những truy nhập trái
phép. Đối với tệp nhật ký (log file) cần được bảo vệ bằng việc cấu hình NTFS và phân
quyền trên mỗi đối tượng. Điều này khiến kẻ tấn công không thể xoá dấu vết (xoá, ghi đè
hoặc thay đổi nội dung) các tệp này.
b. Lỗ hổng bảo mật trên máy trạm.
Phía máy trạm cũng tồn tại nhiều lỗ hổng bảo mật. Những lỗ hổng này thường được
kẻ tấn công sử dụng với hai mục đích chính. Một là, phá hoại hoặc ăn cắp thông tin của cá
nhân trên máy trạm; hai là, tạo bàn đạp để tấn công hệ thống máy chủ nào đó, ví dụ bị lợi
dụng để tham gia vào mạng máy tính ma (Botnet).
Một trong những lỗ hổng điển hình đối với những người truy cập web là họ cho phép
cài đặt các add-on (phần mềm được tích hợp thêm). Những phần mềm này được viết nhằm
tăng thêm những tiện ích cho người dùng. Tuy nhiên, lợi dụng sự thiếu hiểu biết hay sự bất
cẩn phía người dùng, kẻ tấn công tạo ra những add-on ẩn chứa những đoạn mã độc. Bản


2

4

thân trình duyệt web cũng chứa các lỗ hổng có thể bị chèn thêm mã khai thác bằng kỹ thuật
Buffer Overflow.
Các biện pháp tăng cường bảo mật phía người dùng là họ phải thường xuyên sử dụng
phần mềm chống mã độc (anti-virus) có bản quyền, luôn cẩn trọng trong quá trình giao tiếp
với các trang web không đủ tin cậy.
2.2.2.

Lỗ hổng bảo mật máy chủ web [6]

Một số máy chủ web thông dụng hiện nay là

lis, Apache HTTP, Apache Tomcat...

Luận văn sẽ tập trung đi sâu tìm hiểu máy chủ chạy dịch vụ IIS.
IIS (Internet Information Services) bao gồm các dịch vụ (như Web, FTP...) dành cho
máy chủ chạy trên nền HĐH Window nhằm cung cấp các thông tin trên mạng. IIS sử dụng
các giao thức mạng phổ biến là HTTP và FTP và một số giao thức khác như SMTP, POP3...
để tiếp nhận yêu cầu và truyền tải thông tin trên mạng với các định dạng khác nhau. Một
trong những dịch vụ phổ biến nhất của IIS là WWW (World Wide Web), gọi tắt là dịch vụ
Web.
Ngoài những lỗ hổng tồn tại trên máy chủ như đã được trình bày ở phần trên. Máy
chủ IIS có thể tồn tại các lỗ hổng khác như:
-

Không cập nhật các bản vá lỗi cho các dịch vụ: Nếu quản trị viên chỉ chú ý đến việc
cập nhật bản vá lỗi cho HĐH mà không chú ý các thảnh phần như: IIS, .NET
Framework, MDAC (Microsoft Data Access Components), hệ thống có thể sẽ bị tấn
công thông qua các lỗ hổng của các dịch vụ này. Ví dụ IIS 7.0 tồn tại lỗ hổng nguy

hiểm Buffer overflow được ký hiệu là MS 10-040.


2
5

-

Không tắt thông báo lỗi ữên máy chủ: việc đưa ra các thông báo lỗi, bao gồm cả tên,
phiên bản của HĐH và của dịch vụ web sẽ là những thông tin rất hữu

ích đối với kẻ tấn công.
- Sử dụng các dịch vụ không cần thiết: khi cài đặt IIS mặc định sẽ có nhiều thành
phần dịch vụ được cài đặt theo, ví dụ SMTP, NNTP, do đó những dịch vụ này cần phải
được loại bỏ nếu không sử dụng đến.
Lỗ hổng Web Server Lỗ
hổng HĐH

Tấn công từ chối dịch

Không cập nhật bản vá lỗi IIS, .Net . Các

vụ

dịch vụ được cài mặc định...

Fứewall

Firewall


Tấn công tiêm
mã (XSS, SQLi,
Browser

Bof, ...)

Web server
Thu thập

_r

thông tín

Mã độc: virus,
trojan ...

Hình 2.3: Các lễ hổng và mối đe dọa đối với máy chủ web
Máy chủ web luôn tiếp xúc trực tiếp với môi trường Internet nên thường xuyên phải
đối mặt với các nguy cơ, như tấn công từ chối dịch vụ (DoS), tấn công mã độc, tấn công
tiêm mã v.v...
2.2.3

Lỗ hổng bảo mật máy chủ ứng dụng
Lỗ hỗng AFF Server

Tấn công từ chối
dich vu
V^

Thiếu cơ chế kiểm soát dữ liệu nhập vào

Không cập nhật bản vá lỗi ASP.Net...
Lô hông HĐH...

Firewall

Firewall

Browser

Tấn công
tiêm
(XSS,



Hình 2.4: Lỗ hổng và
với máy chủ

các mối nguy cơ đối

SQLi,
Bof, ì



độc:

virus, troian
...


Truy nhập trái phép


×