1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

87 866 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 87
Dung lượng 2,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

DANH MỤC CÁC THUẬT NGỮ, CÁC CHỮ VIẾT TẮT ASP Active Server Pages Môi trường cho các ứng dụng chạy trên Server CAPTC HA Completely Automated Public Turing test to tell Computers and Hum

Trang 1

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

Trang 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 trong 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 – K17, 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à

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

Trang 5

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

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

DANH MỤC BẢNG 7

DANH MỤC HÌNH VẼ 8

MỞ ĐẦU 10

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

1.1 Một số khái niệm về an toàn thông tin và đánh giá rủi ro 12

1.1.1 Khái niệm cơ bản về an toàn thông tin 12

1.1.2 Khái niệm về đánh giá rủi ro 13

1.2 Khái quát về ứng dụng web 13

1.2.1 Giới thiệu chung 13

1.2.2 Giao thức HTTP 14

1.2.3 Kiến trúc của web 15

1.2.4 Hoạt động của web 17

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 19

1.3.1 Các mối đe dọa 19

1.3.2 Các loại lỗ hổng phổ biến theo tiêu chuẩn OWASP 20

1.4 Một số biện pháp đảm bảo an toàn ứng dụng web 22

1.5 Kết luận chương 23

CHƯƠNG 2: GIẢI PHÁP ĐÁNH GIÁ VÀ MÔ HÌNH ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB 24

2.1 Giới thiệu chung 24

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 25

Trang 6

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

2.2.2 Lỗ hổng bảo mật máy chủ web 29

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

2.2.4 Lỗ hổng máy chủ cơ sở dữ liệu 31

2.2.5 Lỗ hổng bảo mật trong kết nối 32

2.2.6 Một số kỹ thuật khai thác lỗ hổng bảo mật điển hình của ứng dụng web 32 2.3 Các phương pháp kiểm tra lỗ hổng bảo mật 38

2.1.1 2.3.1 Phương pháp kiểm tra hộp đen 38

2.1.2 2.3.2 Phương pháp kiểm tra hộp trắng 39

2.3.3 Phương pháp kiểm tra hộp xám 41

2.1.3 2.3.4 Phân tích, so sánh các phương pháp kiểm tra lỗ hổng 41

2.4 Một số công cụ phần mềm kiểm tra 42

2.4.1 Các công cụ kiểm tra lỗ hổng hệ thống 43

2.1.4 2.4.2 Các công cụ kiểm tra lỗ hổng ứng dụng 45

2.5 Đánh giá công cụ dò quét lỗ hổng ứng dụng 52

2.5.1 Đánh giá kỹ thuật và thuật toán sử dụng: 52

2.5.2 Khả năng ứng dụng thực tiễn 53

2.6 Tổng kết chương 55

CHƯƠNG 3: THỬ NGHIỆM ĐÁNH GIÁ RỦI RO CHO ỨNG DỤNG WEB THEO PHƯƠNG PHÁP HỘP ĐEN 56

3.1 Đế xuất quy trình triển khai, đánh giá cổng thông tin điện tử: 56

3.1.1 Mục đích 56

3.1.1 Phạm vi áp dụng 56

3.1.2 Quy trình thực hiện 56

3.1.3 Đánh giá quy trình 59

3.2 Áp dụng quy trình 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, sử dụng công cụ Acunetix 59

3.2.1 Xây dựng kịch bản đánh giá 59

3.2.2 Triển khai đánh giá thực tế 60

Trang 7

3.2.3 Kết quả đánh giá 65

3.3 Áp dụng quy trình triển khai đánh giá cổng thông tin điện tử tỉnh Vĩnh Phúc, sử dụng công cụ Acunetix 70

3.3.1 Xây dựng kịch bản đánh giá 70

3.3.2 Triển khai đánh giá thực tế 71

3.4 Đề xuất giải pháp đảm bảo an toàn cho ứng dụng web 72

3.4.1 An toàn hạ tầng mạng 72

3.4.2 An toàn hệ thống máy chủ 73

3.4.3 An toàn cho ứng dụng 73

3.4.4 Đối phó với tấn công từ chối dịch vụ 74

3.5 Tổng kết chương 74

KẾT LUẬN CHUNG 75

TÀI LIỆU THAM KHẢO 77

PHỤ LỤC 78

Trang 8

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

ASP Active Server Pages Môi trường cho các ứng dụng chạy

trên Server

CAPTC

HA

Completely Automated Public

Turing test to tell Computers and

Humans Apart

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

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

DOM Document Object Model Hệ giao tiếp lập trình ứng dụng cho

HTML và XML

ESAPI Anhanced Small Arms Protective

Insert

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

IDE Integrated Development

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

IDS Intrusion Detection System Một hệ thống phát hiện xâm nhập

IIS Internet Information Services Dịch vụ cung cấp thông tin Internet

IPSec Internet Protocol Security Giao thức bảo mật Internet

NTFS New Technology File System Hệ thống tập tin công nghệ mới

OSI Open Systems Interconnection Mô hình tham chiếu kết nối các hệ

thống mở

OWASP Open Web Application Security

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

Trang 9

DANH MỤC BẢNG

Bảng 2.1: Ưu và nhược điểm của phương pháp kiểm tra hộp đen 39

Bảng 2.2: Ưu và nhược điểm của phương pháp kiểm tra hộp trắng 40

Bảng 2.3: Ưu và nhược điểm của phương pháp kiểm tra hộp xám 41

Bảng 3.1: Nội dung quy trình 58

Bảng 3.2 Xây dựng kịch bản 60

Bảng 3.3 Kết quả theo kịch bản 66

Bảng 3.4 Xây dựng kịch bản 71

Bảng 3.5 Kết quả theo kịch bản 72

Trang 10

DANH MỤC HÌNH VẼ

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

Hình 1.2: Mô hình hai lớp 16

Hình 1.3: Mô hình 3 lớp 17

Hình 1.4: Mô hình N lớp 17

Hình 1.5: Mô hình hoạt động của một ứng dụng web 18

Hình 1.6: Một số Web Server thông dụng hiện nay 19

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

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

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 24

Hình 2.3: Các lỗ hổng và mối đe dọa đối với máy chủ web 30

Hình 2.4: Lỗ hổng và các mối nguy cơ đối với máy chủ ứng dụng 29

Hình 2.5: Lỗ hổng trên máy chủ CSDL 31

Hình 2.6: Kỹ thuật tấn công File Inclusion 37

Hình 2.7: Thông tin về tính năng và giá của các công cụ quét tự động 43

Hình 2.8: Kết quả quét của công cụ MBSA 44

Hình 2.9: Công cụ Nessus 45

Hình 2.10: Các thông tin WebScarab ghi lại được 46

Hình 2.11: Chương trình kiểm tra lỗi bảo mật W3AF 46

Hình 2.12: Công cụ kiểm tra lỗi bảo mật Acunetix 49

Hình 2.13: Giao diện công cụ IBM Rational AppScan 52

Hình 3.1 Màn hình chính khi Crawl 61

Hình 3.2 Giao diện chính của Acunetix 61

Hình 3.3 Nhập địa chỉ và tùy chọn quét 62

Hình 3.4 Tùy chọn Scanning Profile 62

Hình 3.5 Thông tin về Server 63

Hình 3.6 Chọn Login sequence 63

Hình 3.7 Kết thúc quá trình tùy chọn 64

Hình 3.8 Giao diện khi đang thực hiện quét 64

Trang 11

Hình 3.9 Kết quả đánh giá 65

Hình 3.10 Báo cáo tổng hợp 68

Hình 3.11 Chi tiết về file nguồn phát sinh lỗi 69

Hình 3.12 Khuyến cáo để thực hiện vá lỗi 69

Trang 12

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

Trang 13

- 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

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 Tỉnh 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

Trang 14

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

WEB 1.1 Một số khái niệm về an toàn thông tin và đánh giá rủi ro

1.1.1 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

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

Trang 15

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

Trang 16

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à trong đó 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

Giao thức HTTPS (HTTP over SSL/TLS): là sự kết hợp giữa giao thức

Trang 17

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 trì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 base Server

Trang 18

Nhược điểm: Khi một lớp bị tin tặc tấn công và chiếm quyền kiểm soát có thể dẫn đến các lớp khác cũng bị ảnh hưởng theo Hơn nữa, sẽ gặp nhiều khó khăn trong quá trình vận hành và triển khai các biệp pháp bảo vệ cho ứng dụng

b Mô hình hai lớp:

Khác với mô hình 1 lớp, trong mô hình 2 lớp các máy chủ web, ứng dụng web được thiết lập trên cùng một máy chủ, còn máy chủ cơ sở dữ liệu được thiết lập trên một máy chủ khác

Trong mô hình 3 lớp, các máy chủ web, ứng dụng web và máy chủ cơ sở

dữ liệu đều được thiết lập trên các host khác nhau (Hình 1.3)

Ưu điểm: Dễ dàng vận hành hệ thống và chủ động phòng, chống các nguy cơ tấn công từ tin tặc

Nhược điểm: Tốn kém nhiều tài nguyên và quá trình cài đặt

Trang 19

Ư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 Hoạt động của web

Thông qua trì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

Trang 20

và nhận kết quả trả 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 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 dụ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 trê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

Trang 21

Một số Web Server thông dụng hiện nay gồm:

Product Vendor Web Site Hosted Percent

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 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ự cố vô tình: sự kiện ảnh hưởng đến hệ thống do yếu tố con người như

Trang 22

- 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ự cố 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 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

Trang 23

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 Nếu 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í 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

10 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

Trang 24

hướng nạn nhân đến một trang đích được chuẩn bị sẵn của kẻ tấn công

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

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ư

Trang 25

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ương

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

Trang 26

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à lỗ hổng bảo mật

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

DB Server

MS SQL MYSQL

HOST Windows, Linux …

Netwwork Thiết bị mạng: Router, Switch, …

Thiết bị bảo vệ: Firewall, IPS/IDS, …

Lỗ hổng bảo mật

Không cập nhật bản vá lỗi, 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, mật khẩu yếu, mở port không cần thiết …

Không cập nhật bản vá lỗi, mở port không cần thiết …

Lỗ hổng bảo mật

Chiếm quyền điều khiển, SQL injection, XSS, Buffer Over flows

Chiếm quyền điều khiển, mã độc …

DoS, Nghe lén, …

Trang 27

Đố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]

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 trợ) 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:

Trang 28

- 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 Nếu 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 đó Để 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 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,

Trang 29

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

Trang 30

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

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 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 Nếu 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

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

Trang 31

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 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à IIS, 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

- Không tắt thông báo lỗi trê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

Trang 32

í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

-

-

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

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

Mã độc: virus, trojan …

Firewall Firewall

Truy nhập trái phép

Lỗ hổng APP Server

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

App Server

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

Mã độc: virus, trojan …

Trang 33

Mô hình thiết kế 3 lớp (Chương 1, mục 1.2.3) cho thấy máy chủ này được đặt ở giữa lớp một (máy chủ web) và lớp ba (máy chủ CSDL) Trong mô hình này, máy chủ ứng dụng không tiếp xúc trực tiếp với Internet nên có thể hạn chế được một số tấn công trực tiếp từ bên ngoài, nhưng vẫn phải đối mặt với các nguy

cơ khác từ bên trong hoặc từ các lỗ hổng trong phát triển ứng dụng Ví dụ các lỗi phát triển ứng dụng có thể dẫn đến nguy cơ tấn công SQL injection, CSRF, LFI, XSS v.v…

Ngoài ra máy chủ ứng dụng còn phải đối mặt với các nguy cơ nằm bên trong

hệ thống mạng như: truy cập trái phép, nghe lén trên mạng

2.2.4 Lỗ hổng máy chủ cơ sở dữ liệu [6]

Máy chủ cơ sở dữ liệu là máy chủ cài đặt phần mềm Hệ quản trị CSDL, điển hình như: SQL Server, MySQL, Oracle, Postgres … SQL Server được phát triển bởi Microsoft Đây là một phần mềm có chức năng chính là lưu trữ và lấy dữ liệu theo yêu cầu của ứng dụng Ngoài các lỗ hổng thuộc HĐH, máy chủ CSDL có thể

sẽ có thêm những lỗ hổng xuất phát từ Hệ quản trị CSDL (Hình 2.5)

Hình 2.5: Lỗ hổng trên máy chủ CSDL

Mở cổng mặc định: theo mặc định, SQL Server lắng nghe cổng TCP 1433,

UDP 1434 Các cổng này có thể được đóng bằng Firewall để ngăn chặn truy cập trực tiếp từ Internet (tấn công từ bên ngoài) Tuy nhiên điều này không ngăn chặn được các cuộc tấn công từ bên trong Do đó chúng ta cần triển khai thêm IPSec để hạn chế các truy cập đến máy chủ CSDL

Nghe lén Nghe lén Nghe lén

Firewall Firewall

Lỗ cấu hình Lỗ hổng HĐH Firewall Lỗ hổng từ HQT CSDL

Web Server Brows

Server

App Server SQL ịnjection

Truy cập trái

phép từ bên

ngoài

Trang 34

Các CSDL mẫu: CSDL mẫu được cài đặt mặc định trong MS SQL Server

gồm có Pubs và Northwind, không hữu ích cho ứng dụng web Do đó cần xóa bỏ chúng để hạn chế tối đa các thông tin mà kẻ tấn công có thể biết về hệ thống

Các dịch vụ mặc định khi cài đặt MS SQL: Khi cài đặt SQL Server có bốn

dịch vụ mặc định được cài theo là: MS SQLSERVER, SQL SERVERAGENT, MSSQLServerADHelper, Microsoft Search Trong đó, dịch vụ MS SQLSERVER

là cần thiết, các dịch vụ còn lại cung cấp các tính năng bổ sung, nếu thấy không có yêu cầu cụ thể đối với các dịch vụ này thì tốt hơn hết là xoá đi

Mật khẩu mặc định System Administrator (sa): mật khẩu này luôn được

kích hoạt trên hệ thống, nếu nó được đặt mật khẩu yếu sẽ là một lỗ hổng rất lớn

2.2.5 Lỗ hổng bảo mật trong kết nối [6]

Lỗ hổng bảo mật trong quá trình kết nối có thể chia thành hai loại: kết nối giữa hai thiết bị máy chủ, kết nối giữa máy chủ và máy trạm

Theo Hình 2.5, máy chủ ứng dụng kết nối với máy chủ Web và máy chủ Database Khi người dùng truy cập ứng dụng web, họ có thể gửi thông tin xác thực, thông tin tài khoản ngân hàng hoặc bất kỳ thông tin nào từ trình duyệt lên máy chủ Các thông tin (đặc biệt là thông tin nhạy cảm) giao dịch giữa các máy chủ được truyền dưới dạng bản tin rõ có thể sẽ bị nghe lén bởi kẻ xấu Các giao dịch giữa máy Client (browser) với máy chủ web cũng có nguy cơ bị nghe lén rất cao Kiểu tấn công này còn được gọi là Man-in-the-middle Để đảm bảo an toàn, kênh kết nối giữa các máy chủ, thông tin trên đường truyền cần được mã hoá (có thể sử dụng IPsec) Đối với kênh liên lạc giữa Client với máy chủ cần sử dụng giao thức HTTPS

2.2.6 Một số kỹ thuật khai thác lỗ hổng bảo mật điển hình của ứng dụng web

Như đã giới thiệu ở phần trên, có rất nhiều lỗ hổng thuộc về ứng dụng Web, tương ứng với nó là các kiểu tấn công khác nhau Phần này sẽ phân tích cụ thể một

số lỗ hổng nguy hiểm và phổ biến mà ứng dụng Web có thể mắc phải hiện nay Với mỗi lỗ hổng đó thường sẽ có kỹ thuật khai thác đi kèm Một trong số kỹ

Trang 35

thuật khai thác phổ biến có thể kể đến đó là: kỹ thuật SQL Injection, XSS, CSRF, File Inclusion Trong thực tế, tên gọi cho một kỹ thuật khai thác và tên gọi cho một

lỗ hổng bị khai thác bởi kỹ thuật đó có phần chung Ví dụ “kỹ thuật tấn công SQL injection” cũng có thể gọi là “lỗ hổng SQL injection” Để thuận tiện cho việc trình bày nội dung của phần này, chúng ta tạm thời chỉ sử dụng khái niệm về “kỹ thuật tấn công”, ví dụ: “kỹ thuật tấn công SQL Injection” Trong mỗi kỹ thuật khai thác được giới thiệu sau đây sẽ được chỉ ra lỗ hổng tương ứng là gì

a Kỹ thuật khai thác lỗ hổng SQL injection [6]

Kỹ thuật tiêm mã SQL (SQL Injection) là kỹ thuật mà kẻ tấn công lợi dụng các lỗ hổng trong việc kiểm tra dữ liệu đầu vào, các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để “tiêm vào” (inject) và thực thi các câu lệnh SQL bất hợp pháp

Kỹ thuật tiêm mã SQL là trường hợp riêng của kỹ thuật tiêm mã nói chung Tất cả các ứng dụng xây dựng mã lệnh thực thi của mình dựa trên các số liệu đầu vào đều có thể là nạn nhân của loại tấn công nguy hiểm này Hậu quả của nó có thể rất tai hại, vì kẻ tấn công có thể thực hiện các thao tác xem, xoá, hiệu chỉnh CSDL của ứng dụng Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản trị bằng các hệ quản trị CSDL như SQL Server, MySQL, Oracle, DB2, Sysbase

Có bốn dạng tấn công tiêm mã SQL thường thấy bao gồm: vượt qua đăng nhập (authorization bypass), sử dụng câu lệnh SELECT, sử dụng câu lệnh INSERT

và sử dụng stored-procedures (được mô tả chi tiết trong Phụ lục, mục 1)

Phòng chống SQL injection

Như vậy, có thể thấy kỹ thuật tấn công SQL injection khai thác những lỗ hổng trong lập trình và trong việc cấu hình hệ quản trị CSDL Để phòng tránh ta có thể thực hiện ở hai mức:

Kiểm soát chặt chẽ dữ liệu nhập vào:

- Sử dụng đối tượng ASP Request như: Request, Request.Query String, Request.Form, Request.Cookies, Request.ServerVariables

- Xây dựng hàm để loại bỏ một số ký tự và từ khoá nguy hiểm như:

Trang 36

select, insert, delete, drop, xp_ ; xây dựng hàm thay thế dấu nháy đơn bằng dấu nháy đôi:

slput=replace(slput, " ’ ", " " ")

- Trong ASP.NET có thể ngăn chặn bằng việc sử dụng phương pháp tham

số hoá câu truy vấn (Parameterized Queries)

Với hệ quản trị CSDL

- Mã hoá các dữ liệu nhạy cảm, như mật khẩu, thông tin tài chính

- Tắt thông báo lỗi, chỉ cho hiển thị thông báo chung nhằm tránh trường hợp kẻ tấn công “lần mò” ra thông tin về CSDL (xem Phụ lục) Mặc định trong ASP.NET chỉ thông báo chi tiết khi chạy trên Local host

- Xoá bỏ các thủ tục không cần thiết, như xp cmdshell, xp_startmail, xp sendmail, sp_makewebtask Đặc biệt là xp cmdshell nhằm tránh tấn công store-Procedures

- Cần cấu hình máy chủ như đã trình bày ở phần 2.2.4, kết hợp hệ thống phát hiện xâm nhập bằng IDS, ngăn chặn tấn công bằng việc cài đặt công cụ URLScan

b Kỹ thuật khai thác lỗ hổng Cross-Site Scripting [6]

Lỗ hổng XSS trên thực tế là lỗ hổng website phổ biển nhất Nó chiếm tới

65% trên tổng số lỗ hổng mà các website được khảo sát mắc phải theo thống kê của

WhiteHat

Cross-Site Scripting, gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS-Cascading Style Sheet của HTML) là một kỹ thuật tấn công bằng cách chèn vào các website động (APS, PHP, CGI, JSP ) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác Trong đó, những đoạn mã nguy hiểm được chèn vào hầu hết được viết bằng các Client-Site-Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ HTML Với kiểu khai thác này, kẻ tấn công có thể đánh cắp được các thông tin về tài khoản người dùng, cookies, SessionID, tài khoản ngân hàng … có thể lây lan virus, worm, bootnet hoặc tấn công thay đổi giao diện web

Trang 37

Các kỹ thuật tấn công XSS được chia làm ba loại là: Reflected, Stored và DOM based, trong đó Reflected XSS chiếm phần lớn

Phòng chống tấn công XSS

Lỗ hổng dẫn đến tấn công XSS là việc hệ thống chấp nhận cả những dữ liệu không tin cậy được gửi đến máy chủ từ phía người dùng Nạn nhân lại là chính những người dùng đó và hệ thống cần bảo vệ người dùng Có nhiều cách để giải quyết vấn đề này, nhưng cách hiệu quả nhất là lọc dữ liệu đầu vào và vô hiệu hoá tấn công bằng cách hệ thống không gửi hồi đáp script độc hại cho phía máy trạm

Các dữ liệu cần được lọc bao gồm: " # & ' ( ) / ; < > &#34 &#35 &#3 6 &#37

&#38 &#39 &#40 &#41 &#47 &#59 &#60 Nhà phát triển ứng dụng hoàn toàn có thể tự xây dựng hàm vô hiệu hoá tấn công XSS Tuy nhiên, chúng ta có thể sử dụng một trong hai thư viện có sẵn là:

1 ESAPI được cung cấp bởi OWASP, thư viện này có thể tích hợp với nhiều công nghệ như Java, NET, PHP, Classic ASP, Cold Fusion, Python và Haskell;

2 AntiXSS được cung cấp bởi Microsoft, thư viện này chỉ phù hợp với môi trường công nghệ của Microsoft

c Kỹ thuật khai thác lỗ hổng Cross Site Request Forgery (CSRF) [6]

Kỹ thuật tấn công này hướng đến mục tiêu người dùng của các trang thanh toán trực tuyến, ngân hàng trực tuyến, các trang có chức năng quản trị bằng cách sử dụng quyền chứng thực của người sử dụng đối với 1 website khác Điều kiện cần để tấn công thành công là người dùng phải đang ở trạng thái đăng nhập (login) Với một đường dẫn có kèm theo các câu lệnh thực thi được “thiết kế” sẵn, kẻ tấn công

sẽ gửi và lừa người dùng nhấp chuột vào Để lừa được người dùng, kẻ tấn công đặt đường dẫn độc hại đó trong thẻ image hoặc iframe và ẩn đi bằng cách hiệu chỉnh các thuộc tính của các thẻ này (Ví dụ cụ thể xem trong Phụ lục)

Các biện pháp phòng chống

- Người dùng cần thoát ngay khỏi hệ thống sau khi hoàn thành công việc

- Nhà phát triển ứng dụng cần yêu cầu người dùng xác thực lại mật khẩu trước khi cho phép thực hiện một tác vụ nào đó (kể cả đang ở trạng thái đăng nhập)

Trang 38

- Xây dựng một hàm function Random() để cấp phát giá trị Token ngẫu nhiên cho phía máy trạm Giá trị này khiến kẻ tấn công không thể biết giá trị ngẫu nhiên này là gì để “thiết kế” sẵn một đường dẫn

- Sử dụng CAPTCHA trước khi tiến hành công việc tiếp theo

- Đối với hệ thống lớn cần được đảm bảo an toàn ở mức cao như các công

ty tài chính, ngân hàng, chứng khoán có thể triển khai hệ thống xác thực kết hợp với OTP hoặc sử dụng chữ ký số

d Kỹ thuật khai thác lỗ hổng tràn bộ đệm [6]

Lỗi tràn bộ đệm (Buffer overflow) xảy ra khi một tiến trình lưu trữ dữ liệu vượt quá kích thước bộ nhớ đệm có chiều dài cố định Kết quả là dữ liệu đó sẽ đè lên các vị trí bộ nhớ liền kề Trong ví dụ bên dưới, biến buffer có kích thước là 10

ký tự, nhỏ hơn chuỗi được truyền vào (20 ký tự) nên bộ nhớ đệm sẽ bị tràn

Ví dụ, cài đặt backdoor, để sau đó thâm nhập và chiếm quyền điều khiển hệ thống qua cổng được mở sẵn Lỗi DCOM RPC (ms03_026_dcom) là một ví dụ cho kỹ thuật này trên HĐH Windows Các công cụ khai thác các lỗ hổng kiểu này thường rất sẵn và đa dạng, trong số đó có công cụ nổi tiếng Metasploit

Trang 39

Đây là một trong số các lỗ hổng đặc biệt nghiêm trọng thường xảy ra đối với các ứng dụng viết bằng ngôn ngữ lập trình PHP Lỗ hổng này cho phép kẻ tấn công tải mã độc lên máy chủ và chiếm quyền điều khiển hệ thống, xoá nội dung, thay đổi giao diện Mã độc thường được dùng để khai thác dạng này có tên là C99.php (Hình 2.6) Lỗ hổng này được chia ra làm hai loại là RFI và LFI

- RFI (Remote File Inclusion): cho phép kẻ tấn công gọi một tập tin độc hại

từ xa, thường là thông qua một kịch bản Script

- LFI (Local File Inclusion): Thay vì gọi một tập tin từ xa, kỹ thụật này cho phép chèn các tập tin độc hại nằm trên chính máy nội tại (như Hình 2.6)

Hình 2.6: Kỹ thuật tấn công File Inclusion

Trang 40

}

?>

2.3 Các phương pháp kiểm tra lỗ hổng bảo mật

Kiểm tra lỗ hổng bảo mật đối với ứng dụng web chính là việc làm thế nào để

có thể chỉ ra những lỗ hổng đang tồn tại trên hệ thống một cách đầy đủ và khoa học nhất Điều này quả là một công việc rất khó khăn Chính vì vậy, người ta đã tìm cách đưa ra các phương pháp kỹ thuật kiểm tra để nhằm đơn giản hoá công việc này, đồng thời đảm bảo đủ tin cậy rằng hệ thống sau khi được kiểm tra sẽ có được một báo cáo đầy đủ và chính xác nhất có thể Các phương pháp kiểm tra lỗ hổng bảo mật phổ biến hiện nay là: phương pháp kiểm tra hộp đen, hộp trắng và hộp xám Mỗi phương pháp kiểm tra trên đều có những ưu và nhược điểm riêng, chúng

ta sẽ tìm hiểu từng phương pháp

2.3.1 Phương pháp kiểm tra hộp đen

Định nghĩa: Phương pháp kiểm tra hộp đen (Black Box Testing) là

phương pháp test dựa trên đầu vào và đầu ra của chương trình để test mà không quan tâm tới code bên trong được viết ra sao Tester xem phần mềm như là hộp đen

Với phương pháp kiểm tra hộp đen các lỗ hổng bảo mật trên ứng dụng web thực hiện kiểm tra các ứng dụng từ bên ngoài, phía giao diện người dùng Tức là quan sát các dữ liệu được chuyển đến ứng dụng và các dữ liệu từ ứng dụng xuất ra

mà không biết mã nguồn hay hệ thống bên trong Quá trình chuyển dữ liệu từ bên ngoài đến ứng dụng có thể thực hiện bằng thủ công hoặc sử dụng công cụ tự động

Kiểm tra thủ công

Đây là quá trình kiểm tra mà người kiểm tra phải xác định vị trí dữ liệu cần được gửi đến ứng dụng bằng cách sử dụng một phần mềm (Intercepting Proxy) nằm giữa ứng dụng và trình duyệt, cho phép người kiểm tra thay đổi giá trị trước khi gửi đến ứng dụng Trong một số kỹ thuật kiểm tra đơn giản hơn, người kiểm

Ngày đăng: 20/06/2016, 14:21

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Hoàng Đăng Hải (2014), Tài liệu môn An ninh mạng, Học viện Công nghệ Bưu chính Viễn thông, Hà Nội Sách, tạp chí
Tiêu đề: Tài liệu môn An ninh mạng
Tác giả: Hoàng Đăng Hải
Năm: 2014
[2] Hồ Văn Hương (2014), “Nghiên cứu và lựa chọn công cụ đánh giá cổng thông tin điện tử”, An toàn thông tin số 2 (030), 39-43 Sách, tạp chí
Tiêu đề: “Nghiên cứu và lựa chọn công cụ đánh giá cổng thông tin điện tử”
Tác giả: Hồ Văn Hương
Năm: 2014
[3] Trịnh Nhật Tiến (2008), An toàn và an toàn thông tin, Nhà xuất bản quốc gia Sách, tạp chí
Tiêu đề: An toàn và an toàn thông tin
Tác giả: Trịnh Nhật Tiến
Nhà XB: Nhà xuất bản quốc gia
Năm: 2008
[9] Acunetix Web Vulnerability Scanner, https://www.acunetix.com Link
[10] Bkav webscan, http://webscan.bkav.com.vn Link
[11] IBM Rational AppScan, https://www.ibm.com Link
[4] Trung tâm ứng cứu khẩn cấp máy tính Việt Nam (2009), TCVN ISO/IEC 27001:2009, Bộ Thông tin và Truyền thông, Hà Nội Khác
[5] Nghị định Chính phủ số 72/2013/NĐ-CP về Quản lý, cung cấp, sử dụng dịch vụ internet và thông tin trên mạng.Tiếng Anh Khác
[6] HyunChul Johl, and Yashwant K. Malaiya - Defining and Assessing (2011), Quantitative Security Risk Measures Using Vulnerability Lifecycle and cvss Metrics Khác
[7] The Open Web Application Security Project (2013) OWASP_ Testing^ Guide _v4 Khác
[8] Wade Anastasia Jere (2012), IBM Rational Appscan, Equ Press. Trang web Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.5: Mô hình hoạt động của một ứng dụng web - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 1.5 Mô hình hoạt động của một ứng dụng web (Trang 20)
Hình 2.3: Các lỗ hổng và mối đe dọa đối với máy chủ web - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 2.3 Các lỗ hổng và mối đe dọa đối với máy chủ web (Trang 32)
Hình 2.4: Lỗ hổng và các mối nguy cơ đối với máy chủ - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 2.4 Lỗ hổng và các mối nguy cơ đối với máy chủ (Trang 32)
Hình 2.7: Thông tin về tính năng và giá của các công cụ quét tự động - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 2.7 Thông tin về tính năng và giá của các công cụ quét tự động (Trang 45)
Hình 2.8: Kết quả quét của công cụ MBSA - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 2.8 Kết quả quét của công cụ MBSA (Trang 46)
Hình 2.9: Công cụ Nessus - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 2.9 Công cụ Nessus (Trang 47)
Hình 2.10: Các thông tin WebScarab ghi lại được - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 2.10 Các thông tin WebScarab ghi lại được (Trang 48)
Hình 2.11: Chương trình kiểm tra lỗi bảo mật W3AF - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 2.11 Chương trình kiểm tra lỗi bảo mật W3AF (Trang 48)
Hình 2.13: Giao diện công cụ IBM Rational AppScan - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 2.13 Giao diện công cụ IBM Rational AppScan (Trang 54)
Bảng 3.1: Nội dung quy trình - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Bảng 3.1 Nội dung quy trình (Trang 60)
Hình 3.4. Tùy chọn Scanning Profile - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 3.4. Tùy chọn Scanning Profile (Trang 64)
Hình 3.5. Thông tin về Server - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 3.5. Thông tin về Server (Trang 65)
Hình 3.8. Giao diện khi đang thực hiện quét - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 3.8. Giao diện khi đang thực hiện quét (Trang 66)
Hình 3.10. Báo cáo tổng hợp - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Hình 3.10. Báo cáo tổng hợp (Trang 70)
Bảng 3.5. Kết quả theo kịch bản - Nghiên cứu giải pháp đánh giá rủi ro cho ứng dụng web
Bảng 3.5. Kết quả theo kịch bản (Trang 74)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w