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

Nghiên cứu giải pháp đánh giá tính an toàn của một hệ thống 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 (1.02 MB, 89 trang )

MỤC LỤC

LỜI CAM ĐOAN ....................................................................................................... 4
LỜI CẢM ƠN ............................................................................................................. 5
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT ................................................. 6
DANH MỤC CÁC BẢNG.......................................................................................... 7
DANH MỤC CÁC HÌNH VẼ..................................................................................... 8
Chƣơng 1 – MỞ ĐẦU ................................................................................................. 9
1. Lý do chọn đề tài ................................................................................................. 9
2. Mục tiêu của đề tài .............................................................................................. 9
3. Cách tiếp cận ..................................................................................................... 10
4. Bố cục luận văn ................................................................................................. 10
Chƣơng 2 – AN TOÀN THÔNG TIN WEBSITEVÀ CHUẨN ĐÁNH GIÁ
OWASP ..................................................................................................................... 12
1. Tổng quan về an toàn thông tin website ............................................................ 12
1.1 Tổng quan về ứng dụng web

12

1.2 An toàn thông tin cho ứng dụng web

16

2. Chuẩn đánh giá website OWASP
2.1 Tổng quan

17
17

2.1.1 Giới thiệu về OWASP ......................................................................... 17
2.1.2 OWASP Top 10 .................................................................................. 18


2.2 Quy trình đánh giá website theo OWASP ................................................. 20
2.2.1 Thu thập và khảo sát thông tin ............................................................ 21
2.2.2 Kiểm tra quản lý cấu hình ................................................................... 22
2.2.3 Kiểm tra business logic ....................................................................... 23
2.2.4 Kiểm tra cơ chế xác thực ..................................................................... 23
2.2.5 Kiểm tra quản lý phiên giao dịch ........................................................ 24
2.2.6 Kiểm tra quản lý uỷ quyền .................................................................. 25
Trang 1/89


2.2.7 Kiểm tra các dữ liệu đầu vào ............................................................... 26
2.2.8 Kiểm tra khả năng tấn công từ chối dịch vụ ....................................... 27
2.2.9 Kiểm tra web services ......................................................................... 28
2.2.10 Kiểm tra AJAX.................................................................................... 29
Chƣơng 3 – ĐỀ XUẤT GIẢI PHÁP ĐÁNH GIÁ AN TOÀN HỆ THỐNG
WEBSITE ................................................................................................................. 30
1. Các tiêu chí kiểm tra đánh giá an toàn .............................................................. 30
1.1 Tiêu chí kiểm tra đánh giá an toàn cho hạ tầng mạng ............................... 30
1.2 Tiêu chí kiểm tra đánh giá an toàn dịch vụ phân giải tên miền ................. 38
1.3 Tiêu chí kiểm tra đánh giá an toàn cho hệ thống cổng thông tin điện tử .. 43
1.4 Tiêu chí kiểm tra đánh giá an toàn cho hệ thống sao lƣu dự phòng .......... 52
2. Quy trình khảo sát, đánh giá hệ thống ............................................................... 54
2.1 Khảo sát hệ thống mạng, thiết bị bảo mật, máy chủ DNSvà hệ thống máy
chủ Web .............................................................................................................. 54
2.2 Kiểm tra công tác sao lƣu dữ liệu dự phòng .............................................. 55
2.3 Kiểm tra và đánh giá an toàn cho hệ thống mạng và máy chủ DNS ......... 55
2.4 Kiểm tra và đánh giá thiết bị bảo mật IDS/IPS ......................................... 56
2.5 Tổng hợp kết quả để lập báo cáo khảo sát ................................................. 57
2.6 Kiểm tra đánh giá cấu hình và lỗ hổng hệ điều hành của các máy chủ dịch
vụ


.................................................................................................................... 57

2.7 Kiểm tra đánh giá các ứng dụng liên quan đến hệ thống website ............. 58
2.8 Kiểm tra, đánh giá chính sách triển khai, quản lý hệ thống máy chủ
Website ............................................................................................................... 58
2.9 Kiểm tra và đánh giá an ninh bảo mật ứng dụng Website ......................... 58
2.10 Phân tích, rà soát kết quả kiểm tra để lập báo cáo chi tiết ......................... 61
Chƣơng 4 – ÁP DỤNG GIẢI PHÁP VÀO WEBSITE THỰC TẾ .......................... 62
1. Tóm tắt công việc .............................................................................................. 62
2. Đối tƣợng, phạm vi và phƣơng pháp ................................................................. 63
2.1 Đối tƣợng và phạm vi ................................................................................ 63
Trang 2/89


2.2 Phƣơng pháp thực hiện .............................................................................. 63
3. Kết quả khảo sát, đánh giá................................................................................. 63
3.1 Hạ tầng mạng ............................................................................................. 63
3.2 Máy chủ và vận hành ................................................................................. 68
3.3 Dịch vụ, ứng dụng...................................................................................... 74
3.4 Công tác sao lƣu dữ liệu dự phòng ............................................................ 87
Chƣơng 5 – KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ............................................ 88
TÀI LIỆU THAM KHẢO ......................................................................................... 89

Trang 3/89


LỜI CAM ĐOAN
Tôi xin cam đoan đề tài nghiên cứu của tôi hoàn toàn do tôi tự làm dƣới sự
hƣớng d n của TS.Phạm Huy Hoàng.Những kết quả tìm hiểu và nghiên cứu trình

bày trong luận văn là hoàn toàn trung thực và chƣa từng đƣợc công bố trong bất cứ
công trình nào.
Nếu xảy ra bất cứ điều không đúng nhƣ những lời cam đoan trên, tôi xin chịu
hoàn toàn trách nhiệm trƣớc Viện và Nhà trƣờng.
Ngày 13 tháng 11 năm 2015
Tác giả luận văn

Dƣơng Nữ Hoàng Oanh

Trang 4/89


LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn Trƣờng Đại học Bách Khoa Hà Nội,
viện Công nghệ Thông tin – Truyền thông, chuyên ngành Kỹ thuật Máy tính và toàn
thể các thầy cô đã ân cần dạy dỗ, chỉ bảo, định hƣớng nghiên cứu cho em trong suốt
thời gian vừa qua, truyền đạt cho chúng em những kiến thức quý báu.
Em xin chân thành cảm ơn TS.Phạm Huy Hoàng đã dành nhiều tâm huyết,
kinh nghiệm của thầy để chỉ d n, định hƣớng nghiên cứu cũng nhƣ luôn luôn góp ý
cho em để hoàn thành đề tài luận văn này.
Cuối cùng em cũng xin gửi lời cảm ơn tới gia đình, những ngƣời đã luôn
động viên và tạo mọi điều kiện tốt cho em học tập và nghiên cứu thật tốt.Và gửi lời
cảm ơn tới những ngƣời bạn đã giúp đỡ em trong quá trình học tập cũng nhƣ hoàn
thành đề tài luận văn.
Em xin chân thành cảm ơn!

Trang 5/89


DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT


THUẬT NGỮ

GIẢI THÍCH

WEBSITE

Cổng thông tin điện tử

DNS

Domain Name Service – Dịch vụ phân giải tên
miền

ROUTER

Thiết bị định tuyến

SWITCH

Thiết bị chuyển mạch

LOAD
BALANCER

Thiết bị cân bằng tải

FIREWALL

Thiết bị tƣờng lửa


IDS/IPS

Thiết bị phát hiện/ngăn chặn xâm nhập trái phép

DMZ

Demilitarized Zone – Vùng mạng vành đai, nơi đặt
máy chủ cung cấp dịch vụ ra ngoài Internet

SERVERFARM

Vùng mạng riêng biệt, nơi đặt máy chủ cơ sở dữ
liệu

VULNERABILITY

Là điểm yếu có thể bị khai thác bởi một hoặc nhiều
nguy cơ

OWASP

Open-source Web Application Security Project –
Dự án mở về bảo mật ứng dụng website

Trang 6/89


DANH MỤC CÁC BẢNG
Hình


Mô tả

Trang

Bảng 3.1

Tiêu chí đánh giá an toàn cho hạ tầng mạng

38

Bảng 3.2

Tiêu chí đánh giá an toàn cho dịch vụ Internal DNS

40

Bảng 3.3

Tiêu chí đánh giá an toàn cho dịch vụ External DNS

43

Bảng 3.4

Tiêu chí đánh giá an toàn cho hệ thống cổng thông tin
điện tử

52


Bảng 3.5

Tiêu chí đánh giá an toàn cho hệ thống sao lƣu dự phòng

53

Bảng 3.6

Quy trình khảo sát, đánh giá hệ thống

61

Bảng 4.1

Bảng tổng hợp rủi ro của hạ tầng mạng

67

Bảng 4.2

Bảng tổng hợp rủi ro của máy chủ

73

Bảng 4.3

Bảng tổng hợp rủi ro của dịch vụ DNS

81


Bảng 4.4

Bảng tổng hợp rủi ro của dịch vụ website

86

Trang 7/89


DANH MỤC CÁC HÌNH VẼ
Hình

Mô tả

Trang

Hình 2.1 Các mô hình website

13

Hình 2.2 Hoạt động của giao thức HTTP

15

Hình 2.3 Quy trình kiểm thử của OWASP

21

Hình 4.1 Giao diện trang web thử nghiệm


61

Trang 8/89


Chƣơng 1 – MỞ ĐẦU
1. Lý do chọn đề tài
Các doanh nghiệp hiện nay khi xây dựng hệ thống website thƣờng chỉ chú ý
đến việc thiết kế, triển khai sao cho dễ dàng vận hành nhất mà ít quan tâm đến vấn
đề về bảo mật thông tin, d n tới tồn tại nhiều lỗ hổng để hacker dễ dàng khai thác.
Mỗi năm ở VN có hàng nghìn website bị tấn công, gây ảnh hƣởng xấu tới
hoạt động, uy tín của tổ chức, doanh nghiệp.
Hiện nay, có rất nhiều công cụ kỹ thuật đƣợc phát triển nhằm mục đích dò
quét các lỗ hổng tồn tại trên hệ thống, tuy nhiên đều là những công cụ đơn lẻ, đơn
thuần về mặt kỹ thuật, với những ƣu nhƣợc điểm riêng. Mỗi công cụ thƣờng chỉ có
chức năng dò quét một số lỗ hổng nhất định thuộc một phần hệ thống, chƣa có công
cụ nào cung cấp cái nhìn bao quát, toàn diện, triệt để về tình trạng an toàn cho hệ
thống website mình đang quản lý.
Với mong muốn có một giải pháp hoàn chỉnh trong việc đánh giá mức độ an
toàn của một hệ thống website để áp dụng vào hệ thống website của cơ quan, nơi
học viên đang làm việc, học viên đã lựa chọn đề tài “Giải pháp đánh giá an toàn
thông tin hệ thống website” làm luận văn tốt nghiệp của mình.
2. Mục tiêu của đề tài
Nhiệm vụ của đề tài này là xây dựng một giải pháp toàn diện để đánh giá mức
độ an toàn của một hệ thống website. Giải pháp đó bao gồm 2 thành phần:
(1) Một bộ tiêu chí đánh giá về mức độ an toàn của từng phần riêng lẻ trong hệ
thống;
(2) Một quy trình với các bƣớc là sự kết hợp các công cụ kỹ thuật riêng lẻ, để
tạo ra một bộ công cụ có hiệu quả tối ƣu.
Các nội dung đánh giá tổng thể bao gồm các thành phần sau:

- An toàn hạ tầngmạng liên quan đến hệ thống website (router, switch, firewall,
IPS/IDS…)
- Máy chủ: DNS Server (phục vụ Web), Web Server…
- Ứng dụng web
Trang 9/89


về các vấn đề:
- Các lỗ hổng bảo mật
- Sao lƣu dự phòng
3. Cách tiếp cận
Nhiệm vụ của đề tài là xây dựng giải pháp tối ƣu dựa vào các lý thuyết và
công cụ hiện có, vì vậy việc nghiên cứu, tìm hiểu về các tiêu chuẩn, kỹ thuật, công
cụ là cần thiết. Dựa trên kết quả nghiên cứu tìm hiểu đƣợc, học viên sẽ sắp xếp,
tổng hợp các yêu cầu cần có đối với mỗi thành phần của hệ thống để đƣa ra bộ tiêu
chí đánh giá an toàn. Khi đã có bộ tiêu chí, việc lựa chọn công cụ để đánh giá, sắp
xếp trình tự các bƣớc trong quy trình đánh giá sẽ tạo ra một giải pháp hoàn thiện, từ
đó đƣa ra đƣợc báo cáo tổng quan về tình hình an ninh của một hệ thống website.
Các nội dung sẽ thực hiện trong đề tài:
- Nghiên cứu tổng quan về dự án bảo mật ứng dụng web OWASP
- Tìm hiểu, cài đặt, thử nghiệm các công cụ đánh giá an toàn website
- Xây dựng bộ tiêu chí đánh giá an toàn website
- Xây dựng quy trình đánh giá an toàn website theo các tiêu chí đã đặt ra
- Thử nghiệm giải pháp bằng cách áp dụng với một hệ thống website thực tế
4. Bố cục luận văn
Bố cục luận văn đƣợc chia thành 5 chƣơng nhƣ sau:
Chƣơng 1: Mở đầu: Mô tả chi tiết về mục tiêu, nhiệm vụ đề tài và cách tiếp cận.
Chƣơng 2: An toàn thông tin website và chuẩn đánh giá OWASP: Nghiên cứu cơ sở
lý thuyết về an toàn thông tin website, tiêu chuẩn và quy trình đánh giá website OWASP.
Chƣơng 3: Đề xuất giải pháp đánh giá an toàn hệ thống website: Đề xuất giải

pháp đánh giá an toàn hệ thống website, bao gồm 2 thành phần: (1) Một bộ tiêu chí
đánh giá về mức độ an toàn của từng phần riêng lẻ trong hệ thống và (2) Một quy
trình với các bƣớc là sự kết hợp các công cụ kỹ thuật riêng lẻ, để tạo ra một bộ công
cụ có hiệu quả tối ƣu.

Trang 10/89


Chƣơng 4: Áp dụng giải pháp vào website thực tế: Áp dụng thử nghiệm giải pháp
đã đề xuất vào việc đánh giá an toàn cho hệ thống website thực tế, đƣa ra báo cáo tổng hợp
về tình hình an ninh website đó.
Chƣơng 5: Kết luận và hƣớng phát triển: Đƣa ra kết luận, tự nhận xét các ƣu
điểm và hạn chế, định hƣớng phát triển và áp dụng vào thực tế.

Trang 11/89


Chƣơng 2 – AN TOÀN THÔNG TIN WEBSITEVÀ CHUẨN ĐÁNH GIÁ
OWASP
1. Tổng quan về an toàn thông tin website
1.1 Tổng quan về ứng dụng web
Định nghĩa: Website là một tập hợp các trang web (web pages) bao gồm văn
bản, hình ảnh, video, flash v.v… thƣờng chỉ nằm trong một tên miền (domain
name) hoặc tên miền phụ (subdomain). Trang web đƣợc lƣu trữ (web hosting) trên
máy chủ web (web server) có thể truy cập thông qua Internet. Website đóng vai trò
là một văn phòng hay một cửa hàng trên mạng Internet – nơi giới thiệu thông tin về
doanh nghiệp, sản phẩm hoặc dịch vụ do doanh nghiệp cung cấp… Có thể coi
website chính là bộ mặt của doanh nghiệp, là nơi để đón tiếp và giao dịch với các
khách hàng, đối tác trên Internet
Các thành phần trong một hệ thống website

- Lớp trình diễn: là một máy chủ phục vụ Web
- Giao tiếp trực tiếp với web client
- Chịu trách nhiệm trình diễn và thu thập đầu vào từ ngƣời dùng cuối
- Luôn luôn đối diện với các nguy cơ bị tấn công
- Máy chủ phục vụ web thông dụng: IIS, Apache…
- Lớp ứng dụng: là nơi các kịch bản ứng dụng web thực thi
- Sử dụng ngôn ngữ lập trình (PHP, ASP.NET, Java…) nhận dữ liệu đệ
trình của ngƣời sử dụng từ lớp trình diễn kết hợp với nguồn dữ liệu đầu
cuối để thực thi ứng dụng web
- Máy chủ ứng dụng thông dụng: IBM Websphere, WebLogic, Tomcat,
.NET Framework…
- Lớp cơ sở dữ liệu: là nơi lƣu trữ dữ liệu ứng dụng web
- Chịu trách nhiệm lƣu trữ và thao tác với dữ liệu ứng dụng web
- Các hệ quản trị cơ sở dữ liệu thông dụng: MySQL, SQL Server,
Oracle…
Các mô hình website
Trang 12/89


Hình 2.1 – Các mô hình website
Mô hình 2 lớp
- Kết hợp lớp trình diễn và ứng dụng trên một máy chủ
- Thiết kế đơn giản và đầy đủ cho các ứng dụng web nhỏ
- Khả năng mở rộng hạn chế và triển khai biện pháp bảo mật khó khăc hơn
những mô hình khác
Mô hình 3 lớp
- Các lớp trình diễn, ứng dụng và cơ sở dữ liệu nằm trên các máy chủ riêng biệt
trong cùng một hệ thống
- Các lớp đƣợc tách biệt vật lý cho nên có thể áp dụng thêm nhiều điều khiển
truy cập và theo dõi mạng cũng nhƣ có thể đặt tƣờng lửavà IDS giữa các lớp

này
- Nếu một lớp bị thỏa hiệp thì kẻ tấn công cũng phải cần bẻ gãy nhiều lớp nữa
mới có thể thỏa hiệp đƣợc toàn bộ hệ thống
Mô hình N lớp
- Hình thành các nhóm dịch vụ để gia tăng khả năng chịu tải cũng nhƣ dự phòng

Trang 13/89


- Nhiều lớp sẽ cung cấp lớp bảo mật, tuy nhiên nó cũng kèm theo sự phức tạp
khi triển khai và bảo trì
Kiến trúc website:
Có 4 kiểu kiến trúc cơ bản
Web Servers
- Hiện nay rất ít các hệ thống mà kiến trúc chỉ có một thành phần là Web Server
- Chủ yếu là các website dạng tĩnh
- Thƣờng khá an toàn trƣớc các tấn công vì ít đầu vào (input)
Hybrid Servers
- Có thể sử dụng để làm cả website tĩnh hoặc động.
- Có một hệ cơ sở dữ liệu để tƣơng tác
- Dữ liệu có thể đƣợc lƣu trữ ở một máy chủ khác, hoặc sử dụng ứng dụng khác
- Loại này để lại nhiều vấn đề về bảo mật, tốt cho việc khai thác
Application Servers: Ứng dụng chạy trên một server application
- Ví dụ nhƣ các máy chủ IBM WebSphere, BEA Weblogic, Jboss, và Lotus
Domino…
- Application server thƣờng đƣợc cài đặt sau các proxy server hoặc front-end
web server
Proxy Servers:
- Có tên gọi khác là “reverser proxy” để phân biệt với các proxy đƣợc sử dụng
bởi client

- Các request đều qua proxy
- Có thể có cả proxy inbound và outbound
- Proxy cung cấp khả năng cache
HTTP Protocol
Khái niệm: Giao thức truyền tải Siêu văn bản World Wide Web đuợc xây
dựng dựa vào nền của Internet và sử dụng giao thức TCP/IP để truyền tải thông tin
giữa các Web Client và Web server. HTTP là giao thức client/server dùng cho

Trang 14/89


World Wide Web. Nó cung cấp cách để Web Browser truy xuất Web server và yêu
cầu các văn bản hypermedia đƣợc tạo bởi HTML
Hoạt động của giao thức

Hình 2.2 – Hoạt động của giao thức HTTP
- Định dạng dữ liệu trao đổi đơn giản giữa máy chủ và máy khách
- Máy khách gửi yêu cầu đến máy chủ, máy chủ đáp trả yêu cầu và kết thúc
- Phiên bản HTTP hiện tại 1.1
- Một số phƣơng thức tiêu biểu trong HTTP: PUT, GET, POST, HEAD…
Xác thực trong giao thức HTTP
- Authentication (xác thực) là quá trình xác nhận ngƣời dùng với ứng dụng web
- Thông thƣờng sử dụng username/password
- 5 hình thức chứng thực đƣợc sử dụng phổ biến trên các ứng dụng web:
 Basic Authentication
 Digest Authentication
 Client Certificate Authentication
 Intergrated Windows Authentication

Trang 15/89



 Form based Authentication
Trạng thái trong giao thức HTTP
- HTTP là một giao thức phi trạng thái – client gửi yêu cầu và máy chủ web đáp
ứng  kết thức
- Do vậy ứng dụng phải khởi tạo một phƣơng thức nhóm một loạt các yêu cầu
lại với nhau trong một phiên làm việc
- Ứng dụng phải khởi tạo cơ chế theo dõi phiên làm việc
- Server side code phải nhận biết đƣợc mỗi yêu cầu là một phần của cùng một
phiên làm việc
- Đa số các ngôn ngữ lập trình ứng dụng web hỗ trợ sessions
- Ngƣời phát triển ứng dụng cũng có thể xây dựng riêng cơ chế quản lý phiên
cho ứng dụng
- Phƣơng thức phổ biến đƣợc sử dụng để theo dõi trạng thái
 Cookies
 URL encoding
 Hidden Forms Fields
SSL/TSL
- Hoạt động trên cổng 443
- Cung cấp cơ chế mã hóa, xác minh máy chủ và toàn vẹn dữ liệu
- Cách thức làm việc
1. Client kết nối đến server
2. Server yêu cầu phải kết nối SSL
3. Client và server trao đổi crypto keys
4. Phiên giao dịch an toàn đƣợc bắt đầu
- SSL/TLS không đảm bảo việc bảo mật
1.2 An toàn thông tin cho ứng dụng web
Theo tiêu chuẩn ISO27002:2005: “Thông tin là một dạng tài sản, cũng nhƣ các tài
sản quan trọng khác, có giá trị trong tổ chức và cần phải bảo vệ thích hợp”


Trang 16/89


Theo Nghị định 64/2007/NĐ-CP của Chính phủ: An toàn thông tin là “Bao
gồm các hoạt động quản lý, nghiệp vụ và kỹ thuật đối với hệ thống thông tin nhằm
bảo vệ, khôi phục các hệ thống, các dịch vụ và nội dung thông tin đối với nguy cơ
tự nhiên hoặc do con ngƣời gây ra”. An toàn an ninh cho hệ thống thông tin không
chỉ là giải pháp kỹ thuật. Cần phải có hành lang pháp lý để đảm bảo cho an toàn an
ninh hệ thống thông tin.Thông tin trao đổi, lƣu trữ phải đảm bảo:Tính bí mật; Tính
toàn vẹn; Tính sẵn sàng; Tính xác thực; Tính chống từ chối.
Hiện nay, các hình thức website bị tấn công gồm có:
- Khai thác lỗ hổng của những phần mềm có trên web server.
- Tấn công DDOS
- Khai tác dữ liệu từ backend thông qua một số kiểu tấn công injection nhƣ SQL
Injection(SQLi), Light Directory Acess – Protocol(LDAP), Cross site
sripting(XSS).
- Thay đổi(deface) giao diện website.
- Dùng web server đã bị tấn công để phát tán malware.
2. Chuẩn đánh giá website OWASP
2.1 Tổng quan
2.1.1 Giới thiệu về OWASP
OWASP ra đời năm 2001, đây là một tổ chức phi lợi nhuận, cộng đồng mở,
mục tiêu chính của tổ chức là cải tiến an ninh các phần mềm ứng dụng, đặc biệt là
ứng dụng web. Tổ chức này cũng xây dựng nhiều công cụ khác nhau cho việc đánh
giá và đều là mã nguồn mở, miễn phí. OWASP ủng hộ phƣơng pháp tiếp cận an
ninh ứng dụng theo con ngƣời, quy trình và công nghệ vì đây là những nhân tố tạo
ra phần mềm, những nhân tố trên có hành vi an toàn thì phần mềm an toàn. Theo
OWASP, các ứng dụng web trên mạng hầu hết phải tiếp xúc với bên ngoài, nên nó
sẽ là đối tƣợng đầu tiên chịu các cuộc tấn công phá hoại và sửa đổi trái phép. Vì

vậy, đây sẽ là cánh cổng cho kẻ tấn công xâm nhập vào lớp ứng dụng trƣớc khi thực
hiện các bƣớc tiếp theo xâm nhập vào hệ thống. Vì lỗ hổng an ninh này rất phổ
biến, một số phƣơng pháp đánh giá đã đƣợc giới thiệu nhằm đánh giá sự trầm trọng
Trang 17/89


của các rủi ro an ninh cơ bản của ứng dụng web. Một nỗ lực đƣợc thực hiện bởi
cộng đồng mở OWASP là xây dựng khung làm việc đánh giá an toàn ứng dụng web
và thúc đẩy dự án OWASP top 10 nhằm nâng cao nhận thức an ninh ứng dụng của
các tổ chức
2.1.2 OWASP Top 10
OWASP TOP 10: trình bày 10 rủi ro an ninh phổ biến nhất của ứng dụng web
một cách ngắn gọn, xúc tích và rõ ràng.
Mục tiêu chính của OWASP Top 10 là để hƣớng d n ngƣời lập trình, ngƣời thiết
kế, kỹ sƣ và quản lí và cả tổ chức về hậu quả của những điểm yếu quan trọng nhất
trong ứng dụng web. Top 10 cung cấp những kỹ năng cơ bản để bảo vệ khỏi những
mối nguy hại này và hƣớng d n ngƣời dùng tìm hiểu rõ hơn về cách khắc phục.
Theo OWASP TOP 10 2013 thứ tự của các rủi ro trong website sẽ đƣợc sắp xếp
theo thứ tự sau:
 A1: Lỗi nhúng mã – Injection: Xảy ra trong các ứng dụng nhƣ SQL, LDAP
khi những dữ liệu không xác thực đƣợc gửi tới hệ thống biên dịch nhƣ một
phần của mã lệnh. Những dữ liệu này của kẻ tấn công có thể đánh lừa hệ
thống biên dịch thực hiện những mã lệnh độc hại hoặc giúp kẻ tấn công xâm
nhập đến những dữ liệu quan trọng.
 A2: Hƣ hỏng cơ chế chứng thực và quản lý phiên làm việc - Broken
Authentication and Session Management: 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.

 A3: Thực thi mã Script xấu (XSS) - Cross-Site Scripting : Xảy ra khi một
ứng dụng tiếp nhận những dữ liệu không đáng tin cậy và gửi chúng đến cho
trình duyệt web mà không qua xử lý và kiểm duyệt. XSS cho phép kẻ tấn
công thực hiện mã độc trên trình duyệt của ngƣời bị tấn công và lợi dụng

Trang 18/89


ăncắp phiên truy cập để mạo danh hoặc hủy hoại trang web hoặc lừa ngƣời
sử dụng đến những trang web chứa mã độc khác.
 A4: Đối tƣợng tham chiếu thiếu 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.
 A5: Sai sót trong cấu hình an ninh - Security Misconfiguration: 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, khuôn m u, 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ả các thiết lập nên đƣợc định nghĩa,
thực hiện và bảo trì bởi rất nhiều thứ 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.
 A6: Để lộ những dữ liệu nhạy cảm - Sensitive Data Exposure: Kẻ tấn công
có thể ăn cắp hoặc sửa đổi dữ liệu đƣợc bảo vệ một cách yếu ớt để thực hiện
hành vi trộm cắp danh tính, gian lận thẻ tín dụng và các tội khác. Vì vậy,
những dữ liệu nhạy cảm cần phải đƣợc bảo vệ thêm nhƣ mã hóa ở phần còn
lại và và vận chuyển.
 A7: Thiếu chức năng cho điều khiển truy cập - Missing Function Level
Access Control: Hầu hết tất cả các ứng dụng web đểu 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 soat truy cập trên máy chủ mà mỗi thành phần chức năng đƣợc
phép truy cập. Nếu yêu cầu không đƣợc xác nhận, thì kẻ tấn công có thể giả
mạo yêu cầu để truy cập chức năng trái phép.
 A8: Sai sót hạn chế truy cập - Cross – Site Request Forgery: Nhiều ứng dụng
web kiểm tra quyền thực thi địa chỉ truy cập (URL) trƣớc khi dựng các liên
kết và nút nhấn đƣợc bảo vệ. Tuy nhiên, ứng dụng cũng phải thực hiện
Trang 19/89


những công việc tƣơng tự mỗikhi những trang thông tin đƣợc truy cập trực
tiếp nếu không kẻ tấn công có thể giả mạo URL để truy cập vào những trang
thông tin ẩn này.
 A9: Lợi dụng lỗ hổng biết trƣớc - Using Components with Know
Vulnerabilities: Những dữ liệu dễ bị tấn công nhƣ các thƣ viện, các
framework, các mô-đun phần mềm đã chạy ổn định và đƣợc cấp quyền đẩy
đủ. Vì vậy, nếu nhƣ bị tấn công khai thác thì hacker có thể gây mất dữ liệu
nghiêm trọng hoặc máy chủ có thể bị chiếm giữ. Các ứng dụng sử dụng
những thành phần dễ bị tấn công có thể khiến cho độ bảo mật suy yếu và có
thể cho phép một loạt các cuộc tấn công và tác động vào.
 A10: Chuyển hƣớng và chuyển tiếp thiếu thẩm tra - Unvalidated Redirects
and Forwards: Ứng dụng web thƣờng xuyên đƣa ngƣời dùng đến những liên
kết qua các website khác, và sử dụng những thông tin thiếu tin cậy để xác
định đích đến.
2.2 Quy trình đánh giá website theo OWASP
Quy trình kiểm thử của OWASP đƣợc tiến hành tuần tự theo các bƣớc nhằm
thu thập đƣợc tối đa thông tin và khai thác thành công đƣợc đối tƣợng. Gồm có:
1. Thu thập và khảo sát thông tin
2. Kiểm tra quản lý cấu hình
3. Kiểm tra business logic

4. Kiểm tra cơ chế xác thực
5. Kiểm tra việc ủy quyền
6. Kiểm tra quản lý phiên giao dịch
7. Kiểm tra các dữ liệu đầu vào
8. Kiểm tra khả năng tấn công từ chối dịch vụ
9. Kiểm tra web services
10. Kiểm tra AJAX
Hình dƣới đây mô tả đầy đủ về quy trình kiểm thử của OWASP.

Trang 20/89


Hình 2.3 – Quy trình kiểm thử của OWASP
2.2.1 Thu thập và khảo sát thông tin
Phân tích thu thập Spiders, Robots và Crawlers
Ở bƣớc này, tập trung vào việc đánh giá khả năng của các web Spider,
Robots, Crawlers thông qua việc tìm kiếm file robots.txt. Trong đó tập trung vào
việc phân tích 2 tham số: User-agent và Disallow.
Nhận diện website
Để đánh giá một đối tƣợng trong kiểm thử xâm nhập việc nhận diện website
là hết sức quan trọng.Biết đƣợc tên và phiên bản các thông tin của máy chủ
web/ứng dụng web cho phép chuyên gia tìm ra đƣợc lỗ hổng của các phiên bản
phần mềm web chạy trên đối tƣợng. Những công cụ hỗ trợ đắc lực cho việc nhận
diện webserver là httprint, Acunetix....Đích đến cuối cùng của việc này là nhận diện
Web Server sử dụng Apache hay ISS hay Tomcat.....
Dò tìm thông tin ứng dụng

Trang 21/89



Dò tìm thông tin ứng dụng là tác vụ đi sâu hơn nữa của sau việc nhận diện
website, nhằm tìm chi tiết các thông tin về ứng dụng nhƣ phiên bản, cấu hình, các
trang đặc biệt, các trangquản trị (admin), cookie, framework...
Thu thập tài nguyên ứng dụng
Quá trình thu thập tài nguyên ứng dụng bằng cách sử dụng các công cụ tìm
kiếm, tài nguyên công cộng nhƣ Google, Bing, Yahoo... có thể giúp ích tìm ra kết
cấu của ứng dụng cũng nhƣ các trang báo lỗi.
Phân tích trang báo lỗi
Các thông tin trong trang báo lỗi có thể cho phép chuyên gia đánh giá biết
đƣợc công nghệ và thành phần(module) đƣợc ứng dụng sử dụng. Bằng cách thêm
vào các tham số ng u nhiên để gửi đến trang web nhằm tìm ra những báo lỗi trả về
có chứa những thông tin nhạy cảm giúp ích cho quá trình kiểm thử xâm nhập.
Ngoài ra, việc thu thập thông tin chủ động thông qua hình thức trực tiếp cũng
nhằm mang lại những mục tiêu nhƣ hình thức thông tin bị động.
2.2.2 Kiểm tra quản lý cấu hình
Kiểm tra giao thức SSL/TLS
Nhƣ đã biết HTTPS là giao thức đƣợc truyền dƣới dạng clear-text và để đảm
bảo an toàn cho truyền dữ liệu qua HTTP thì ngƣời ta sử dụng SSL/TLS. SSL và
TLS là hai giao thức cung cấp sự hỗ trợ tạo ra các kênh truyền dữ liệu an toàn để
bảo vệ tính bảo mật và xác thực của thông tin đƣợc truyền đi.
Ngày nay các website đã phần nào áp dụng SSL/TLS nhằm đảm bảo an toàn
cho website của mình. Nhƣng ngoài những việc kiểm tra SSL/TLS mục đích là
kiểm tra hệ thống đã sử dụng các thuật toán mã hóa đủ mạnh, đúng chuẩn để bảo
đảm an toàn chƣa.... mà còn phải kiểm tra vị trí của SSL/TLS trong mô hình OSI
bởi SSL/TLS còn phải hoạt động khớp với các giao thức trên nó. Bởi khai thác lỗ
hổng này thì kẻ tấn công có thể chèn thêm một đoạn plaintext bất kỳ vào TLS/SSL
encrypted stream giữa client và server mà cả client và server đều không thể phát
hiện đƣợc. Vì vậy cần phải kiểm tra độ tin cậy của giao thức SSL/TLS.
Dò tìm cơ sở dữ liệu
Trang 22/89



Sử dụng các công cụ kiểm tra và các thông tin thu thập đƣợc từ các bƣớc
khảo sát trƣớc, xác định cơ sở dữ liệu của website, không những thế những thông
tin về phiên bản loại cơ sở dữ liệu, cổng lắng nghe... còn giúp chuyên gia kiểm thử
xâm nhập phát hiện đƣợc lỗ hổng nào có thể khai thác tƣơng ứng cơ sở dữ liệu hiện
dùng.
Phân tích cách thức ứng dụng xử lý dạng tập tin
Đuôi của các tập tin trên máy chủ Web cho phép chuyên gia đánh giá nhận
dạng đƣợc công nghệ trang Web sử dụng.Ví dụ đuôi jsp và asp cho phép chuyên gia
đánh giá biết đƣợc ứng dụng Web dựa trên nền tảng Sun Java hoặc Microsoft.
Tìm các tập tin lƣu trữ không đƣợc tham chiếu
Các tập tin thừa, tập tin lƣu trữ, tập tin không đƣợc tham chiếu là nguồn
thông tin quan trọng cho chuyên gia đánh giá. Những tập tin này có thểvô tình chứa
những thông tin nhạy cảm nhƣ nguồn của ứng dụng, đƣờng d n ứng dụng cũng nhƣ
các thông tin nhạy cảm nhƣ mật khẩu của cơ sở dữ liệu...
Kiểm tra phƣơng thức HTTP và XST
Trong quá trình hoạt động giao thức HTTP có sử dụng nhiều phƣơng phức
để hỗ trợ việc truyền dữ liệu từ webserver đến client hay ngƣợc lại, upload, xoá bỏ
cập nhật trạng thái nhƣ: HEAD, GET, POST, PUT, DELETE, TRACE, OPTIONS,
CONNECT. Việc kiểm tra xem web server có hỗ trợ 2 phƣơng thức là TRACE và
HEAD hay không? Nếu có, cần kiểm tra xem có khả năng bị tấn công XST hay
không. Các phƣơng thúc HTTP có thể gây nguy hiểm nhƣ:PUT, DELETE,
CONNECT, TRACE.
Bằng cách sử dụng một số công cụ nhƣ netcat, nexpose... tiến hành gửi đến
máy chủ web các request theo các phƣơng thức trên để kiểm tra khả năng mắc lỗi.
2.2.3 Kiểm tra business logic
Business logic bao gồm:
 Các luật tác vụ trên ứng dụng Web cho ngƣời dùng;
 Các luồng tác vụ (Workflows), luân chuyển dữ liệu.

2.2.4 Kiểm tra cơ chế xác thực
Trang 23/89


Kiểm tra cơ chế xác thực dựa trên các phân tích cơ chế hoạt động của thành
phần đăng nhập (module log-on) trong ứng dụng Web để tìm ra các điểm yếu.
Kiểm tra phƣơng thức truyền dữ liệu
Kiểm tra xem việc xác minh dữ liệu xác thực của ngƣời sử dụng có đƣợc mã
hoá hay không để tránh bị các tấn công chặn bắt dữ liệu bằng cách sử dụng giao
thức HTTPS, SSL/TLS.....
Kiểm tra việc thu thập thông tin ngƣời dùng
Kiểm tra việc tìm kiếm thông tin về các ngƣời dùng trong hệ thống
Kiểm tra các tài khoản mặc định và dễ đoán
Trong quá trình thiết kế, những dịch vụ, tài khoản không sử dụng nhƣng
không bị disable sẽ gây mất an toàn cho hệ thống.
Tấn công vét cạn
Ở bƣớc này tiến hành kiểm tra một website có sử dụng biện pháp nào để
chống lại tấn công vét cạn nhƣ đăng nhập bao nhiêu lần thì tài khoản bị khóa....
Vƣợt qua tầng xác thực
Để tìm cách vƣợt qua phần xác thực của một ứng dụng web thông thƣờng sử
dụng cách sau:
 Gửi yêu cầu kết nối trực tiếp (Direct pagerequesthayforced browsing)
 Sửa đổi thông số Parameter (Parameter Modification)
 Đoán ID của phiên (Session ID Prediction )
 Tấn công SQL Injection
Kiểm tra cơ chế nhớ mật khẩu và tạo lại mật khẩu
Thực hiện kiểm tra cơ chế ứng dụng quản lý quy trình “quên mật
khẩu”.Ngoài ra, cũng kiểm tra cơ chế nhớ mật khẩu trên trình duyệt.
Kiểm tra cơ chế đăng xuất
Thực hiện kiểm tra việc đăng xuất và quản lý bộ nhớ đệm (cache) để đảm

bảo hai cơ chế trên không làm thất thoát thông tin nhạy cảm.
2.2.5 Kiểm tra quản lý phiên giao dịch
Quá trình kiểm tra gồm:
Trang 24/89


 Cookie có đƣợc tag là Secure hay không?
 Cookie đƣợc truyền qua một kênh mã hóa.
 Cookie có expire time không?
 Các tham số HTTP/1.1 Cache-Control và HTTP/1.0 Cache-Control.
 Đối với các trang quản trị ngƣời dùng yêu cầu No Cache.
 Kiểm tra quá trình tạo cookie, lƣu ý đến quá trình sinh cookie có phải là
sinh ng u nhiên hay không (hạn chế đoán cookie)
 Kiểm tra khả năng giãi mã ngƣợc cookie
Phân tích cơ chế quản lý phiên giao dịch
Trong bƣớc này, thực hiện xem xét các vấn đề:
 Cookie đƣợc truyền qua kênh an toàn (ví dụ nhƣ HTTPS)
 Có sử dụng HTTPOnly hay không.
 Tên miền (domain) sử dụng có phải tên miền con (sub-domain) hay
không. Nếu là tên miền con, cóliên quan gì đến cookie của tên miền
chính hay không.
 Path: Quy định đƣờng d n mà URL có tác dụng.
 Expires: Thời gian mà cookie có hiệu lực
Phân tích cơ chế quản lý token
Ở bƣớc này, tập trung vào kiểm tra:
 Giao thức (protocol) đƣợc sử dụng (HTTP hay HTTPS)
 HTTP Headers
 Message Body
Kiểm tra CSRF
2.2.6 Kiểm tra quản lý uỷ quyền

Kiểm tra lỗi Path traversal
Hình thức kiểm tra này không cần sử dụng một công cụ nào mà chỉ đơn
thuần thao tác các biến với ../ (dot-dot-slash) để truy cập đến file, thƣ mục, bao gồm

Trang 25/89


×