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

Nghiên cứu giải pháp đảm bảo an toàn ứng dụng web (tt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (883.94 KB, 24 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------

NGUYỄN ĐỨC SƠN

NGHIÊN CỨU GIẢI PHÁP
ĐẢM BẢO AN TOÀN ỨNG DỤNG WEB

Chuyên ngành: Hệ thống thơng tin
Mã số: 8.48.01.04

TĨM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI, NĂM 2018


Luận văn được hồn thành tại:
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG

Người hướng dẫn khoa học: PGS.TS Lê Hữu Lập

Phản biện 1: TS. Hoàng Xuân Dậu

Phản biện 2: PGS.TS. Đặng Văn Chuyết

Luận văn được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện
Công nghệ Bưu chính Viễn thơng
Vào lúc: 9 giờ 20 ngày 6 tháng 1 năm 2018

Có thể tìm hiểu luận văn tại:
Thư viện Trường Học viện Cơng nghệ Bưu chính Viễn thơng



HÀ NỘI, NĂM 2018


1

MỞ ĐẦU
Việc thiếu quan tâm và đầu tư đúng mức đến đảm an toàn hệ thống và dữ liệu của
bộ phận chuyên trách dẫn đến các vụ tấn công vào các website rất phổ biến. Điều này cũng
đồng nghĩa với việc dữ liệu có nguy cơ bị đánh cắp, hệ thống bị ngưng trệ hoặc bị khai
thác trái phép là rất lớn khi an ninh hệ thống không được đảm bảo. Vì vậy cần phải tăng
cường khả năng phịng, chống các nguy cơ tấn công vào các ứng dụng web và biện pháp
ngăn chặn, khắc phục kịp thời các sự cố này.
Việc đi sâu tìm hiểu về các dạng tấn công vào các website sẽ giúp cho chúng ta
hiểu hơn về những lổ hổng trong công tác quản lý website, qua đó đưa ra những giải pháp
giúp các nhà quản lý có những biện pháp khắc phục, ngăn chặn sự thâm nhập từ bên
ngồi, cũng như vai trị quan trọng trong việc triển khai ứng dụng những công nghệ mới
an toàn và bảo mật hơn.
Mục tiêu của luận văn là tìm hiểu một số cách thức tấn cơng vào ứng dụng web và
một số giải pháp phịng chống tấn cơng, từ đó đề xuất giải pháp đảm bảo an tồn an ninh
mạng cho các website của trường Đại học Công nghệ Giao thơng vận tải.
Ngồi phần Mở đầu và Kết luận, cấu trúc luận văn gồm 3 chương với mô tả sơ lược
nội dung từng chương như sau:
Chương 1 - Tổng quan an toàn ứng dụng web: Chương này luận văn nêu tổng
quan về thực trạng lỗ hổng an ninh web, kỹ thuật tấn công, các ảnh hưởng khi bị tấn cơng.
Chương 2 - Nghiên cứu giải pháp phịng chống tấn công web: Chương này luận
văn tập trung nghiên cứu cách phịng chống một số dạng tấn cơng phổ biến.
Chương 3 - Đề xuất giải pháp an toàn an ninh mạng của trường Đại học Công
nghệ Giao thông vận tải: Chương này khảo sát, đánh giá, đề xuất giải pháp nâng cao độ
an toàn an mạng của trường Đại học Công nghệ Giao thông vận tải.



2

Chương 1. TỔNG QUAN AN TOÀN ỨNG DỤNG WEB
1.1. Thực trạng an toàn ứng dụng web
Trong cuộc chạy đua số hóa, bùng nổ cơng nghệ thơng tin đã đẩy mạnh các ứng
dụng web để nâng cao khả năng quản lý, phục vụ công việc. Do mong muốn đưa các ứng
dụng này vào thực tế càng nhanh càng tốt nên việc chuẩn bị đầy đủ các quy trình kiểm sốt
bảo mật thường xảy ra thiếu sót.
Các ứng dụng web được đưa vào sử dụng quá nhanh chóng nên chưa được đầu tư
kiểm tra an toàn an ninh đầy đủ, thường là khơng được kiểm tra. Nếu có thì chỉ là tự dùng
một số công cụ/phần mềm để kiểm tra lỗ hổng bảo mật, chưa thuê công ty bảo mật chuyên
nghiệp để thực hiện, có thể vì chi phí khá cao hoặc đội ngũ bảo mật không chú trọng hoặc
không biết rõ về yêu cầu[12].
Người sử dụng cuối không được đào tạo bài bản hoặc không được cảnh báo về nguy
cơ bảo mật nên họ rất dễ mắc sai lầm khi giao dịch trên Internet nên họ chính là lỗ hổng
bảo mật lớn nhất đối với vấn đề an ninh mạng của ứng dụng web.
Đa số các thiết bị bảo mật hiện tại đã cũ, khơng cịn phù hợp với tình hình an ninh
mạng hiện tại, trừ khi vừa mới đầu tư mua mới các thiết bị này. Chẳng hạn như thiết bị
tường lửa truyền thống vẫn còn được sử dụng, trong khi nó khơng thể đảm bảo an tồn cho
hệ thống như các thiết bị tường lửa thế hệ mới.
Việc trang bị thiết bị tường lửa cho ứng dụng web cũng chưa được chú trọng và đầy
đủ. Hoặc đôi khi quá tự tin vào hệ thống tường lửa thế hệ mới vừa được trang bị nên khơng
chú ý rằng nó khơng đủ chức năng để bảo vệ các ứng dụng trên Internet. Hơn nữa việc đầu
tư các thiết bị tường lửa cũng khá đắt nên không phải ai cũng sẵn sàng đầu tư để mua các
thiết bị này.
Đội ngũ công nghệ thông tin thường thiếu người chuyên trách về bảo mật và thường
là nhân viên quản trị mạng hoặc quản trị hệ thống kiêm nhiệm công việc này do thiếu ngân
sách cho nhân lực. Do đó việc có nhân viên chuyên trách về bảo mật cho ứng dụng web là

điều khá xa xỉ. Ngoài ra, đội ngũ chuyên trách về kiến trúc và thiết kế hệ thống cũng bị
thiếu, thường thì cũng kiêm nhiệm.


3
Chính sách hoặc quy trình bảo mật chưa được xây dựng đầy đủ nên không ngăn
chặn được các nguy cơ về an ninh mạng hoặc nhân viên thực thi sai quy trình bảo mật hoặc
đội ngũ giám sát bảo mật khơng đủ mạnh để kiểm sốt các vấn đề an ninh mạng.
Những khiếm khuyết kể trên đã được các kẻ tấn công khai thác triệt để để tạo ra các
cuộc tấn công và gây ra rất nhiều tổn thất nặng nề. Có rất nhiều giải pháp được đưa ra bởi
các tổ chức, cá nhân nhưng chưa thực sự có hiệu quả trong vấn đề phịng chống các cuộc
tấn cơng. Nguy hiểm hơn, các cuộc tấn công vào ứng dụng web diễn ra rất phức tạp, tinh
vi, khó đốn trước và gây ra hậu quả rất lớn.

1.2. Các kỹ thuật tấn công ứng dụng web
1.2.1 Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ (DoS - Denial of Service) là một sự kiện bảo mật xảy ra
khi kẻ tấn cơng có hành động ngăn cản người dùng hợp pháp truy cập hệ thống máy tính,
thiết bị hoặc các tài nguyên mạng khác. Trong tấn công từ chối dịch vụ, kẻ tấn cơng nhằm
vào các máy tính và sử dụng mạng máy tính dùng để ngăn cản truy cập email, website, tài
khoản trực tuyến và các dịch vụ khác.
Tấn công từ chối dịch vụ phân tán (DDoS - Distributed Denial of Service) là nỗ lực
làm sập một dịch vụ trực tuyến bằng cách làm tràn ngập nó với traffic từ nhiều nguồn. Trong
tấn công từ chối dịch vụ phân tán (DDoS), một kẻ tấn cơng có thể sử dụng các máy tính cá
nhân để tấn cơng vào các máy tính khác. Bằng cách lợi dụng những lỗ hổng về bảo mật
cũng như sự khơng hiểu biết, kẻ này có thể giành quyền điều khiển máy tính. Sau đó chúng
sử dụng máy tính bị chiếm quyền điều khiển để gửi số lượng lớn dữ liệu đến một website
hoặc gửi thư rác đến một địa chỉ hịm thư nào đó. Tấn cơng này được được gọi là phân tán
vì kẻ tấn cơng sử dụng nhiều máy tính để thực hiện tấn cơng Dos. Mặc dù DDoS cung cấp
một chế độ tấn công ít phức tạp hơn các dạng tấn công mạng khác, nhưng chúng đang ngày

càng mạnh mẽ và tinh vi hơn.
Tấn công từ chối dịch vụ theo phương pháp phản xạ DRDoS (Distributed Reflection
Denial of Service):Để thực hiện, kẻ tấn công tìm cách chiếm dụng và điều khiển nhiều máy
tính hoặc mạng máy tính trung gian (đóng vai trị zombie) từ nhiều nơi để đồng loạt gửi ào
ạt các gói tin (packet) với số lượng rất lớn, mục đích chiếm dụng tài nguyên và làm tràn
ngập đường truyền của một mục tiêu xác định nào đó. DRDoS chỉ mới xuất hiện gần đây


4
nhưng lại là loại nguy hiểm nhất. Nếu được thực hiện bởi các kẻ tấn công chuyên nghiệp,
không một hệ thống nào có thể đứng vững được trước nó. Đáng nói hơn, hiện cũng đã xuất
hiện nhiều loại virus, worm, trojan có chức năng tự động thực hiện tấn cơng DoS. Đây có
lẽ là kiểu tấn cơng lợi hại nhất và làm boot máy tính của đối phương nhanh gọn nhất.

1.2.2 Tấn công SQL Inejection
SQL Injection (chèn mã độc SQL) là một kỹ thuật cho phép kẻ tấn công chèn mã
SQL vào dữ liệu gửi đến máy chủ và được thực hiện trên máy chủ cơ sở dữ liệu[1].
Nguyên nhân: dữ liệu đầu vào từ người dùng hoặc từ các nguồn khác không được
kiểm tra hoặc kiểm tra không kỹ lưỡng.
Tùy mức độ tinh vi, SQL Injection có thể cho phép kẻ tấn cơng:
• Vượt qua các khâu xác thực người dùng
• Chèn, xóa hoặc sửa đổi dữ liệu
• Đánh cắp các thơng tin trong CSDL
• Chiếm quyền điều khiển hệ thống
Có rất nhiều cơng cụ phát hiện và khai thác lỗ hổng này. Hình 1.6 là ví dụ về 1 ứng
dụng web lỗi SQL Injection và bị tool tấn công

1.2.3 Tấn công SSL
SSL (Secure Sockets Layer) là tiêu chuẩn của cơng nghệ bảo mật, truyền thơng mã
hố giữa máy chủ Web server và trình duyệt (browser). Tiêu chuẩn này hoạt động và đảm

bảo rằng các dữ liệu truyền tải giữa máy chủ và trình duyệt của người dùng đều riêng tư và
tồn vẹn[14].
Lợi dụng q trình chuyển gói tin đi qua nhiều trạm (hop) thuộc các mạng khác
nhau, kẻ tấn công chặn bắt các thông điệp giữa 2 bên tham gia truyền thông và chuyển
thông điệp lại cho bên kia. Kiểu tấn công này trong giới chuyên môn gọi là man-in-themiddle (người đứng giữa), là một trong nhiều kỹ thuật tấn cơng mạng, cho phép kẻ nào đó
can thiệp vào kết nối Internet của người khác và thu thập mọi thơng tin truyền trên hệ thống
mạng đó. Loại tấn công này thường được sử dụng để đánh cắp thông tin.


5
Có hai bước để thực hiện tấn cơng kiểu man-in-the-middle. Đầu tiên, kẻ tấn công
phải xâm nhập được vào hệ thống mạng. Thứ hai, kẻ tấn công phải giải mã dữ liệu.
• Xâm nhập vào hệ thống mạng: Có 4 cách thông dụng
- Giả điểm truy cập Wi-Fi.
- Giả ARP: Kẻ tấn cơng thiết lập địa chỉ MAC của chính chúng như là một gateway
hoặc thiết bị của nạn nhân, kẻ tấn cơng có thể can thiệp hoặc chỉnh sửa mọi luồng dữ liệu.
- Chiếm proxy/SSL Bump: Kẻ tấn công lừa người dùng cài một ứng dụng độc hại
hoặc một profile cấu hình nào đó, hoặc sử dụng một phương thức bảo mật khác.
Luồng dữ liệu trên thiết bị bị định hướng đến kiến trúc mạng dựng sẵn của kẻ tấn công.
- VPN giả: Một người dùng bị lừa để tải về một ứng dụng hay một profile cấu hình
để yêu cầu kích hoạt VPN. Luồng dữ liệu trên thiết bị bị định hướng trỏ vào VPN của kẻ
tấn cơng.
• Giải mã dữ liệu: Có vài cách sau để giải mã dữ liệu trong khi dữ liệu đang di
chuyển trên hệ thống mạng. Trong đó, ba cách sau là thường gặp nhất:
- Tấn công chứng thực host: Kết nối thông qua man-in-the-middle, kẻ tấn công thiết
lập session SSL với host đã nhắm trước, Host hồi đáp với chứng thực SSL, chứng thực giả
tới người dùng cuối và người dùng chấp nhận. Nếu người dùng bị lừa cài đặt một chứng
thực root thì thậm chí hệ thống vơ hiệu hố cảnh báo về chứng thực về sau.
- SSL Strip: Kết nối thông qua kẻ tấn công, kẻ tấn công viết lại nội dung nhưng
không gồm các link HTTPS, thông tin vào ra, như tài khoản đăng nhập, sẽ hiển thị ở dạng

văn bản thuần, khơng hề mã hố.
- Hạ cấp giao thức TLS: Kẻ tấn công chiếm kết nối để hạ cấp giao thức. Những giao
thức lỗi thời như TLS lại rất dễ giải mã nếu kẻ tấn công am tường công nghệ.

1.2.4 Tấn công XSS
Cross Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiên
nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát
triển web và cả những người sử dụng web. Bất kì một website nào cho phép người sử dụng
đăng thông tin mà khơng có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể
tiềm ẩn các lỗi XSS. Đây là một kĩ thuật tấn công bằng cách chèn vào các website động


6
(ASP, 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 nạn nhân sử dụng.
Lỗi này xảy ra khi ứng dụng web thu nhận các dữ liệu nguy hiểm được nhập từ kẻ
tấn công. Một website thường chứa các link, thơng qua các link này kẻ tấn cơng có thể chèn
các đoạn code vào và khi người dùng nào đó sử dụng link này thì coi như 99% là sập bẫy,
kẻ tấn cơng có thể thơng qua lỗi này để chèn code vào site hay link để lấy các thông tin
quan trọng từ nạn nhân.
Hầu hết các ứng dụng web hiện nay dùng cookie để kết hợp 1 tài khoản duy nhất
cho 1 người dùng nào đó, nghĩa là cookie của người nào người đó dùng. Các webmail, web
bán hàng, nhà băng , … đa số đều dùng cookie với mục đích chứng thực ngừơi dùng, và
đây là cái mà kẻ tấn công cần.
Các đoạn mã trong thẻ script không hề bị giới hạn bởi chúng hồn tồn có thể thay
thế bằng một file nguồn trên một server khác thông qua thuộc tính src của thẻ script. Cũng
chính vì lẽ đó mà chúng ta chưa thể lường hết được độ nguy hiểm của các lỗi XSS.
Nhưng nếu như các kĩ thuật tấn cơng khác có thể làm thay đổi được dữ liệu nguồn
của web server (mã nguồn, cấu trúc, cơ sở dữ liệu) thì XSS chỉ gây tổn hại đối với website
ở phía client mà nạn nhân trực tiếp là những người khách duyệt site đó. Tất nhiên đơi khi

các hacker cũng sử dụng kĩ thuật này đề deface các website nhưng đó vẫn chỉ tấn cơng vào
bề mặt của website. Thật vậy, XSS là những Client-Side Script, những đoạn mã này sẽ chỉ
chạy bởi trình duyệt phía client do đó XSS khơng làm ảnh hưởng đến hệ thống website
nằm trên server.
Mục tiêu tấn công của XSS không ai khác chính là những người sử dụng khác của
website, khi họ vơ tình vào các trang có chứa các đoạn mã nguy hiểm do các hacker để lại
họ có thể bị chuyển tới các website khác, đặt lại homepage, hay nặng hơn là mất mật khẩu,
mất cookie thậm chí máy tính của họ có thể sẽ bị cài các loại virus, backdoor, worm ..

1.2.5 Một số loại tấn công khác
CSRF (Cross Site Request Forgery): là kiểu tấn công bằng cách sử dụng quyền
chứng thực của người sử dụng đối với một website khác (mượn quyền ceritification ), các
ứng dụng web hoạt động theo nguyên tắc nhận các lệnh http từ người dùng sau đó thực thi
nó. CSRF sẽ lừa trình duyệt của người dùng để gửi đi các lệnh http đến các ứng dụng web


7
trong trường hợp session (phiên làm việc) của người dùng chưa hết hiệu lực thì các lệnh
http trên sẽ được thực hiện với quyền chứng thực của người dùng trước đó.
Path traversal: là một khai thác HTTP cho phép hacker truy cập đến những chỉ mục
bị giới hạn, thực thi lệnh bên ngoài chỉ mục gốc của máy chủ web. Nếu như truy cập thành
cơng thì hacker có thể xem được các file, thư mục bị giới hạn và thực thi được các câu lệnh
trên server mắc lỗi này đều không kiểm tra đầu vào dữ liệu được gửi từ client. Path
Traversal hay còn được biết với một số tên khác như “dot-dot-slash”, “directory
traversal”,”directory clumbing” và “backtracking”.
OS Comanding: kẻ tấn cơng có thể thực hiện các câu lệnh, dịng code của OS
để thực hiện các hành vi không tốt đối với hệ thống. Việc chèn thêm (injection) vào ứng
dụng để thực thi hành vi không tốt là một lỗi vô cùng nguy hiểm. Có thể gây lỗi cho host,
lấy cắp thơng tin, thậm chí chiếm quyền quản lý server.


1.3. Ảnh hưởng của các cuộc tấn công
Các cuộc tấn công mạng nói chung, đặc biệt là tấn cơng vào ứng dụng web gây ra
những hậu quả về kinh tế, chính trị của các tổ chức, cá nhân. Tấn công ứng dụng web xảy
ra với mật độ dày đặc với rất nhiều quy mô trên thế giới, Việt Nam cũng không phải ngoại
lệ nếu khơng muốn nói là nơi xảy ra nhiều vụ điển hình.

1.4 Kết chương
Chương I đã giới thiệu tổng quan về thực trạng lỗ hổng an ninh web, một số kỹ

thuật tấn công phổ biến, các ảnh hưởng khi bị tấn cơng. Từ những trình bày khái qt
các kỹ thuật tấn công làm nền tảng làm cơ sở xây dựng phương án phù hợp để giải quyết
bài toán ngăn chặn tấn công ở chương 2.


8

Chương 2. NGHIÊN CỨU GIẢI PHÁP PHỊNG CHỐNG
TẤN CƠNG WEB
2.1. Phịng chống tấn cơng từ chối dịch vụ.
2.1.1. Phịng chống tấn cơng từ chối dịch vụ tổng qt
Nhìn chung, tấn cơng từ chối dịch vụ khơng q khó thực hiện, nhưng rất khó phịng
chống do tính bất ngờ và thường là phòng chống trong thế bị động khi sự việc đã rồi. Việc
đối phó bằng cách tăng cường “phần cứng” cũng là giải pháp tốt, nhưng thường xuyên theo
dõi để phát hiện và ngăn chặn kịp thời cái gói tin IP từ các nguồn không tin cậy là hữu hiệu
nhất[13].

2.1.2. Biện pháp phịng chống tấn cơng DDoS
Tấn cơng DDoS có thể được phân loại dựa trên 6 tiêu chí chính[2]:
- Dựa trên phương pháp tấn công.
- Dựa trên mức độ tự động.

- Dựa trên giao thức mạng.
- Dựa trên phương thức giao tiếp.
- Dựa trên cường độ tấn công.
- Dựa trên việc khai thác các lỗ hổng an ninh.
Có thể chia các biện pháp phịng chống tấn cơng DDoS thành 3 dạng theo 3 tiêu chí
chính: Dựa trên vị trí triển khai, dựa trên giao thức mạng và dựa trên thời điểm hành động.
Phần tiết theo mô tả các biện pháp phịng chống tấn cơng DDoS thuộc 3 dạng trên.
- Dựa trên vị trí triển khai
- Dựa trên giao thức mạng
- Dựa trên thời điểm hành động
Nhìn chung, việc phịng chống tấn cơng DDoS rất phức tạp, thậm chí khi thực hiện
tất cả các phương án vẫn không thể chống lại các cuộc tấn công. Tùy thuộc vào đặc thù của
ứng dụng web mà cân nhắc lựa chọn các giải pháp cho phù hợp. Cũng nên có phương án


9
backup, dự phịng trong trường hợp bị tất cơng, tính cả đến phương án khơng thể khắc phục
hậu quả.

2.2. Phịng chống tấn cơng SQL Inejection.
2.2.1. Các biện pháp phịng chống ở mức lập trình
- Các biện pháp phịng chống dựa trên kiểm tra và lọc dữ liệu đầu vào:
• Kiểm tra tất cả các dữ liệu đầu vào, đặc biệt dữ liệu nhập từ người dùng và từ các
nguồn không tin cậy;
• Kiểm tra định dạng và kích thước dữ liệu đầu vào;
• Tạo các bộ lọc để lọc bỏ các ký tự đặc biệt và các từ khóa của các ngôn ngữ trong
các trường hợp cần thiết mà kẻ tấn cơng có thể sử dụng
Đưa tất cả các câu truy vấn (SELECT) và cập nhật, sửa xóa dữ liệu (INSERT,
UPDATE, DELETE) vào thủ tục; dữ liệu truyền vào thủ tục thông qua các tham số -> tách
dữ liệu khỏi mã, giúp hạn ngăn chặn hiệu quả tấn công chèn mã SQL.

• Hạn chế thực hiện các câu lệnh SQL động trong thủ tục.

2.2.2. Các biện pháp phòng chống ở mức nền tảng
- Các biện pháp phòng chống dựa trên thiết lập quyền truy nhập người dùng cho phù
hợp[1]:
• Khơng sử dụng người dùng có quyền system admin hoặc database owner làm
người dùng truy cập dữ liệu;
• Chia nhóm người dùng, chỉ cấp quyền vừa đủ để truy cập các bảng biểu, thực hiện
câu truy vấn và chạy các thủ tục.
• Tốt nhất, khơng cấp quyền thực hiện các câu truy vấn, cập nhật, sửa, xóa trực tiếp
dữ liệu; Thủ tục hóa tất cả các câu lệnh và chỉ cấp quyền thực hiện thủ tục.
- Sử dụng ứng dụng tường lửa web WAF (Web Application Firewall): Giải pháp
WAF là một giải pháp toàn diện hơn so với giải pháp bảo vệ thời gian chạy.
- Sử dụng hệ thống phát hiện xâm nhập (IDS): Là hệ thống phát hiện xâm nhập dựa
trên lưu lượng trên mạng để phát hiện ra tấn công chèn mã SQL. Tuy nhiên, các IDS thường
không được tối ưu riêng cho ứng dụng web. Nó chỉ giúp phát hiện ra các cuộc tấn công từ


10
bên ngồi mạng nội bộ, tuy nhiên vẫn có thể sử dụng nó như một phịng tuyến bổ sung
chống lại các cuộc tấn công.
- Tường lửa cơ sở dữ liệu: Có thể xem là biện pháp cuối cùng để bảo vệ cơ sở dữ
liệu trong mơ hình bảo vệ nhiều lớp. Chính xác hơn, tường lửa cơ sở dữ liệu hoạt động
như một proxy đứng giữa ứng dụng web và cơ sở dữ liệu.

2.3. Phịng chống tấn cơng SSL
Việc chiếm quyền điều khiển SSL theo cách này là hầu như khơng thể phát hiện từ
phía trình chủ vì máy chủ cứ tưởng nó vẫn truyền thơng bình thường với máy khách. Nó
khơng hề có ý tưởng rằng đang truyền thơng với một client bởi proxy.


2.3.1. Sử dụng kết nối an tồn HTTPS
Khi thực hiện tấn cơng, nó sẽ làm mất đi tính an tồn của kết nối, thứ có thể xác
định được trong trình duyệt. Điều này có nghĩa rằng nếu đăng nhập vào tài khoản ngân
hàng trực tuyến và thấy rằng nó chỉ là một kết nối chuẩn HTTP thì chắc chắn có thứ gì đó
sai ở đây. Bất cứ khi nào sử dụng trình duyệt cũng cần bảo đảm rằng biết cách phân biệt
các kết nối an toàn với những kết nối khơng an tồn

2.3.2. Sử dụng các tài khoản trực tuyến an tồn
Người dùng có thói quen lưu tài khoản trực tuyến (tên đăng nhập, mật khẩu) trên
các trình duyệt, việc này là tiện dụng nhưng khơng đảm bảo an tồn thơng tin. Trong 1
mạng nội bộ thì việc nghe lén thơng tin rất dễ xảy ra (nhất là khi dùng wifi cơng cộng), các
thiết bị có nguy cơ bị chiếm quyền điều khiển và bị khai thác trái phép. Một trong những
mục tiêu lớn nhất cho tấn công chiếm quyền điều khiển session là giao dịch trực tuyến, tuy
nhiên thủ phạm này có thể áp dụng cho bất cứ thứ gì. Để hạn chế nguy cơ trên, người dùng
nên sử dụng các kết nối mạng cá nhân (mạng tại gia đình, mạng 3G/4G), khơng lưu cookie
và các tài khoản quan trọng trên trình duyệt, kiểm tra kỹ thông tin trước khi xác nhận thực
hiện giao dịch.

2.3.3. Bảo mật các thiết bị trong mạng
Sử dụng các biện pháp tăng cường bảo mật, bảo vệ các thiết bị trong hệ thống mạng
để giảm thiểu các nguy cơ bị tấn cơng. Nếu các thiết bị mạng được an tồn thì nguy cơ bị


11
thỏa hiệp các host để sau đó được sử dụng để khởi chạy tấn công chiếm quyền điều khiển
session cũng sẽ giảm.

2.3.4. Sử dụng chứng chỉ số tin cậy
Một Certificate Authority (CA) là một tổ chức bên thứ ba hoạt động như một trung
gian đáng tin cậy, cấp phát và thẩm định chứng thực số SSL/TLS. Có hàng trăm tổ chức

tin cậy như vậy có quyền cấp phát chứng thực SSL hợp lệ cho bất cứ domain nào đó của
người dùng, dù domain đó đã được cấp chứng thực bởi CA khác. Đây chính là điểm yếu
của của hệ thống CA và nó gây ra các lỗ hổng.
Các tổ chức nên chỉnh sửa trang web để phát hiện và ngừng dịch vụ trên các trình
duyệt cũ, yêu cầu người dùng nâng cấp lên phiên bản mới.

2.4. Phịng chống tấn cơng XSS
2.4.1. Lọc
Có hai khái niệm cơ bản vềq trình lọc (filter) XSS: lọc đầu vào (input filtering)
và lọc đầu ra (output filtering). Cách sử dụng phổ biến nhất là lọc đầu vào. Input
Filteringđược xem là chính xác hơn so với Output Filtering, đặc biệt trong trường hợp XSS
Reflected. Tuy nhiên có một sự khác biệt nhỏ, q trình lọc đầuvào áp dụng cho tất cả các
loại dữ liệu, loại bỏnhững nội dung không hợp lệ trong khi lọc đầu ra chỉ mang tính áp
dụng lại, mục đích bài trừ các loại mã độc cịn xót lại.
Có hai loại thanh lọc dữ liệu đầu vào và đẩu ra: White List Filtering và Black List
Filtering
Các bước để thanh lọc dữ liệu:
- Từ chối nhận các dữ liệu hỏng;
- Liên tục kiểm tra và thanh lọc dữ liệu;
- Tạo ra danh sách những thẻ HTML được phép sử dụng, xóa bỏ thẻ <script> hoặc
đóng các thẻ script trong thẻ <comment> coi đoạn script đó như là một đoạn trích dẫn;
- 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 kép;
- Lọc kí tự Null;


12
- Xóa những kí tự “>”, ”<” hoặc Output Encoding các dòng như sau: < &lt; > >
( ( ) ) # # & &
- Kiểm tra xem thực thể đó có thuộc White-List hay Black-List khơng.


2.4.2. Mã hóa đầu vào
Một trong những nhược điểm chính của mã hóa đầu vào (Input Encoding) là phải
làm việc trên quy mô lớn Website, mặt khác không phải ai đều dùng cố định một bảng mã
duy nhất. Có thể thấy tùy thuộc vào hồn cảnh mà sử dụng mã hóa đầu vào sao cho hợp lí
nhất, Input Encoding chỉ thật sự có ý nghĩa khi biết được chính xác dữ liệu đầu vào, điều
này tương đối khó khăn trong mơi trường có quy mơ lớn. Mã hóa đầu vào có thể trở thành
một vị trí trung tâm cho tất cả các bộ lọc, đảm bảo chỉ có một điểm duy nhất cho tất cả các
bộ lọc.
Lỗi XSS có thể tránh được khi máy chủ Web đảm bảo những trang phát sinh được
mã hóa (encoding) thích hợp để ngăn chặn chạy các cript khơng mong muốn. Mã hóa phía
máy chủ là một tiến trình mà tất cả nội dung phát sinh động sẽ đi qua một hàm mã hóa nơi
mà các thẻ script sẽ được thay thể bởi mã của nó. Nói chung, việc mã hóa (encoding) được
khuyến khích sử dụng vì nó khơng yêu cầu phải đưa ra quyết định những kí tự nào là hợp
lệ hoặc không hợp lệ. Tuy hiên việc mã hóa tất cả dữ liệu khơng đáng tin cậy có thể tốn tài
nguyên và ảnh hưởng đến khả năng thực thi của một số máy chủ.
Một trong những cách hay sử dụng là mã hố các kí tự đặc biệt trước khi in ra
website, nhất là những gì có thể gây nguy hiểm cho người sử dụng. Trong trường hợp này
thẻ script sẽ được đổi thành script. Như vậy nó sẽ vẫn được in ra màn hình mà khơng hề
gây nguy hiểm cho người sử dụng.

2.4.3. Mã hóa đầu ra
Mục đích của việc mã hóa đầu ra (vì nó liên quan Cross Site Scripting) là chuyển
đổi đầu vào không tin cậy vào một hình thức an tồn, nơi đầu vào sẽ được hiển thị như dữ
liệu cho người sử dụng mà khơng thực hiện được như đang trong trình duyệt. Một số
phương pháp mã hóa đầu ra quan trọng:


13
Loại mã hóa

HTML Entity Encoding

HTML AttributeEncoding
URL Encoding
JavaScript Encoding

Cơ chế mã hóa
Convert&to& ConvertConvert'to' Convert / to /
Ngoại trừ cho các ký tự chữ và số, còn lại sẽ loại bỏ
các định dạng HTML &#xHH, khoảng trắng
Mã hóa theo tiêu chuẩn %
Ngoại trừ các ký tự chữ và số, còn lại sẽ loại bỏ các
định dạng \uxxx của mã uniode

CSS (Cascading Style

CSS hỗ trợ loại bỏ các ký tự có dạng \XX

Sheets) Hex Encoding

và\XXXXXX

2.4.4. Bảo mật trình duyệt
Lựa chọn trình duyệt: Lựa chọn trình duyệt có lẽ là điều quan trọng nhất để bảo vệ
trực tuyến, có thể người dùng thường chỉ quan tâm đến loại trình duyệt có tốc độ xử lý
nhanh, giao diện thân thiện nhưng lại không để ý tới tính bảo mật của chúng. Khi sử dụng
trình duyệt để lướt web cần phải quan tâm hơn đến yếu tố bảo mật vì ít ra nó cũng bảo vệ
đượ c người dùng tránh các cuộc tấn công trên mạng.
Thêm nhiều tính năng bảo mật vào trình duyệt: Có nhiều chương trình và cơng cụ

có sẵn để giúp trình duyệt tự bảo vệ mình, tránh các trang web lừa đảo, vơ hiệu hóa một số
tính năng khơng tốt, bảo vệ mật khẩu rơi vào tay kẻ xấu
Vơ hiệu hóa một số tính năng khơng cần thiết: Đơn giản chỉ cần bỏ một số tính năng
khơng cần thiết sẽ làm cho trình duyệt của bạn an tồn hơn. JavaScript, Java, Active, Script,
VBScript, Flash và QuickTime tất cả chúng đều có khả năng gây nguy hiểm.
Không nên nhấn vào các liên kết không rõ ràng trong E-mail: Khi vào một rang web
mới cần phải cân nhắc khi click vào các link, và với email cần phải kiểm tra các link hay
những hình ảnh quảng cáo thật kĩ. Sẽ an tồn hơn khi có sự cảnh giác cao hơn.

2.4.5. Sử dụng máy ảo


14
Một giải pháp mới được đưa ra là sẽ chạy trình duyệt trong mơi rường đã được ảo
hóa, được an tồn. Hiện nay có một số cơng nghệ ảo hóa của MWare và Microsoft giúp có
một mơi trường chạy thử nghiệm thật an toàn.

2.4.6. Bảo vệ Web Mail
Hàng trăm triệu người sử dụng Web Mail với nhiều cách khác hau, quan trọng hơn
là phải bảo mật tài khoản của riêng. Nhiều người có tài hoản trực tuyến quan trọng gắn với
một địa chỉ Web mail duy nhất. Nếu chẳng may một ai đó được quyền truy cập vào tài
khoản e-mail của bạn, tất cả các tài khoản liên quan khác có thể bị tổn hại. Nên thay đổi
mật khẩu theo một khoảng thời gian nào đó và khơng sử dụng mật khẩu quá đơn giản.

2.4.7. Cẩn thận với độ dài chuỗi URL
Khi duyệt web hay sử dụng bất kỳ dịch vụ nào liên quan đên web, hãy để ý rằng
thỉnh thoảng sẽ nhận được các liên kết URL có độ dài bất thường và bên trong đó có chứa
các ký tự đặc biệt như: % , ‘, @, #, $, &, (, … lúc đó cần thật sự cẩn trọng khi nhấn vào các
liên kết đó, vì khả năng nhiễm mã độc từ các liên kết như thế là rất cao.


2.5. Phân tích, đánh giá các giải pháp phịng chống tấn cơng web
Mỗi ứng dụng web có đặc thù khác nhau, vì thế nguy cơ bị tấn cơng và các giải pháp
phịng chống cũng khác nhau.
Những website của chính phủ, các tập đồn lớn thường có nguy cơ bị tấn cơng cao
nhất. Chính vì vậy mà những website này được triền khai các biện pháp phịng chống tấn
cơng mạng tồn diện nhất. Chúng được các chuyên gia hàng đầu triển khai các biện pháp
phịng chống tấn cơng một cách chun nghiệp, thường xuyên cập nhật các công nghệ mới.
Những website này có độ mật cực cao, để khai thác các lỗ hổng thì cũng cần tốn rất nhiều
thời gian, cơng sức, tiền bạc và phải những người có kiến thức rất sâu rộng mới có thể làm
được. Việc phối hợp các giải pháp đảm bảo an toàn an ninh cũng được tối ưu hóa, cải tiến
các phương pháp để vừa nâng cao hiệu quả vừa giảm thiểu chi phí
Với những website của các cơ quan hành chính sự nghiệp, các doanh nghiệp vừa và
các cơ sở giáo dục chuyên nghiệp thường có mức độ an tồn an ninh mạng thấp hơn. Tùy
vào mục đích và tính chất của các website mà có những giải pháp phịng chống tấn cơng
mạng tương ứng, có thể áp dụng các giải pháp phịng chống tấn công phù hợp.


15
Với những website của các doanh nghiệp nhỏ và các cá nhân thường khơng có khả
năng phịng vệ trước các cuộc tấn công từ chối dịch vụ, dễ bị khai thác các lỗ hổng để tấn
công SSL, XSS. Các website này thường sử dụng mã nguồn mở hoặc khả năng lập trình
cịn hạn chế, sử dụng các thiết bị phần cứng khơng có chức năng hỗ trợ phịng chống tấn
cơng.
Kết uận chương 2:
Để có giải pháp tồn diện chống tấn công ứng dụng web cần nghiên cứu kỹ đặc thù
của hệ thống, tuân thủ các quy trình đảm bảo an toàn an ninh về cả phần cứng và phần
mềm. Cần có sự kiểm tra, giám sát thường xuyên và có sự tư vấn của các chuyên gia. Bên
cạnh đó cũng cần có sự hướng dẫn, khuyến cáo đến người sử dụng để tránh rủi ro.



16

Chương 3. ĐỀ XUẤT GIẢI PHÁP AN TOÀN AN NINH MẠNG CỦA
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
3.1. Khảo sát một số ứng dụng web của Trường Đại học Công nghệ Giao
thông vận tải.
Là một đơn vị giáo dục, hoạt động của trường được hỗ trợ bởi một số website:
Cổng thông tin điện tử utt.edu.vn: là cổng thông tin điện tử chính thức của Trường
Đại học Cơng nghệ Giao thơng vận tải. Chức năng chính của hệ thống là đăng tải các thông
tin, thông báo liên quan đến hoạt động của Nhà trường.

Hình 3.1 Cổng thơng tin điện tử utt.edu.vn

Cổng thông tin đào tạo qldt.utt.edu.vn: là cổng thông tin thông báo các hoạt động
liên quan đến người học (đăng ký học, tra cứu điểm, thời khóa biểu, lịch thi, học phí…).

Hình 3.2 Chức năng tra cứu q trình đăng ký học


17
Hệ thống thi trắc nghiệm utt.test.vn: là hệ thống phục vụ cho quá trình kiểm tra
giữa kỳ, thi kết thúc các học phần.

Hình 3.3 Hệ thống thi trắc nghiệm

Các hệ thống trên chức năng, cấu trúc, đặc thù khác nhau. Chính vì vậy việc
quản trị, đảm bảo an ninh an tồn cho các hệ thống gặp khơng ít khó khăn. Dưới đây là một
số đánh giá các hệ thống và đề xuất một số giải pháp nâng cao tính an toàn an ninh cho các
ứng dụng web.


3.2. Đề xuất giải pháp nâng cao độ an toàn an ninh cho một số ứng dụng
web của trường Đại học Công nghệ Giao thông vận tải
3.2.1. Đề xuất giải pháp chung
Sử dụng công cụ để phát hiện các lỗ hổng Nessus vulnerability scanner, xây dựng
các phương án khắc phục phù hợp. Nếu xuất hiện những lỗ hổng lớn cần có sự tư vấn của
các chuyên gia. Công cụ này được phát triển và được kiểm nghiệm trong thời gian dài,
được đánh gía là tốt, ổn định và dễ sử dụng.
Nâng cấp các phiên bản phần mềm mà hệ thống sử dụng để cập nhật các bản vá lỗi,
tối ưu hóa ứng dụng: Windows Server Update Services 3.0 gói dịch vụ 2 (thay thế cho bản
Services 2.0 đang dùng), cập nhật chứng chỉ máy chủ Web VeriSign cho IIS: chứng chỉ
trung gian VeriSign hết hạn có thể dẫn đến kết nối khơng xác thực với trang web bằng SSL
(Chứng chỉ thẩm quyền xác thực International (Global) Server Intermediate VeriSign 128
bit đã hết hạn).
Sử dụng các tường lửa web ModSecurity: Đây là phần mềm nguồn mở có thể hoạt
động như một module trong máy chủ Apache hoặc là một thành phần độc lập. ModSecurity
sử dụng biểu thức chính quy trong việc bảo vệ máy chủ web từ các cuộc tấn công được xác


18
định trước dựa theo các dấu hiệu hoặc các cuộc tấn cơng bất thường khác. Bên cạnh đó,
ModSecurity cũng có khả năng lọc các siêu ký tự do người dùng chèn vào ứng dụng web,
phù hợp với hệ thống web của Nhà trường.
Nâng cao năng lực của quản trị viên, cập nhật các thông tin mới nhất để nắm bắt
được tình hình thực tiễn, đưa ra các nhận định đúng đắn, nâng cáo hiệu quả công việc.
Hướng dẫn chi tiết, khuyến cáo người dùng phòng chống các nguy cơ mất an tồn
thơng tin.

3.2.2. Đề xuất một số giải pháp cụ thể
Đối với cổng thơng tin điện tử utt.edu.vn
Đóng một số cổng không cần thiết, tránh trường hợp bị lợi dụng để tạo những kết nối

ngầm hoặc nhận các gói tin khơng mong muốn. Hiện tại có rất nhiều cổng được mở
Sử dụng tường lửa để nâng cao tính bảo mật, nâng cao khả năng phịng thủ trước các
cuộc tấn cơng cũng như những nguy cơ mất an tồn thơng tin. Hiện tại hệ thống không sử
dụng tưởng lửa, đây là một điểm yếu có thể bị khai thác bất cứ lúc nào, thậm chí đang bị
khai thác mà khơng phát hiện ra.
Sử dụng các cơng cụ miễn phí (cần lưu ý nguồn cung cấp tránh bị cài các tệp tin không
mong muốn) để kiểm tra, giám sát, phát hiện, hạn chế các mối nguy hại: Nmap, Cain,
Wireshark, SQLmap, Damn Vulnerable Web Application (DVWA)
Sử dụng dịch vụ Project Shield của Google để tăng khả năng chống tấn công từ chối
dịch vụ. Mặc dù khả năng bị tấn công từ chối dịch vụ là không cao, tuy nhiên với việc sử
dụng Project Shield vẫn mang lại khả năng phòng chống và tăng hiệu suất của ứng dụng.
Đối với cổng thông tin đào tạo qldt.utt.edu.vn
Máy chủ phục vụ không sử dụng tưởng lửa chuyên dụng, điều này rất nguy hiểm. Cần
cài đặt ngay tưởng để giảm thiểu rủi ro.


19

Hình 3.9 Máy chủ qldt.utt.edu.vn khơng được tường lửa bảo vệ

Sử dụng các giải pháp tương tự với cổng thông tin điện tử utt.edu.vn. Tuy nhiên,
do đặc thù máy chủ đặt tại trường và có sử dụng các thiết bị trong mạng nội bộ nên cần
chú ý đến việc bị tấn công từ mạng nội bộ. Giảm thiểu các kết nối vật lý không cần thiết
để hạn chế việc bắt các gói tin qua các thiết bị trung gian. Gán địa chỉ MAC tĩnh để hạn
chế bị bắt các gói tin nhạy cảm (hình 3.9)

Hình 3.10 Thiết lập địa chỉ MAC tĩnh

Thiếu các biện pháp bảo vệ, phòng chống nên có thể dễ dàng bắt được các thơng
tin nhạy cảm và có thể lợi dụng để gây ra những hành động xấu. Khi sử dụng Cain có thể

bắt được các thông tin về tài khoản của sinh viên (tên đăng nhập và mật khẩu – hình 3.10)
. Nếu mật khẩu khơng đủ mạnh có thể dễ dàng giải mã, tài khoản bị đánh cắp và kẻ đánh
cắp hồn tồn có thể thực hiện ý đồ của mình.


20

Hình 3.11 Cơng cụ Cain bắt được các thơng tin nhạy cảm gửi tới máy chủ

Ngoài ra, hệ thống nên có một số thay đổi để người dùng có thể kiểm tra, giám sát
tài khoản trực tuyến của mình tốt hơn:
Hiện thị thời gian đăng nhập lần gần nhất: nếu có người khác đăng nhập có thể dễ
dàng phát hiện;
Trong thời gian thực chỉ cho phép một tài khoản login: nếu đang online mà có người
khác đăng nhập thì hệ thống thông báo và yêu cầu đăng nhập lại, thậm chí tạm khóa tài
khoản trong một khoảng thời gian nào đó để u cầu xác mình;
Với các thao tác đăng ký/hủy học phần đăng ký yêu cầu mã xác thực qua số điện
thoại người dùng để đảm bảo chính chủ đang thực hiện thao tác.
Trong những thời điểm có lưu lượng người truy cập lớn (trong thời gian đăng ký
học) vẫn xảy ra trình trạng nghẽn mạng, khơng thể đăng nhập hay thực hiện các thao tác
đăng ký. Vì vậy, cần nâng cấp hạ tầng để nâng cao khả năng phục vụ: tăng tốc độ đường
truyền, nâng cao cấu hình máy chủ, sử dụng các biện pháp cân bằng tải để đáp ứng tính
liên tục của dịch vụ. Sử dụng thiết bị cân bằng tải internet và server Cisco RV042G của
Cisco để:
• Làm tăng khả năng đáp ứng và tránh tình trạng quá tải trên hệ thống của máy chủ,
hệ thống đường truyền internet đồng thời đảm bảo tính linh hoạt cũng như khả năng mở
rộng hệ thống.


21

• Tăng khả năng dự phịng cho hệ thống: Nhờ trang bị tính năng hiện đại, thiết bị
cân bằng tải giúp làm tăng tính High Availability và ngăn chặn các sự cố gây gián đoạn
dịch vụ tại các điểm cung cấp.
• Tăng tính bảo mật: thiết bị cân bằng tải sẽ tiếp nhận và xử lí thơng tin được gửi
đến sau đó chuyển chúng tới hệ thống máy chủ.
• Ngăn chặn người dùng giao tiếp trực tiếp với các máy chủ, nhằm ngăn chặn sự
xâm nhập trái phép của hacker để đánh cắp thông tin nội bộ quan trọng.

Kết luận chương 3:
Chương này đã trình bày các khảo sát một số ứng dụng web của trường Đại học
Công nghệ Giao thơng vận tải. Từ đó đề xuất một số giải pháp phịng chống tấn cơng, khai
thác lỗ hổng để nâng cao độ an toàn an ninh cho các website của trường. Do đặc thù của
các hệ thống nên chưa thể thử nghiệm hết các giải pháp đưa ra, mà chỉ đề xuất giải pháp từ
những tìm hiểu ở chương 2. Các giải pháp đưa ra phù hợp các tính chất của các website
được khảo sát và có tính khả thi.


22

KẾT LUẬN
Kết quả đạt được
Luận văn trình bày khái quát về một số dạng tấn công phổ biến vào ứng dụng web.
Phân tích cơ chế, mục đích, đối tượng tấn công cũng như những tác hại mà các cuộc tấn
công này gây ra.
Luận văn đưa ra các biện pháp phát hiện, ngăn chặn một số phương thức tấn công
phổ biến: tấn công từ chối dịch vụ, tấn công SQL Inejection, tấn công XSS, tấn công SSL.
Khảo sát các website của trường Đại học Công nghệ Giao thông vận tải, từ đó dề
xuất một số giải pháp nhằm nâng cao độ an tồn an ninh mạng. Giải pháp đưa ra có tính
khả thi, có kết quả tốt thi thực nghiệm.
Hướng phát triển

Đề tài của luận văn có thể phát triển theo hướng:
Tiếp tục tìm hiểu, cập nhật các dạng tấn cơng các, đưa ra các giải pháp hữu dụng
với mỗi dạng tấn cơng. Việc này có ý nghĩa quan trọng trong việc phịng chống các cuộc
tấn cơng.
Nghiên cứu kết hợp các giải pháp cho các ứng dụng web khác ngoài trường Đại học
công nghệ Giao thông vận tải.
Xây dựng một phương pháp đánh giá toàn diện, chuyên sâu và khắc phục được các
lỗ hổng trong ứng dụng web, nâng cao khả năng phòng thủ giúp ứng dụng web hoạt động
tốt nhất.



×