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

đồ án tốt nghiệp xây dựng quy trình kiểm thử bảo mật và áp dụng vào kiểm thử hệ thống vnedu vn

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

MỤC LỤC
DANH MỤC CÁC KÝ HIỆU VÀ VIẾT TẮT...............................................3
DANH MỤC HÌNH VẼ..................................................................................4
DANH MỤC BẢNG BIỂU.............................................................................6
Chương 1.........................................................................................................1
TỔNG QUAN.................................................................................................1
1.1

Giới thiệu đề.......................................................................................1

1.2

Phạm vi đề tài.....................................................................................3

Chương 2.........................................................................................................4
LÝ THUYẾT ÁP DỤNG................................................................................4
2.1

Tổng quan về bảo mật website...........................................................4

2.1.1

Sơ lược về bảo mật thông tin........................................................4

2.1.2

Mô hình bảo mật...........................................................................5

2.1.3

Áp dụng mô hình bảo mật vào hệ thống.......................................8



2.1.4

Nguy cơ và rủi ro........................................................................11

2.1.5

Các phương pháp tấn công bảo mật...........................................13

2.2

Tổng quan lý thuyết kiểm thử...........................................................20

2.2.1

Sơ lược về kiểm thử....................................................................20

2.2.2

Mục đích của kiểm thử bảo mật.................................................21

2.2.3

Các loại hình kiểm thử bảo mật..................................................22

Chương 3.......................................................................................................24
CÔNG NGHỆ VÀ PHẦN MỀM SỬ DỤNG................................................24


3.1


Các công cụ Test...............................................................................24

3.1.1

Acunetix Web Vulnerability Scanner.........................................24

3.1.2

SQL Power Injector....................................................................26

3.1.3

LOIC...........................................................................................29

3.1.4

Brup Suite...................................................................................30

Chương 4.......................................................................................................32
KIỂM THỬ BẢO MẬT HỆ THỐNG VNEDU.VN.....................................32
4.1

Giới hiệu hệ thống vnedu.vn.............................................................32

4.1.1

Module Quản lý học tập.............................................................33

4.1.2


Module Xét tốt nghiệp................................................................47

4.1.3

Cơ sở dữ liệu...............................................................................51

4.2

Quy trình kiểm thử bảo mật đề xuất và áp dụng...............................71

4.2.1

Quy trình kiểm thử bảo mật đề xuất...........................................71

4.2.2

Áp dụng quy trình vào kiểm thử hệ thống..................................74

4.3

Thực hiện kiểm thử hệ thống............................................................74

4.3.1

Lập Testplan................................................................................74

4.3.2

Thiết kế testcase và thực hiện test tool.......................................75


4.3.3

Báo cáo kết quả Test...................................................................97

KẾT QUẢ ĐẠT ĐƯỢC..............................................................................102
TÀI LIỆU THAM KHẢO...........................................................................103


DANH MỤC CÁC KÝ HIỆU VÀ VIẾT TẮT

STT
1
2

3
4
5
6
7
8

Ký hiệu, chữ

Tên đầy đủ

Dịch ra tiếng việt

viết tắt
LOIC


Low Orbit Ion

Tên một công cụ

WVS

Cannon
Web Vulnerability

DDos
Tên một công cụ

Scanner

kiểm thử

SQL

Structureed Query

Ngôn ngữ truy vấn

DDos

Language
Distributed Denial

có cấu trúc
Từ chối phân phối


XSS

of Service
Cross - Site

dịch vụ
Kiểu tấn công chèn

Scripting
Not Available


Không thể

Message-Digest

Tên một thuật toán

algorithm 5

mã hóa

N/A
Module
MD5


DANH MỤC HÌNH VẼ
Hình 2.1 Danh sách người dùng hệ thống.........................................................9

Hình 2.2 Danh sách các quyền của hệ thống...................................................10
Hình 3.1 Giao diện công cụ Acunetix Web Vulnerability Scanner.................26
Hình 3.2 Giao diện công cụ SQL Power Injector 1.2......................................28
Hình 3.3 Giao diện công cụ LOIC...................................................................29
Hình 3.4 Giao diện công cụ Brup Suite...........................................................30
Hình 4.1 Giao diện hệ thống vnEdu.vn...........................................................32
Hình 4.2 Biểu đồ xử lý chức năng Nhập sổ điểm............................................34
Hình 4.3 Giao diện Nhập sổ điểm...................................................................37
Hình 4.4 Giao diện Nhập/xuất dữ liệu.............................................................38
Hình 4.5 Biểu đồ xử lý chức năng nhập điểm danh........................................39
Hình 4.6 Giao diện chức năng nhập điểm danh..............................................41
Hình 4.7 Biểu đồ xử lý chức năng Nhập hạnh kiểm.......................................42
Hình 4.8 Giao diện chức năng Nhập hạnh kiểm.............................................44
Hình 4.9 Giao diện chức năng Tổng kết điểm.................................................47
Hình 4.10 Giao diện chức năng Diện ưu tiên..................................................49
Hình 4.11 Giao diện chức năng Xét tốt nghiệp...............................................51
Hình 4.12 Cơ sở dữ liệu hệ thống danh mục...................................................51
Hình 4.13 Cơ sở dữ liệu phân hệ quản lý hồ sơ và giáo viên..........................52
Hình 4.14 Cơ sở dữ liệu phân hệ quản lý học tập...........................................53
Hình 4.15 Cơ sở dữ liệu phân hệ quản lý đề thi..............................................54
Hình 4.16 Cơ sở dữ liệu phân hệ Quản lý kì thi..............................................55
Hình 4.17 Quy trình kiểm thử bảo mật............................................................73
Hình 4.18 Thiết kế Testplan.............................................................................75
Hình 4.19 Thiết lập thông số test.....................................................................87


Hình 4.20 Thông số parameters.......................................................................87
Hình 4.21 Thực thi test....................................................................................87
Hình 4.22 Thiết lập các thông số test..............................................................88
Hình 4.23 Thiết lập mục đích..........................................................................89

Hình 4.24 Thực thi test....................................................................................89
Hình 4.25 Thực hiện test Brup Suite...............................................................92
Hình 4.26 Thực hiện chọn chức năng của công cụ..........................................93
Hình 4.27 Quá trình diễn ra redirect................................................................93
Hình 4.28 Finish testing..................................................................................94
Hình 4.29 Thiết lập thông số...........................................................................95
Hình 4.30 Kết quả tấn công từ chối dịch vụ....................................................95
Hình 4.31 Thống kê kết quả tấn công từ chối dịch vụ DDos........................100


DANH MỤC BẢNG BIỂU
Bảng 4.1 Đặc tả chức năng Nhập sổ điểm.......................................................33
Bảng 4.2 Bảng đặc tả chức năng Nhập điểm danh..........................................38
Bảng 4.3 Bảng đặc tả chức năng Nhập hạnh kiểm..........................................41
Bảng 4.4 Bảng đặc tả chức năng Tổng kết điểm.............................................45
Bảng 4.5 Bảng đặc tả chức năng Diện ưu tiên................................................47
Bảng 4.6 Bảng đặc tả chức năng Xét tốt nghiệp.............................................50
Bảng 4.7 Bảng edu_dm_dien_chinh_sach......................................................56
Bảng 4.8 Bảng edu_dm_dien_cs.....................................................................56
Bảng 4.9 Bảng edu_dm_dien_uu_tien_tn.......................................................56
Bảng 4.10 Bảng edu_dm_dien_uu_dai............................................................57
Bảng 4.11 Bảng edu_dien_uutien....................................................................57
Bảng 4.12 Bảng edu_dm_hạnh kiểm...............................................................57
Bảng 4.13 Bảng edu_dm_hoc_ky....................................................................58
Bảng 4.14 Bảng danh mục khối học................................................................58
Bảng 4.15 Bảng edu_dm_loai_diem...............................................................58
Bảng 4.16 Bảng edu_dm_loai_hs....................................................................59
Bảng 4.17 Bảng du_dm_mon_day..................................................................59
Bảng 4.18 Bảng edu_dm_mon_hoc................................................................60
Bảng 4.19 Bảng edu_dm_nam_hoc.................................................................61

Bảng 4.20 Bảng edu_dm_tot_nghiep..............................................................61
Bảng 4.21 Bảng edu_giao_vien.......................................................................62
Bảng 4.22 Bảng edu_hoc_sinh........................................................................66
Bảng 4.23 Bảng edu_hoc_sinh_detail.............................................................68
Bảng 4.24 Danh sách testcase yêu cầu thiết kế quản lý học tập......................76
Bảng 4.25 Danh sách testcase yêu cầu thiết kế xét tốt nghiệp........................79


Bảng 4.26 Danh sách testcase mã nguồn chức năng nhập sổ điểm.................80
Bảng 4.27 Danh sách testcase mã nguồn chức năng nhập điểm danh.............81
Bảng 4.28 Danh sách testcase mã nguồn chức năng nhập hạnh kiểm.............82
Bảng 4.29 Danh sách testcase mã nguồn chức năng tính tổng kết..................82
Bảng 4.30 Danh sách testcase XSS.................................................................83
Bảng 4.31 Danh sách testcase Broken Authentication, Session Management
.........................................................................................................................84
Bảng 4.32 Danh sách testcase SqlInjection.....................................................85
Bảng 4.33 Danh sách testcase Sensitive Data Exposure.................................90
Bảng 4.34 Danh sách testcase Insecure Direct Object References.................91
Bảng 4.35 Danh sách testcase thiết lập trình duyệt.........................................96
Bảng 4.36 Danh sách testcase tường lửa.........................................................96
Bảng 4.37 Bảng tổng hợp kết quả test yêu cầu thiết kế...................................97
Bảng 4.38 Bảng tổng hợp kết quả test mã nguồn............................................97
Bảng 4.39 Bảng tổng hợp kết quả test XSS - SQLi........................................98
Bảng 4.40 Bảng tổng hợp kết quả test Sensitive Data Exposure....................98
Bảng 4.41 Bảng tổng hợp kết quả test Insecure Direct Object References.....99


1

Chương 1

1 TỔNG QUAN
1.1 Giới thiệu đề
Đề tài đồ án tốt nghiệp của em được dựa trên các kiến thức về lý thuyết
kiểm thử bảo mật phần mềm, từ đó ứng dụng triển khai trên hệ thống trường
học trực tuyến vnedu.vn thuộc Tập đoàn bưu chính viễn thông Việt Nam –
VNPT.
Kiểm thử phần mềm là một hoạt động giữ vai trò rất quan trọng để bảo đảm
chất lượng phần mềm và là hoạt động mang tính sống còn trong các dự án sản
xuất hoặc gia công phần mềm. Kiểm thử phần mềm chiếm 30 – 40% trong
quy trình phát triển phần mềm[1].
Vì vậy, kiểm thử phần mềm đã trở thành qui trình bắt buộc trong các dự
án phát triển phần mềm trên thế giới. Hiện nay, khâu kiểm thử phần mềm
đang dần được chú trọng hơn trong các dự án phát triển phần mềm ở cả các
công ty lớn hay vừa và nhỏ. Đặc biệt đối ví các đơn vị uy tín trong lĩnh vực
phần mềm đánh giá rất cao khâu kiểm thử, nếu các sản phẩm đưa ra chưa
được qua kiểm thử và có các văn bản xác nhận đi kèm thì đều không được
chấp nhận hay đánh giá cao.
Nếu phần mềm sau khi thi công được đưa ra sử dụng mà xảy ra các tình
trạng như: hoạt động không đúng yêu cầu thiết kế, xảy ra các lỗi đến từ phía
người dùng sẽ dẫn đến: mất thời gian, tiền bạc, ảnh hướng tới uy tín của đơn
vị thực hiện...qua đó thấy được mỗi phần mềm cần phải kiểm thử trước khi
được đưa ra sử dụng, nhờ vậy sản phẩm sẽ được hoàn thiện nhất, tránh được


2

các phát sinh do chủ quan từ phía lập trình viên, ngoài ra cũng giúp các đơn vị
thi công phần mềm tạo dựng được uy tín và chất lượng dịch vụ.
Câu hỏi đặt ra tiếp theo là: Kiểm thử phần mềm là gì?
Theo IEEE (Insttitute of Electrical and Electronic Engineers): Kiểm

thử là tiến trình vận hành hệ thống hoặc thành phần dưới những điều kiện xác
định, quan sát hoặc ghi nhận xét kết quả và đưa ra đánh giá về hệ thống hoặc
thành phần đó.
Theo Glen Myers: “Kiểm thử là tiến trình thực thi chương trình với
mục đích tìm ra lỗi (The art of software testing)” Kiểm thử phần mềm là một
cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về
chất lượng của sản phẩm hoặc dịch vụ được kiểm thử[2].
Trên đây là các định nghĩa chung giúp phần nào nói rõ hơn về kiểm thử phần
mềm. Trọng tâm đề tài đưa ra là hướng đến kiểm thử bảo mật website. Vậy
bảo mật là gì?
Bảo mật là sự hạn chế khả năng lạm dụng tài nguyên và tài sản. Bảo
mật trở nên đặc biệt phức tạp trong quản lý, vận hành những hệ thống thông
tin có sử dụng các công cụ tin học, nơi có thể xảy ra tràn lan nhanh chóng
việc lạm dụng tài nguyên và lạm dụng tài sản. An toàn của một hệ thống
thông tin, website thực chất là sự đảm bảo an ninh ở mức độ chấp nhận được.
Nếu bảo mật quá chặt chẽ nó sẽ trở nên khó sử dụng hoặc khó hoạt động một
cách hiệu quả. Nếu bảo mật quá đơn giản, hệ thống sẽ dễ bị tấn công và thâm
nhập.


3

Vì vậy, trước khi đưa sản phẩm phần mềm vào sử dụng, nhà phát triển
cần đặc biệt chú trọng đến khâu bảo mật. Đôi khi những nhà lập trình viên
không thể kiểm soát hết được các lỗ hổng do sự chủ quan từ nhiều phía, điều
này dẫn đến một bộ phận chuyên môn am hiểu về bảo mật phần mềm và có
hiểu biết đủ để có thể rà soát các lỗ hổng bảo mật của phần mềm. Bộ phận ấy
nằm trong kiểm thử phần mềm, cụ thể là kiểm thử bảo mật.
Dựa trên sự quan trọng và cần thiết trên, em đã lựa chọn đề tài đồ án tốt
nghiệp là: Ứng dụng lý thuyết kiểm thử bảo mật vào hệ thống trường học trực

tuyến vnedu.vn. Đây là một hệ thống giáo dục trực tuyến trọng điểm và quan
trọng có sức ảnh hưởng lớn đối với rất nhiều trường học từ mầm non đến
trung học phổ thông trên cả nước, vì vậy vấn đề bảo mật được đặt lên hàng
đầu, và đây cũng chính là lý do em lựa chọn kiểm thử bảo mật trên hệ thống
này.
1.2 Phạm vi đề tài
Phạm vi đề tài được thực hiện tập trung vào những nội dung sau:
 Tìm hiểu về kiểm thử bảo mật website một cách chi tiết ở mức độ cho
phép.
 Xây dựng quy trình kiểm thử bảo mật và áp dụng vào kiểm thử hệ
thống VnEdu.vn.


4

Chương 2
2

LÝ THUYẾT ÁP DỤNG
2.1 Tổng quan về bảo mật website

2.1.1 Sơ lược về bảo mật thông tin
Bảo mật là bảo vệ những thứ có giá trị [2]. Bảo mật cũng là sự hạn chế khả
năng lạm dụng tài nguyên và tài sản. Bảo mật đặc biệt trở nên phức tạp trong
quản lý, vận hành những hệ thống thông tin có sử dụng các công cụ tin học,
nơi có thể xảy ra và tràn lan nhanh chóng việc lạm dụng tài nguyên và lạm
dụng tài sản. Tuy nhiên không phải bất cứ lúc nào cũng có thể xử lý ngay lập
tức những hành động đó, điều này dẫn đến việc cần thiết phải có sự chuẩn bị
trước để sẵn sàng trước mọi tình huống sẽ xảy ra.
An toàn thông tin theo một cách dễ hiểu thì đó thực chất là sự đảm bảo

an toàn thông tin ở mức có thể chấp nhận được. Nếu bảo mật quá chặt chẽ nó
sẽ trở nên khó sử dụng hoặc khó hoạt động một cách hiệu quả. Ngược lại nếu
bảo mật quá sơ sài thì hệ thống lại dễ bị tấn công và xâm nhập.
Các yêu cầu cần bảo vệ hệ thống thông tin:
 Tính bí mật (Confidental): Thông tin chỉ được xem bởi những người có
quyền. Thông tin luôn cần được đảm bảo bí mật vì đó là sản phẩm của tổ chức
hoặc khách hàng của tổ chức. Bí mật về thông tin được hiểu là điều bắt buộc
hoặc tuân theo điều khoản nào đó giữa khách hàng và tổ chức.


5

 Tính toàn vẹn (Integrity): Thông tin cần phải đầy đủ, không được suy
diễn hoặc thay đổi bất hợp pháp. Nó cần phải biệt lập để tránh các tai nạn hay
các thay đổi có mục đích xấu.
 Tính sẵn sàng (Availability): Thông tin phải luôn trong tình trạng sẵn
sàng cung cấp cho những người được cấp quyền sử dụng bất cứ lúc nào.
2.1.2 Mô hình bảo mật
Để xây dựng nên các tiêu chuẩn, chính sách bảo mật thì cần phải mô tả
các thực thể bị chi phối bởi các chính sách và chúng ta phải phát biểu các quy
tắc cấu thành nên chính sách đó. Và việc này chính là công việc của mô hình
bảo mật[2]. Theo tìm hiểu về các hệ thống thông tin lơn, em đưa ra được một
số mô hình bảo mật được sử dụng tương đối phổ biến:
 Mô hình ma trận truy cập (Acess matrix model): là mô hình điều khiển
truy nhập cơ bản. Đây là mô hình được phát triển độc lập với các hệ điều
hành và các hệ quản trị cơ sở dữ liệu, tuy nhiên nó vẫn được sử dụng một
cách khá phổ biến trong các hệ điều hành và hê quản trị cơ sở dữ liệu.
Chủ thể

Lọc


Đối tượng

Sơ đồ minh họa hoạt động của mô hình ma trận
Cơ chế hoạt động của mô hình ma trận truy nhập là dựa theo danh sách
điều khiển truy cập. Danh sách điểu khiển truy cập dùng để bảo vệ các đối


6

tượng. Lúc này sẽ tồn tại người dùng đặc biệt Admin, người dùng này có thể
thêm, sửa, xóa quyền truy cập của tất cả mọi thành viên thuộc hệ thống (Ví dụ
quyền truy cập: insert, update, delete,…). Mô hình ma trận được định nghĩa
một cách cụ thể bằng thuật ngữ trạng thái và thay đổi trạng thái.
Trạng thái của hệ thống xác định bằng 3 đối tượng: O, S, A. Trong đó:
S: tập hợp người dùng hữu hạn.
O: tập hợp các đối tượng hữu hạn.
A: ma trận truy nhập.
Mỗi phần tử của ma trận A[Si, Oj] là danh sách các quyền truy nhập của
người dùng Si lên đối tượng Oj, hay mức độ cho phép truy nhập dành cho
người dùng.
Ma trận truy cập thể hiện trạng thái an toàn ở thời điểm hiện tại của hệ
thống thông tin. Thành phần của ma trận:
Hàng ngang: Si (các người dùng hiện tại)
Hàng dọc: Oj (các đối tượng hiện tại)
Ma trận A[Si, Oj] xác định quyền truy cập hiện tại.


7


Các quyền truy cập được xác định bởi kiểu đối tượng. Đối với loại đối
tượng là file thì quyền truy cập sẽ bao gồm: đọc, ghi, thêm mới, xóa, copy,
update,… Còn nếu đối tượng là các tín trình thực hiền thì quyền truy cập sẽ
là: nhận, gửi, sao chép tín hiệu,… Ngoài ra, có một số quyền đặc biệt như:
Quyền điều khiển: nếu Si tạo ra một Sj thì Si khi đó có quyền gọi là điều
khiển, thay đổi và cũng có thể xóa bất cứ quyền nào của Sj.
Quyền làm chủ: nếu S tạo mới một O thì S có quyền làm admin của O
và cũng có quyền thay đổi quyền truy cập O của tất cả các đối tượng khác.
Quyền thay đổi quyền: S có thể chuyển quyền đối với một O, có thể đặt
quyền của chính S cho O cho một S khác. Lưu ý: quyền được chuyển phải cao
hơn quyền được trao.
Trạng thái hiện thời của các quyền bảo vệ sẽ thay đổi khi có một quyền
mới được trao hoặc xóa một quyền nào đó ra khỏi ma trận. Việc này được
thực hiện thông qua bộ kiểm tra ma trận truy cập. Bộ kiểm tra được thực hiện
bằng tập gồm 8 lệnh trong tập lệnh bảo vệ:
 Transfer: chuyển quyền cho một người dùng khác
 Grant: tạo quyền cho người dùng khác
 Delete: xóa quyền
 Read: đọc nội dung từ ma trận truy nhập


8

 Create object: khởi tạo một đối tượng mới
 Delete object: xóa một đối tượng đã tồn tại
 Create subject: tạo một người dùng mới
 Delete subject: xóa một người dùng đã tồn tại
Đánh giá về ma trận truy cập thì có thể nhận thấy được 2 điểm:
Admin là thành viên có quyền cao nhất đối với toàn bộ việc bổ sung
hay loại bỏ quyền truy cập của người dùng khác trong hệ thống. Quyền truy

cập lên từng đối tượng khá cụ thể, ngoài ra cũng có thể thay đổi đối tượng
cũng như người dùng một cách nhanh chóng và thuận tiện dề dàng. Điều này
khá phù hợp với các hệ thống có cơ chế quản lý theo hướng tập trung.
Điểm thử 2 đó là đối với những hệ thống lớn, số lượng người dùng
nhiều, danh sách điều khiển truy cập sẽ trở nên phức tạp, cồng kềnh, dẫn đến
việc truy cập mất nhiều thời gian, làm giảm hiệu xuất làm việc của hệ thống.
 Mô hình HRU (Harison – Ullman):
Đối với mô hình này, quyền hạn của người dùng sẽ đc xác định một cách
cụ thể. Quy ước:
S: tập các người dùng


9

O: tập các đối tượng
R: tập các quyền truy cập
Phươg thức xác định một ma trận truy cập:
M = (Mso)sS, oO với Mso R
Có 6 hành động chính trong các quyền hạn của người dùng có được:
 Nhập r vào trong/ từ Mso
 Tạo / xóa người dùng S
 Tạo / xóa đối tượng O
Đặc điểm bảo mật của mô hình HRU:
Định nghĩa về mô hình HRU:
Một ma trận truy cập M lộ ra quyền r nếu có một lệnh c:
M  M’ thêm quyền r vào trong M mà không chứa r trước đó, có nghĩa
là sao cho và


10


Một ma trận M được coi là an toàn đối với quyền r nếu
không co chuỗi lệnh nào có thể biến đổi M thành một trạng thái mà bị phát
hiện r. Vì vậy, sự kiểm chứng bảo mật có thể coi như kiểm chứng an toàn.
Định lý của mô hình:
- Cho một ma trận truy cập M và quyền r, sự kiểm chứng độ an toàn của
M đối với quyền r là vấn đề không thể quyết định được.
- Cho một hệ thống quyền hạn toán tử đơn, một ma trận r, sự kiểm chứng
độ an toàn của M đối r là có thể quyết định được. Còn nếu lệnh do 2 hành
động được cho phép chúng tôi lấy không thể quyết định được.
- Vấn đề an toàn cho các hệ thống quyền hạn là có thể quyết định được
nếu số người dùng giới hạn.
2.1.3 Áp dụng mô hình bảo mật vào hệ thống
Hiện tại, dựa theo các đặc điểm và mức độ phổ biến của mô hình bảo
mật, hệ thống vnEdu.vn đang triển khải bảo mật hệ thống dựa trên mô hình
bảo mật ma trận truy nhập.
Đối với hệ thống, mô hình được áp dụng trực tiếp trên chức năng quản lý
đăng nhập và phân quyền người dùng. Mỗi một người dùng khi đăng ký sẽ
được lọc và kiểm trả xem người dùng đó thuộc thành phần nào, dựa trên việc
lọc này hệ thống sẽ cấp quyền phù hợp và đầy đủ cho người dùng đó.


11

Như vậy, mỗi tài khoản khi truy cập hệ thống đều được xác nhận sau đó
sẽ được thực hiện các nhiệm vụ, công việc của mình trên từng đối tượng cho
phép. Sau khi thực hiện xong công việc, để tránh gây tiềm ẩn hiểm họa cho hệ
thống, Admin sẽ thực hiện các hành vi xóa quyền hoặc chuyển quyền cho
người dùng khác thực hiện nếu cần thiết.
S: tập hợp người dùng hữu hạn: danh sách người dùng hệ thống. Ta có

S(admin,test,support…)

Hình 2.1 Danh sách người dùng hệ thống
O: tập hợp các đối tượng hữu hạn: danh sách các nhóm quyền, trong
đó, một nhóm quyền có thể gồm một hoặc nhiều quyền. Ta có O(Quản trị tài
khoản, Quản trị thống kê báo cáo,abc….)


12

Hình 2.2 Danh sách các quyền của hệ thống
A: ma trận truy nhập: Ta có: A[admin,Quản trị thống kê báo cáo],
A[admin, abc]….


13

2.1.4 Nguy cơ và rủi ro
OWASP Top 10 là danh sách được OWASP tổng hợp và công bố theo
từng năm, nhằm đưa ra các cảnh báo rủi ro an ninh 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 và phát
triển, đánh giá các ứng dụng web có thể tự đưa ra biện pháp phù hợp với ứng
dụng web mình xây dựng. Tuy nhiên, công nghệ là luôn thay đổi, vì vậy danh
sách này qua từng thời điểm cũng sẽ thay đổi và liên tục cập nhật. Tính tới
thời điểm năm 2013, 10 rủi ro cao nhất mà OWASP đưa ra là:


14

 Iinjection: rủi ro trong việc nhập dữ liệu, ví dụ như Sql Injection, OS

Injection, LDAP Injection,… xảy ra khi các 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ư 1 phần của lệnh hay câu truy vấn. Kẻ
tấn công có thể dựa vào sơ hở này để thực hiện các lệnh với mục đích lấy dữ
liệu một cách bất hợp pháp.
 Broken Authentication and Session Management: Xác thực hay quản lý
phiên thiếu chính xác. Sơ hở này cho phép kẻ tấn công có thể lợi dụng để đạt
được 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 thông thường.
 Cross-Site Scripting (XSS): Sai sót trong kiểm duyệt nội dung đầu vào
cũng dẫn đến rủi ro này. Các dữ liệu bất hợp pháp được gửi đến trình duyệt
web mà không cần sự xác nhận thông thường. Nó 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 nạn nhân hay đánh cắp phiên làm việc được lưu
trên trình duyệt.
 Insecure Direct Object References: Điều này xảy ra thì nhà phát triển
cho thấy có các tham chiếu trực tiếp đến một đối tượng nội bộ hay của người
dùng khác, ví dụ như một tập tin, thư mục, hay cơ sở dữ liệu quan trọng, mà
không có sự kiểm tra hay bảo vệ an toàn cần thiết. Điều này cho phép kẻ tấn
công có thể truy cập các tài liệu này một cách trái phép.
 Security Misconfiguration: 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.


15

Điều này nhằm tránh những nguy cơ bị khai thác vào ứng dụng, ví dụ để lộ ra
những thông tin quan trọng khi trao đổi các gói tin.
 Sensitive Data Exposure: Các dữ liệu nhạy cảm không được lưu trữ và
bảo vệ cẩn thận, dẫn đến khi bị kẻ tấn công khai thác gây ra những ảnh hưởng

to lớn cho hệ thống máy chủ, doanh nghiệp, khách hàng. Ví dụ như việc lưu
trữ thẻ tín dụng mà không thông qua các khâu mã hóa, hay các gói tin TLS bị
bẻ khóa và nghe lén thông qua lỗ hổng CRIME.
 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.
 Cross-Site Request Forgery (CSRF): Lợi dụng sơ hở của nạn nhân, kẻ
tấn công 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í dụ như chuyển tiền từ tài khoản nạn nhân sáng tài khoản
kẻ tấn công, thông qua các lỗ hổng XSS.
 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.
 Unvalidated 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.


16

2.1.5 Các phương pháp tấn công bảo mật
2.1.5.1 Tấn công SqlInjection
Có những lỗi rất nghiêm trọng mà người lập trình với cơ sở dữ
liệu(chẳng hạn như ứng dụng web thương mại điện tử, những chương trình kế
toán, ứng dụng ngân hàng, hệ thông đào tạo trực tuyến,…) thường không để ý
đến, tuy nhiên lỗi này rất nghiệm trọng, vì khi kẻ xấu tấn công lỗi này sẽ lấy
được cơ sở dữ liệu, thâm nhập vào hệ thống thông qua những dữ liệu đã có
được. Đối với trường hợp này có 2 lỗi thường xuyên gặp phải:
 Thiếu kiểm soát dữ liệu vào, ra

 Lỗi SqlInjection và các Store Procedure mà hệ thống My SQL server có
thể bị hacker tấn công và lợi dung.
2.1.5.2 Tấn công Broken Authentication and
Session Management
Kẻ tấn công có thể là những kẻ tấn công nặc danh, hoặc người người
dùng sở hữu tài khoản muốn ăn cắp thông tin từ tài khoản khác. Cũng nên
cân nhắc những đối tượng nội bộ muốn che dấu hành động Kẽ tấn công lợi
dụng những sơ hở trong các đoạn mã kiểm tra định danh (ví dụ: xem tài
khoản, password, ID phân làm việc) để giả mạo người dùng Người phát triển
thường xuyên tự xây dựng những mô hình chứng thực và quản lý các phiên
làm việc, nhưng xây dựng đúng cách thì không dễ. Kết quả là những cái tùy
chọn đó thường xuyên có lỗi trong nhiều phần như đăng xuất, quản lý
password, thời gian chờ, ghi nhớ người dùng, câu hỏi bí mật, cập nhật tài
khoản v.v. Tìm những lỗi này có thể rất khó khăn bởi vì các cách triển khai
có thể độc lập, không giống nhau. Lỗi như thế có thể cho phép một vài hoặc


17

toàn bộ tài khoản bị tấn công. Khi đã thành công, kẻ tấn công có thể làm
nhiều thứ dưới quyền của nạn nhân. Những tài khoản đặc quyền thường là
mục tiêu chính Ta cần cân nhắc đến giá trị của những hệ thống và dữ liệu bị
ảnh hưởng. Cũng nên cân nhắc đến tác động kinh tế của việc lỗi này bị trình
bày trước công luận.
2.1.5.3 Tấn công Cross Site Scripting
XSS (Cross Site Scripting) là kiểu tấn công cho phép hacker chèn những
đoạn script độc hại (thông thương sử dụng javascript hoặc HTML) vào
website và sẽ được thực thi ở phía người dùng (trong trình duyệt). Đôi với
XSS, người dùng sẽ trực tiếp bị tấn công, lúc này hacker có thể gửi những
đoạn script độc hại tới một người dùng bất kỳ, khi đó trình duyệt người dùng

sẽ thực thi những đoạn script đó và trả lại thông tin của mình cho hacker
thông qua email hoặc server do hacker định sẵn trước.
2.1.5.4 Tấn công Dos
Phương pháp tấn công từ chối dịch vụ (Dos: Denial of Service) là một
trong những cách nhằm ngăn cản các người dùng hợp pháp khả năng truy
nhập và sử dụng dịch vụ nào đó. Dos có khả năng làm ngưng hoạt động của
máy tính, mạng nội bộ hay cả một hệ thống mạng lớn. Nếu đặt ra so sánh Dos
với 2 phương pháp tấn công kể trên thì Dos có phần nhẹ nhàng hơn về mức
độ nguy hại. Nó sẽ làm mất khả năng xử lý yêu cầu dịch vụ từ phía người
dùng thông qua việc chiếm dụng tài nguyên mạng như: băng thông, bộ nhớ.
Tất cả các hệ thống máy tính đều có một giới hạn nhất định nên nó chỉ có
thể đáp ứng một lượng nhất định yêu cầu dịch vụ từ phía người dùng. Dựa
vào điểm này các máy chủ đều có thể trở thành đối tượng bị tấn công bằng


18

Dos. Thực hiện phương pháp Dos có khá nhiều dạng khác nhau, phổ biến nhất
xin được nêu ra 3 phương pháp:
 Tấn công Dos cổ điển: là phương pháp được thực hiện thông qua các
kiểu tấn công như: Smurf Attack, Tear Drop… Đối tượng thường được tấn
công bằng phương pháp này nhất là các hệ thống có cơ chế bảo mật kém,
băng thông yếu.
 Tấn công DDoS phân tán (Distributed Denial of Service): phương pháp
này được cho mạnh hơn tương đối nhiều so với cách cổ điển. Ở đây chủ yếu
gấy nghẽn hệ thống bằng cách chiếm dụng băng thông. Để thực hiện phương
pháp này, cần tìm cách chiếm dụng, điều khiển nhiều thiết bị/mạng máy tính
trung gian được gọi là bonet từ nhiều nơi để gửi một cách ồ ạt tới hệ thống số
lượng lớn các gói tin nhằm chiếm dụng tài nguyên và làm tràn ngập đường
truyền hệ thống đó.

 Tấn công DRDoS phản xạ nhiều vùng (Distributed Reflection Denial of
Service): đây là phương pháp mời nhất và và có sức ảnh hưởng nhất nằm
trong các phương pháp của Dos. Nguyên nhân là do, khi sử dụng tấn công
bằng DRDoS hệ thống hoàn toàn bị cô lập với người dùng, tất cả các dịch vụ
chạy trên nền mạng TCP/IP như: HTTP, FTP, Pop3… đều bị vô hiệu hóa. Ở
phương pháp này, ta cần SYN với một máy tính đơn, vừa có sự kết hợp giữa
nhiều máy tính lại có thể chiếm dụng băng thông. Sau đó giả mạo địa chỉ của
máy chủ bị tấn công gửi yêu cầu SYN đến các hệ thống lớn nhằm mục đích
nhận lại các gói tin SYN/ACK và điều này sẽ dẫn đến quá tải, băng thông bị
chiếm dụng bới các máy chủ lớn, khi này việc tấn công thành công, máy chủ
không thể hoạt động bình thường được nữa.


Xem Thêm

×