ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG VĂN BIÊN
NGHIÊN CỨU GIẢI PHÁP ĐẢM BẢO AN NINH AN TOÀN
THÔNG TIN CHO CÁC CỔNG/TRANG THÔNG TIN ĐIỆN TỬ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI-2015
1
MỤC LỤC
LỜI CAM ĐOAN .....................................................................................................
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ...............................................
DANH MỤC CÁC HÌNH ẢNH ...............................................................................
MỞ ĐẦU ..................................................................................................................
Chương 1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN VÀ CỔNG THÔNG TIN ĐIỆN
TỬ ....................................................................................................................................1
1.1. Khái niệm chung về an toàn an ninh thông tin .....................................................1
1.2. Tình hình an toàn thông tin trên thế giới và Việt Nam.........................................2
1.3. Tổng quan về cổng thông tin điện tử ....................................................................5
1.4. Các lỗi bảo mật phổ biến của ứng dụng web và cách phòng chống .....................8
1.5. Tổng quan về đăng nhập một lần trên cổng thông tin điện tử ............................17
Chương 2. NGHIÊN CỨU CÁC BIỆN PHÁP CƠ BẢN ĐỂ ĐẢM BẢO AN NINH AN
TOÀN THÔNG TIN CHO CÁC CỔNG/TRANG THÔNG TIN ĐIỆN TỬ ...............24
2.1. Xác định cấu trúc ứng dụng web ........................................................................24
2.2. Triển khai hệ thống phòng thủ ............................................................................29
2.2.1. Tổ chức mô hình mạng ..............................................................................30
2.2.2. Thiết lập tường lửa .....................................................................................31
2.2.3. Sử dụng công cụ phát hiện và ngăn chặn xâm nhập (IDS/IPS) .................34
2.2.3.1. Công cụ phát hiện xâm nhập (IDS) .......................................................34
2.2.3.2. Công cụ ngăn chặn xâm nhập (IPS) ......................................................38
2.2.4. Ứng dụng phòng chống vi-rút và bảo vệ máy tính cá nhân .......................40
2.3. Thiết lập và cấu hình hệ thống máy chủ an toàn ................................................41
2.3.1. Thiết lập và cấu hình hệ điều hành máy chủ .............................................41
2.3.2. Thiết lập và cấu hình máy chủ ứng dụng web ...........................................42
2.3.3. Thiết lập và cấu hình máy chủ cơ sở dữ liệu .............................................43
2.4. Thiết lập cơ chế sao lưu phục hồi .......................................................................44
2.4.1. Thiết lập cơ chế sao lưu .............................................................................44
2.4.2. Thiết lập cơ chế phục hồi ...........................................................................45
2.5. Vận hành an toàn ................................................................................................45
2.5.1. Kiểm tra hoạt động ứng dụng web an toàn ................................................45
2.5.2. Một số biện pháp ứng phó với tấn công ....................................................46
2.5.3. Đào tạo đội ngũ nhân lực vận hành hệ thống ............................................46
Chương 3. TẤN CÔNG TỪ CHỐI DỊCH VỤ VÀ MỘT SỐ BIỆN PHÁP PHÒNG
CHỐNG .........................................................................................................................48
3.1. Tấn công từ chối dịch vụ (DoS) .........................................................................48
3.2. Tấn công từ chối dịch vụ phân tán (DDoS) ........................................................50
3.2.1. Các giai đoạn của một cuộc tấn công DDoS .............................................50
3.2.2. Kiến trúc tổng quan của mạng tấn công DDoS .........................................51
3.2.3. Phân loại tấn công DDoS ...........................................................................53
3.2.3.1. Tấn công làm cạn kiệt băng thông hệ thống ..........................................54
3.2.3.2. Tấn công làm cạn kiệt tài nguyên ..........................................................56
3.3. Tấn công từ chối dịch vụ phản xạ nhiều vùng (DRDoS) ...................................57
3.4. Một số biện pháp phòng chống tấn công từ chối dịch vụ ...................................58
Chương 4. TRIỂN KHAI THỬ NGHIỆM ....................................................................63
4.1. Mô hình thử nghiệm ...........................................................................................63
4.2. Cấu hình hệ thống ...............................................................................................64
4.2.1. Cấu hình Apache ........................................................................................67
4.2.2. Cấu hình MySQL .......................................................................................69
4.3. Cài đặt tường lửa ứng dụng web ModSecurity ..................................................69
4.4. Thiết lập hệ thống Snort để phát hiện và ngăn chặn xâm nhập ..........................72
4.5. Đánh giá và khuyến nghị ....................................................................................77
KẾT LUẬN...........................................................................................................78
TÀI LIỆU THAM KHẢO ........................................................................................
PHỤ LỤC 1: THÔNG TIN THAM KHẢO VỀ CÁC TƯỜNG LỬA .....................
PHỤ LỤC 2: TƯỜNG LỬA ỨNG DỤNG WEB ModSecurity ..............................
PHỤ LỤC 3: MỐT SỐ PHẦN MỀM CHỐNG VIRUS VÀ BẢO VỆ MÁY TÍNH
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HOÀNG VĂN BIÊN
NGHIÊN CỨU GIẢI PHÁP ĐẢM BẢO AN NINH AN TOÀN THÔNG
TIN CHO CÁC CỔNG/TRANG THÔNG TIN ĐIỆN TỬ
Ngành: Công nghệ thông tin
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số:
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. NGUYỄN VIẾT THẾ
HÀ NỘI-2015
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn không sao chép của ai, những kết quả nghiên cứu được
trình bày trong luận văn là hoàn toàn trung thực, không vi phạm bất cứ điều gì trong luật
sở hữu trí tuệ và pháp luật Việt Nam. Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp
luật.
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
ATTT: An toàn thông tin
CNTT & TT: Công nghệ thông tin và truyền thông
TT & TT: Thông tin và truyền thông
TTĐT: Thông tin điện tử
IDS: Hệ thống phát hiện xâm nhập
HIDS: Hệ thống phát hiện xâm nhập trên máy
NIDS: Hệ thống phát hiện xâm nhập trên mạng
IPS: Hệ thống ngăn chặn xâm nhập
HIPS: Hệ thống ngăn chặn xâm nhập trên máy
NIPS: Hệ thống ngăn chặn xâm nhập trên mạng
DoS: Tấn công từ chối dịch vụ
DDoS: Tấn công từ chối dịch vụ phân tán
DRDoS: Tấn công từ chối dịch vụ phản xạ nhiều vùng
VNISA: Hiệp hội an toàn thông tin Việt Nam
VNCERT: Trung tâm ứng cứu khẩn cấp máy tính Việt Nam
OWASP: Dự án mở về bảo mật ứng dụng web
SSO: Đăng nhập một lần
DANH MỤC CÁC HÌNH ẢNH
Hình 2.1: Một vài mô hình triển khai ứng dụng web
Hình 2.2: Mô hình 1 lớp
Hình 2.3: Mô hình 2 lớp
Hình 2.4: Mô hình 3 lớp
Hình 2.5: Mô hình N lớp
Hình 2.6: Một số vị trí có thể đặt tường lửa
Hình 2.7: Ví dụ vị trí đặt tường lửa ứng dụng web
Hình 2.8: Một số vị trí thường đặt cảm biến NIDS
Hình 3.1: Mô tả tấn công kiểu Smurf
Hình 3.2: Kiến trúc mạng tấn công kiểu Agent Handler
Hình 3.3: Kiến trúc mạng tấn công kiểu IRC
Hình 3.4: Phân loại tấn công từ chối dịch vụ phân tán
Hình 3.5: Tấn công khuếch đại giao tiếp
Hình 3.6: Tấn công TCP SYN
Hình 3.7: Giả mạo ip để tấn công TCP SYN
Hình 3.8: Tấn công DRDoS
Hình 4.1: Mô hình triển khai thử nghiệm
MỞ ĐẦU
1. Tính cấp thiết của đề tài
Trong những năm gần đây, Công nghệ thông tin và truyền thông (CNTT &TT) có
vai trò lớn đối với sự phát triển của mỗi quốc gia, mỗi doanh nghiệp. Ứng dụng CNTT
&TT cũng có tác động không nhỏ đến đời sống kinh tế, xã hội của đại bộ phận người
dân trên thế giới. CNTT&TT cũng góp phần quan trọng trong vấn đề an ninh và phát
triển bền vững của mỗi quốc gia. Do vậy, ứng dụng CNTT&TT trở thành một phần
không thể thiếu trong chiến lược phát triển của các doanh nghiệp và các quốc gia trên
thế giới.
Với tốc độ phát triển và ứng dụng của CNTT&TT ngày càng nhanh như hiện nay,
hàng ngày có một lượng thông tin lớn được lưu trữ, chuyển tải thông qua các cổng/trang
thông tin điện tử (TTĐT) cũng kéo theo nhiều rủi ro về sự mất an toàn thông tin. Thiệt
hại do mất an ninh an toàn trên các cổng/trang TTĐT đã tăng rất nhanh và sẽ ảnh hưởng
nghiêm trọng đến sự phát triển kinh tế - xã hội, nếu công tác đảm bảo an ninh an toàn
không được triển khai đúng mức. Bởi các kỹ thuật của tội phạm mạng ngày càng cao và
tinh vi hơn, số lượng điểm yếu an ninh ngày càng tăng, số vụ xâm phạm an toàn mạng
ngày càng nhiều.
Tấn công mạng vào các cổng/trang TTĐT ngày càng trở lên nghiêm trọng. Vì vậy,
việc nghiên cứu các giải pháp đảm bảo an ninh an toàn cho các cổng/trang TTĐT là rất
cần thiết. Để đảm bảo các cổng/trang TTĐT hoạt động ổn định, bảo đảm an ninh an toàn
thông tin là việc làm rất cần thiết. Giải quyết vấn đề an ninh an toàn của các cổng/trang
TTĐT là việc làm của cả xã hội và là vấn đề cấp bách.
2. Mục tiêu của đề tài
Nghiên cứu, tìm hiểu các giải pháp đảm bảo an ninh an toàn thông tin cho các
cổng/trang TTĐT. Kết quả có thể được sử dụng làm tài liệu tốt trong việc xây dựng hệ
thống đảm bảo an ninh an toàn cho các cổng/trang TTĐT cho các cơ quan, doanh nghiệp.
3. Phương pháp nghiên cứu
Về lý thuyết: Nghiên cứu những đặc điểm của cổng/trang TTĐT, các lỗ hổng và
các hình thức tấn công nhằm vào cổng/trang TTĐT. Sau đó tìm hiểu, nghiên cứu và áp
dụng các giải pháp để phòng chống tấn công các lỗ hổng, cũng như ngăn chặn các hình
thức tấn công trên cổng/trang TTĐT. Các giải pháp được nghiên cứu, tổng hợp từ nhiều
nguồn khác nhau tùy vào mỗi loại lỗ hổng và mỗi hình thức tấn công mà có những giải
pháp riêng. Từ đó, tổng hợp đưa ra những giải pháp tổng thể giúp đảm bảo an ninh an
toàn cho hệ thống cổng/trang TTĐT.
Về mặt thực nghiệm: Từ những giải pháp đã nghiên cứu, tôi lựa chọn mô hình và
triển khai thử nghiệm một số biện pháp cơ bản, quan trọng nhằm đánh giá một cách
khách quan các giải pháp. Đồng thời, đưa ra các khuyến nghị giúp đảm bảo an ninh an
toàn cho các cổng/trang TTĐT.
4. Nội dung nghiên cứu
Trong luận văn này tôi đi vào nghiên cứu những vấn đề sau:
- Tổng quan về an toàn thông tin, trong đó có các khái niệm cơ bản về an toàn
thông tin, tình hình an toàn thông tin một vài năm gần đây trên thế giới và Việt Nam.
- Tổng quan về cổng TTĐT các đặc điểm của cổng TTĐT. Các dạng lỗi phổ biến
trên ứng dụng web nói chung và cổng/trang TTĐT nói riêng, các kiểu tấn công và cách
phòng chống để đảm bảo an toàn cho cổng TTĐT.
- Cấu trúc triển khai ứng dụng web và đưa ra ưu, nhược điểm của từng mô hình.
Giúp xác định và lựa chọn được mô hình triển khai cổng/trang TTĐT một cách phù hợp.
- Cách tổ chức mô hình mạng hợp lý, đưa ra các mô hình có thể áp dụng vào triển
khai đảm bảo an ninh an toàn cho cổng/trang TTĐT.
- Sử dụng tường lửa để bảo vệ và sử dụng được tường lửa ứng dụng web
mod_security giúp ngăn chặn các loại tấn công phổ biến.
- Sử dụng hệ thống phát hiện và ngăn chặn xâm nhập. Nghiên cứu, triển khai được
hệ thống phát hiện và ngăn chặn xâm nhập snort giúp đảm bảo an toàn cho hệ thống.
- Thiết lập và cấu hình hệ thống máy chủ an toàn cũng như việc sao lưu và phục
hồi dữ liệu.
- Chính sách vận hành an toàn
- Phân tích loại hình tấn công từ chối dịch vụ và các dạng của loại hình tấn công
này. Tìm hiểu những biện pháp phòng chống dạng tấn công này.
- Triển khai một số biện pháp cơ bản đã nghiên cứu trên hệ thống thực, đồng thời
đưa ra những đánh giá và khuyến nghị trong việc thực hiện những giải pháp đảm bảo an
ninh an toàn cho các cổng/trang TTĐT.
Chương 1. TỔNG QUAN VỀ AN TOÀN THÔNG TIN VÀ CỔNG THÔNG TIN
ĐIỆN TỬ
1.1. Khái niệm chung về an toàn an ninh thông tin
Lĩnh vực an toàn thông tin (ATTT) ngày nay càng được các quốc gia trên toàn thế
giới quan tâm. Hiện nay, có nhiều quan niệm khác nhau về nội hàm của các khái niệm
về trạng thái đảm bảo an toàn thông tin cho hệ thống mạng, như “an toàn, an ninh thông
tin”, “an toàn, an ninh mạng”, “bảo mật mạng máy tính”, bảo mật server, bảo mật ứng
dụng web, v.v... Sau đây là một số khái niệm về thông tin và đảm bảo an toàn thông tin:
Thông tin: là sự phản ánh của tự nhiên và xã hội bằng ngôn từ, ký hiệu, hình ảnh
v.v… hay nói rộng hơn bằng tất cả các phương tiện tác động lên giác quan của con người.
Thông tin được tồn tại ở nhiều dạng: thông tin có thể được khắc trên đá, gỗ, được in hay
viết trên giấy, được lưu trong các thiết bị điện tử (thẻ nhớ, ổ cứng, ổ đĩa, băng từ, v.v…),
thông tin được luân chuyển và chia sẻ trên mạng dưới các dạng khác nhau (do gửi thư
điện tử, đăng trên các trang web, v.v…). Vì vậy việc bảo vệ thông tin khỏi các mối đe
dọa là hết sức cần thiết. Đảm bảo thông tin luôn được sử dụng một cách kịp thời và đáng
tin cậy, đảm bảo được các quyền riêng tư và bản quyền đối với thông tin.
Hệ thống thông tin: là tập hợp các thiết bị viễn thông, công nghệ thông tin bao
gồm phần cứng, phần mềm và cơ sở dữ liệu phục vụ cho hoạt động lưu trữ, xử lý, truyền
đưa, chia sẻ, trao đổi, cung cấp và sử dụng thông tin [6, tr.4].
An toàn thông tin: là sự bảo vệ thông tin và các hệ thống thông tin tránh bị truy
cập sử dụng, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép nhằm bảo đảm tính
nguyên vẹn, tính bảo mật và tính khả dụng của thông tin [6, tr.4].
An toàn thông tin 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. Việc bảo vệ thông tin, tài sản và
con người trong hệ thống thông tin nhằm bảo đảm cho các hệ thống thực hiện đúng chức
năng, phục vụ đúng đối tượng một cách sẵn sàng, chính xác và tin cậy. An toàn thông
tin bao hàm các nội dung bảo vệ và bảo mật thông tin, an toàn dữ liệu, an toàn máy tính
và an toàn mạng [8, tr.2].
An ninh thông tin: là việc bảo đảm thông tin trên mạng không gây phương hại
đến an ninh quốc gia, trật tự an toàn xã hội, bí mật nhà nước, quyền và lợi ích hợp pháp
của tổ chức, cá nhân [6, tr.4].
Một thông tin cần được bảo vệ đảm bảo an toàn an ninh thông tin luôn đi kèm ba yếu tố
sau: Tính toàn vẹn, tính khả dụng và tính bảo mật.
-
Tính toàn vẹn “Integrity”: là đảm bảo thông tin không bị sửa đổi, hủy bỏ khi không
được phép. Nếu thông tin bị thay đổi thì bên nhận phải phát hiện ra.
-
Tính khả dụng “Availability”: cho phép thông tin được sử dụng một cách kịp thời
và đáng tin cậy.
1
-
Tính bảo mật “Confidentiality”: là duy trì được các giới hạn (tính riêng tư và bản
quyền), đảm bảo những người không được phép xem, sẽ không xem được.
Đảm bảo an toàn an ninh thông tin là đảm bảo an ninh kỹ thuật cho hoạt động của
các cơ sở hạ tầng thông tin, trong đó bao gồm đảm bảo an ninh cho phần cứng và phần
mềm. Đảm bảo hệ thống luôn hoạt động ổn định, đáp ứng kịp thời các yêu cầu thông tin.
Ngăn ngừa được những xâm nhập trái phép vào hệ thống mạng và các cơ sở hạ tầng
thông tin để thực hiện những hành vi gây hại. Đảm bảo chỉ những người được phép tiếp
cận và khai thác thông tin đúng quyền hạn, trách nhiệm. Những người không được phép
sẽ không thể tiếp cận và khai thác thông tin. Đảm bảo được tính toàn vẹn, tính khả dụng
và tính bảo mật của thông tin.
1.2. Tình hình an toàn thông tin trên thế giới và Việt Nam
Với tốc độ phát triển và ứng dụng của Công nghệ thông tin và Truyền thông
(CNTT&TT) ngày càng nhanh như hiện nay, hàng ngày có một lượng thông tin lớn được
tạo ra, lưu trữ, chuyển tải và xử lý chủ yếu qua không gian mạng cũng kéo theo nhiều
rủi ro về sự mất an toàn thông tin. Đồng nghĩa với việc thiệt hại do mất an ninh an toàn
thông tin cũng sẽ tăng rất nhanh. Mất an toàn thông tin đã, đang ảnh hưởng nghiêm trọng
đến sự ổn định chính trị, phát triển kinh tế - xã hội của nhiều quốc gia và sẽ còn tiếp tục
gây ra nhiều ảnh hưởng trong tương lai. Nếu công tác đảm bảo an toàn an ninh không
được triển khai đúng mức thì thiệt hại của nó gây ra đối với mỗi quốc gia, mỗi doanh
nghiệp là không thể lường trước.
Các chuyên gia an ninh mạng đã đoán trước rằng trong kỷ nguyên Internet, vấn đề
khủng khiếp nhất sẽ là an toàn an ninh thông tin và chiến tranh thông tin sẽ trở thành
chiến tranh mạng, dự đoán này bây giờ đang trở thành hiện thực. Khi mà những năm
gần đây, các trang web trên Internet, cũng như các dữ liệu của các doanh nghiệp, tổ chức,
chính phủ, v.v đã bị nhiều đợt tấn công. Đã có nhiều trang web, nhiều hệ thống mạng bị
ngưng hoạt động trong nhiều giờ, nhiều dữ liệu quan trọng đã bị đánh cắp. Những vụ
tấn công đã gây ra thiệt hại nghiêm trọng và tác động tiêu cực, ảnh hưởng trực tiếp đến
đời sống nhiều cá nhân, công việc kinh doanh của các doanh nghiệp, ảnh hưởng đến nền
anh ninh quốc phòng của nhiều quốc gia.
Trên thế giới: Trong những năm gần đây lĩnh vực an toàn thông tin ngày càng
được các quốc gia trên toàn thế giới quan tâm. Hoạt động tấn công mạng ngày càng gia
tăng, các mục tiêu tấn công mạng ngày càng nhiều, đa dạng hơn và tinh vi hơn. Từ tấn
công vì mục đích chính trị, trục lợi về kinh tế, để thể hiện khả năng .v.v. thậm chí nhiều
cuộc tấn công tấn công mạng đã trở thành chiến tranh mạng giữa các quốc gia. Mức độ
phá hoại và thiệt hại do các cuộc tấn công mạng ngày càng lớn, không chỉ thiệt hại về
kinh tế mà nó còn ảnh hưởng đến cả chính trị và ngoại giao của các nước. Nhiều cường
quốc đang tham gia vào một cuộc “chạy đua vũ trang” trên mạng, dẫn đầu là Trung
Quốc, Mỹ và Nga, tăng cường khả năng tấn công qua mạng internet, trong khi nhiều vụ
tấn công mạng của các quốc gia có chiều hướng phát triển thành xung đột chính trị.
2
Năm 2012, một số cuộc tấn công nhắm vào các website ngân hàng trực tuyến của
Mỹ (như Bank of America, Citigroup, Wells Fargo, U.S. Bancorp.v.v), khiến cho các
website của các ngân hàng này ngừng trệ hoặc dừng hẳn. Các cuộc tấn công này tới từ
các trung tâm dữ liệu trên thế giới. Nhiều dịch vụ lưu trữ đám mây và dịch vụ cho thuê
chỗ đặt web khác nhau đã bị lây nhiễm bởi một dạng phần mềm độc hại đặc biệt phức
tạp, gọi là Itsoknoproblembro, đã được thiết kế để tránh bị các chương trình chống vi
rút dò tìm ra. Chúng có khả năng gây lây nhiễm cho các máy chủ tại các trung tâm dữ
liệu, các nhà cung cấp dịch vụ lưu trữ đám mây. Bằng việc gây lây nhiễm cho các trung
tâm dữ liệu thay vì các máy tính đơn lẻ, những kẻ tấn công đã giành lấy sức mạnh tính
toán để dựng lên các cuộc tấn công từ chối dịch vụ. Các máy chủ bị lây nhiễm với
Itsoknoproblembro được gọi là các bRobots.
Tháng 3 năm 2013, một cuộc tấn công mạng nhằm vào máy tính của một số cơ
quan truyền thông và ngân hàng Hàn Quốc đã khiến cho hệ thống của họ bị tê liệt. Hệ
thống của hai ngân hàng Hàn Quốc là Shinhan và Nonghyup, cùng với ba đài truyền
hình KBS, MBS và YTN đã gặp nhiều sự cố. Máy tính của các nhân viên ba hãng truyền
thông nói trên đã không thể khởi động lại được, trên màn hình chỉ có báo lỗi. Một số
dịch vụ của ngân hàng Shinhan, trong đó có dịch vụ thanh toán trên internet và rút tiền
tự động (ATM), Cũng bị ảnh hưởng. Trong vụ tấn công này tin tặc đã sử dụng một địa
chỉ IP ở Trung Quốc để liên lạc với máy chủ của các công ty trên và gài mã độc vào các
máy đó.
Tháng 7 năm 2013, vụ tấn công mạng nhằm vào Spamhaus, một tổ chức phi lợi
nhuận có trụ sở tại Geneva và London. Tổ chức Spanhaus là một tổ chức chịu trách
nhiệm duy trì danh sách đen các máy chủ gửi thư rác trên toàn cầu đã phải chịu cuộc tấn
công từ chối dịch vụ dưới hình thức DDoS với lưu lượng lớn. Có thời điểm, lưu lượng
đạt đỉnh khoản 300Gbps. Cuộc tấn công này đã làm hệ thống Internet trên toàn cầu bị
chậm đi, đây được cho là vụ tấn công Internet lớn nhất trong lịch sử. Cuộc điều tra, xác
minh của cơ quan chủ quản đã xác định hệ thống máy chủ DNS của Spamhaus đã hứng
chịu một lượng khổng lồ các đợt tấn công từ những mạng máy tính ma từ các tổ chức
tin tặc châu Âu. Trong khi đó, tại thời điểm này tổng lưu lượng Internet của Việt Nam
chỉ khoảng 361Gbps. Nếu như hệ thống máy tính của nước ta bị tấn công với lưu lượng
như máy chủ DNS của Spamhaus phải hứng chịu, thì mạng lưới Internet của nước ta sẽ
nhanh chóng bị cô lập với thế giới.
Năm 2014, hãng Sony Pictures đã hứng chịu các cuộc tấn công vào hệ thống rất
khốc liệt, khiến cho các nhân viên của hãng phải chuyển sang sử dụng bút và giấy.
Những kẻ tấn công đã lấy được hơn 100TB dữ liệu khác nhau, từ mật khẩu của nhân
viên và thông tin chi tiết thẻ tín dụng tới lịch sử y tế và các chi tiết về tiền lương điều
hành. Không chỉ vậy, các tin tặc đã tung ra 5 bộ phim mới nhất của Sony Picture tại thời
điểm đó là Annie, Fury, Still Alice, Mr. Turner và To write love on her arms. Bốn trong
số những bộ phim này chưa được công chiếu trên màn ảnh rộng. Sự việc này có thể đã
gây thiệt hại đối với Sony Picture khoảng 100 triệu đô la Mỹ, là ảnh hưởng đến mảng
3
tài chính của Sony Pictures. Ngoài ra, còn thiệt hại bởi nhiều nguy cơ khác như rò rỉ bí
quyết kinh doanh, bí mật công ty khó có thể ước lượng được.
Ở Việt Nam: Năm 2012, theo một khảo sát của hãng Microsoft cho thấy có khoảng
2.500 website của Việt Nam bị tấn công. Không chỉ các website của doanh nghiệp,
Chính phủ, mà cả những website của các công ty bảo mật hàng đầu của Việt Nam cũng
bị tấn công. Cứ 100 website có tên miền .gov.vn cho thấy có tới 78% số website này có
thể bị tấn công toàn diện đó là kết quả của một đánh giá ngẫu nhiên của Hiệp hội an toàn
thông tin Việt Nam (VNISA) trong tháng 5 năm 2012.
Cuối tháng 6 đầu tháng 7 năm 2013, vụ tấn công từ chối dịch vụ vào các báo điện
tử Tuổi trẻ, Dân trí, .v.v. đã khiến cho việc truy cập của độc giả vào các website của các
báo này rất chậm, thậm chí không thể truy cập được. Trong vụ tấn công này tin tặc đã
huy động nhiều máy chủ tại nhiều nước khác nhau để tấn công vào các trang báo mạng
Việt Nam. Tin tặc đã liên tục chuyển hướng từ Đức, Hà Lan đến Ukraina để thực hiện
các đợt tấn công vào các báo này. Điều này đã gây rất nhiều khó khăn trong việc xác
định chính xác nguồn gốc tấn công. Cuộc tấn công chỉ tạm dừng khi Trung tâm ứng cứu
khẩn cấp máy tính Việt Nam (VNCERT) nhờ sự giúp đỡ của cơ quan quản lý các nước
có các máy chủ thực hiện các cuộc tấn công này và các nước này đã chặn máy chủ điều
khiển tấn công giúp cho cuộc tấn công tạm dừng. Trong hai năm 2012 – 2013, từ ghi
nhận của VNCERT cho thấy: mạng botnet Zeus có 14.075 địa chỉ IP tại Việt Nam; mạng
botnet Sality, Downadup, Trafficconverter có 113.273 địa chỉ IP tại Việt Nam. Các
mạng botnet phục vụ tấn công DDoS đã hoạt động rất mạnh mẽ và càng trở nên nguy
hiểm khó kiểm soát.
Năm 2014, ước tính số tiền thiệt hại mà người dùng Việt Nam tổn thất do các sự
cố từ vi rút máy tính là 8.500 tỷ đồng. Mặc dù chỉ chiếm chưa đầy 0,1% tổng thiệt hại
445 tỷ USD trên thế giới do tội phạm mạng gây ra theo ước tính của Trung tâm Nghiên
cứu Chiến lược và Quốc tế (CSIS) Hoa Kỳ, thì đây vẫn là thiệt hại rất lớn đối với người
dùng Việt Nam. Còn theo báo cáo của Cục An toàn thông tin (Bộ TT & TT), Việt Nam
luôn nằm trong danh sách 5 nước có nguy cơ lây nhiễm phần mềm độc hại cao nhất thế
giới. Chỉ số nguy cơ lây nhiễm phần mềm độc hại của Việt Nam năm 2014 khá cao, vào
khoảng từ 50% đến 70%. Điều này đồng nghĩa với nguy cơ bị đánh cắp, lộ lọt thông tin,
phá hủy dữ liệu, nguy cơ bị điều khiển để tham gia các mạng botnet thực hiện tấn công
từ chối dịch vụ, gửi thư rác v.v. cũng tăng cao.
Năm 2014, VNCERT đã ghi nhận 19.789 sự cố về An toàn thông tin gồm các loại
sự cố tấn công lừa đảo, tấn công thay đổi giao diện và tấn công cài mã độc lên website
v.v. Trên 3,37 triệu lượt địa chỉ IP của Việt Nam nằm trong mạng botnet. Hơn 4.000
cuộc tấn công mạng xâm phạn An toàn thông tin đối với các hệ thống có tên miền .vn,
trong số đó có hơn 200 cuộc tấn công vào các hệ thống có tên miền .gov.vn. Theo báo
cáo của Sở Truyền thông – Thông tin TP.HCM, năm 2014, thành phố đã xảy ra hơn
870.000 vụ dò quyét và hơn 275.000 vụ tấn công vào hệ thống mạng, hơn 2,5 triệu hành
vi tấn công ở mức độ cao nhằm vào cổng thông tin của thành phố, hơn 650.000 mã độc
đã được phát hiện. Nổi bật trong các vụ tấn công mạng của năm là vào tháng 10, xảy ra
4
vụ tấn công vào trung tâm dữ liệu của Công ty cổ phần truyền thông Việt Nam (VCCorp)
khiến toàn bộ sản phẩm của VCCorp và các cổng/trang TTĐT như: Dân Trí, Người Lao
Động, Gia Đình & Xã Hội, VnEconomy v.v. không thể truy cập trong nhiều ngày. Hệ
thống của VCCorp đã bị cài một loại mã độc, mã độc này lây truyền và tác động đến
nhiều thuộc tính của hệ thống dữ liệu của VCCorp. Sau khi được cài vào hệ thống nó
hoạt động giống như một trung tâm chỉ huy có thể nhận diện, sao chép các dữ liệu và
phá hủy dữ liệu trên hệ thống máy tính. Cuộc tấn công này đã gây thiệt hại hàng chục
tỷ đồng cho công ty VCCorp và các khách hàng.
Tấn công mạng nói chung và tấn công vào các cổng/trang TTĐT nói riêng ngày
càng trở lên nghiêm trọng. Vì vậy trong luận văn này tôi tập trung vào việc nghiên cứu
các giải pháp đảm bảo an ninh an toàn cho các cổng/trang TTĐT. Để đảm bảo các
cổng/trang TTĐT hoạt động ổn định, bảo đảm an ninh an toàn thông tin là việc làm rất
cần thiết. Giải quyết vấn đề an ninh an toàn của các cổng/trang TTĐT là việc làm của
cả xã hội và là vấn đề cấp bách.
1.3. Tổng quan về cổng thông tin điện tử
Cổng TTĐT là gì?
Có nhiều khái niệm/định nghĩa về cổng thông tin điện tử khác nhau, và cho đến
nay chưa có khái niệm/định nghĩa nào được coi là chuẩn xác. Trong luận văn này tôi xin
sử dụng khái niệm sau cho cổng thông tin điện tử. “Cổng thông tin điện tử là điểm truy
cập tập trung và duy nhất, tích hợp các kênh thông tin, các dịch vụ và ứng dụng, phân
phối tới người sử dụng thông qua một phương thức thống nhất đơn giản trên nền tảng
web”.Về bản chất có thể coi cổng TTĐT là tổ hợp của nhiều ứng dụng web khác nhau.
Đặc điểm của cổng TTĐT:
Khi nói đến một cổng TTĐT thì phải xem xét các đặc điểm, tính năng của nó để
xem đó có thực sự là một cổng TTĐT hay không. Các tính năng cơ bản bắt buộc phải
có của một cổng TTĐT để phân biệt với ứng dùng web hay hệ quản trị nội dung bao
gồm:
Khả năng cá nhân hoá (Personalization): cho phép thiết đặt các thông tin khác nhau
cho các loại đối tượng sử dụng khác nhau theo yêu cầu. Tính năng này dựa trên hoạt
động thu thập thông tin về người dùng và cộng đồng người dùng, từ đó cung cấp các
thông tin chính xác tại thời điểm được yêu cầu.
Để đánh giá tính năng này, phải kiểm tra cách thức hệ thống cung cấp thông tin
cho nhiều người dùng khác nhau hoặc nhiều cấp độ người dùng khác nhau. Tại đây có
thể có nhiều kết quả khác nhau, như:
Nếu với hai người dùng khác nhau hoặc với hai cấp độ quyền sử dụng khác nhau
mà thông tin hiển thị vẫn giống nhau, thì có thể kết luận rằng hệ thống này không cho
phép cá nhân hóa thông tin, và có thể đi đến kết luận cuối cùng là đó không phải là hệ
thống cổng TTĐT.
5
Nếu với hai cấp độ quyền khác nhau, thông tin được sử dụng có sự khác nhau thì
có thể đi đến kết luận hệ thống này cho phép cá nhân hóa thông tin theo thẩm quyền sử
dụng.
Tích hợp nhiều loại thông tin (Content aggregation): cho phép xây dựng nội dung
thông tin từ nhiều nguồn khác nhau cho nhiều đối tượng sử dụng. Sự khác biệt giữa các
nội dung thông tin sẽ được xác định qua các ngữ cảnh hoạt động của người dùng, ví dụ
như đối với từng đối tượng sử dụng sau khi thông qua quá trình xác thực thì sẽ được
cung cấp các thông tin khác nhau, hoặc nội dung thông tin sẽ được cung cấp khác nhau
trong quá trình cá nhân hoá thông tin.
Đây là một đặc tính quan trọng bậc nhất của cổng TTĐT, đặc tính này thể hiện
cổng TTĐT có thể mở rộng được hay không. Đặc tính này thể hiện qua thuật ngữ “ghép
là chạy”, có nghĩa là khi cần mở rộng thêm thành phần dịch vụ mới, thì chỉ cần điều
chỉnh và tích hợp lại thông tin của thành phần dịch vụ đó một cách đơn giản, nhanh
chóng và tức thì đối với hệ thống mà không phải biên dịch lại hoặc viết lại mã chương
trình.
Để kiểm tra tính năng này, cần xem cách thức hệ thống tích hợp thông tin từ nhiều
thành phần dịch vụ khác nhau của hệ thống. Ví dụ khi cần tích hợp thành phần diễn đàn
thảo luận vào hệ thống. Tại đây có thể có nhiều kết quả khác nhau, như:
Nếu khi bổ sung ứng dụng, dịch vụ vào cổng TTĐT mà phải sửa mã nguồn, thêm
các truy cập cơ sở dữ liệu mới, thêm hệ thống phân quyền mới, .v.v… thì hệ thống đó
không gọi là có tính mở, vậy kết luận hệ thống không có khả năng tích hợp ứng dụng
theo kiểu “ghép là chạy”, và có thể kết luận hệ thống đó không phải là giải pháp cổng
TTĐT.
Nếu hệ thống cho phép “ghép” các ứng dụng lại với nhau, nhưng không thể thay
đổi nguồn hoặc kênh thông tin của ứng dụng thì đó là hệ thống giả cổng TTĐT.
Nếu hệ thống có thể tích hợp thêm ứng dụng dịch vụ, loại bỏ ứng dụng dịch vụ cũ
thì hệ thống đó có tính năng mở, có thể tích hợp được ứng dụng và có thể là giải pháp
cổng TTĐT.
Xuất bản thông tin theo tiêu chuẩn (Content syndication): thu thập thông tin từ nhiều
nguồn khác nhau, cung cấp cho người dùng thông qua các phương pháp hoặc giao thức
một cách thích hợp. Xuất bản thông tin cho người dùng cuối qua các tiêu chuẩn đã được
công bố và thừa nhận trên toàn thế giới. Với các dữ liệu được xuất bản theo tiêu chuẩn
này, người dùng cuối có thể khai thác, sử dụng mà không cần thông qua giao diện tương
tác của hệ thống mà sử dụng một số phần mềm của hãng thứ ba.
Hiện nay có nhiều tiêu chuẩn xuất bản thông tin, nhưng tất cả các chuẩn xuất bản
thông tin được ủng hộ và sử dụng nhiều nhất trên thế giới đều lấy cơ sở ngôn ngữ đánh
dấu mở rộng XML làm nền tảng, như: RDF, RSS, NITF và ATOM. Các tiêu chuẩn dựa
trên XML này cho phép đưa ra giải pháp nhanh nhất để khai thác và sử dụng thông tin
6
trên các trang web khác nhau thông qua quá trình thu thập và bóc tách thông tin với các
định dạng đã được quy định.
Có thể kiểm tra tính năng này bằng cách thử xuất bản thông tin từ một hoặc nhiều
thành phần dịch vụ khác nhau trong hệ thống thành các tài liệu theo tiêu chuẩn RSS. Tại
đây có thể có nhiều kết quả khác nhau, như:
Nếu hệ thông có thể xuất bản tài liệu ra chuẩn RSS, nhưng cần phải sửa mã chương
trình thì hệ thống này có khả năng xuất bản thông tin theo chuẩn nhưng không phải là
cổng TTĐT.
Nếu hệ thống cho phép xuất bản thành RSS, chứa đầy đủ nội dung thông tin thì hệ
thống có khả năng đầy đủ để xuất thông tin theo chuẩn công nghiệp.
Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support): cho phép hiển thị
cùng một nội dung thông tin trên nhiều loại thiết bị khác nhau như: màn hình máy tính,
thiết bị di động, sử dụng để in hay cho bản fax, v.v. một cách tự động bằng cách xác
định thiết bị hiển thị thông qua các thuộc tính khác nhau.
Tính năng này chỉ là phụ nhưng khá quan trọng với xu thế hiện tại, bởi hiện nay
người sử dụng có thể dùng nhiều loại thiết bị khác nhau để truy cập hệ thống như: máy
tính để bản, máy tính bảng, điện thoại thông minh, v.v. Muốn kiểm tra tính năng này, có
thể truy cập vào cổng TTĐT bằng nhiều thiết bị khác nhau và xem cách thức hiển thị
trên các thiết bị. Nếu hệ thống hiển thị tốt, tương thích với các loại thiết bị khác nhau thì
hệ thống đó hỗ trợ nhiều môi trường hiển thị thông tin.
Khả năng xác thực một lần (Single Sign On - SSO): cho phép dịch vụ xuất bản thông
tin hoặc các dịch vụ khác của cổng TTĐT lấy thông tin về người dùng khi hoạt động mà
không cần yêu cầu người dùng phải đăng nhập lại mỗi khi có yêu cầu. Đây là một tính
năng rất quan trọng vì các ứng dụng và dịch vụ trong cổng TTĐT sẽ phát triển một cách
nhanh chóng khi xuất hiện nhu cầu, trong đó có các ứng dụng và dịch vụ sẽ có các yêu
cầu về xác thực hoặc truy xuất thông tin người dùng.
Khi hệ thống cung cấp tính năng này, người sử dụng chỉ cần đăng nhập một lần
khi vào hệ thống, mỗi khi vào các thành phần khác trong hệ thống (có yêu cầu xác thực)
thì không cần phải đăng nhập lại, và khi đó các thành phần của hệ thống tự nhận biết
được đó là người sử dụng nào, thẩm quyền đến đâu.
Có thể kiểm tra tính năng này bằng cách đăng nhập hệ thống, sau đó sử dụng ít
nhất ba thành phần nghiệp vụ (ví dụ: quản trị nội dung, diễn đàn, chia sẻ tài liệu). Khi
đó có thể có nhiều kết quả khác nhau, như:
Nếu mỗi khi dịch chuyển sang các thành phần nghiệp vụ mới, người dùng phải
đăng nhập lại thì hệ thống không hỗ trợ khả năng đăng nhập một lần và đây không phải
là giải pháp cổng TTĐT.
Nếu khi dịch chuyển giữa các thành phần nghiệp vụ vẫn xác định được người dùng,
bạn hãy đăng xuất và quay về sử dụng một thành phần nghiệp vụ khác, nếu thấy hệ
7
thống vẫn nhận ra người dùng thì có thể đó là hệ thống giả lập tính năng đăng nhập một
lần, và đó không phải là giải pháp cổng TTĐT.
Nếu đăng nhập và đăng xuất đều tốt, thì hệ thống đó có hỗ trợ đăng nhập một lần
hay xác thực một lần. Sau đó thử điều hướng sử dụng sang một tên miền khác đang dùng
chính hệ thống này, nếu vẫn giữ được thông tin đăng nhập thì hệ thống đó đã hỗ trợ đăng
nhập một lần tốt.
Đồng thời, hãy thử kết nối với hệ thống quản trị người dùng chuyên nghiệp với
tiêu chuẩn LDAP để xác thực người dùng. Nếu thực hiện được thì khả năng đăng nhập
một lần rất tốt, ngược lại không thể thực hiện thì khả năng đăng nhập một lần chưa toàn
vẹn.
Quản trị cổng TTĐT (Portal administration): tính năng này xác định cách thức hiển
thị thông tin cho người dùng cuối với nhiều cách thức và nguồn khác nhau. Với tính
năng này, người quản trị phải định nghĩa được các thành phần thông tin, các kênh tương
tác với người sử dụng cuối, định nghĩa nhóm người dùng cùng với các quyền truy cập
và sử dụng thông tin khác nhau.
Chúng ta có thể điều chỉnh các màn hình hiển thị thông tin, tạo lập các nguồn thông
tin khác nhau với quyền sử dụng thông tin để kiểm tra. Có thể có nhiều kết quả khác
nhau, như:
Nếu phải sửa mã nguồn của hệ thống mới điều chỉnh hoặc bổ sung được các nguồn
thông tin hay màn hình hiển thị thì hệ thống đó không phải là giải pháp cổng TTĐT.
Nếu hệ thống cho phép điều chỉnh được, chúng ta có thể thay đổi vị trí hiển thị của
các khối thông tin, thay đổi các nội dung sẽ hiển thị trong một vài khối thông tin, nếu
khi đó phải sửa mã nguồn chương trình thì hệ thống này không có khả năng và đó không
phải là giải pháp cổng TTĐT. Nếu được thì hệ thống đó có khả năng cho phép quản trị
thay đổi thông tin, nguồn thông tin, v.v. khi cần.
Quản trị người dùng (Portal user management): tính năng này cung cấp các khả năng
quản trị người dùng cuối, tuỳ thuộc vào đối tượng sử dụng của hệ thống. Tại đây, người
dùng có thể đăng ký trở thành thành viên hoặc được người quản trị tạo lập và gán quyền
sử dụng tương ứng. Đồng thời, hệ thống phải hỗ trợ và tích hợp công việc quản trị và
xác thực người dùng bằng tiêu chuẩn công nghiệp LDAP. Mặt khác, phân quyền sử dụng
phải mềm dẻo và có thể thay đổi được khi cần.
Tóm lại, nếu hệ thống chỉ thỏa mãn từ năm tính năng nêu trên trở xuống thì đó là
ứng dụng web hoặc phần mềm quản trị nội dung chứ không phải là giải pháp cổng TTĐT.
Nếu thỏa mãn sáu tính năng ngoại trừ tính năng “hỗ trợ nhiều môi trường hiển thị
thông tin” thì đó thực sự là giải pháp cổng TTĐT nhưng sử dụng tối ưu trên máy tính.
Nếu thỏa mãn tất cả bẩy tính năng trên, thì đó thực sự là giải pháp cổng TTĐT và
có khả năng hoạt động trên nhiều môi trường thiết bị khác nhau.
1.4. Các lỗi bảo mật phổ biến của ứng dụng web và cách phòng chống
8
Đối với các doanh nghiệp, các cơ quan, tổ chức cổng/trang TTĐT là kênh cung
cấp thông tin hiệu quả và nhanh chóng nhất. Không chỉ dừng lại ở việc cung cấp thông
tin, các cổng/trang TTĐT còn là kênh quảng bá, giao dịch thương mại và mua bán rất
phổ biến hiện nay. Cũng chính đặc điểm này, các cổng/trang TTĐT thường xuyên là
mục tiêu tấn công của những kẻ xấu hay tin tặc để khai thác đánh cắp các thông tin liên
quan bên trong. Phương thức tấn công phổ biến là khai thác các lỗi bảo mật trên các
cổng/trang TTĐT nói riêng và các ứng dụng web nói chung. Tin tặc có thể sử dụng nhiều
biện pháp khác nhau để dò tìm và khai thác các lỗi bảo mật của ứng dụng web để thực
hiện các cuộc tấn công.
Trong cổng/trang TTĐT thường có các thành phần cho người dùng nhập dữ liệu
vào như mục đăng nhập, tìm kiếm, bình luận, liên kết đến bài viết, v.v. Ngoài việc giúp
cho người dùng dễ dàng tương tác với cổng/trang TTĐT, các mục này nếu không được
kiểm soát chặt chẽ sẽ trở thành một nguy cơ lớn để tin tặc thực hiện các cuộc tấn công.
Bởi vậy, trước khi đưa cổng/trang TTĐT vào hoạt động chính thức cần sử dụng các công
cụ phần mềm để tìm và kiểm tra tất cả các lỗ hổng có thể bị kẻ xấu khai thác. Từ đó tìm
cách khắc phục những lỗ hổng trên cổng/trang TTĐT của mình để đảm bảo an ninh an
toàn. Nhiều công cụ có thể tìm và phát hiện các loại lỗ hổng bảo mật từ những lỗi phổ
biến, đến những lỗi ít gặp. Có những công cụ không chỉ giúp dà soát lỗ hổng của mã
nguồn cổng/trang TTĐT, mà còn tìm và phát hiện lỗ hổng bảo mật trong việc thiết lập
cấu hình máy chủ.
Ngoài ra có thể sử dụng biểu thức chính quy áp dụng cho tất cả các ngôn ngữ lập
trình để thực hiện các công việc này. Chẳng hạn như sử dụng biểu thức chính quy để lọc
siêu ký tự, để quy định giá trị mật khẩu nhập vào (ví dụ mật khẩu phải 8 ký tự trở nên
và bao gồm chữ số, chữ hoa, chữ thường, ký tự đặc biệt, v.v.). Cũng có thể dùng biểu
thức chính quy để lọc các tấn công.
Sau khi đã xác định được các lỗi trên cổng/trang TTĐT của mình, cũng cần phân
loại để đưa ra những giải pháp phòng chống thích hợp. Việc phân loại các lỗi và các
kiểu tấn công thành các nhóm khác nhau sẽ giúp người quản trị dễ dàng xác định các
nguy cơ cũng như biện pháp đối phó. Sau đây tôi xin trình bày một số lỗi phổ biến trên
các cổng/trang TTĐT nói riêng và ứng dụng web nói chung, có thể bị khai thác để tấn
công và cách phòng chống tấn công các lỗi này.
Các lỗi Injection
Các lỗi Injection cho phép tin tặc thực hiện các kiểu tấn công như SQL Injection,
OS Injection, LDAP Injection. Kiểu tấn công này xảy ra khi tin tặc gửi các dữ liệu gây
hại đến ứng dụng web. Những dữ liệu này có tác dụng như các câu lệnh với hệ điều hành
hoặc các câu truy vấn với cơ sở dữ liệu, có thể lừa hệ thống biên dịch đi vào thực hiện
những mã lệnh độc hại hoặc giúp kẻ tấn công truy cập đến những dữ liệu quan trọng
một cách trái phép. Một trong những dạng phổ biến nhất của lỗi injection là lỗi
“SQLInjection”. Lỗi này được thực thi bằng cách chèn các câu truy vấn SQL vào dữ
liệu tương tác giữa máy khách và trình ứng dụng. Đây là lỗ hổng trong việc kiểm tra dữ
9
liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ quản trị quản trị cơ sở dữ
liệu. Tin tặc có thể lợi dụng lỗ hổng này để chèn vào và thi hành những câu lệnh SQL
để khai thác lỗi. Qúa trình khai thác lỗi SQL Injection thành công có thể giúp tin tặc lấy
được các dữ liệu nhạy cảm trong cơ sở dữ liệu, thay đổi cơ sở dữ liệu (thêm, xóa, sửa),
thực thi các hành động với quyền của người quản trị và cao hơn có thể điều khiển được
hệ điều hành máy chủ. Để khai thác lỗ hổng này kẻ tấn công có thể sử dụng một số kỹ
thuật sau: Sử dụng ký tự đặc biệt, dựa vào câu lệnh SQL (select, having, union, insert),
tránh sự kiểm soát v.v.
Ví dụ xét đoạn mã truy vấn SQL sau:
SELECT
*
FROM
users
Password=’$password’.
WHERE
Username=’$username’
AND
Đây là câu lệnh truy vấn thường được dùng trong các ứng dụng nhằm xác thực
người dùng. Nếu câu truy vấn trả về một giá trị nói rằng thông tin về người dùng đang
đăng nhập là đúng và được lưu trong cơ sở dữ liệu, thì người dùng được phép đăng nhập
vào hệ thống, ngược lại thì không đăng nhập được. Khi người dùng truy cập vào giao
diện đăng nhập trên một ứng dụng web. Thay vì nhập đúng tên đăng nhập và mật khẩu,
thử nhập vào các ký tự đặc biệt (tên đăng nhập: 1’or’1’=’1 và mật khẩu: 1’or’1’=’1) khi
đó câu lệnh truy vấn sẽ là:
SELECT
*
FROM
users
Password=’1’or’1’=’1’
WHERE
Username=’1’or’1’=’1’
AND
Giả sử rằng giá trị của các tham số được gửi tới máy chủ bằng phương thức GET,
thì có một câu lệnh khai thác lỗi như sau:
/>%20or%20’1’%20=%20’1
Khi đó truy vấn sẽ trả về một giá trị (hay một loạt giá trị) vì điều kiện trên luôn
luôn đúng (or 1=1). Trong trường hợp này tin tặc sẽ đăng nhập được vào hệ thống mà
không cần biết tên đăng nhập và mật khẩu. Sẽ rất nguy hiểm nếu dòng đầu tiên trong
bảng “Users” là tài khoản của người quản trị (administrator) vì tin tặc sẽ đăng nhập vào
hệ thống bằng tài khoản đầu tiên trong bảng này.
Cách phòng chống tấn công Injection: nên mã hóa các kí tự trên địa chỉ URL
trước khi được sử dụng, không hiển thị những thông điệp lỗi cho người dùng bằng cách
thay thế những lỗi thông báo bằng một trang nội dung do người dùng phát triển thiết kế
mỗi khi lỗi xảy ra trên ứng dụng, kiểm tra kỹ những dữ liệu người dùng nhập vào để
chắc chắn rằng đó là những dữ liệu hợp lệ, loại bỏ những dữ liệu bất hợp lệ, chỉ chấp
nhận những dữ liệu hợp lệ để thực hiện câu truy vấn SQL.
- Giới hạn quyền truy cập cơ sở dữ liệu và phân quyền giữa các tài khoản người
dùng, điều này giúp giảm khả năng khai thác cơ sở dữ liệu của tin tặc ngay cả khi đã
thực hiện thành công lệnh Injection.
10
- Sử dụng thủ tục lưu trữ để đảm bảo các câu lệnh SQL từ ứng dụng được lưu trữ
và triển khai ở máy chủ cơ sở dữ liệu, điều này giúp cho dữ liệu do người dùng nhập
vào không thể được tùy chỉnh dưới dạng một câu lệnh SQL. Để làm được điều này, ứng
dụng phải được định dạng để sử dụng những thủ tục lưu trữ với giao diện an toàn (ví dụ
câu lệnh Callable của JDBC hay lệnh Object của ADO).
-
Sử dụng biểu thức chính quy để phát hiện tấn công SQL Injection:
Đối với siêu ký tự:
(((\%3D) | (=) | ((|%3C) | (\<)) | ((\%3D) | (\>))) [^\\n]*((\%27) | (\’) | (\-\-) | (\%3B)
| (;))
Đối với tấn công sử dụng từ khóa UNION:((\%27) | (\’)) (\W)*union
Đối với với tấn công vào máy chủ Microsoft SQL: exec(\s|\+) + (s|x)p\w+
Sử dụng biểu thức chính quy để lọc tấn công LDAP Injection: (\) | \ (|\ || &)
- Sử dụng tường lửa ứng dụng web ModSecurity để lọc một số dữ liệu tấn công
SQL Injection.
Các lỗi Cross-Site-Scripting (XSS)
Các lỗi Cross-Site-Scripting (XSS) xảy ra khi một ứng dụng web bị lợi dụng để
gửi những dữ liệu độc hại đến trình duyệt của người sử dụng. Những lỗ hổng này rất
phổ biến và xảy ra trong bất cứ phần nào của ứng dụng web có sử dụng dữ liệu từ người
dùng mà không kiểm tra tính hợp lệ. Tin tặc tấn công bằng cách chèn vào các ứng dụng
web động những thẻ HTML hay những mã Script nguy hiểm có thể gây hại cho những
người sử dụng. 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. Khi một người sử dụng kích vào các liên kết, các tập tin flash trên các ứng
dụng web hay được gửi bởi tin tặc thì những đoạn mã độc sẽ được thực thi trên chính
trình duyệt của người dùng. Hậu quả của tấn công dạng XSS có thể rất nguy hiểm, người
dùng có thể bị chiếm quyền điều khiển phiên làm việc của mình, bị lộ các thông tin
(cookie, tên đăng nhập, mật khẩu,v.v.), lộ các tập tin của cá nhân. Tin tặc có thể thực thi
những hành vi gây hại khác như, mạo danh người dùng, cài đặt các mã độc trên máy
người dùng, thay đổi nội dung trên các trang web hoặc chuyển hướng người dùng đến
các trang web chứa mã độc hại khác, v.v. Ví dụ: sử dụng XSS chèn mã java script trực
tiếp trên URL.
was found !’);</script>
Khi website bị lỗi XSS trình duyệt sẽ hiện lên một thông báo
“XSS was found !”.
Cách phòng chống tấn công XSS: là chỉ cho phép những dữ liệu hợp lệ, từ chối
nhận các dữ liệu sai, thường xuyên kiểm tra và lọc dữ liệu đầu vào.
- Lọc tất cả các dữ liệu chưa tin tưởng một cách phù hợp dựa trên nội dung HTML.
- Tạo một danh sách trắng để kiểm tra dữ liệu đầu vào một cách phù hợp.
11
- Sử dụng biểu thức chính quy trong việc kiểm tra dữ liệu đầu vào để phát hiện tấn
công XSS. Ví dụ: ((\%3c) | <) [^\n]+((\%3e) |>).
- Sử dụng tường lửa ứng dụng web ModSecurity để lọc một số dữ liệu tấn công
XSS.
Các lỗi quản lý xác thực và quản lý phiên làm việc
Các lỗi liên quan đến quá trình quản lý xác thực và quản lý phiên làm việc: bao
gồm tất cả các yếu tố quản lý xác thực người dùng và các phiên truy cập. Xác thực người
dùng là một yếu tố quan trọng trong quy trình này, nhưng ngay cả những cơ chế xác
thực mạnh nhất vẫn có thể bị mắc những lỗi liên quan đến các chức năng quản lý xác
thực, bao gồm thay đổi mật khẩu, quên mật khẩu, lưu nhớ mật khẩu ở trình duyệt, cập
nhật tài khoản và những chức năng khác. Xác thực người dùng trên ứng dụng web
thường sử dụng tên đăng nhập và mật khẩu. Những phương pháp xác thực mạnh hơn
bao gồm các giải pháp phần cứng hoặc phần mềm dựa trên các token key hoặc dùng
phương pháp sinh trắc học (nhận dạng vân tay, v.v.). Tuy nhiên những phương pháp này
có phần hạn chế do giá thành cao. Một số lượng lớn lỗi trong các hàm quản lý tài khoản
có thể dẫn đến mối nguy cơ lộ tài khoản người dùng và thậm chí là tài khoản của người
quản trị. Các ứng dụng web thường phải theo dõi và duy trì phiên truy cập của người
dùng nhằm phân biệt các truy cập từ người dùng khác nhau. Giao thức HTTP không
cung cấp khả năng này và do đó ứng dụng web phải tự tạo cơ chế này. Thường thì, môi
trường phát triển ứng dụng cung cấp cơ chế quản lý phiên truy cập (thường là dưới hình
thức cookie token), tuy nhiên đa số các nhà lập trình nghiêng về phát triển cơ chế riêng
của họ. Trong cả hai trường hợp, nếu token quản lý phiên truy cập không được bảo vệ,
tin tặc có thể ăn cắp token truy cập tài khoản người khác. Ví dụ: Tin tặc có thể đánh cắp
phiên làm việc của người dùng bằng cách gửi một liên kết yêu cầu người dùng đăng
nhập vào một cổng/trang TTĐT với một phiên làm việc đã được ấn định sẵn trên URL.
Đầu tiên tin tặc vào đăng nhập của cổng/trang TTĐT để lấy được mã phiên làm việc ví
dụ:
sau khi đã có mã phiên làm việc tin tặc
sẽ gửi liên kết này tới người dùng để lừa người dùng làm việc trong phiên của tin tặc.
Khi người dùng mở liên kết này để đăng nhập vào cổng/trang TTĐT, do đã có phiên
làm việc nên trình chủ sẽ không tạo phiên làm việc mới. Người dùng tiếp tục đăng nhập
với thông tin của mình để vào cổng/trang TTĐT. Lúc này tin tặc sẽ vào tài khoản của
người dùng mà không cần phải đăng nhập vì có cùng phiên làm việc.
Cách phòng chống tấn công: Để bảo vệ phiên làm việc của người dùng bảo vệ
dữ liệu, thông tin của người dùng. Người phát triển ứng dụng web cần phải thực hiện
một số điều cơ bản sau: sử dụng SSL (để mã hóa liên kết giữa máy chủ web và trình
duyệt) trong quá trình chứng thực để chống lại việc nghe lén dữ liệu quan trọng, sử dụng
cơ chế tạo mã phiên làm việc ngẫu nhiên với thuật toán mã hóa mạnh, mã phiên làm
việc phải đủ lớn để ngăn chặn tấn công Brute-force, giới hạn thời gian tồn tại phiên làm
việc, tạo ra danh sách những thẻ html được phép sử dụng, xóa bỏ thẻ <script>, lọc ra bất
kỳ một đoạn mã (JavaScript, java, vbscript, activex, flash related), lọc dấu nháy đơn hay
12
kép, lọc kí tự rỗng (vì khả năng thêm một đoạn mã bất kì sau kí tự rỗng khiến cho ứng
dụng dù đã lọc thẻ <script> vẫn không nhập ra do ứng dụng nghĩ rằng chuỗi đã kết thúc
từ kí tự rỗng), xóa những kí tự (>,<), mã hóa các kí tự đặc biệt theo chuẩn riêng. Đối với
người dùng, cần cấu hình lại trình duyệt để nhắc nhở người dùng có cho thực thi ngôn
ngữ kịch bản trên máy tính của họ hay không, tùy vào mức độ thực thi nguồn tin mà
người dùng quyết định.
Các lỗi đối tượng tham chiếu không an toàn
Các lỗi đối tượng tham chiếu không an toàn (Insecure Direct Object References):
xảy ra khi người phát triển ứng dụng web để 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ẻ xấu có thể lợi dụng những tham chiếu này để truy
cập dữ liệu một cách trái phép. Việc phân quyền yếu cho phép người dùng có thể truy
cập dữ liệu của người khác. Trong trường hợp tấn công tin, tặc có thể xác định được cấu
trúc truy vấn gửi đến máy chủ và có thể nhanh chóng thu thập được dữ liệu như thẻ tín
dụng, mã khách hàng, thông tin cá nhân của khách hàng. Nguyên nhân là do các ứng
dụng web thường xuyên sử dụng tham chiếu trực tiếp tên hoặc khóa của một đối tượng
khi xây dựng các ứng dụng web và không kiểm tra kỹ người dùng thật sự có quyền truy
cập hay không. Đây chính là mấu chốt dẫn đến các lỗi đối tượng tham chiếu không an
toàn.
Cách phòng chống tấn công: Để phòng chống lỗi này trước tiên là phải kiểm tra
tất các đối tượng tham chiếu xem có được bảo vệ hợp lý hay không.
- Đối với các liên kết trực tiếp tới các dữ liệu cần bảo vệ, ứng dụng cần kiểm tra
xem người dùng đang yêu cầu có được cho phép quyền truy cập đến dữ liệu đó hay
không.
- Nếu liên kết là một tham chiếu gián tiếp, việc tham chiếu đến dữ liệu trực tiếp
phải được giới hạn bởi những giá trị cho phép đối với người người dùng hiện tại.
- Nếu một trong hai phương pháp trên không được thiết kế cẩn thận thì việc kiểm
tra mã nguồn của ứng dụng có thể hiệu quả trong việc phát hiện những đối tượng tham
chiếu không an toàn.
- Sử dụng tham chiếu gián tiếp cho mỗi người dùng hoặc phiên làm việc. việc này
có thể ngăn cản kẻ tấn công trực tiếp đến các dữ liệu không được bảo vệ. Có thể sử dụng
bộ công cụ miễn phí ESAPI (The OWASP Enterprise Security API) của OWASP để
ngăn chặn lỗi này. ESAPI bao gồm cả bản đồ tham chiếu truy cập tuần tự và ngẫu nhiên
giúp các nhà phát triển có thể sử dụng để loại bỏ các tham chiếu trực tiếp.
- Kiểm tra truy cập, mỗi lần sử dụng một tham chiếu đối tượng trực tiếp từ một
nguồn không tin cậy phải có một kiểm tra kiểm soát truy cập để đảm bảo người dùng
được ủy quyền cho các đối tượng được yêu cầu.
Các lỗi cấu hình thiếu an toàn
13
Các lỗi cấu hình thiếu an toàn: cấu hình máy chủ và các phần mềm hỗ trợ dịch vụ
web là một yếu tố quan trọng trong vấn đề bảo mật của ứng dụng. Máy chủ cung cấp
nền tảng phục vụ cho việc cung cấp nội dung và các gói dịch mà ứng dụng web cần sử
dụng, như dịch vụ lưu trữ, thư điện tử. Những vấn đề về cấu hình của máy chủ có thể
dẫn đến vấn đề bảo mật của ứng dụng. Hiện nay nhiều ứng dụng web được lưu trữ trên
các máy chủ đi thuê hoặc các máy chủ được chia sẻ, những người phát triển ứng dụng
web thường không nắm được nhiều kiến thức về cấu hình máy chủ, lại thiếu sự liên kết
với bên hỗ trợ triển khai ứng dụng web trên máy chủ. Vì vậy, thiếu sự thống nhất và liên
lạc về phương hướng bảo mật giữa hai nhóm. Điều này dẫn đến những điểm yếu nghiêm
trọng được tạo ra trên ứng dụng từ các lỗ hổng ở cả ứng dụng web và máy chủ. Một số
lỗ hổng liên quan đến cấu hình máy chủ bao gồm:
- Các phần mềm và hệ điều hành trên máy chủ không được cập nhật với bản vá lỗi
bảo mật mới nhất.
- Những tập tin mặc định, tập tin tạo ra để thử nghiệm, tập tin cấu hình không được
xóa đi trong thư mục của ứng dụng web. Những tập tin này thường có độ bảo mật yếu
và có thể chứa những thông tin quan trọng.
-
Không phân đúng quyền cho các thư mục và tập tin trong ứng dụng web.
-
Cấu hình SSL và các hàm mã hóa không đúng
-
Phần mềm trên máy chủ đăng quá nhiều thông tin trong trang báo lỗi
-
Những chức năng quản lý được triển khai không cần thiết
Cách phòng chống tấn công: để phòng tránh các cuộc tấn công đòi hỏi phải xác
định rõ chính sách an ninh cho việc cấu hình trên các ứng dụng, máy chủ ứng dụng, máy
chủ web, máy chủ cơ sở dữ liệu và cấu hình trên ứng dụng web. Các chính sách này cần
được thực hiện đầy đủ và được duy trì thường xuyên, vì theo mặc định rất nhiều thứ
không được cấu hình một cách an toàn. Thêm nữa, cũng cần cập nhật các phần mềm và
các thư viện với bản vá lỗi bảo mật được sử dụng bởi ứng dụng.
Các lỗi lưu trữ dữ liệu thiếu an toàn
Các lỗi lưu trữ dữ liệu thiếu an toàn (Sensitive Data Exposure): Các dữ liệu nhạy
cảm được lưu trữ không an toàn ảnh hưởng đến hệ thống máy chủ cũng như khách hàng,
chẳng hạ như thẻ tín dụng, mã số thuế và các thông tin xác thực. Tin tặc có thể lợi dụng
những kẽ hở này để đánh cắp hay sửa đổi những dữ liệu được bảo vệ kém, để gian lận
thẻ tín dụng, trộm cắp thông tin cá nhân, hoặc thực hiện các hành vi phậm tội khác. Các
sai lầm phổ biến nhất gây ra lỗi này chỉ đơn giản là không mã hóa dữ liệu nhạy cảm mà
lưu trữ những dữ liệu đó ở dạng văn bản thông thường, có thể là tạo khóa, sử dụng các
thuật toán mã hóa yếu phổ biến, đặc biệt là các kỹ thuật băm mật mã yếu. Cũng có khi
là do điểm yếu của trình duyệt, tin tặc có thể nghe lén trên kênh truyền HTTPS và giải
mã dữ liệu thông qua lỗ hổng.
Cách phòng chống tấn công: điều đầu tiên phải xác định là những dữ liệu nào đủ
14
nhạy cảm để yêu cầu bảo vệ thêm. Ví dụ: mật khẩu, số thẻ tín dụng, hồ sơ y tế và các
thông tin cá nhân cần được bảo vệ. Để đảm bảo không bị mắc các lỗi cần kiểm tra các
dữ liệu một cách kỹ càng xem có dữ liệu nào được lưu trữ lâu dài, bao gồm cả các bản
sao lưu của nó không?, có dữ liệu nào nhạy cảm được truyền đi dưới dạng văn bản chưa
được mã hóa không?, có sử dụng thuật toán mã hóa nào cũ, yếu không?, có khóa mã hóa
yếu nào được tạo ra không?, quản lý các khóa đã đúng cách chưa?, có chỉ thị bảo vệ
trình duyệt hay thiếu các phần đầu khi một dữ liệu nhạy cảm được cung cấp, gửi đến
trình duyệt không? Để ngăn chặn việc khai thác các lỗ hổng này nhằm đạt được mục
đích an toàn cho tất cả các dữ liệu quan trọng cần phải thực hiện thêm một số biện pháp
sau: Xem xét các nguy cơ đe dọa tới sự bảo mật của các dữ liệu, chắc chắn rằng đã mã
hóa tất cả dữ liệu nhạy cảm khi được lưu trữ và cả trên đường truyền đúng cách, không
lưu những dữ liệu nhạy cảm khi không cần thiết, sử dụng các thuật toán chuẩn mạnh
mẽ, các khóa mạnh và quản lý khóa đúng chỗ, mật khẩu được lưu với một thuật toán mã
hóa đặc biệt được thiết kế cho việc bảo vệ mật khẩu (như bcrypt, PBKDF2, hay scrypt),
tự động vô hiệu hóa các hình thức thu thập dữ liệu nhạy cảm và vô hiệu hóa bộ nhớ đệm
cho các trang chứa dữ liệu nhạy cảm.
Có thể sử dụng tường lửa ứng dụng web ModSecurity để loại bỏ truy vấn tìm thông tin
thẻ tín dụng:
SecRule RESPONSE_BODY "@verifyCC \d{13,16}"
"phase:4,deny,t:removeWhitespace,log,msg:'Possible
credit card number leak detected'
Ở truy vấn này có biến @verifyCC sẽ bao gồm các biểu thức chính quy để kiểm
soát dữ liệu truy cập có bao gồm các số thẻ tín dụng hay chủ tài khoản từ truy vấn bên
ngoài hay không (13 hoặc 16 số).
Các lỗi Cross Site Request Forgery (CSRF)
CSRF (Cross Site Request Forgery): CSRF khai thác lỗi xử lý phiên làm việc của
các trang web. Tin tặc có thể lợi dụng người dùng để thực thi những hành động không
mong muốn ngay trên phiên đăng nhập của họ. Thông qua việc gửi người dùng một liên
kết qua email hay chát, tin tặc có thể hướng người dùng thực thi một số hành động ngay
trên trình duyệt của người dùng (như gửi bài viết, xóa bài viết v.v…) Một cuộc tấn công
CSRF lừa nạn nhân gửi một yêu cầu HTTP giả mạo trên phiên đăng nhập của mình kèm
theo những thông tin xác thực, mà ứng dụng nghĩ là các yêu cầu của nạn nhân. Ví dụ:
An đăng nhập vào website của ngân hàng Vietcombank và chưa thoát ra. Tam là một tin
tặc sẽ gửi cho An một thông điệp dưới dạng HTML có dạng:
Vietcombank has jusst announce a new interest rate …
src=” />15
ncy=VND&toAccTam=Tam_acc”/> trong đó An_acc và Tam_acc lần lượt là số tài
khoản của An và Tam tại ngân hàng. Đoạn mã trên được che giấu rất khéo léo. Ngoài
việc thông báo bình thường, khiến người đọc không nghi ngờ, thẻ chèn hình ảnh <img>
được thiết lập kích thước 0 pixel x 0 pixel, nên không hiển thị trên trình duyệt web. Khi
An chưa thoát, phiên làm việc của An vẫn đang còn hiệu lực, nếu tải thông điệp mà Tam
gửi, trình duyệt của An sẽ gửi một yêu cầu HTTP đến địa chỉ:
“ />=VND&toAccTam=Tam_acc”. Vì session của An chưa hết hiệu lực, nên server của
Vietcombank sẽ xử lý và chuyển khoản 10000000 VND từ tài khoản của An sang tài
khoản của Tam. Ngoài thẻ <img>, còn một số thẻ HTML khác có thể sử dụng trong tấn
công CSRF như <iframe>, <link>, <bground>, <background>, <background>, <script>
Cách phòng chống tấn công CSRF: trước tiên là cần kiểm tra xem ứng dụng web
của mình có bị lỗi này hay không. Cách dễ nhất để kiểm tra xem ứng dụng có bị lỗi hay
không là kiểm tra nếu mỗi đường liên kết hay giao diện người dùng chứa những giá trị
không thể đoán được cho mỗi người sử dụng. Nếu không có những giá trị như vậy, tin
tặc có thể giả mạo bất cứ yêu cầu nào. Tập trung vào liên kết và giao diện người dùng
thực hiện những chức năng thay đổi trạng thái bởi vì những chức năng ấy thường là đối
tượng tấn công của CSRF. Nên kiểm tra những giao dịch có nhiều bước vì tin tặc có thể
dễ dàng giả mạo một dãy các yêu cầu sử dụng nhiều thẻ (tags) hoặc javascript. Cần lưu
ý rằng cookie phiên làm việc, địa chỉ IP, những thông tin mà tự động gửi bởi trình duyệt
web không được tính vì những thông tin này sẽ được gửi kèm trong những yêu cầu giả
mạo. Có thể sử dụng công cụ CSRF Tester của OWAPS để kiểm tra vấn đề này.
Để ngăn chặn CSRF thường đòi hỏi cần một token không thể đoán trước trong mỗi
yêu cầu HTTP. Các token này nên ở mức tối thiểu và là duy nhất cho mỗi phiên làm
việc của người dùng.
- Sử dụng các thẻ duy nhất trong một trường ẩn, giá trị này được gửi trong nội
dung của các yêu cầu HTTP, tránh đưa nó vào trong các URL.
- Có thể thêm các thẻ duy nhất vào trong các URL hoặc một tham số URL. Tuy
nhiên, những tham số như vậy cũng có những rủi ro, tin tặc có thể biết và tìm cách vượt
qua. Với các nhà phát triển ứng dụng web có thể sử dụng công cụ CSRF Guard của
OWASP để tạo ra và kiểm tra các tham số có thể sử dụng để ngăn chặn các lỗ hổng
CSRF.
- Yêu cầu người dùng xác nhận lại hoặc chứng thực họ là người sử dụng (như sử
dụng CAPTCHA, mã bảo vệ) cũng có thể bảo vệ chống lại CSRF.
Các lỗi do ứng dụng sử dụng những thành phần chứa lỗi bảo mật:
Các ứng dụng được sử dụng có các thành phần bị lỗi có thể làm suy yếu khả năng
phòng thủ của ứng dụng. Do đó có thể bị một loạt các cuộc tấn công và các tác động.
Các thành phần như là các thư viện, các thành phần mở rộng và các bản vá lỗi của các
16