Các đổi tượng tân công Hn tặc có ác chủ sở hữu, Lm cách khai chủ tâm dánh cấp, lợi dụng hoặc phá hoại tai sin c1 thác các điểm yêu để tân công, tạo ra các nguy cơ vả các rủi ro cho các
Trang 1LOI CAM DOAN
Tôi xin cam doan dễ tài nghiên cứu của tôi do tôi nghiên cửu và thực hiện dưới
sự hướng đẫn của Thây giáo TS Nguyễn Đình Hưng Với mục đích học tập, nghiền cứu để nâng cao kiên thức vá trình độ chuyêu môn nên tôi đá làm luận văn này ruội
cách nghiêm túc và hoàn toàn trung thực
Đổ hoàn thành bản luận văn nay, ngoài các tài liệu tham khảo đã liệt kẻ, tôi cam đoan không sao chép toàn văn cáo công trình hoặc thiết kẻ tốt nghiệp của người khác
Nếu xãy ra bất cứ điều không đúng như những lời cam đoan trên, tôi xim chịu
hoàn toàn trách nhiệm trước viên và Nhà trưởng,
Tla Ndi, thang § năm 2015
Hạc viên
Tran Thị Hằng
Trang 2LỜI CẢM ƠN
Để hoàn thành luận văn “Nghiên cửa bdo mét théng tin cho hé théng website”,
em xin lò lòng biết ơn sâu sắc đến TẾ — Nguyễn Đình Hưng đã lận tình hướng dẫn trong suốt quá trình viết luận văn tắt nghiệp
Em xm chân thành cảm ơn gợi Thầy, Cô Viện Công nghệ Thông tim & Truyền
thông, Trường Đại học Bách Khoa Hà Nị dã tận tình truyền dụi kiến Une trong thei gian học tập và nghiền cứu Với vẫn kiến thức được tiếp thụ trong quớ trình học lập và
nghiên cứu không chỉ là nên táng cho quó trình nghiên cúu khóa luận mà còn là hành
trưng quý bản để em bước vào đời một cách vững chắc và tự lin
1ữn rất biết ơn sự ũng hệ của đồng nghiệp, gia đình và bạn bè - những người thân yêu luôn là chỗ dựa vững chắc cha em
Trong phạm vì luận văn lỗi nghiệp cao học khó có thể diễn đạt hết zmặt lý
thuyết cũng nhụ kỹ thuật, mặc dù đã cố gắng hoàn thành luận văn với tất cả sự nỗ lực
của bạn thân, song luận văn khó có thế tránh khỏi những thiểu sót Kính mong nhận
được những ý kiến dáng góp dễ tác giả tiếp tục hoàn thiện kiến thức cũng như giải
pháp của mình
Cỗi cùng, em xin kinh chic Quy Thay cô, Bạn bè, Đông nghiệp luôn đôi đàn
sức khỏe và thành công trong sự nghiệp
Xin chân thành: căm ơn!
Hoe viên
Tran Thi Hang
Trang 3MUC LUC
LOI CAM DOAN
LOI CAM ON
DANH MỤC CÁC KÝ HIỆU, CAC CHU VIET TAT
DANH MỤC CÁC TIÌNII VẼ, CÁC BIÊU BẢNG
MỞ ĐẦU
CIIVONG I TONG QUAN VE AN NINI AN TOAN UNG DUNG WEB
1.1, Khai niém vé an toan théng tin
1.2 Các công nghệ dùng trong ứng dụng web
1.2.1 Giao thức IITTP, S5L
1.22 Công nghệ được sử dụng để tạo ang web
1.3 Phân tích thực trang bdo mat website ngay nay
1.4 Các rủi ro thường gặp trong ứng dung web
1.4.1 Dữ liệu dầu vào không được kiểm tra
1.42 Lãi kiểm soát truy cập nguồn tải nguyên
1.4.3 Lỗi liên quan dến quá trình quản lý xác thực và phiên truy cập
1.4.4 1.41 Cross Site Scripting (XSS)}
1.46 Lỗi Injertion
1.4.7 Lưu trữ thiểu an toàn
1.4.8 Tắn công từ chỗi dịch vụ
CHUONG IL PHAN TICH CAC VAN DE LO HONG BAO MAT THONG
TIN WEBSITE
2.1 Thao tác trên tham số truyền "
2.1.1 Thao Lac trén URL
2.1.2 Thao tác trên biển ấn Form
2.1.3 Thao tác trên Cookie
2.1.4 Thao tác trong IITTP IIeader
35
Trang 42.2 Chén cau linh tuy vin SQL (SQL Injection) 40
2.3.1 K¥ thuat tin céng Cross Site Scripting (X88) 57
2.3.2 Phương pháp tấn công XSS truyền thông 59 2.3.3 Một số website tìm thấy lỗ héng KSS - 62
2.4.3 Một số cách gây tràn bộ đệm qua img dung web - 67
2.6 Chiếm hữu phién lam viéc (Session Management) 74
CHƯƠNG II TRIỆN KHAI PHƯƠNG PHÁP TÂN CÔNG TỪ CHÔI DICH VU VA GIAI PHAP BAO MAT WEBSITE TRUONG DAI HOC SU
3.1 Tình hình ứng dụng công nghệ thông ti giai đoạn 2011-2015 cÝ T7
Trang 53.1.2 Ứng dụng nội hộ BB
3.2 Hiện trạng Wcbaitc trường Đại học 8ư Phạm Kỹ thuật vinh 79
Trang 6DANH MỤC CÁC KÝ HIỆU, CAC CHU VIET TAT
ICMP Trdemet Conlrol Message Protocol
Trang 7
ĐANH MỤC CÁC HÌNH VẼ, CÁC BIẾU BẰNG
Hinh 1 1 Ca sở cha một mô hình tẳng quát - - 5
Tinh 1.3, Cau hinth đây đủ URI, " teetettee ceases
Hinh 1.8 Vi du-vé web form POST cesses ccc ceee ces eeeee cee cee cer essteeneee „1Ô
Hình 1.11 Ví dụ về File Upload PUI cà 211 THình 1.12 Iioạt động File Deleetien — DELETH cà srsc sex cá s+11
Tình 1.14 Một ví dụ về nội dung thông điệp HTTLP sec cà có 18
Hinb 1.16, Cau tric thong digp HTTP Response ào eee ld
1iịnh 1,17 Cụ thể trường Status-Line eo .14
Tình I.18 Các giao thức con của SSL trong mô hình TCP/TP, Is
Tinh | 20 Sử đựng Proxy để thay đổi tham số "———-
Hình 1.25, Tân công từ chối dịch vụ cà nọ nọ cà sexy - 33
Hình 2.3 Cơ chẻ thiết lập kết nội trước khi truyền sỏ liệu 6Ø
Trang 8Hình 2.6 Lắn céng DDoS
TRình 2.7 Tân công kiểu DRDoS
Tình 3.1 Sơ đổ mạng trường Đại học Sư phạm Kỹ thuật Vinh
Hinh 3.2 Website trường Đại học Sư phạm kỹ thuật Vĩnh
TRình 3.3 Cải đặt DoSITTTP 2.5.1
Tình 3.4 Chọn Card mạng đề bắt gói tin
Tình 3.5 website mục tiêu kiểm tra
Tình 3.6 Kiểm tra WireShark
Binh 3.7 Xác định mục tiêu và bắt đầu tấn công,
Hình 3.8, Kiểm tra các kết nối trong WireShark khi tân
Hình 3.9 Kiếm tra lại website
Tình 3.10 Tắt phần mém DoSHTTP
Hình 3.11 File báo cáo kết quả
Tĩnh 3.12 M6 hinh IP Snort
Hinh 3.13 Quá trình xử lý goi Hinh
Linh 3.14, Công cụ FortGuard I'irewalL
Trang 9
hi mà trên Internet, ứng dụng web dã trở nên phổ biển, ứng dụng một cách rộng rãi
thi các cuộc tân công ứng dụng web cũng phát triển hết sức phức tạp Diéu nay đã đặt
Ta van để cấp thiết cần làm như thế nào để bảo đảm an toàn thông tin cho ứng dụng web, thông tin của người sử dụng Các khải niệm chuyên môn về ửng dụng web va tin công ứng dụng web cũng dân trở nên phô biến hơn trong các tài liệu chuyên ngành
Các nông cụ hỗ trợ người lập trình web, người quân tri mạng cũng xuất hiện giúp tìm
kiểm lỗ hỗng của ứng dụng web nhưng nó không theo kịp sự phát triển nhanh đến mức chóng mặt theo xu hướng nhanh hơm, đẹp hơn của các ứng dựng web, tất nhiên nd không thế ngăn chăn hoàn toàn các cuộc tắn công ứng đụng web, khi mà các cuộc lấn công ngảy càng đa dạng khai thác triệt để những lỗi của ủng dụng web, của người
quan tri, hay người lập trình ứng dung web
Thống kê cho thay 75% cuộc tắn céng Internet là tắn cổng ứng dụng web, nó
gây ra những thiệt bại vô cùng la km, vì vậy việc từn hiểu về tân công ứng dụng web
lả rất cần thiết nhằm có cách phòng chống tắn công và bảo mật thông tin website hiệu quả trở thánh một vêu câu cấp thiết Luận văn “Nghiễn cứu bảo mật thồng tin cho hệ
thống website” sẽ đáp ứng phản ndo nhu cầu cấp thiết về an ninh bảo mật hiện nay
Xây dụng nên quy trình phục vự cho việc kiểm tra và phát hiện các điểm yêu an toàn thông tin trong ứng dụng web, từ đó đưa ra báo cáo đánh giá về an toàn thông tin cho
website
Luan van gém 3 chương với các nội dung sau:
Chương I: Tổng quan về an ninh an toàn ứng dụng web
‘Ivinh bảy khải niệm vẻ an toàn thông tin Cae rai ro thường gặp và cơ chế
phỏng thủ trong ứng dụng web
Chương II: Phân tích các vấn dễ lỗ hổng bảo mật thông tin website
Trang 10‘Trinh bay một cách chỉ tiết các phương thức tấn céug cling nhy cac each tlic phòng chống tấn công
Chương IIE Triểu khai demo các hình thức tấn công và các giải pháp bảo mật cho Website trường Đại học Sư phạm KKỹ thuật vĩnh
Mô phỏng một số tấn céng diễn hình nh SQL Injection, DoS, va giai phap thực nghiệm phòng chồng tan công cho website trường Đại học Sư phạm Kỹ thuật
Vĩnh
Luận vẫn đã được kiểm tra kỹ nhưng cũng không tránh khỏi những sai sót, rất
mong nhận dược sự đóng góp ý kiến của quý thầy cô, bạn bè và các déng nghiệp dễ dễ
tải hoàn thiện hơn nữa
Trang 11CHƯƠNG T TONG QUAN VE AN NINH AN TOAN UNG DUNG WEB
1.1 Khái niệm vé an toan thing tin
'Thông tin dược lưu trữ bởi các sẵn phẩm vá hệ thông CNTT là một tài nguyên quan trong cho sự thành công của tổ chúc đó, lả tài sản của một cá nhân hay tổ chức Các thông lim cá nhân lưu trữ trong hệ thống thông tín cần dược giữ bí mật, bão về và không bị thay đổi khi không được phép Trong khi các sản phẩm và hệ thống CN'T
thực hiện các chức năng của chúng, các thông tin cần được kiểm soát để đảm bảo
chúng dược bảo vệ chống lại các nguy cơ, vi dụ như việc phố biến va thay đổi thông, tin không mong muén va trai phép, nguy co mat mat théng tin [1],[5],[6]
Án toàn thông tin là an toàn kỹ thuật cho các loạt dộng của các cơ sở hạ tẳng
thông tin, trong đỏ bao gồm an toàn phân cửng và phần mềm theo các tiêu chuẩn kỹ thuật đo nhà nước ban hành, duy trì các tính chất bí mật, toàn vẹn, chính xác, sẵn sang
phục vụ của thông tin trong lưu trữ, xử lý và truyền tải trên mạng (theo định nghĩa trong Nghị định 64-2007/ND-CP)
Thuật ngữ an toàn CNTT thường sử dụng dễ chỉ việc ngăn chặn và làm giảm
nhẹ các môi nguy hại tương tự đối với các sản phẩm và hệ théng CNTY
Mục êu hướng tới của người đũng là bão vệ các lãi sẵn nói trên Tuy nhiền,
các sản phẩm và hệ thêng thường luôn tổn tại những điểm yếu dẫn đến những rủi ro có thể xảy ra, lâm tốn hại đến giá trị tải sân thông tin Các đổi tượng tân công (Hn tặc) có
ác chủ sở hữu, Lm cách khai
chủ tâm dánh cấp, lợi dụng hoặc phá hoại tai sin c1
thác các điểm yêu để tân công, tạo ra các nguy cơ vả các rủi ro cho các hệ thông,
Với các biện pháp an toàn thông tin người dùng cỏ được công cụ trong tay dé nhận thức được các điểm yêu, giãm thiểu các điểm yếu, ngăn chặn các nguy cơ tấn công, làm giảm các yếu tố rửi ro Như vậy, các biện pháp và kỹ thuật đâm bảo an toàn
thông tin chỉnh lả mang lại sự tin cây cho các sản phẩm và hệ thẳng
Đâm bảo an toàn thông tin là đầm bảo an toàn kỹ thuật cho hoạt động của các
cơ sở hạ tảng thông tin, trong đó bao gồm đám bão an toàn cho cả phần cứng và phân mềm hoạt động theo các tiêu chuẩn lcÿ thuật do nhà nước ban hành; ngăn ngùa khả nắng lợi đụng ruạng và các cơ sở lụ tảng thông tín để thực hiện các hành vĩ trái phép gay hai cho công đồng, pham pháp hay khủng bố, đảm bảo các tính chất bí mật toàn
Trang 12ven, chính xác, săn sảng phục vụ của thông tin trong lưu trữ, xử lý và truyền tải trên
Trạng
Thư vậy khái niệm đâm bảo an toàn thông tin bao hàm dâm bão an toàn cho cả
phần cửng và phần mềm An toán phẩn cứng lá báo dam hoạt động cho cơ sở hạ tằng thông lin An toàn phần mềm gồm các hoại động quản lý, kỹ thuật nhằm bão vệ hệ thông thông tin, đắm báo dâm cho các hệ thông thực hiện dùng chức năng, phục vụ đúng đối tượng một cách sẵn sàng, chính xác, tin cậy An toàn công nghệ thông tin là đảm bão an toàn kỹ thuật cho các sản phẩm, địch vụ và hệ thống công nghệ thông tin
An toàn thông tin yêu cầu nhằm đảm bảo 3 đặc điểm quan trọng nhật của thông
tin, đỏ là: tính bí mật, tính toàn vẹn và lính sẵn sảng Các đặc điểm này bao trim toan
bộ phạm trủ an toàn các hệ thống thông tin Các đặc diễm này cũng dùng với mọi tô chức, không lệ thuộc vào việc chứng chia sẻ thông tin như thể nảo
© Tink bi mat
Tỉnh bí mật là tâm điểm chính ctia moi giai phap an toan cho mét san phẩm trên
hệ thống CNTT Một giải pháp an toàn là tập hợp các quy tắc xác định quyển được truy cập đến với thông tin đang tùn kiếm, đối với một số lượng người sử dụng thông
tin nhật định và một số lượng thông tin là tải sản nhật định Trong trưởng hợp kiểm
soái truy cập cục bộ, nhóm người tray cap sẽ được kiểm soát xem là họ đã truy cập những số liệu nào, Tính bí mật là sự dâm bão rằng các chức năng kiểm soát truy cập
có hiệu hực
= Tính toàn vẹn
'Eình toàn vẹn, không bị sửa đổi là đặc tính phức hợp nhất và dễ bị hiểu lắm của
thêng tin Một định nghĩa khái quát hơn được sử dụng ở trong tài liệu này là vẫn để
cấp dộ là chất lượng của số liệư (thông tin), chử không phi là con người dược, hoặc không được phép truy cập Dặc tính toàn vẹn được hiểu là chất lượng của thông tia được xác định căn cứ vào độ xác thực khi phản ánh thục tế Số liệu càng gần với thực
tế bao nhiều thì chất lượng thông tin cảng chuẩn bây nhiêu
© Tính sẵn sàng
Tỉnh sẵn sảng của thông lim cũng là mél dc tinh quan trong, không khác gì các
đặc tỉnh đã dễ cập đến Đó là khia cạnh sống còn của an toan thông tin, đảm bảo cho
4
Trang 13thông tin dén dimg dia chi (aguoi được phép sử dụng) khi có như câu, hoặc dược yêu
cầu,
Độ ba các đặc tỉnh then chét của thông tin để cập dến ở trên bao trùm toàn bộ các mặt của việc đảm báo an toản thông tin Một mna trên được tạo nên bởi 3 yếu tổ là
3 Wang ái của thông tin (iruyén dan, lau giữ, xử lÙ được mình họa ở trục hoành;
cùng với 3 dặc tính then chốt của thông tr (dộ tin cậy, tỉnh toàn ven, tinh sin sang) được minh họa trên trục tung có thể được sử dụng lảm nên tảng cho mô hình thể hiện các biện pháp an toàn thông tia
thành chiều thứ 3 của không, gian ma trận:
« _ Các biện pháp công nghệ: Bao hảm tất cá các biện pháp thiết bị phản cứng, các
phan mém, phan sim (nnware) cũng như c kỹ thuật công nghệ liên quan được
áp dụng nhằm dâm bảo các yêu cầu an toàn của thông tin trong các trạng thải của
nó như đã kế trên
« Cac biện pháp về tế chức: Dưa ra các chỉnh sách, quy định, phương thức thục thí Thực tế cho thấy, an toàn thong tin không chỉ đơn thuản là vẫn để thuộc phạm trủ công nghệ, kỹ thuật Hệ thông chỉnh sách và kiến trủc tổ chức đông, một vai trò
hữu hiệu trong việc đảm bảo an toàn thông từn
œ _ Các biện pháp về đão tạo, tập huẫn, nâng cao nhận thúc: Các biện pháp công,
nghệ Hay các biện pháp về tổ chúc thích hợp phải dựa trên các biện pháp đảo lạo,
tập huẳn vả tăng cường nhận thức đề có thể triển khai đảm bão an toàn thông tin từ thiêu hướng khác nhau Các nhà nghiên cứu và các kỹ sư cũng cần phải hiểu rõ cáo nguyên lý an toàn hệ thông thông tia, thì mới mong các sẵn phẩm và hệ thông
Trang 14đo họ làm ra đáp ứng được các như cầu về an toàn thông tin của cuộc sông hiện tại
đặt ra
Mô hình ma trân không gian 3 chiều kể trên cỏ thể áp dụng lam cơ sở cho đảnh
giả an toản thông tin một cách khải quát nhất Ví dụ: Người đánh giả an toàn thông tin cho một sản phẩm lả một hệ thống thông tin sẽ phải xác định các trạng thái thông tin trong hệ thông cân được đảnh giá Mô hình tổng quát nảy sẽ cho phép xác định các
trạng thải thông tin không bị lẽ thuộc vào bắt kỳ công nghệ cụ thẻ nảo đang được áp
HTTP (Hypertext Transfer Protocol) là giao thức thuộc lớp ửng dụng trong m6
hình thao chiếu OSL Hoạt động thông thường ở công (port) 80 và là giao thức hướng kết nổi Nói cách khác, trước khi thực hiện phiên làm việc, giao thức HTTP sẽ thực hiện bắt tay ba bước
Trang 151.2.1.1.2 URI — Uniform Resource Identifiers
Thông thường, chủng ta quen thuộc với định nghĩa URL (Unifomm Resource Locators) Địa chỉ http://www example com là một ví dụ về URL Trên thực tế, không
có nhiều khác biệt giữa hai khái niêm URL va URI, URL 1a chi mét loại của URI
URI là một đặc điểm kỹ thuật của giao thức HTTP Như hình dưới cho thay
một URI chứa rất nhiều các thành phần, không đơn giản như ƯRL
Usemame: Nếu giao thức hỗ trợ khái niệm vẻ tên người ding thi username cung cấp tên người dủng đẻ chứng thực truy cập tải nguyên
Password: Mật khâu truy cập tài nguyên
Host: Tên miễn truyền thông cho webserver
Port: Là port cho các giao thức lớp ứng dụng, ví dụ như HTTP 1a céng 80 (có
thể bỏ qua tham số này)
Path: Đường dẫn path cập đền tải nguyên được đặt trên server
File: Tên các tập tin tải nguyên trên server
Query: Các truy vẫn thêm thông tin về tải nguyên của client
Fragment: Một vị trí nảo đỏ trong tài nguyên
121.13 Hoạt động HTTP
> Kết nổi
HTTP thuộc giao thức TCP, vi vậy trước khi tiền hành truyền thông phải thực
hiện phiên kết nôi TCP
Trang 16Trước đây, mỗi kết nỏi TCP sẽ thực hiên chỉ một request HTTP va mot
response, nghia la néu client request 2 lan thi sẽ can 2 phiên kết noi TCP Diéu nay gay
ra nhiéu bat cap, ảnh hưởng rất nhiều đến hiệu năng hoạt động của server
Hinh 1.4 Hoat déng ctia HTTP
Hiển nay, giao thức HTTP đã hỗ trợ một phiên kết nối TCP cho phép nhiều
Trang 17® Web Page Retieval GET
Hoat déng HTTP don gian nhat la GET Đó là cách để client lây một đổi tượng
hoặc tải nguyên nào đó trên server Cáo trình duyệt sẽ yêu cầu một website từ server
voi GET
Clant
Hinh 1.7 Hogt dng GET ctia HTTP
Với ví dụ tiên, client khởi tạo và gũi thông digp GRT dén server, thing diép
này dịnh danh dối tượng mã client yếu cầu server dap ửng bằng một URI (Uniform Resource Identifier) Server có thể trả về tải nguyên ma client yêu câu với một mã trạng thái 200 OK Nếu server không đáp ứng được yêu cau client thi nó sẽ gửi về một
số mã trạng, thái khảo được mồ tá ở bảng bên dưới
100—199 | Thông tin: các server nhận được yêu câu nhưmg kết quả chưa có sẵn để trả
vé client
200-299 | Thành công: Các server đã có thể trả về theo yêu câu thành công,
300— 399 | Chuyên hướng: Các chent đã được chuyên hướng yêu câu đên server
khác hoặc tải nguyên khác
400 — 199 | Lôi chent: Các yên câu của client chứa lồi mà server không thể trả về kêt
quả
500—599 | Lỗi server: Server đã không hành động theo yêu câu, ngay cả yêu câu là hợp lệ
Bảng Mã trạng thái được trả về của HTTP
& Web Fomns —POST
'Trong khi GIIT cho phép một server gửi thông tì đến chent, thì hoạt động POST cưng cầp một cách để cHent gửi thông tin đến các server Trinh đuyệt sử đựng POST đề gũi một dung các Fonn đến web server Hình đưới cho thấy một ví dụ như vậy:
Trang 18Hinh 1.8 Vi du vé web form POST
Hình 1.9 Hoạt động POST của HTTP
Như hình trên cho thấy, hoạt động POST đơn giản như GET Client gửi một
thông điệp POST và bao gồm thông tin ma nó muốn gửi đến server Cũng giỏng, như
GET, một phân của thông điệp POST là URI Nhưng trong trường hop nay, URI xác
định các đối tượng trên server có thể xử lý thông tin
Cũng như GET, server có thẻ trả vẻ thông tin cho client Đổi với trình duyệt
web, thông tin thường là một trang web mới đề hiển thị
> File Upload - PUT
Các hoạt động PUT cũng cung cấp một cách đề client gửi thông tin đến các
server Hay nói cách khác, PUT dùng để upload dữ liệu lên server
Như hình dưới đây cho thay, hai hoat déng nhin rat giéng nhau Với POST,
client gtri bao gom mét URI va dit ligu Web server vé ma trang thai, tiy chon kèm
theo và dữ liệu Sự khác biệt giữa POST và PUT ở chỗ URI: Với POST, cac URI xác
đình một đổi tượng trên server mả có thẻ xử lý đữ liệu Với một PUT, các URI xác
định đổi tượng trong đỏ các server nên đặt dữ liêu (vi dụ đường dẫn cho server đặt dữ
liệu)
10
Trang 19Trong khi một POST URI thường chỉ ra một chương trình, scrip thi PUT URI thường là đường dẫn vả tên cho tập tin
(Chi chap nbn fies: doc, x, L-Besse )
2, Fat)
Chép lại Mã an toàn
Giifile |
Hinh 1.11 Vi du vé File Upload — PUT
» File Delection- DELETE
Với GET và PUT, giao thức HTTP trở thành một giao thức chuyên file đơn giản Hoạt động DELETE sẽ hoàn thành chức năng này bằng cách giúp client xóa các đối tượng, tải nguyên từ các server
Như hình dưới đây cho thay, client gtri một thông DELETE củng với các URI của đổi tượng mà server nên xóa Các server đáp ứng một mã trạng thải vả dữ liệu kèm
theo
Hinh 1.12 Hoat déng File Delection — DELETE
11
Trang 20> Trang thai HEAD
Các hoạt động của IIDAD giống như GIT, ngoại trừ server không trả lại đối tượng thực tê yêu cầu Cụ thể, server sẽ trả về một mnã trạng thái nhưng không có đữ liệu (HRAD có nghĩa là “tiêu để”, nghĩa lả server chỉ trả vẻ thông điệp chứa tiêu để
chứ không chứa dữ liệu)
Clent có thể sử dụng thông điệp HBAD khí muốn xác mình rằng một đối lượng,
có tổn tại hay không
Ví dụ: Có thể sử đụng thông diép HEAD 4é dam bảo liên kết đến một đổi tượng, hợp lê mà không tiêu tốn băng thông,
Cache trong trình duyệt cũng có thể sử dụng thông điệp HHAD để xem một đối
tượng đã thay đối hay không, nêu không thay đối thì hiến thi thông tin đã được hưu
trước dây, nếu thay đổi thì sẽ thực hiện GET dễ lấy đữ lều về tù server
1.2.1.1 4 Théng điệp HTTP
Một thông điệp HTTP bắt dầu với một “line” hay một mã trạng thái, có thể dược theo sau bởi các tiêu để (header) khác nhau và phần thân (body) của thông điệp,
Cấu trúc của thông digp HTTP:
ATTP có hai táo nhân là chenL và server Các chemL gửi yêu câu (reucsl) và
server tra 1éi (response) Vi vậy, chủng ta sẽ phần tích hai thỏng điệp chinh la HTTP
Requests va HTTP Responses
¥ — IITTP Request
Trang 21
Hinh trén cho thay cau trac co ban ctia HTTP Requests Mot HTTP Request bat
dau bởi Request-Line Request-Line có thẻ được theo sau bởi một hoặc nhiều header
va body
Để cụ thể hơn, hình bên dưới cho thấy một thông điệp http (dưới dạng văn bản)
do Internet Explorer của Microsoft gửi khi người dùng truy cập vảo trang http: /Awww ft.com, Dòng đầu tiên là Request-Line, và tiêu đề thông điệp tạo nên phan
cỏn lại của văn bản
Hình 1.14 Một ví dụ về nội dung thông điệp HTTP
Hình dưới phân tích cụ thể hơn Request-Line, bao gồm 3 phân: Method-Phương thức của thông điệp, URI và Version-Phiên bản của HTTP
URI +
Hinh 1.15 Vi du cu thé vé Request-Line
Phuong thức (method) cụ thể xuất hiện đầu tiên trong Request-Line Trong vi
dụ trên đây là một phương thức GET
Mục tiếp theo trong Request-Line là Request-URI chứa nguồn tải nguyên can
truy cập Trong ví dụ trên, Request-URI là (/), chỉ ra một yêu cầu đối với các nguồn tài nguyên góc Phần cuối củng của Request-Line là phiên ban HTTP Như ví dụ trên cho thấy, HTTP phiên bản 1.1
¥ HTTP Response
Request Response bat dau béi Status-Line (dòng mã trạng thái) Sau đó là phân thông tin của Header và một dòng trắng Cuối cùng là phân body
13
Trang 22describe the general communications (optional) ]_——
The specie response, OF tne included Entity Headers
RRO: fank Une
Hình 1.16 Cắu trúc thông điệp HTTP Response
Status-Line bắt đâu bởi số phiền bản của HTTP (trường hợp nảy lả HTTP/1 1),
sau đó là mã trạng thải (trường hợp nảy l 200 OK)
MTTP/4.1 206 0K Date: Sun 08 Oct 2000 18:46:12 CHT
‘Apache/1.3.6 (Untx) sp-Al {vex timeout=S max=20
‘Thebiark tine hare marks theendot Connection: Keep-Alive
Se Nees hee Content-Tyne: text/htm}
‘pummerical status code and a textual
‘description af the response
Hình 1.17 Cụ thể trường Status-Line
121.2 Giao thức SSL
SSL (Secure Socket Layer) là giao thức đa mục đích được thiết kế đề tạo ra các
giao tiếp giữa hai chương trình ứng dụng trên một công định trước (socket 443) nhằm
mã hỏa toản bộ thông tin đưđến, mà ngảy nay được sử dụng rộng rãi cho giao dich điện tử như truyền số liêu thẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) trên
Internet
Giao thite SSL t6 hop nhiéu giai thuat ma hóa nhằm đảm bảo quả trình trao đổi
thông tin trên mạng được bảo mật Việc mã hóa dữ liệu điền ra một cách trong, suỏt, hỗ trợ nhiêu giao thức khác chạy trên nên giao thức TCP
Giao thức SSL được hình thành vả phát triển đầu tiên năm 1994 bởi nhóm nghiên cửu Netscape dân dắt bởi Elgammal và ngày nay đã trở thành chuẩn bảo mật
14
Trang 23thực hành trên Internet SSL là giao thức tầng (layered protocol), bao gồm 4 giao thức
con sau:
+ Giao thitc SSL Handshake
+ Giao thtre SSL Change Cipher Spec
+ Giao thtre SSL Alert
Hình 1.18 Các giao thức con của SSL trong mô hình TCP/IP
Theo biểu đồ trên, SSL nằm trong tầng ứng dụng của giao thức TCP/IP Do đặc
điểm này, SSL cỏ thể được ding trong hau hết mọi hệ điều hành hỗ trợ TCPAP ma
không cần phải chỉnh sửa nhân của hệ thông hoặc ngăn xép TCP/IP Dieu nay mang
lại cho SSL su cai tiến mạnh mẽ so với các giao thức khác như IPSec (TP Security Protocaol) Vì giao thức nảy đỏi hỏi nhân hệ điều hành phải hỗ trợ và chỉnh sửa ngăn
xép TCP/IP SSL cũng có the dé dang vượt qua tường lửa và proxy, cũng như NAT
(Network Address Translation) ma khéng cản nguồn cung cấp
Hoạt động của giao thức SSL
Điểm cơ bản của SSL được thiết kế độc lập với tẳng ứng dụng đề đảm bảo tinh
bí mật, an toản và chồng giả mạo luồng thông tin qua Internet giữa hai ứng dụng bất
15
Trang 24kỳ, ví dụ như webserver va cac trinh duyệt khách (browsers), do đó được sử dụng rộng
rai trong nhiều ứng dụng khác nhau trên môi trường Internet
Toản bộ cơ chế hoạt động vả hệ thông thuật toán mã hỏa sử dụng trong SSL được pho biến công khai, trừ khỏa chia sẻ tạm thời (session key) được sinh ra tại thời
điểm trao đổi giữa hai ứng dụng lả tạo ngầu nhiên và bi mat đổi với người quan sát
trên mạng máy tính Ngoài ra, giao thức 8SL còn đỏi hỏi ứng dung chủ phải được
chứng thực bởi một đổi tượng lớp thứ ba (CA) thông qua giây chứng thực điện tử
(digital certificate) dua trên mật mã công khai (vi du RSA)
Sau đây ta xem xét một cách khái quát cơ chế hoạt động của S8L đẻ phân tích
cấp độ an toàn của nó vả các khả năng áp dụng trong các ứng dụng nhạy cảm, đặc biệt
lä các ứng dụng về thương mại và thanh toản điện tir
Hình 1.19 Từng bước thành lập mét két ndi SSL
16
Trang 25Giao thức SSL dựa trên hai nhóm con giao thức là giao thức “bất tay”
(handshake protocol) và giao thức “bản ghí” (record protocol), Giao thức bắt tay xác định các tham sổ giao địch giữa hai đổi tượng có nhu câu trao đối thông tin hoặc đứ
liệu, còn giao thức bản ghi xác định khuôn dạng cho tiền hành mã hóa và truyền tín hai
chiều giữa hai đổi tượng đó Khi hai ứng dụng máy tính, ví dụ giữa một trình duyệt web và máy chủ web, làm việc với nhau, máy chủ và máy khách sẽ trao đối “lồi c
(hello) dưới dạng các thông điệp cho nhau với xuất phát dầu tiên chủ động từ máy chủ,
đồng thời xác định các chuẩn vẻ thuật toán mã hóa vả nén số liệu có thể được áp dung giữa hai ứng dụng Ngoài ra, các ứng dụng cồn trao đổi “số nhận dạng/khós theo phiên” (session ID, session key) duy nhất cho lân làm việc đỏ Sau đó ứng dụng khách
yêu câu có chứng thực điện tử (đigital certificate) xác thực của ứng đụng chủ (web server)
Chứng thục điện tử thường được xác nhận rộng rấi bổi một cơ quan ining gian
(là CA-Certificate Authority) như RSA Data Sercurity hay VeriSign Ine., một dang t6 chức độc lập, trưng lập và có ny tín Các tổ chức này cung cấp địch vụ “xác nhận” số
nhan dang của một công ty và phát hành chứng chỉ đuy nhật cho công ty đó như là
bằng chứng nhận dạng (identity) cho các giao dịch trên mạng, ở đây Ja cdc may chit web server
Sau khi kiểm tra chứng chỉ điện tử của máy chủ (sử dung thuật toán mật mã công khai, như RA lại trình máy trạm), img dung may trạm sử dụng các thông Gin
trong chứng chỉ diện tử dễ mã hóa thông diệp gửi lại máy chủ muà chỉ có máy chủ cỏ
thể giải mã Trên co sở đỏ, hai ứng dụng trao đổi khóa chính (master key) khóa bí
mật hay khỏa đối xứng - để làm cơ sở cho viềc mỗ hóa luông thông tin/dữ liệu qua lại
giữa hai ứng dụng chủ khách Toàn bộ cấp dộ bảo mật và an toàn của thông thư/dữ liệu
phụ thuộc vào một số tham số:
(1) số nhận dạng theo phiên làm việc ngẫu nhiên
(2) cấp độ bảo mật của các thuật toán bảo mật áp dung cho SSL
(3) độ đài của khóa chính (key length) sử dụng cho lược đỗ mã hớa thông lin
Các thuật toán mã hóa dùng trong SSL
Cáo thuật toán mã hóa (cryplographic algoritan hay còn gợi là cipher) là các
hàm toán học được sử dụng để mã hóa vá giải mã thông tìm, Giao thức SSL hỗ trợ rất
17
Trang 26nhiều cdc thuat toan mi héa, duge sit dung để thực hiện các công việc trong quả trình xác thực server và client, truyền tải các certificates và thiết lập các khỏa của từng
phiên giao dịch (session key) CHent và server có thế hỗ trợ các bộ rnã (cipher suite)
khác nhan tùy thuộc vào nhiều yếu tổ như phiên bản SSL đang, dụng, chính sách của
công †y về độ dài khỏa mà họ cảm thây chấp nhận được - điều này liên quan đến mức
độ bảo mậi ủa hông tím,
1.2.2 Công nghệ được sử dụng dé tao trang web
Ban da _ các trang web lĩth; người dùng gũi yêu cầu mội lải nguyên nào đó, và server sẽ trả về tài nguyên đỏ Cáo trang web không có gì hơn là một văn bán được định dạng và phân tán Dối với cáo trình đuyệt, thì trang web tĩnh khẳng phải là các
yan dễ khó khăn, và trang web lúc đâu chỉ để thông tin vẻ các sự kiện, dịa chỉ, hay lịch
làm việc qua Internet mả thối, chưa có sự tương tác qua các trang web
Năm 1990, Tim Berners-Lee, tai CHRN, da sing ché ra HTML (Hyper ‘Text
Markup langtiage), ngôn ngữ đánh đầu siêu van ban IITML rat don giãn và dé ding,
và nó tra thanh mot ngén ngit rat phd bién va co ban
Tuy nhiên, không lâu sau đó, nhu cầu về các trang web động, có sự tương tác ngày một tăng, chính vì thể sự ra dời các công nghệ web động là một điều tất yếu Sau đây là một số công nghệ web động cơ bản:
1221 CGI
Giải pháp đầu tiên dé lam cdc trang web déng 1A common Getaway Interface
(CGH) CGI cho phép tạo các chương trình chạy khi người đừng gửi các yêu câu Giả
sử khi cân hiển thị các mục để bản trên Website voi m6t CGI script ta cd thể truy nhập cơ sở đữ liệu sản phẩm và hiển thị kết quả Sử dụng các farm IITML đơn giản và các CGI seript, có thể tạo các “cửa hàng” ảo cho phép ban sản phẩm cha khách hàng, qua một trình duyệt CGI seript cỏ thể được viết bằng một số ngôn ngữ từ Perl cho đến
Visual Basic
'Tuy nhiên, CGI không phải là cách an toản cho các trang web động Với CGI,
người khác có thể chạy chương trình trên hệ thông Vi thé có thể chạy các chương trình không mong muốn gây tôn hại hệ thủng Nhưng dủ vậy, cho dén nay thi CGI vin
còn được sử dụng
18
Trang 271.2.22 Applet
Thang 5/1995, John Gage cia hing sưn và Andrsssen (nay thuộc Netscape
Communications Corporation) di céng bé mét ngôn ngữ lập trình mới có tên Tava
Netscape Navigator da hé tro ngôn ngữ này, vả một cơn đường mới cho các trang, web động được mở ra, kỷ nguyên của applet bat dau
Applet cho phép các nhà phát triển viết các img dụng nhỏ nhúng vào trang web Khi người đùng sử dụng một trình duyệt hỗ trợ Java, ho có thé chay cac applet trong trình duyệt trên nền máy ão Java Virtual Machine (JVM) Du cing applet lam được nhiều điều song nó cũng có một số nhược điểm: thường bị chặn bởi việc đọc va ghi cde file hé thang, khang thé tdi cde thir vién, hode déi khi khéng thé thue thi trên phía client Bủ lại những hạn chế trên applet dược chạy trên mô hình bảo mật kiểu sandbox báo vệ người dùng khói các đoạn mã nguy hiểm
Có những lúc applet được sử dụng rất nhiều, nhưng nó cũng có những vấn để nay sinh: đẻ là sự phụ thuộc vào máy ao Tava TVM, các applet chỉ thực thi khi có môi trường thích hợp được cài đặt phía chen, hơn nữa lắc độ của các applel là lương đối chậm vì thể applet không phải là giải pháp tôi ưu cho web động,
1.2.2.3 JavaScript
Củng thời gian này, Netscape di tao ra mét ngôn ngữ kịch bản gọi là
TavaSenpL TavaSerpL được thiết kế để việc phát triển để đăng bon cho các nhà thiết kế
web và các lập trình viên không thành thạo Java (Microsoft cũng có một ngôn ngữ kịch bán gọi là VI3Script) JavaSeript ngay lập tức trở thánh một phương pháp hiệu
quả để tạo ra các trang web động Việc người la coi cáo Ireng như là một đối lượng đã
Jam nay sinh mét khai nigm moi goi la Document Object Model (DOM) Lue dau thi
JavaScript va DOM cé mét su két hợp chặt chế nhưng sau đó chứng được phân tách DOM hoan toàn là cách biếu điễn hưởng đối tượng của trang web và nó có thế được sửa đổi với các ngôn ngữ kịch bản bắt kỹ như JavaScript hay VHSoript
Tổ chức World Wide Wch Consortiun (W3C) đã chuẩn hóa DOM, trong khi Huropean Computer Manufacturers Association (ECMA) phé duyét JavaScript dưới dang dic ta ROMA Script
19
Trang 281.2.2.4, ISP/Serviet, ASP va PHP
Cũng với Java, Sun déng thời đua ra một công nghệ mới goi la servlet Cac
đoạn mã Java sẽ không chạy phía client như với applet, chủng sẽ được chạy trên một
từng dung phia server Servlet cũng đồng thời phục vụ các CGI seript Servlet lá một tbướo tiễn lớn, nó đưa ra một thư viện hàm API trén Java và một thư viện hoàn chỉnh
để thao tác trên giao thức HTTP JavaServer Page (T5P) là một công nghệ lập trinh web của Sun, củng với nó là một công nghé khac cia Microsoft — Active Server pages (ASP), ISP là công nghệ đôi hỏi một trình chủ hiểu được Tava
Microsoft đã nghiên cửu các nhược điểm của servlet và tạo za ASP dé dang hon
đồ thiết kế các trang web động Microsof thêm các bộ công cụ rất manh và sự lích hợp rất hoàn hảo với các web server JSp và ASP có những nét tương đương vi cling déu được thiết kế để phân tách quá trình xứ H khỏi quả trình biểu diễn Có sự khác biệt về
kỹ thuật, song cả hai đều cho phép các nhà thiết ké web tập trung vào cách bố trí (layouÐ trong khi các nha phát trrển phân mềm thị tập trung vào các kỹ thuật lập trình: logic Tat nhiên Microsoft và Sun không độc quyền ở các giải pháp phía server Còn
có các công nghệ khác, trong đó phai ké dén la PHP (Hypertext Preprocessor) cho tdi Cold Fusion, Cae công nghệ này cung cấp các công cụ rất mạnh cho các nhà phát
triển
12.2.5 Flash
Năm 1996, FutureWave đã đưa ra sản phẩm FutureSplash Animator Sau dé
FulureWave thuộc sở hữu của Mncromedia, và công ly này đưa ra sản phẩm Flash
Flash cho phép các nhà thiết kế tạo các ứng dụng hoạt họa và Inh động, Flash không đôi hỏi các kỹ năng lập trình cao câp và rất để học Cũng giống như nhiều giải pháp khác Flash yêu câu phan mém phia client Chang han như gởi Shockwavc Player plug-
in ed thé được tích hợp trong một số hệ điền hành hay trình duyệt
1226 DHTML
Khi Microsoft va Netscape dura ra các version 4 của các trình duyệt của họ, thì các nhà phát triển web có một lựa chọn mới: Dynamic HTML (DHTML) DHTML
không phải là một chuẩn của W3C; nó giống một bộ công eụ thương mại hơn Trong
thực tế nó lả một tập hợp gồm HTML Cascading Siyle Sheets (CSS), JavaScript và TOM Tập hợp các công nghệ trên cho phép các nhà phái triển sửa đổi nội dung và
20
Trang 29cầu trúc của một trang web một cách nhanh ehóng Tuy nhién, DHIML yéu cau su hé
trợ tử các trình duyệt Mặc đù cả Internet Iixplorer và Xetscape hỗ trợ DITML, nhưng các thể hiện của chứng là khác nhau, các nhà phát triển cẩn thiết phải biết được loại trình duyệt nào mà phía chient dùng, DHTML thật sự là một bước tiến mới, nhưng nỏ
yan cần một sự quy chuẩn đề phát triển Lliện nay DITTML van đang trên con đường,
phal triển mạnh
1.337 XAL
Kế từ khi ra dời vào giữa năm 1990 Extensible Markup Language (XML) cửa
W3C dẫn xuất của SGML đã trở nên rất phổ biển XML có mặt ở khắp nơi, Microsoft
Office L2 cũng sé hé tro dinh dang file XML
Ngày nay chúng ta có rất nhiều dang din xudt cia KML cho cdc img dụng web: XUL ctia Mozilla; XAMJ, mét sản phẩm mnã nguồn mở trên nén Java; MXML tir
‘Macromedia; va XAML cita Microsoft
1.3 Phân tích thực trạng bảo mật website ngày nay
Cũng với sự phát triển chưng của thể giới, trong những, nắm gan day, số lượng,
thuê bao Internet của Việt Nam tăng trưởng nhanh chóng Hiện, số thuẻ bao Internet
chiếm gần 32% đân số Việt Nam Đa số các doanh nghiệp và các tổ chức có hệ thông, mạng và website giới thiệu, quảng bá thương hiệu, với gần 200.000 tên miễn vn và
hang triều tên miễn thương mại Có rất nhiều doanh nghiệp đã ứng đựng thanh toan
trực hiyển vào công việc kinh dosrất, giao dịch,
Tuy nhiên, mạng Internet Việt Nam còn tiểm ẩn rat nhiều những nguy co về mặt an ninh, an toàn thông tin Dựa trên các bản báo cáo tổng hợp về an nình thông tin của nhiều hãng bảo mật mước ngoài như MeAfee, Kaspersky hay CheckPoint nguy
co mat an toan thông tin ở Việt Nam dang tăng lên đứng thứ 5 trong tổng số 10 mưóc
có nguy cơ mất an toàn thông tín cao nhất trong năm 2010 Cụ thể, Việt Nam đứng sau
Trung Quốc, Nga, Ân Độ và Mỹ về mức độ rủi ro mà qua đó người sử dụng và các nhà
cung cap dich vu Taternel só thể bị lắm công Năm quốc gia còn lại gồm Đức,
Malaysia, Phap, Ukraine va Tay ban Nha
Theo danh gid cia mét sé chuyén gia vé an nink mang, cdc tén mién vn dang
ding hàng thủ 3 trong bang xếp hạng các tên miễn có nguy cơ bị tấn công (khoảng,
21
Trang 3015.000 website) Đặc biệt, dã có nhiều trang web cỏ tên mién yn bj hacker tan céng, đùng làm địa chỉ để chuyển hướng ngâm truy cập của người sử dựng đến các web chứa
mã độc để cài cắm các phân mềm gián điệp vào máy người truy cập, đánh cắp thông
tim gá nhân
Các chuyên gia zm rình mạng cũng cho biết, đa số các trang web lớn của Việt Nam đêu cỏ lỗ hổng bảo mật và có thể bị chiếm quyền điều khiển Lễ hỏng an mình của các hệ thông ngày càng được phát hiện nhiều hơn Số lượng các điểm yếu an ninh trong năm 2010 là 4.300, có tới 30% lỗ hồng có mức độ nguy hiểm cao Gần một nửa (4984) số lễ hồng an minh vẫn chưa có cáo bán vá do nhà cưng cấp dịch vụ phát hành
Tiện trạng an Loan thông tin Việt Nam năm 2014
Diễn biến ngảy cảng phức tạp của tội phạm công nghệ cao giỏng, lên hỏi chuông, cảnh bảo về nguy cơ mắt an toàn an ninh mạng tại Việt Nam, Tính đến hết quý TH nằm
2014 tổng khối lượng website “vn" của Việt Nam bị tấn công và chiếm quyển kiếm soát dã lên đến con số hơn 6.500 Trung bình mỗi ngày có hon 18 website của Việt
Nam bị chiếm quyền điều khiến, trong đó hầu hết cáo tân công xuât phát điểm đêu đến
từ các nguồn ngoài lãnh thể
Theo SecurityDaily, trong 2 ngày 10-11/5/2014 đã có hơn 200 website của Việt
Nam bị các nhom hacker tan công và đề lại những lời nhắn, hình ảnh mang tính chất khiêu khich và chứng tỏ các website đó đều đã bị kiểm soát Ngoài ra, một số đợt tân công cao điểm từ liên ngoài nhấm vào hệ thông website Việt Nam có thể kế đến nữa là
2 đợt tắn công của các nhóm tin tặc vào cuỗi tháng 4/2014 và dầu tháng 9/2014 Đặc
biệt, trong nửa đâu tháng 9/2014 đã có tổng cộng 1039 website của Việt Nam bị chiếm
quyên trong củng một thời điểm, đây lả con số cao nhất được ghỉ nhận của nằm nay Điểm dàng chú ÿ là chỉ riêng trong, hai dợt tân công nay, cd dén 30 website của các cơ quan chính phủ và 69 website của cơ quan giáo dục Việt Nam bạ chiếm quyển hoặc bị
thay đối giao điện trang chủ
Một nghiên cứu vừa được công ty công nghệ Akamai có trụ sở tại achusells, Hoa Ky, cong bé cho thấy 4334 các vụ lấn công trên mạng Trlernel toàn cầu và phát tân virus đến từ Trung Quốc Đứng ở vị trí thứ bai là Indonesia với
15%, Mỹ đứng thứ 3 với 13%, Dài Loan 3,7%, Ấn Dộ 2,19%, Nga 2%, Drazil 1,7%,
Hàn Quốc 1,4%, Romania và Thổ Nhĩ Kỷ 1.2%,
22
Trang 31Không nằm ngoài những thống ké trén cia Mf, cli mu thie hign cac cude tin công quy mô tại Việt Nam ké trén phan lớn là do nhóm tỉn tặc Trung Quốc mang tên
1937CN, hoạt động đưởi sự bão trợ của chính phủ nước nảy 1937CN cũng chính 14
nhóm đã thực hiện vụ tấn công vào máy chủ DNS của facebookcom.vn vả
thegioididong.com trong tháng 8/2013 Sau khi chiêm quyển thành công, nhóm công,
khai trên đưa lầu trang chủ của mình các thông tin hén quan đến những vẫn để nhạy cảm giữa Việt Nam và Trung Quốc, về biển Đồng cũng như các chiến tích dạt dược trong việc tấn công các website Việt Nam Ngoài ra, nhỏm 1937ŒN cũng đã từng tắn công nhiều website “.gov.vn” (website của các tổ chức chính phủ Việt Nam)
Không chỉ riêng có 1937 CN Hưmn gia lấn công, Sky-Ryeye, một nhóm hacker
lớn khác của Trung Quớc cũng tham gia và đã thực hiện tấn céng gan 100 website của Việt Nam Nếu năm 2013 chỉ ghi nhận hơn 1.000 IP Trưng Quốc thực hiện các cuộc tan công thị con số nữm 2014 đã tăng lên đến gần 70.000 Tiếp theo sau Trung Quốc là
My (gn 25.000) va Dai Loan (hơn 20.000) Theo nhiều chuyên gia bảo mật trong
nước, hacker Trung Quốc đã thả phân mềm gián điệp xâm nhập máy tính ở nhiều quốc gia khác trên thế giới cũng như tại Việt Nam Các máy tính bị xâm nhập này đã bị biến thành các máy tính ma (zombie) Chúng liên kết các zoombie nay thành một mạng
máy tính tấn công lớn (còn gọi là botnet) rồi đùng nó đề tắn công vào các website khác
với sức công phả vũ cùng nguy liểm
Từ ngày 13-19/10/2014, hàng chục website lớn do hãng truyền thông VCCORP
quân lý và đồng quân lý bao gồm các bao mang như Dân trí, Người lao động, Thời bao
kinh tế Việt Nam, Vnliconomy và trang tin điện tử kenhl4, Soha News, VTV,
CmfeF, Muachung đội ngột tê liệt, không thẻ truy cập được Trầm trọng hơn, các
thông tin nhạy cảm và số liệu mật của VCCORP bị phơi bảy trên một trang thanh toán
điện tử của hãng, Sau 5 ngày sự có, thiệt hại ban đầu cho VŒCORP lên đến hàng chục
ng
nghiêm trọng nhất từng xây ra với VCCORP từ trước đến nay, thu hút hàng triệu lượt
ti dẳng thoo như lời một đại điện của tập đoàn mày Đây dược coi là sự có về hệ †
quan tâm của cộng đồng mạng
Sau nhiều nỗ lực diễu tra, kết luận cho thấy rõ ràng dây lá một cuộc phả hoại cỏ chủ đích đã được lên kế hoạch và có đầu tư nhằm vao VCCORP Nhom tin the da loi
dụng việc nhâu viên của hãng đã không tuân thủ dứng quy trình chính sách bảo mật đễ
bo ob
Trang 32cải một phần mềm giản diệp dược lập trình rất chuyên nghiệp dễ thực hiện ý dỗ của
chúng,
liiện nay, nhiều công ty công nghệ, truyền thông tại Việt Nam kinh doanh dụa
hoàn toàn trên Internet và việc bảo vệ các hệ thống máy chủ, đữ liệu là nhiệm vụ có
ảnh hưởng sống còn đến sự phải triển của công ly Tuy nhiên, các cá nhân, doanh nghiệp tại Việt Nam chua nhận thức được về mdi nguy hiểm đến từ các nhân mềm, các chương trình chua có bản quyền chia sẻ miễn phi trên Internet, cũng bởi trr duy tiết kiệm mà thưởng sử dụng các hệ điều hành, phản mèm không có bản quyền còn nhiều Bởi vậy, đã xuất hiện nhiều lỗ hỗng an toửn thông tin để hacker, virus hoặc mã độc có thể tân công vào hệ thông bát cứ lúc nào
‘Van dé trong bao mat an ninh thông tin của đoanh nghiệp và cáo tổ chức hiện
nay, theo ông Stefan Tanasc, chuyên gia nghiên cửu an ninh cấp cao, là ý thức của
nhân viên về báo mật thông tin cho đơn vị mình “người gác công” nảy chính là lỗ
hồng để các tin tặc tấn cóng vào doanh nghiệp Hiện nay, rất ít công †y công nghệ chí
trong dén bảo mại vì phần lớn nhân viên hệ thống của các công ly này không được đảo
tạo bài bản về an toàn thông tin, không có các đội phản ứng nhanh tại chỗ để ứng phó với các sự cổ an ninh có thể xây ra bất cứ lúc nào Theo đó, khi có sự cỗ xây ra các
doanh nhiệp sẽ không có biên pháp xử lý, không kịp trở tay và dẫn lới những hậu quả
lớn khó khắc phục
'Theo các chuyên gia an ninh mạng, dễ cung cắp dịch vụ online én dịnh thì các
hệ thông kiên quan phải được quản lý chặt chẽ, quản lý từ kỹ thuật, máy móc đến
những con người tham gia vận hành hệ thông Phối có chính sách dự phòng khi sự cỗ
xảy ra Hệ thống dữ liệu, máy chú phải được phân bổ nhiều địa điểm (site), không nên
đề tận trưng một chỗ đẻ phòng tránh những cuộc tân công và cân bằng tải khi hệ thẳng,
có số lượng truy cập tăng cao
1.4 Các rủi ro thưởng gặp trong ứng dụng web
1.4.1 Dữ Hệu đầu vào không được kiếm tra
Ủng dụng web sử dụng đữ liệu đầu vao trong các truy cập HTTP (hoặc trong,
các tập tin) nhằm xác định kết quả phân hồi EFacker có thẻ sửa đối bất kỳ phần nào
của một truy xudt HTTP, bao gim URL, querystring, headers, cookics, form fields, va
24
Trang 33thậm chí field ân (hidden fields), nhằm vượt qua các cơ chế bão mật [7] Các tấn công, phổ biển dạng nay gồm:
©) Chay lénh hé thang ty chon
* Cross site scripting
se Lỗitrànbộ đệm
« _ Lấn công Format string
© SQL Injection
© Cookie poisoning
© Sửa đối ñle án
Một số website báo vệ chồng lại loại tấn công nảy bằng cách thiết lập bộ lọc dữ liêu đầu vào Vấn để nan giải là có rất nhiều cach dé ma héa (encode) đữ liệu, và những phương cách mã hóa nảy không giống như cáo cach ma hoa thông thường khác
ở chế là nó dễ dang được giải rà Tuy vậy, những nhà lập trình viên thưởng quên giải
mã tắt cã các tham số trước khi sử đụng chúng Tham số cần phải được chuyển đối đến dang don giản nhất trước khi được kiểm tra, nếu không, dữ liệu xấu đầu vào có thể được mà hóa ấn và vượt qua tâng bao vệ của các mnodule kiếm tra đữ liệu
Một số lượng lớn ứng dụng chỉ sở đụng các cơ chế lọc phia trình duyệt dễ kiểm tra dữ liệu đầu vào Các cơ chế kiểm tra phía trình duyệt rất để đảng được vượt qua, và ứng dụng web xem như không được bao vé béi co ché nay Hacker có thê lạo ra các truy xuất HTTP không thông qua trình đuyệt bằng cách sử đụng các công cụ như telnet, truy xuất thẳng đến cổng 8O cuá máy chủ web Kiểm tra dữ liệu ở phia máy
trình đuyệt có lợi điểm về hiệu suất và tỉnh dé sử đụng, Luy nhiên cơ chế này không, cung cấp bất cứ lợi diểm gì về bảo mật Kiến tra dữ liệu ở phía server dong vai trò thiết yếu trong việc ngăn căn những cuộc tân công dang sủa đổi tham sẻ đầu vào Khi
các cơ chế bảo vệ ở server đá được thiết lập, cơ chế bảo vệ phía hình duyệt có thể
được sử đụng nhằm giám bớt dưng lượng các dữ liệu không hợp lệ đến máy chú
bo ù
Trang 34Cookie A = 1
Trình đuyệt Chương trình local Proxy Máy chủ web
Hình 1.20 Sử dụng Proxy để thay đôi tham số Hinh1.20 mô tả phương cách phổ biên của hacker hiện nay sử dụng để tân công ứng dụng web Trước tiên, hacker thiết lập một proxy đứng giữa trình duyệt và máy
chủ ứng dụng web Proxy này có khả năng chặn các gói dữ liêu trước khi chuyển đến máy chủ, đo đó cho phép hacker sửa đổi dữ liệu truy cập và chèn các mã tắn công
trước khi gửi dén img dung web
Những cuộc tân công dang nay dang có xu hướng ngày cảng phổ biển hơn do
số lượng các công cụ hỗ trợ các chức năng tạo tham số bát kỳ, tạo mã tán công, tân công brute force dang ngay cảng tăng Hậu quả của việc sử dụng các tham só không, được kiểm tra không nên được xem nhẹ Một số lượng lớn các cuộc tân công sẽ gây
khó khăn cho nhà lập trình web nêu họ không cỏ một hệ thống tập trung kiểm tra tỉnh
hợp lệ của tất cả các truy xuất HTTP
1.4.2 Lỗi kiểm soát truy cập nguôn tài nguyên
Kiểm soát truy cập tài nguyên (authorization), là cơ chế mà ứng dụng web cho
phép truy cập đến nội dung, tỉnh năng ứng dụng cho một số người sử dụng và từ chối
truy cập cho một số người sử dụng khác Những kiêm tra nảy được thực hiện sau quá trình xác thực, và quản lý các quyền truy cập mả người sử dụng được phép, Kiểm soát truy cập bê ngoài tưởng chừng là một vẫn dé đơn giản nhưng thực tế là một vân đề rất
khó được thi hành đây đủ Một mô hình quản lý truy cập tài nguyên cho ứng dung web
cần được thiết kế theo sát các nội dung và hàm chức năng của một website cung cấp
Những nhà lập trình viên thường không đảnh giá được mức độ khỏ khăn trong
việc xây dựng một cơ chế quản lý kiểm soát truy cập dữ liệu Đa số những chức năng
nay không được thiết kế từ lúc đầu mà được xây dựng kèm theo tủy tỉnh năng của ứng
26
Trang 35dung Vi vay, các chức năng kiểm soát dược xây dựng ở khắp các module khác nhau trong mã nguồn Khi ứng đụng được phát triển xong va đưa vào triển khai, các mã kiếm soát này sẽ trở nên không thẳng nhất và gây ra nhiều lễ hẳng nghiêm trọng khó
phát hiện được
1.4.3 Lỗi liên quan đến quá trinh quản lý xác thực và phiên truy cập
Quản lý xác thực và phiên truy cập bao gồm tất cả các yếu tổ quân lý xác thực người sử dụng và các phiên truy cập Xác thực người đừ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é bi 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
password, quên password, nhớ password ở trình duyệt, cập nhật tài khoản, và những, hàm chức năng khác
Xác thực người đẳng trên ứng đụng web thường bao gồm sử dụng một username va password, Những phương pháp xác thực khác mạnh hơn bao gồm các
giải pháp phản cứng hoặc mềm dụa trên các token mã hỏa hoặc dùng phương pháp
sinh trac hoc (biometrics) Tuy rhiê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 ứng dụng trong cdc ham quan lý tài khoán và phiên
truy cập có thể dẫn đến mỗi nguy cơ lộ tài khoản người sử dụng và thậm chí tài khoản
của người quân trị
Ung đụng web thường phải (heo đối và duy lrì phiên truy cập của người dùng
xiằ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 thi, mdi trường phát triển ứng đụ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, da số các nhà lập trình nghiêng về phát triển cơ chế riêng của họ Trong ca hai treémg hop, néu token quản lý phiên truy cập không được bao vé, hacker có thể ăn cắp token truy cập tài khoản của người khác
1.4.4 Lỗi Cross Site Scripting (XSS)
Tổ Crosa side scripting (thường được gợi tái là XSS) xảy ra khi một ứng dung web bi loi dụng dễ gửi dữ liệu xâu (thường là doan mã sơript) dế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 đữ liệu từ người đùng trong các giá trị phần hỏi mnà không
kiểm tra tính hợp lệ [4]
27
Trang 36Một hacker có thể sử dụng lỗ hỏng nảy để gửi các đoạn mã đền người ding
Trình duyệt trong máy người dùng không thê biết được nên tin hay không tin đoạn mã nảo, và sẽ thi hành đoạn script này Bởi vì trình duyệt tin rằng đoạn mã đến từ một
nguồn tin tưởng, đoạn mã script có thẻ truy cập đến cookies, session tokens, hoặc bắt
kỳ thông tin nhạy cảm nảo được lưu lại trong trình duyệt cỏ liên quan đến trang web
đang truy cập Những đoạn mã nảy còn có thể sửa đổi nội dung trang web Hậu quả của tân céng dang XSScos thé rat nguy hiểm, bao gồm lộ session cookie, cho phép
hacker chiếm quyên sở hữu tài khoản Những hậu quả khác bao gồm: lộ các tập tìn của
người dùng, cải đặt các chương trình trojan, di chuyển người sử dụng đến trang web
khác, sửa đổi nội dung trang web nhằm đánh lừa người đùng Hình dưới đây mô tả một ví dụ tắn công dạng cross site scripting với hậu quả là khách hàng bị lừa truy cập vào trang web giả mạo nhằm ăn cắp tải khoản khách hàng:
(2 Vulnerable Web Site
3 Hacker soạn một email giả từ nhân viên của ngân hàng gửi đến cho một khách
hang Trong email, hacker soạn một nội dung yêu càu khách hàng bam vao link
trông giống như link truy cập vào ngân hàng thật
hittp:/Awww bank-that com/dichvu php ?url=http://www.bank-gia com
28
Trang 374, Khách hàng nhân được email, tưởng là email từ phía ngân hảng thật, nén bam vào link
5 Khi bấm vào link, thay vỉ truy cập vào ngân hàng thật, trình duyệt của khách hàng được chuyên tự động đền trang web ngân hàng giả do hacker tạo sẵn trông
giống như ngân hàng thật: htp://www bang-gia.com
Khách hảng nhập thông tin đăng ký vào trang ngân hàng giả vả thông tin nảy được chuyên đến hacker
1.4.5 Lỗi tràn bộ đệm
Hacker sử dụng lỗi tràn bộ đệm nhằm ảnh hưởng đền dòng lệnh thực thi của
ứng dụng web Bằng cách gửi một đoạn mã được thiết kế đặc biệt đến ứng dụng,
hacker có thể làm cho ứng dụng web thi hanh bat kỳ đoạn mã nảo, điều nảy tương đương với việc chiếm quyên làm chủ máy server Mặc đủ là một lỗi phổ biến, lỗi tran
bộ đệm là loại lỗi rất khỏ được phát hiện vả ngay cả khi đã được phát hiện, lỗi này rất khó được lợi dụng do hacker cần một trình độ rất cao đề cỏ thể viết đoạn mã khai thác
một truy cập với gói đữ liêu có độ dài vượt mức cho phép mả hảm xử lý của ứng dụng
có thể xử lý Thông thường, dữ liệu đầu vảo được lưu trữ trên bộ nhở đêm trước khi xử
lý, dữ liệu vượt quá độ dài đăng kỷ sẽ được chèn lên các đữ liệu quan trọng khác trong
bộ đệm, dẫn đến khả năng thi hành mã tủy ý cho hacker
29
Trang 381.4.6 Léi Injection
Lỗi Injeetion cho phép hacker lợi dụng 16 héng trong img dung web làm
phương tiện để gửi các đoạn mã nguy hiểm đến hệ thông Những cuộc tân công dạng
nay bao gồm các mã gọi là hàm đến hệ điều hành, gọi các ứng, dụng qua lệnh shell, và
các ham gọi đến cơ sở dữ liệu (SQL Injeetion) Những đoạn mã nguy hiểm được viết bằng perl, python và ngôn ngữ khác có thể được chuyển đến và thực thi bởi ứng dung
web, hệ điều hảnh hoặc các ứng dụng khác [4]
Rất nhiều ứng dụng web sử dụng các hảm của hệ điều hành vả các chương trình ngoài để thí hành các chức năng Sendmail lả một trong những chương trình ngoài được sử dụng nhiều nhất Khi ứng dung web sử dụng dữ liệu tử người dùng để tạo ra
đoạn mã thực thú, dữ liệu từ người dùng cần được lọc kỹ lưỡng Nếu không, hacker cỏ
thể kẻm vào các ký tự đặc biệt, đoạn lệnh, vả những thông tin xau nay có thể được
chuyên đến hệ thống vả các chương trình ngoải
Một trong những dạng phố biến nhat ctia 164i injection 1a 16i “sql injection” Léi nay
xảy ra khi ứng dụng sử dụng những dữ liêu đầu vào không được kiểm tra làm tham số
đề xây dựng chuối lệnh SQL Bằng cách sử dụng những đoạn mã SQL đặc biệt, hacker
có thể gây ra những hau qua nghiêm trọng như:
30
Trang 39¢ Vượt qua hệ thong xác thực login ma khéng can sir dung password hoặc
username
e_ Truy cập vào một phần hoặc tất ca cac théng tin trong CSDL
œ Lấy được thông tin vẻ cầu trúc của cơ sở dữ liệu
© Sita déi hoặc xóa thông tin trong CSDL
©_ Chạy các lệnh trong hệ điều hành trên máy chủ CSDL
1.4.7 Lưu trữ thiếu an toàn
Đa số các ứng dụng web cân lưu trữ dữ liệu nhay cảm, trong cơ sở dữ liệu hoặc trong một tập tin nào đó trong hệ thông Thông tin nhạy cảm bao gồm: mật khâu, số thẻ tin dụng, thông tin tải khoản, hoặc các thông tin càn bảo vệ khác Các cơ che ma
hỏa thường được sử dụng đề bảo vệ những thông tin nảy Mặc dủ sử dụng các hàm mã
hóa không khó cho các lập trình viên, tuy nhiên, lập trình viên vẫn thường mắc những, lỗi co bản khí áp dụng vảo ứng dụng web do không hiểu rõ hét các đặc điểm mã hóa
ữ]
User enters credit card
@® cumverin torm
steals 40 million credit card numbers details because merchant Eses Hancierioes Of
gateway is unavailable
Logsare accessible to all @) J
debugging purposes
vã 4 @ Wiaticious insider
Hình 1.24 Lưu trữ thiểu an toàn
Những lôi thông thường bao gồm
e_ Không mã hỏa dữ liêu quan trọng như khóa, certificates và mật khẩu
© Lưu trữ các khỏa bảo mật trong bộ nhớ bằng các cơ chế không an toàn
© Co ché tao s6 ngau nhién không đảm bảo
®© Sử dụng sai thuật toản
®© Tạo một thuật toán mã hỏa không đảm bảo.
Trang 40Hậu quá của những diém yéu nay có thể rất nghiềm trong dén an toan ciia mét trang web, cho phép hacker lấy được toàn bộ các thông tin quan trọng được lau trữ
1.4.8 Tân công từ chối dich vu
Ứng đụng, web rất dễ bị tốn thương đo các cuộc tân công từ chổi dich vu (DoS)
Tấn công lừ chỗi địch vụ vào ứng dụng web được định nglữa là các tân công làm tê liệt ứng dụng, làm cho các truy cập hợp lệ không thể được tiền hành
Đa số máy chủ web chỉ có thế xử lý hỗ trợ mệt số lượng nhật đính người sử dung trong điều kiên bình thường Một Iaeker có thể tạo ra nhiễu truy cập công thời Lừ một máy để tấn công ứng dụng, Sử dụng load balaneing sẽ gây khỏ khăn cho các guộc tấn công kiểu này, tuy nhiên không thể ngăn ngừa hoàn toàn nếu cá quả nhiều truy cập
củng lúc
Một dạng khác của tấn công Do5 ứng dụng web dựa trên cáo lỗi trong chức
năng của ứng dung Ví đụ một ứng dụng sử đụng cơ chế tài khoản trong một tiếng,
hoặc hơn nêu nhận dược quả ba lần mật khẩu sai Hacker có thẻ lợi đụng diễm yêu này, gửi đến quả ba lẫn sai mật khẩu của một tải khoản hợp lệ, hậu quả lá người ding cửa tải khoản này không thế truy cập được trong một tiếng hoặc hơn
Trong một cuộc tần công lừ chối dich vụ điền hình vào ứng dụng web, hackers
sẽ tìm cách chiếm gần hết nguồn tài nguyên hệ thống trên máy chủ hoặc ứng dựng, hậu quả là người sử đụng hợp lệ không thể truy cập vào ma dụng tải nguyên hệ thống bao gồm: băng thông, số lượng truy cập dang thoi co sở dữ liều, dung lượng ưởng ö cửng,
CPU, dung hong bộ nhớ RAM, threads, và các nguồn tải nguyên khác liên quan đến
ứng dụng