DANH MỤC HÌNHHình 1-1: WordPress được sử dụng nhiều nhất bởi các website bị hack theo báo cáo Hình 1-2: Thống kê theo hệ điều hành máy chủ và thống kê theo dich vụ máy chủ..3 Hình 2-1: C
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG
NGUYEN MINH DUC
LAI VAN CU
KHOA LUAN TOT NGHIEP
XÂY DUNG HE THONG PHAN TÍCH WEBSITES VÀ DE
XUAT CAC GIAI PHAP BAO MAT THONG TIN
DEVELOPING A SYSTEM TO ANALYZE WEBSITES AND
RECOMMEND THE INFORMATION SECURITY SOLUTIONS
KY SU/ CU NHAN NGANH AN TOAN THONG TIN
TP HO CHi MINH, 2021
Trang 2ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN
KHOA MANG MAY TINH VA TRUYEN THONG
NGUYEN MINH DUC - 17520364
LAI VĂN CỬ - 17520300
KHÓA LUẬN TÓT NGHIỆP
XÂY DỰNG HE THONG PHAN TÍCH WEBSITES VÀ DE
XUAT CAC GIAI PHAP BAO MAT THONG TIN
DEVELOPING A SYSTEM TO ANALYZE WEBSITES AND
RECOMMEND THE INFORMATION SECURITY SOLUTIONS
KY SU/ CU NHAN NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
ThS Đỗ Thi Huong Lan
ThS Tran Thi Dung
TP HO CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 463/QD-DHCNTT
ngày 23 tháng 7 năm 2021 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1.TS Nguyễn Gia Tuấn Anh - Chủ tịch.
2 ThS Đỗ Thị Thu Hiền — Thư ký.
3 ThS Trần Tuấn Dũng — Ủy viên.
Trang 4LOI CAM ON
Lời dau tiên, nhóm xin gửi lời cảm ơn chân thành tới giảng viên hướng dẫn ThS Trần Thị Dung và ThS Đỗ Thị Hương Lan đã định hướng nghiên cứu, tận tình hướng dẫn và giúp đỡ nhóm trong suốt quá trình thực hiện khóa luận.
Cảm ơn hai cô đã dành thời gian quý báu để hướng dẫn nhóm chúng em, cung cấp, chia sẻ kinh nghiệm cũng như kiến thức của mình cho nhóm trong suốt học kỳ vừa qua để giúp nhóm có cơ hội được tiếp cận và chinh phục một lĩnh vực mới.
Nhóm cũng xin gửi lời biết ơn sâu sắc tới thầy, cô trong trường Đại Học Công Nghệ Thông Tin, Đại Học Quốc Gia Thành phó Hồ Chí Minh Thay, cô đã truyền lại cho chúng em những kiến thức vô cùng hữu ích trong thực tiễn, cũng như dạy chúng em
phương pháp nghiên cứu khoa học, phát huy khả năng tư duy sáng tạo Do kinh
nghiệm nghiên cứu còn ít nên báo cáo vẫn còn thiếu sót, rất mong nhận được những
ý kiến góp ý của các Thầy/Cô.
Xin chân thành cảm ơn.
Trang 5MỤC LỤC
Chương 1 TONG QUAN VE ĐỀ TÀI 2.-22222¿22222+2c222E2EcEEEEEerrrrrkrcree 2
1.1 Đặt vấn đề che 2
1.2 Những vấn dé mà dé tài tập trung nghiên cứu giải quyết "ma 5
1.3 Đối tượng ccc222E22cEEE2E E1 EEcerrrrrreerr.Õ
1.4 Phạm vi nghiên cứu.
1.5 Cấu trúc khóa luận -¿-52++++22E+++2E2EE++222231122221112222111 22221 6
Chương 2 KHẢO SÁT VÀ CƠ SỞ LÝ THUYÉT.
2.1 Khảo sát các hướng nghiên cứu liên quan va ứng dụng tiêu biêu
2.1.1 Khảo sát các hướng nghiên cứu liên quan
2.1.2 Các ứng dụng tiêu biểu -22c+c+cvcvvvvvcrrrrrrrrex 8 2.1.3 Tổng kết 2.2 Tổng quan về Web và các công nghệ Web : 2:52 10 2.2.1 _ Kiến trúc ứng dụng web c-¿-ccc+sccvvererrrverrrrrrrree 10 2.2.2 Các danh mục công nghệ web phô biến -++-++ 1
2.3 Tổng quan về các lỗ hong và mối liên hệ với các công nghệ Web 18
2.3.1 Các lỗ hồng liên quan đến công nghệ phổ biến - - 18
2.3.2 Những giải pháp phòng tránh những lỗ hồng Website phổ biến 28
2.4 Tổng quan về các công nghệ hỗ trợ đề tài -c-c-cc. -.34
2.4.1 Chrome Web Extension -cccccccrercrrerrrrerrerrrrerrrev 34 2.4.2 Regular ©XDT€SSIONS St 35
2.4.3 HTTTP Header SE 2S HH Hy 36
2.4.4 COOKIES TT HH HH HH HH it 37 2.4.5 Python và Flask Framework - c5+5c+ccccscrceererrreee 39
Trang 6Chương 3 NGHIÊN CỨU, PHAN TÍCH VÀ THIET KE HỆ THÓNG 40
3.1 Tổng quan hệ thống 3.1.1 Kỹ thuật và luồng xử lý của hệ thống -: ce+ 40 3.1.2 Danh sách các nhóm chức năng
3.2 Xây dựng bộ rule phát hiện công nghỆ - ¿+ 5+ 5+ c+x+x+x+xsxcxe 44 3.2.1 Bộ rule các công nghệ phát hiện được qua phân tích source code 44
3.2.2 Bộ rule các công nghệ phát hiện được thông qua tên cookies 48
3.2.3 Bộ rule công nghệ phát hiện được thông qua Response Headers 50
3.2.4 Nhận biết công nghệ thông qua mối quan hệ liên quan 51
3.3 Xây dựng bộ dữ liệu những giải pháp che giấu thông tin Website 52
3.3.1 Đề xuất loại bỏ các thông tin được đưa ra trong thẻ meta 52
3.3.2 Đề xuất đồi tên mặc định của €OOKI€S ¿+55 5s s+x+cexsexsxe 53 3.3.3 Đề xuất giải pháp ngăn chặn server gửi các trường HTTP response chứa thông tin -¿-:©+++2 222222122 212121212111211121111121212 0121112101 de 53 3.3.4 Dé xuất Rewrite URL -c -Ettrtttrrtttttrirrree 54 3.3.5 Những giải pháp che giấu thông tin Website khác - 55
3.4 Xây dựng bộ dữ liệu những lỗ hồng tổn tại trong các công nghệ Web 57
3.4.1 Lỗ hong trong thư viện javascript jQuery -: -c 57
3.4.2 Lỗ hong trong web server NGINX :-c+cccsccccccsccee 58 3.4.3 Lỗ hong trong cache plugin WP Rocket : cc:5ccsscc+ 58 3.4.4 Lỗ hồng trong WooCOmIm€TCG - (c6 St Svsvekekrkrrererree 59 3.4.5 Lỗ hồng trong hệ quan tri cơ sở dit liệu MariaDB 59
3.5 Xây dựng bộ dữ liệu giải pháp hỗ trợ nâng cao an toàn cho website 60
3.5.1 Giải pháp quét mã độc cho website - «se ssereeeekeeree 60
Trang 73.5.2 Giải pháp bảo mật cho Fronf-End «+ s«csx£+sesseesesseree 62
3.6 Xây dựng công cu Chrome Extension phát hiện công nghệ được sử dụng
0900/1000 8 e 65
3.6.1 Giải thuật của Ứng dụng - 5s HhnHhnHggrư 65
3.6.2 Xây dựng bộ thư viện công nghệ - s6 5+ sc+cssssree 67
3.7 Xây dựng hệ thống phát hiện công nghệ được website sử dung, những lỗ
hồng ton tại và đề xuất giải pháp -¿- 2-5 St EE1211211211 11111111 xe 68
Chương 4 TRIÊN KHAI, THỰC NGHIỆM VÀ ĐÁNH GIÁ - 70
AD Tri6t n 70
4.1.1 Hiện thực Extension Detector ccccccccccccssscceceessessceecessssseeeeeesseses 70
4.1.2 Hiện thực Web TT Scan - - -cc G111 22211111111 3 1111122 73
4.2 Thực nghiệm và Đánh giá c3 3221131131311 EEEErrrrrerreree 75
4.2.1 _ Thực nghiệm trên một số website phổ biến -. : : 75
4.2.2 Thực nghiệm trên 900 website có lượt truy cập nhiều nhất Việt Nam
78
Chương 5 KẾT LUẬN VÀ NHỮNG HƯỚNG PHÁT TRIÊN 90
5.1 Kết luận về mặt kiến thỨc -¿- - s t+k+Et+EEEE+EEEEEEEEEEEEEEEEkEEEEkrkrkrrerkrrr 90
5.2 Kết luận về sản phẩm :- ¿©2£5++Sk+EE£EE£EEEEEEEEEEEEEEEEEECrkrrrkrrkerkree 91
5.3 Hạn chế còn ton tai cccccccccccsscscssssssssssessssecessscsesessesessesersecevsessesassesavsecavsecavens 92
5.4 Hướng phát triển tương lai - 2 + +E+EE+EE+EEEEEEEEEEEEEerkerkerkrrkree 92
Trang 8DANH MỤC HÌNH
Hình 1-1: WordPress được sử dụng nhiều nhất bởi các website bị hack theo báo cáo
Hình 1-2: Thống kê theo hệ điều hành máy chủ và thống kê theo dich vụ máy chủ 3
Hình 2-1: Các công cụ hỗ trợ phát hiện các công nghệ được sử dụng trên website 9
Hình 2-2: Kiến trúc ứng dụng Web -22-+cc2ttrev2ttrrrErrerrtrtrrrrrirrrtrrrrrrrre 10 Hình 2-3: Phương thức tan công Cross-site scripting -cee-.ccceerrcee 18 Hình 2-4: Những vectors tan công website hàng đầu trong năm 2020 20
Hình 2-5: Những vectors tấn công website hàng đầu trong năm 2020 trong lĩnh VUCC CAL CHIMD 07 - ÔỎ 23 Hình 2-6: Phương thức tấn công Cross Site Request Forgery - - 24
Hình 2-7: Số lượt tan công DDoS theo tuần trong năm 2020 26
Hình 2-8: Kiểm thử SQL injection -+ccs2xevztreevtrererrrerrrrrrrrrrrrrrrre 29 Hình 2-9: Sự khác biệt giữa Anycast và Unicast khi đối mặt DDoS 33
Hình 2-10: Thông tin trong HTTP l€QU€SI 55c 55<setskeEEketkkeirrktikirrkree 36 Hình 2-11: Thông tin trong HTTP R€SPO'S€ -. 555+-5c<csreerterrkrrersrrrrtrrrrrkee 36 Hình 2-12: Mô tả cách Cookies hoạt động - -«c-s«+xscxexeeekeerrerrretrererreee 37 Hình 2-13: Bảng lưu trữ COOKIe -s 5cseSrxeerrrxetrrrkertrrkerrrtkrrrrkerrrrkerrrkerrrrierrrke 38 Hình 2-14: Luồng xử lý yêu cầu của một ứng dụng Web Python 39
Hình 3-1: Mô tả luồng xử lý của Extension DetectOr -ccs ecceerrcee 40 Hình 3-2: Mô tả luồng xử lý của Website phát hiện công nghệ Web, rủi ro và đề im 0017 a ) ,ÚỎ 41 Hình 3-3: Thẻ script hiển thị thông tin công nghệ jQuery và jQuery Migrate 44
Hình 3-4: Thẻ meta hiển thị thông tin công nghệ WordPress 5.2 I l 45
Hình 3-5: Phát hiện công nghệ LMS Moodle qua cookie MoodleSession 48
Hình 3-6: Phát hiện công nghệ Web server NGINX qua Headers 50
Hình 3-7: Sơ đồ mối liên hệ phụ thuộc của các công nghệ sử dụng PHP, MySQL.52 Hình 3-8: Thay đổi tên mặc định của cookie đối với Microsoft ASP.NET 53
Trang 9Hình 3-9: Thay đổi HTTP Response dé che giấu thông tin s 53
Hình 3-10: Web server Nginx ssessssssssessssesssessssesssesssssessseessesesssesssssessseeesssseesseesssneessneeess 54
Hình 3-11: Các website xây dựng bang CMS Google Site có Domain là
htfpS://SIt€S.ØOOEØ Ï€.COIMÍ «¿<< +x*ETHEEHHHHHHH HH THH HH HH nghe nràu 54 Hình 3-12: Các website sử dụng Frameworks Microsoft ASP.NET có top level
domaIn là ““.3SX”” «cv th HH HH HH HH HH HH H111 11101111110111111 011p 54
Hình 3-13: Phương pháp ẩn thông tin website khỏi Builtwith 55Hình 3-14: Những thông tin cá nhân có thé bị lộ -. -ces.ecceerecverree 56Hình 3-15: Web bị nhiễm thành phan mã độc khi gõ địa chi web bang công cụ tim
kiếm tự nhiên -.-.-.e,.tt HH.H H.HHHHHHHHH HH 61Hình 3-16: Công cụ kiểm tra website Succuri Site Check .-cccc-c-rs- 61Hình 3-17: Disable iframe embedding dé ngăn chặn clickjacking 64Hình 3-18: Không nên dé lộ thông tin referrer value -. -ccs.ecceerrces 64Hình 3-19: Lưu đồ giải thuật của Extension -ccesrrecccerreerverrrrererrrree 66
Hình 3-20: File thư viện 1iDS.jS e -ccsscccxeccrktrrrrrrrrtrtrrrrrrtiirrrrirrirrirrrrrrierrrke 67
Hình 3-21: Mô hình hoạt động của hệ thống -.-cccecrrreesvevrrrrresveerrrrre 68
Hình 3-22: Thực hiện dò tìm và nhận diện công nghệ web -s-<-se+s«e+ 69
Hình 3-23: Đối chiếu dữ liệu thu thập được với dữ liệu lỗ hồng trong dataset và trả
về kết quả hiển thị thông tin cho người dùng -ccs+eeeerreeeerrceerree 69Hình 4-1: Cài đặt extension ở chế độ nhà phát triỀn ecerccceerrcee 70
Hình 4-2: Chi tiết về extension và các quyŠn -+:cccccccrrrrceevvvrrrrrrereerrrrre 71Hình 4-3: Kết quả khi thực hiện quét courses.uit.edu.vn, oep.uit.edu.vn và
IC.UIf.€U.VTT 2s HH HH Hà gàng HH HH HH1 1011101711111111en.130 71
Hình 4-4: Kết quả khi thực hiện quét vnexpress.net, tiki.vn và bidv.com.vn 72
Hình 4-5: Kết quả khi thực hiện quét moet.gov.vn và ncov.moh.gov.vn 72
Hình 4-6: Giao diện chính của hệ thống ,ôÔỎ 73Hình 4-7: Giao diện hiển thị của hệ thống khi thực hiện quét website
hffDS://NC.UIf.€U.VT 5c S<SC E HHH HH HH1 pkkg 73
Hình 4-8: Một số giải pháp nhóm đề xuất dé nâng cấp website 74
Trang 10Hình 4-9: Một số giải pháp ẩn công nghệ -+cccestrreeevrrrrrvvrrrrrrerrrree 74
Hình 4-10:
Hình 4-11:
Hình 4-12:
Hình 4-13:
Hình 4-14:
Hình 4-15:
Hình 4-16:
Hình 4-17:
Hình 4-18:
Hình 4-19:
Hình 4-20:
Hình 4-21:
Hình 4-22:
Hình 4-23:
Hình 4-24:
Hình 4-25:
Hình 4-26:
Giao diện trang thong kê khi thực hiện quét 900 website Việt Nam 79
Thống kê công nghệ Advertising được sử dụng nhiều nhất 80
Thống kê công nghệ Analytics được sử dụng nhiều nhất 80
Thống kê công nghệ CDN được sử dụng nhiều nhất 81
Thống kê công nghệ CMS được sử dụng nhiều nhất 81
Thống kê công nghệ Ecommerce được sử dụng nhiều nhất 82
Thống kê công nghệ Database được sử dụng nhiều nhắt 82
Thống kê công nghệ Javascript frameworks được sử dung nhiều nhất 83 Thống kê công nghệ Miscellaneous được sử dụng nhiều nhất 83
Thống kê công nghệ Javascript libraries được sử dụng nhiều nhất 84
Thống kê Programming languages được sử dụng nhiều nhất 84
Thống kê công nghệ Web frameworks được sử dung nhiều nhất 85
Thống kê công nghệ Web servers được sử dụng nhiều nhất 85
Thống kê công nghệ Widgets được sử dụng nhiều nhất 86
Thống kê công nghệ UI frameworks được sử dụng nhiều nhất 86
Danh sách những công nghệ được các website sử dụng nhiều nhất 87
Danh sách những lỗ hồng xuất hiện nhiều nhất -<s 88
Trang 11DANH MỤC BANG
Bảng 2-1: Những proxy-server bi ảnh hưởng bởi biến thê HTTP Request Smuggling
— Ô.ÔỎ 25
Bang 2-2: Bang mô tả các kí tự đặc biệt có thể dùng với biểu thức chính quy 35
Bảng 3-1: Bộ rule các công nghệ phát hiện được qua phân tích source code 48
Bang 3-2: Bộ rule các công nghệ phát hiện được thông qua tên cookles 49
Bang 3-3: Bộ rule công nghệ phát hiện được thông qua Response Headers 51
Bảng 3-4: Một số chỉ thi cho từng loại tài nguyên khác nhau 63
Bảng 4-1: Thực nghiệm hệ thống UITScan -22-+ces+eeestrceetrrrrzrrre 77
Trang 12DANH MỤC TỪ VIET TAT
Từ Nội dung
CDN Content Delivery Network
CMS Content Management System
LMS Learning Management System
CPC Cost Per Click
RFI Remote File Inclusion
LFI Local File Inclusion
CSRF Cross Site Request Forgery
DOM Document Object Model
CVSS Common Vulnerability Scoring System
RegEx Regular Expressions
SERP Search Engine Result Page
Trang 13TOM TAT KHÓA LUẬN
Tăng cường độ bảo mật cho Website vẫn luôn là một vấn đề quan trọng trong lĩnhvực an toàn thông tin, nhất là khi số vụ tấn công website tại Việt Nam nói riêng vathế giới nói chung vẫn còn ở mức hàng trăm nghìn vụ mỗi năm Với phạm vi đề tàicùng giới hạn về mặt thời gian, nhóm sẽ tập trung nghiên cứu phương pháp nhận
diện các công nghệ được sử dụng bởi một trang web, từ đó xác định các rủi ro về
bảo mật có thể đi kèm với công nghệ
Bên cạnh việc nghiên cứu, trong đề tài này nhóm sẽ xây dựng hệ thống giúp pháthiện công nghệ và đưa ra các thông tin cần thiết như những lỗ hồng có thé tôn tạicủa công nghệ, đề xuất các giải pháp khắc phục cần thiết Qua đó giúp cho nhữngnhà phát triển web hay người sử dụng có cái nhìn trực quan hơn và giúp dễ dàng
nâng cao tính bảo mật cho website.
Nhóm sẽ tiến hành thực nghiệm sử dụng bộ dữ liệu của nhóm trên 900 trang web cólượng truy cập nhiều nhất Việt Nam và tiến hành thống kê chỉ tiết các số liệu vàđánh giá kết quả Thông qua đó, nhóm có thể đưa ra những số liệu thống kê vềnhững công nghệ web được sử dụng nhiều nhất tại Việt Nam, về số lượng website
có thé còn tôn tại lỗ hồng, loại lỗ hồng xuất hiện nhiều nhất và nhiều số liệu thống
kê chỉ tiết khác đối với từng công nghệ khác nhau
Trang 14Chương 1 TONG QUAN VE DE TÀI
1.1 Đặt van đề
Ngày nay, việc xây dựng website đã đơn giản hơn rất nhiều bởi sự đa dạng của các
ngôn ngữ lập trình cũng như công cụ hỗ trợ Theo như số liệu thống kê của trangBuiltwith, một website nổi tiếng giúp kiểm tra công nghệ mà một website đang sửdụng thì hiện nay có tới hơn 50,000 công nghệ web khác nhau Trong số đó có rất
nhiều công nghệ đang được sử dụng bởi các website phô biến nhất Việt Nam như
vnexpress.net, 24h.com.vn, kenh14.vn, v.v.
Nhung đi cùng với đó là su tiềm ân các nguy cơ về bảo mật, rò ri thông tin của từngloại công nghệ Lay ví dụ, WordPress là một hệ quan tri nội dung (Content
Management System) được sử dụng phổ biến nhất hiện nay nhưng có tính bao mật
không cao do là một phân mêm mã nguôn mở và tôn tại nhiêu điêm yêu.
Hình 1-1: WordPress được sử dung nhiều nhất bởi các website bi hack theo báo cáo Cystack
Trang 15Đặc biệt hơn, nhiều website sử dụng Elementor Builder - một tiện ích mở rộng trên
nền tang WordPress giúp thiết kế website và landing page - đã trở thành mục tiêu
tấn công của tin tặc Sự kiện này xảy ra ngay sau khi các nhà nghiên cứu phát hiện
một lỗ hỗng bảo mật nghiêm trong trong plugin Elementor Ultimate Addon ảnh
hưởng tới 1 triệu trang web.
Ngoài ra, theo thống kê của Cystack Attacks Map, một lượng lớn các website bị tấncông sử dụng công nghệ máy chủ Apache, IIS và LiteSpeed Mặt khác, hệ điềuhành Linux chiếm tới 63.4% số lượng website bị tắn công PHP vẫn là ngôn ngữ lập
trình web phổ biến nhất trong số các website bị xâm phạm, chiếm 98% trên tổng số
website ghi nhận được.
Theo báo cáo State of the Internet Security Report năm 2020 từ Akamai
Technologies, trong năm 2020 thé giới phải hứng chịu hơn 6,287,291,470 vụ tan
công website [1] Trong đó, theo Báo cáo An ninh Website 2020 từ CyStack, Việt
Nam đứng thứ 18 trên bản đồ tan công website toàn cầu với trung bình mỗi ngày có
10 vụ tấn công website tại Việt Nam [2] Điều nay cho thấy tình trạng về bảo mật
website tại Việt Nam trong năm 2020 đã cải thiện so với 2019 nhưng vẫn chưa thực
sự tốt
Nếu bảo mật website tốt, doanh nghiệp sẽ phòng tránh được các rủi ro như :
Trang 16- Giảm chi phí khắc phục sự cố: Chi phí xử lý sự cố phụ thuộc vào mức độ website
bị tan công Nếu website bị tấn công nghiêm trọng, doanh nghiệp có thê mat cả trăm
triệu đồng để đưa website trở về trạng thái bình thường
- Dinh trệ hoạt động kinh doanh: Khi website tạm ngưng hoạt động, doanh nghiệp
sẽ rơi vào trạng thái “tê liệt” một phan Điều này ảnh hưởng trực tiếp đến doanh thu
và quy trình vận hành của doanh nghiệp, đặc biệt, với các doanh nghiệp trong lĩnh
vực thương mại điện tử.
- Lộ thông tin khách hàng và đối tác: Thông tin khách hàng và đối tác là “huyếtmạch” nuôi sống doanh nghiệp Một khi để lộ khối thông tin này, doanh nghiệp sẽgặp rất nhiều khó khăn trong hoạt động kinh doanh của mình
- Mat dé liệu quan trọng của doanh nghiệp: Bi mật kinh doanh, bằng sáng chế,chiến lược hoạt động của doanh nghiệp luôn cần được bảo mật nghiêm ngặt Hậu
quả sẽ vô cùng khó lường nếu chúng nam trong tay tin tặc
- Giảm thứ hang website trên công cụ tìm kiếm: Khi website bị tan công và chèn mã
độc, công cụ tìm kiếm sẽ đưa website vào Blacklist Hậu quả là website bị tụt thứhạng và ảnh hưởng đến kết quả SEO website
- Ảnh hưởng đến uy tín và hình ảnh của doanh nghiệp: Hình ảnh của doanh nghiệp
sẽ tiêu tan ngay lập tức khi website bị hack Khách hàng có thé chuyên sang sử
dụng dịch vụ và sản phẩm đối thủ
Nhằm giúp các lập trình viên website chưa có kinh nghiệm có thé xây dựng một
website có tính bảo mật tốt hơn, nhóm có ý tưởng phát triển hệ thống thu thập và
phân tích thông tin các công nghệ được sử dụng trên website để đưa ra các vấn đề
về an toàn thông tin, về những lỗ hồng, điểm yếu có thé dẫn đến các cuộc tan côngnhư Cross-site scripting (XSS) hay tấn công từ chối dịch vụ (Denial of Service)
Từ đó, nhóm đề xuất hướng giải quyết tốt nhất đối với từng loại công nghệ và
những giải pháp giúp developer có thé sử dụng dé nâng cao bảo mật của website
Trang 171.2 Những vấn đề mà đề tài tập trung nghiên cứu giải quyết
Trong đề tài này, nhóm sẽ nghiên cứu và tìm hiểu về những lỗ hồng, những điểm
yếu của những công nghệ web phổ biến và được sử dụng nhiều bởi những nhà pháttriển website nước ngoài cũng như tại Việt Nam Nhóm dựa theo các báo cáo chi
tiết về những lỗ hồng đó và xây dựng một bộ dữ liệu đưa ra những đề xuất và những
phương pháp giúp nhà phát trién website có thé nâng cấp, cập nhật và loại bỏ những
16 hông, điêm yêu còn tôn tại trên website của họ.
Đồng thời, nhóm cũng nghiên cứu về những phương pháp nhận diện công nghệ webđược sử dụng bởi một website Qua đó, nhóm có thể đề xuất những phương phápgiúp nhà phát triển website có thé che giấu thông tin công nghệ, tránh việc bị lộ ratên cũng như phiên bản của các công nghệ được sử dụng, khiến cho hacker gặp khó
khăn hơn trong việc khai thác lỗ hồng, khai thác điểm yếu của website Ngoài ra,
việc che giấu thông tin Website cũng ngăn các đối thủ cạnh tranh biết được những
thông tin nhạy cảm.
1.3 Đối tượng
Cung cấp cho những lập trình viên website một bộ dữ liệu trực quan, tự động hóa vàtiện lợi, không mắt nhiều thời gian để nâng cao bảo mật của website Tất cả kết quảphân tích, những giải pháp đề xuất và số liệu thống kê sẽ được thé hiện trên website
một cách rõ ràng.
Cung cấp thông tin cho những người dùng bình thường muốn biết những thông tin
trên website và hiểu rõ một website có dang tồn tại lỗ hồng hay không
Trang 181.5 Cấu trúc khóa luận
- CHƯƠNG 2: KHẢO SÁT VÀ CƠ SỞ LÝ THUYET
Tổng quan về kiến trúc ứng dụng Website, những công nghệ của Website được sửdụng nhiều nhất, phương thức dé có thé phát hiện công nghệ của Website Tổngquan về những lỗ héng Website phổ biến mà lập trình viên dé mắc phải và những
phương thức cơ bản dé có thé khắc phục những lỗ hồng đó Tổng quan về các công
nghệ giúp xây dựng hệ thống
- CHƯƠNG 3: NGHIÊN CỨU, PHAN TÍCH VÀ THIET KE HE THONG
Trình bày kỹ thuật và luồng xử lý, nhiệm vụ và chức năng của từng phần, nhữnggiải thuật được sử dụng trong hệ thống Từ đó đưa ra phương thức hoạt động tổng
thé của toàn bộ hệ thống trong việc phân tích Website và đề xuất các giải pháp bảo
mật thông tin.
- CHƯƠNG 4: TRIÊN KHAI, THỰC NGHIỆM VÀ ĐÁNH GIÁ HE THONG
Trình bày kết quả khi triển khai Extension và hệ thống web UITScan trong môitrường thực tế khi sử dụng hệ thống quết nhiều website thuộc nhiều lĩnh vực khácnhau, thực hiện quét qua 900 website có lượt truy cập nhiều nhất Việt Nam Từ đó,
có được những số liệu thống kê chỉ tiết và đưa ra những kết luận về tính hiệu quảcủa hệ thống
- CHUONG 5: KẾT LUẬN VÀ HƯỚNG PHAT TRIEN
Phần kết luận tổng kết những mục tiêu đã thực hiện và kết quả đạt được trong khóaluận Nêu một số mặt còn hạn chế sau khi thực hiện khóa luận, những kết quả màkhóa luận này đóng góp cho lĩnh vực nghiên cứu và nêu hướng phát triển của đề tài
khóa luận trong tương lai.
Trang 19Chương 2 KHAO SÁT VÀ CƠ SỞ LÝ THUYET
2.1 Khảo sát các hướng nghiên cứu liên quan và ứng dụng tiêu biểu
2.1.1 Khảo sát các hướng nghiên cứu liên quan
Trong bài khảo sát của Viện công nghệ Sepuluh Nopember khảo sát những công
nghệ web được sử dụng bởi những website của chính quyền địa phương ởIndonesia, nhóm tác giả đã thực hiện một cuộc điều tra 548 website chính thức của
chính quyền địa phương, bao gồm 34 tinh, 349 thành phố va 91 đô thị ở Indonesia,
VỚI Sự trợ giúp của công cụ phân tích website Wappalyzer [3]
Trong bài khảo sát, nhóm tác giả đã sử dụng Wappalyzer và thu thập thông tin các
công nghệ thuộc các danh mục như Web server, CMS, CSS frameworks, Javascript
framework, Web framework Qua số liệu thống kê của nhóm tác giả, ta có thé thayhầu hết các công nghệ web được sử dụng bởi các website của chính quyền địa
phương ở Indonesia, ví dụ như Javascript frameworks được sử dụng nhiều là
jQuery, Web server đa phần là Apache và Nginx, CMS frameworks là WordPress,
CSS frameworks là Twitter Bootstrap và ZURB Foundation, Ở phần kết luận,
tác giả nêu rõ tất cả các công nghệ web được sử dụng trong trang web chính thứccủa chính quyên địa phương cũng được biết đến rộng rãi trên thế giới
Qua bài khảo sát trên, rõ ràng rằng các trang web không được xây dựng bằng tay từđầu, mà được các nhà phát triển web đã và đang sử dụng nhiều frameworks, phần
mềm của bên thứ ba khác nhau trong việc phát triển các trang web Đồng thời, việc
đảm bảo tính bảo mật thông tin các công nghệ được sử dụng trong website chưa thật
sự được coi trọng, khi mà hầu hết các thông tin về công nghệ web được sử dụng đều
có thê truy cập bởi bat kỳ cá nhân nào
Trang 202.1.2 Cac ứng dụng tiêu biểu
Hiện nay, các ứng dụng dùng dé xác định và phân tích các công nghệ được sử dụngtrên trang web khá đa dạng Một số ứng dụng nổi bật là Wappalyzer, Builtwith,WhatRuns, SimilarTech, WhatCMS, Nhìn chung các công cụ này rất hữu ích và
đưa ra thông tin chính xác như thông tin công nghệ và thông tin phiên bản cũng như
số liệu thống kê về các công nghệ được sử dụng Tuy nhiên đi kèm các tính năng cơbản, các chức năng nâng cao của các công cụ này đa phan sẽ tính phí và giới hanlượt sử dụng Trong đề tài này nhóm sẽ tham khảo những công cụ như Wappalyzer
và Builtwith.
2.1.2.1 Wappalyzer
Wappalyzer được thành lập năm 2008, là công cụ cung cấp thông tin công nghệ và
dữ liệu hàng đầu Được đánh giá là công cụ có độ chính xác cao nhất, Wappalyzer
có bộ đữ liệu được cập nhật hàng ngày, tập trung vào chất lượng chứ không phải số
lượng Wappalyzer có thể phát hiện trên 1000 công nghệ và phiên bản công nghệ sửdụng thuộc nhiều doanh mục khác nhau như: CMS, ngôn ngữ lập trình, thư việnJavascripts, CDN, [4] Ngoài ra, Wappalyzer còn cho biết danh sách liên hệ của
nhà phát hành công nghệ.
2.1.2.2 Builtwith
Builtwith là một công cụ rất mạnh dùng dé kiểm tra mã nguồn của website Công cụ
đi sâu vào chỉ tiết của website bao gồm: server, hệ thống quản trị, framework, cácchức năng tích hợp, thông tin về template sử dụng và ngôn ngữ lập trình, Điểmvượt trội hơn của Builtwith so với Wappalyzer là có số lượng công nghệ phát hiện
được lớn hơn và có thể cho biết nhiều thông tin hơn về trang web được tra cứu như
thông tin về quá trình nâng cấp các công nghệ cũng như phiên bản, xếp hạng mức
độ phổ biến của trang web, liệt kê các trang web liên quan, [5] Tuy nhiên đôi khi
thông tin đưa ra không thực sự chính xác và cần thiết, cùng với đó là phí duy trì
dịch vụ khá cao.
Trang 212.1.3 Tổng kết
Trước khi triển khai một cuộc tấn công, kẻ xấu luôn thực hiện bước đầu tiên là thăm
do Ở bước này, mục đích tổng thé của kẻ tan công sẽ là khai thác được nhiều nhất
thông tin của đối tượng Họ muốn hiểu rõ hơn mục tiêu là gì? Loại thông tin như thếnào? Cơ chế phòng thủ, bảo mật, thông tin các lỗ héng có thé khai thác, giá trị đánh
cắp của mục tiêu, Từ các dữ kiện có được, họ mới đề ra yếu điểm họ có thể tậndụng, cách thức và thời điểm thực hiện cuộc tấn công Ở giai đoạn này để có đượcnhững thông tin trên, họ dựa vào yếu tô hệ thống và yếu tố con người Phương pháp
thăm dò chưa thành 2 dạng là thăm dò bị động và thăm dò chủ động.
Đối với thăm dò bị động, kẻ xấu sẽ dựa vào các tài liệu mã nguồn mở để nắm thôngtin và trả lời các câu hỏi được nêu trên mà không cần can thiệp vào đối tượng Cácthông tin có thé là thông tin hệ thống, ứng dụng web được sử dụng, phiên bản,
Login - Signup for Free vnexpress.net
“
>} Wappalyzer eee Tech Detailed © Meta Relaionship Redirects
: WEH Sale - - normally $144.
Analytics Tag managers
«® Matomo Analytics © Google Tag Manager
© Yandex.Metrika Analytics and Tracking View Global Trends
JavaScript libraries
al Google Analytics jQuery @ Everest Technologies
Everest Technologies Usage Statistics - Download List of All
@ Zepto
Video players Websites using Everest Technologies
@ VideoJS 722 Performance testing and channel strategy provider for eCommerce.
Social logins
Advertising G_ Google Sign-in O Oynatrace
Dynatrace Usage Statistics - Download List of All Websites using
@ Giteo AIB testing Dynatrace
Prebid Dynatrace provides software intelligence for enterprise cloud
= rebi
ou oogle Optimize ecosystems Dynatrace is an Al-powered, full stack and automated
monitoring and analytics solution that provides insights into users,
transactions, applications, and hybrid multi-cloud environments.
Retargeting Application Performance
@ Criteo
@ Doubleclick for G Google Optimize 360
Publishers (DFP)
<> Google Publisher Tag
& Google AdSense
Google Optimize 360 Usage Statistics - Download List of All
Hình 2-1: Các công cụ hỗ trợ phát hiện các công nghệ được sử dung trên website
Nhăm hạn chê và ngăn chặn các cuộc tân công ngay từ giai đoạn đâu tiên thì các
biện pháp che giấu thông tin của website là thật sự cần thiết
Trang 222.2 Tống quan về Web và các công nghệ Web
2.2.1 Kiến trúc ứng dụng web
Ứng dụng Web là một phần mềm phức tạp, bao gồm nhiều thành phần như giao
diện người dùng, màn hình đăng nhập, cửa hàng in-app, cơ sở dữ liệu, v.v Đề quản
lý các thành phan này, các kỹ sư phần mềm đã nghĩ ra kiến trúc ứng dụng web déxác định một cách hợp lý các mối quan hệ và cách thức tương tác giữa tất cả cácthành phần này cho một ứng dụng Web Kiến trúc của một ứng dụng web bao gồm
2 phần chính là Front-end và Back-end
Front-end được xem như phan tương tác với người dùng, là mọi thứ người dùng cóthé thấy và tương tác bên trong trình duyệt của họ, bao gồm giao diện, font chữ,mau sắc, các menu, thanh công cu, Thông thường Front-end được viết bang
HTML, CSS, JavaScript và sử dụng các Web framework.
Back-end được xem như phía server của ứng dụng web Đề cho Front-end của mộttrang web có thê hoạt động được, Back-end sẽ xử lý các yêu cầu, thao tác của người
dùng, cung cấp các chức năng Front-end sẽ sử dụng các ngôn ngữ như PHP, Java,
Python, JavaScript, và các cơ sở dữ liệu như MySQL, MariaDB, MongoDB.
Request GD-.
+
-Collect Data
Display Results
What the User Sees Contains App.
& Interacts with PHP, JavaScript, Python
H
h H
Trang 232.2.2 Các danh mục công nghệ web phổ biến
Với sự phát triển nhanh chóng của các công nghệ mới, website cũng ngày càng tăng
thêm số lượng các công nghệ được tích hợp, mang lại trải nghiệm tốt nhất cho
người dùng từ giao diện, hiệu năng,lưu trữ, bảo mật, Mỗi công nghệ được sử
dụng với nhiều mục đích khác nhau và ở nhiều lĩnh vực Phần tiếp theo nhóm sẽ
phân chia các công nghệ vào các danh mục ứng với chức năng của nó Các doanh
mục này bao gồm: Content management system (CMS), Database, Programming
languages, JavaScript libraries, JavaScript frameworks, UI frameworks, Web
servers, Web frameworks, Content delivery network (CDN), Ecommerce,
Advertising, Analytics, Widgets, và một s6 danh muc khac
2.2.2.1 Content Management System (CMS)
Content Management System là hệ quản tri nội dung cua trang web, có chức năng
điều khiến tat cả hoạt động về nội dung, thông tin của website Những nội dung này
bao gồm văn bản, video, âm thanh, hình anh, files CMS có vai trò quan trọng
trong việc vận hành trang web, với các chức năng cơ bản như:
- Tạo, lưu trữ các nội dung trên trang web.
- Chỉnh sửa, thêm, bot nội dung.
- Chuyên và chia sẻ nội dung
- Quản lý và phân quyền người dùng
CMS giúp dé dàng xây dựng website và quan lý nội dung Bên cạnh đó còn tiết
kiệm được chi phí vận hành và bảo trì website nên CMS được sử dụng rộng rãi bởi
các công ty hay blog cá nhân Các CMS thông thường sẽ có mã nguồn mở, bên cạnh
đó cũng có CMS trả phi và các CMS tự xây dựng như: WordPress, Joomla, Drupal,
Magento, Opencart, CMS Typo3
11
Trang 242.2.2.2 Database
DBMS (Database Management System) là phần mềm giúp quan ly co sở dit liệu
DBMS cung cap cho người dùng các chức năng như tạo, truy xuất, cập nhật va quản
lý dữ liệu trên cơ sở dữ liệu.Ngoài chức năng giúp quản lý dữ liệu thì các hệ thốngquản trị cơ sở dữ liệu cò cung cấp cho người dùng chức năng kiểm soát quyền truy
cập đọc / ghi, chỉ định tạo báo cáo và phân tích việc sử dụng.
Với phần lớn các DBMS ngày nay, chúng ta thường sẽ cần sử dụng ngôn ngữ SQL(ngôn ngữ truy vấn có cấu trúc) dé tương tác với cơ sở dữ liệu Danh sách một số hệthống DBMS phô biến:
- MySQL, MariaDB, Firebase, MongoDB: Mã nguồn mở, miễn phí.
- Oracle Database: Sở hữu tư nhân phát triển bởi Oracle, có phí
- SQL Server: Sở hữu tư nhân phát trién bởi Microsoft, có phí
2.2.2.3 Programming languages
Ngôn ngữ lập trình (programming language) là dạng ngôn ngữ được chuẩn hóa theo
một hệ thống các quy tắc riêng, sao cho qua đó người lập trình có thể mô tả các
chương trình làm việc Mỗi ngôn ngữ lập trình có thể được xem như là một tập hợp
của các chỉ tiết kỹ thuật chú trọng đến cú pháp, từ vựng, và ý nghĩa của ngôn ngữ
Những chỉ tiết kỹ thuật này thường bao gồm kiêu dữ liệu và cấu trúc dữ liệu, câulệnh và dòng điều khiển, các tên và tham số, các cơ chế tham khảo và sự tái sửdụng.Các ngôn ngữ lập trình web phổ biến hiện nay: PHP, Java, Python, Lua,
Ruby,
2.2.2.4 JavaScript Libraries
Javascript xuất hiện từ năm 1995 nhưng hiện van là ngôn ngữ lập trình phổ biến và
được sử dụng rộng rãi cho đến hiện nay, vì vậy hệ sinh thái xung quanh nó vẫn phát
triển không ngừng nghỉ JavaScript libraries là các code có thé tái sử dung dé thựchiện những chức năng cụ thé Nó là một tập hợp những hàm, đối tượng, va class cóthé dùng trong ứng dụng Các thư viện JavaScript phố biến:
12
Trang 25- jQuery: jQuery là một thư viện làm cho JavaScript dễ tiếp cận hơn và thao tác với
DOM trở nên dé dàng hơn.
- Underscore và Lodash: Các chức năng của Lodash được chia ra làm các nhóm:
nhóm xử lý Array, nhóm xử lý Object, nhóm xử ly Date, Function, Lang, Math,
Number,
- MathJS: Math.Js là một thư viện toán học mở rộng cho JavaScript và Node.js,
tương thích với thư viện Toán học tích hợp JavaScript Thư viện chứa một trình
phân tích cú pháp biểu thức linh hoạt, có thé thực hiện tính toán biểu tượng và đikèm với một tập hợp lớn các hàm và hằng số tích hợp
- Moment.js: là thư viện thao tác date và time trong JavaScript dé phân tích cú pháp,
xác thực, thao tác và định dạng ngày.
- React.js: React giúp tạo UI tương tác đơn giản Thiết kế các khung nhìn đơn giản
cho từng trạng thái trong ứng dụng và React sẽ cập nhật và render đúng các thành
phan phù hợp khi dữ liệu thay đôi
2.2.2.5 JavaScript Frameworks
Framework là các đoạn code đã được viết sẵn, cấu thành nên một bộ khung và cácthư viện lập trình được đóng gói Chúng cung cấp các tính năng có sẵn như môhình, API và các yếu tố khác dé tối giản cho việc phát triển các ứng dụng web
phong phú, năng động Các framework được thiết kế để tiết kiệm thời gian giúptăng hiệu suất, mở rộng các chức năng và cung cấp các thư viện sẵn có dé các nhà
phát triển không phải làm lại từ đầu Một số JavaScript frameworks phổ biến:
- Angular: AngularJS được phát triển và tài trợ bởi Google là một trong những côngnghệ JavaScript phố biến nhất dé phát triển Front-End
- Vue.js: là một framework JavaScript nhỏ gọn Framework này cung cấp trảinghiệm giống React với những Virtual DOM của nó và các component có thể tái sử
dụng giúp tạo ra cả widgets và toàn bộ ứng dụng web.
13
Trang 26- AMP: AMP (Accelerated Mobile Pages) là một framework mã nguồn mở đượcphát triển bởi Google phối hợp với Twitter Accelerated Mobile Pages tạo ra trảinghiệm tốt hơn, nhanh hơn trên web di động Về cốt lõi, framework này cho phépxây dựng các trải nghiệm gọn nhẹ cho thiết bị di động, bằng cách đơn giản hóaHTML và tuân theo các quy tắc CSS được sắp xếp hợp lý.
hoàn chỉnh như font, typography, form, table, grid
- Foundation: là một CSS framework được sử dụng phô biến chuyên dành cho Web
Responsive.
- Semantic-UI: là một Frontend CSS framework cho phép designer va developer có
thé chia sé UI thông qua một ngôn ngữ chung Semantic-UI cung cấp các UI dựngsẵn với thiết kế phăng và kiểu đáng đẹp
- UIKit: là một Front-end framework nhẹ giúp phát triển giao diện web nhanh vàmạnh mẽ Với các thành phần jQuery JavaScript linh hoạt, tách rời cho web Cáctính năng được cung cấp bởi framework này bao gồm: animation, document, vẽ và
in, thông tin về thiết bị hiện tại, quản lý và hiển thị văn bản, tìm kiếm, trợ năng, mở
rộng ứng dụng và quản lý tài nguyên.
2.2.2.7 Web Servers
Web server là máy chủ cài đặt các chương trình phục vụ các ứng dụng web Web
server có khả năng tiếp nhận request từ các trình duyệt web và gửi phản hồi đến
client thông qua giao thức HTTP hoặc các giao thức khác Một số web servers phố
biên:
14
Trang 27- Apache: là phan mềm web server miễn phí mã nguồn mở chiếm khoảng 46% thi
phan websites trên toàn thế giới Apache là một phần mềm đa nền tảng hoạt động
tốt với cả server Unix và Windows Apache có modules cho bảo mật caching, URL
rewriting, chứng thực mật khẩu
- Nginx: là web server có thê hoạt động như là email proxy, reverse proxy va load
balancer Câu trúc của phân mêm này là bât đông bộ và hướng sự kiện; vì vậy cho
thé là API web Tại đây các lập trình viên sẽ được cung cấp chức năng cần thiết dé
tạo dựng một ứng dụng Web Một số Web Framework pho bién:
- Ruby on Rails: là một framework phát trién dựa vào ngôn ngữ lập trình Ruby với
mô hinh-view-controller (MVC) được sử dụng cho các ứng dung web.
- Microsoft ASP.NET: được phát triển và phát hành bởi Microsoft, ASP.NET làmột framework được thiết kế dé tạo các ứng dụng web sử dụng NET cho PC và
thiết bị di động Nó có style đẹp, tối giản và hiệu suất cao
- Express: là một framework tối giản và linh hoạt, có thé được sử dụng dé phat trién
nhanh các ứng dụng web dựa trên Node.js Hệ thống plugin có khả năng tương thích
với các framework khác.
2.2.2.9 Content Delivery Network
Content Delivery Network (CDN) là một nhóm server đặt tại nhiều vi trái khác
nhau dé hỗ trợ nội dung được trải dai ở nhiều khu vực vị trí địa lý khác nhau Công
nghệ này giúp tạo được nhiều điểm truy cập (Point of Presence — PoPs) ngoài server
15
Trang 28gốc giúp website quản lý tốt traffic hơn bang cách xử lý nhanh hơn yêu cầu của
khách CDN còn có các ưu điểm: Giảm băng thông, tăng tốc độ, cải thiện bảo mật,cải thiện việc phân phối nội dung Một số CDN phổ biến như :
- Cloudflare: là CDN sở hữu một trong những server network lớn nhất thế giới chophép người dùng nhận static content được lưu trong bộ nhớ cache từ máy chủ gần
nhất Cloudflare còn cung cấp nhiều tính năng hữu ích khác như: giảm thiểu tấncông DDoS, phân tích tất cả các yêu cầu được thực hiện cho một trang web, cài đặtchứng chi SSL dé dang, công mạng giữa các giao thức,
- jsDelivr: là dịch vụ CDN mã nguồn mở dành cho các thư viện Javascript jsDelivr
sử dụng cơ sở hạ tang Multi-CDN (kết hợp nhiều CDN) được xây dựng trên cácmang CDN hang đầu như StackPath, Cloudflare, Fastly và Quantil
2.2.2.10 E— Commerce
E- Commerce là các công nghệ làm nền tảng dé xây dựng các trang bán hàng Cung
cấp các chức năng như đăng tải mặt hàng, giỏ hàng, khuyến mãi, đăng ký thành
viên, thanh toan, Một sỐ công nghệ E- Commerce phô biến:
- WooCommerce : là một plugin mã nguồn mở trên WordPress hỗ trợ thiết kếwebsite thương mại điện tử và có đủ các chức năng mà một web bán hàng cần có
- Shopify : là nền tang trả phí, hỗ trợ tao website bán hàng online dựa trên mô hình
Cloud SaaS.
- Magento : là một platform về e-commerce được tạo ra dựa trên ngôn ngữ lập trình
PHP và cơ sở dữ liệu MySQL Magento hoạt động theo mô hình EAV (entity —
attribute — value) và có kiến trúc module (mọi tính năng đều được module hóa)
2.2.2.11 Advertising
Advertising là các công nghệ đưa thông tin quảng cáo dưới dạng văn bản, hình ảnh,
video, lên website nhăm quảng bá cho sản phâm và mang lại lợi nhuận cho chủ
website Một số công nghệ Advertising phổ biến:
16
Trang 29- AdSense: là dịch vụ quảng cáo trực tuyến của Google, có hình thức Cost Per Click
(CPC) Khi có người nhấp vào quảng cáo, website sẽ nhận được một khoản tiền
- DoubleClick for Publishers (viết tắt DFP) là nền tảng phân phối quảng cáo được
lưu trữ toàn diện giúp đơn giản hóa việc quản lý quảng cáo, phân phối quảng cáođến ứng dụng dành cho thiết bị di động, trò chơi, trang web, trang web dành cho
dé nghiên cứu kinh doanh và thị trường, đánh giá và nâng cao hiệu quả của website
Một số công nghệ Analytics phố biến:
- Google Analytics: là sản phẩm phát triển bởi Google, cho phép người dùng đánh
giá một cách tổng quan nhất về tình trạng website Google Analytics cho biết lượngngười dùng truy cập website, tỷ lệ thoát ra cao hay thấp Bên cạnh đó công cụ nàycòn cung cấp nhiều chỉ số phản ánh tương đối chuẩn xác hành vi của người trênwebsite Số liệu mà Google Analytics cung cấp có độ tin cậy cao
- Hotjar: là một công cụ ghi lại những thao tác của người dùng trên website như
cuộn, click chuột, click chuột, di chuyền chuột Thông qua đó, đo lường và quan sáthành vi của người dùng Công cụ phân tích bao gồm heatmap, screen recording,
funnels, forms,
- Matomo (trước đây gọi là Piwik) là một phương án thay thế tương tự như Google
Analytics, là một công cụ miễn phí đặc biệt dành cho những công ty quan tâm đếnquyền riêng tư Không giống như Google Analytics, Matomo được lưu trữ trên máy
chủ của riêng, và người sử dung sở hữu tat cả những dir liệu của minh.
17
Trang 302.3 Tống quan về các lỗ hồng và mối liên hệ với các công nghệ Web
2.3.1 Các lỗ hổng liên quan đến công nghệ phổ biến
2.3.1.1 Lỗ hổng Cross-Site Scripting
Cross-site scripting (XSS) là một kiểu tấn công bảo mật trong đó kẻ tan công đưacác tập lệnh độc hại vào phần nội dung của các trang web đáng tin cậy khác Tancông Cross-site scripting xảy ra khi một nguồn không đáng tin cậy được phép đưacode của chính nó vào một ứng dụng web và mã độc đó được bao gồm trong nội
dung gửi đến trình duyệt của nạn nhân
XSS là một trong những lỗ hồng ứng dung web phổ biến nhất và xảy ra khi một ứngdụng web sử dụng đầu vào từ người dùng không được xác thực hoặc không được
mã hóa trong đâu ra mà nó tạo ra.
Bằng cách tận dụng XSS, kẻ tấn công không nhắm trực tiếp vào nạn nhân mà sẽkhai thác lỗ hồng trong trang web hoặc ứng dụng web mà nạn nhân sẽ truy cập
Mặc dù XSS có thê tận dụng lợi thế trong VBScript, ActiveX và Flash (hiện được
coi là cũ hoặc thậm chí lỗi thời), nhưng phô biến nhất van là JavaScript.
print “Latest comment:”
print database latestConment print “</html>”
Victim's browser
Website Response to Victim
Trang 31Có 3 loại XSS bao gồm : Reflected XSS, Stored XSS và DOM-based XSS
- Stored XSS
Là loại tan công cross-site scripting gây thiệt hại nhiều nhất Kẻ tấn công truyền
một tập lệnh - còn được gọi là payload - được lưu trữ vĩnh viễn trên ứng dụng đích,
chăng hạn như cơ sở dữ liệu Ví dụ, kẻ tấn công chèn một đoạn mã độc trên blog,
trong một bài đăng trên diễn đàn hoặc trong trường bình luận.
Lúc này Payload XSS sẽ đóng vai trò như một phần của trang web khi nạn nhân
điều hướng đến trang web bị ảnh hưởng trong trình duyệt Khi nạn nhân xem trang
trên trình duyệt sẽ vô tình thực thi tập lệnh độc hai.
- Reflected XSS
Là loại lỗ hồng cross-site scripting phô biến nhất Trong kiêu tan công này, kẻ tancông phải chuyên payload cho nạn nhân Do đó, tập lệnh payload của kẻ tấn công làmột phần của yêu cầu được gửi đến máy chủ web và được phản chiếu lại để phảnhồi HTTP, bao gồm payload từ yêu cầu HTTP
Kẻ tan công sử dụng email phishing và các phương pháp social engineering khác dé
dụ nạn nhân đưa ra yêu cầu đến máy chủ có chứa payload XSS Nạn nhân sau đó
thực thi tập lệnh độc hại bên trong trình duyệt Vì Reflected XSS không phải là một
cuộc tan công liên tục, nên kẻ tan công phải cung cap payload cho mỗi nạn nhân
- DOM-based cross-site scripting
DOM-based XSS là loại tan công XSS nâng cao, có thể thực hiện được khi tập lệnhphía máy khách của ứng dụng web ghi dữ liệu do người dùng cung cấp vào
Document Object Model (DOM).
Sau đó, ứng dụng web sẽ đọc dữ liệu từ DOM va gửi nó đến trình duyệt Nếu ditliệu không được xử lý chính xác, kẻ tấn công có thé đưa ra payload được lưu trữnhư một phần cua DOM Payload sẽ thực thi khi dữ liệu được đọc lại từ DOM
19
Trang 32thé cho phép những kẻ tan công thực hiện các thao tác như một người quan trị web,
trên cơ sở dữ liệu của ứng dụng.
Top Web Attack Vectors
Hình 2-4: Những vectors tan công website hang đầu trong năm 20203
Ví dụ, trong form đăng nhập, người dùng nhập dữ liệu, trong trường tìm kiếm người
dùng nhập văn bản tìm kiếm, trong biểu mẫu lưu dữ liệu, người dùng nhập dữ liệu
cần lưu Tất cả các dữ liệu được chỉ định này đều đi vào cơ sở dữ liệu Thay vì nhập
dữ liệu đúng, kẻ tấn công lợi dụng lỗ hồng để insert và thực thi các câu lệnh SQL
bat hợp pháp dé lay dit liệu của người dùng
3
https://www.akamai.com/es/es/multimedia/documents/state-of-the-internet/soti-security-phishing-for-finance-report-202[.pdf
20
Trang 332.3.1.3 Lỗ hỗng Directory Traversal
Với một hệ thống tồn tại Directory Traversal, tin tặc có thé lợi dụng nó dé tìm ra chỉmục gốc và truy cập một phan của file hệ thống Điều này cho phép tin tặc xem
những file bị giới hạn hay nguy hiểm hơn là tin tặc có thể thực thi những lệnh trên
máy chủ, dẫn đến xâm hại hoàn toàn hệ thống Tin tặc sẽ thực thi những lệnh giả
mạo thành thành viên của trang web Do đó kiêu tấn công hoàn toàn phụ thuộc vàocách thiết đặt người dùng trang web được phép truy cập những gì trong hệ thống
+ Tan công Directory Traversal thông qua Code ứng dụng web
Trong ứng dụng web với những trang động, đầu vào luôn nhận từ trình duyệt thôngqua phương thức request GET và POST Đây là ví dụ về HTTP GET request URL :
GET http://test.webarticles.com/show.asp?view=oldarchive.html HTTP/1.1
Host: test.webarticles.com
Với URL này, trình duyệt yêu cầu một trang động show.asp từ may chủ và kèm
theo một thông số view với giá trị từ oldarchive.html từ file hệ thống của máy
chủ, sau đó gửi quay trở lại trình duyệt hién thị với người dùng Tin tặc cho rằngshow.asp có thê dẫn được đến file từ file hệ thống và gửi một URL sau:
GET http://test.web.com/show.asp ?view= / / / ⁄./Windows/system.inHTTP/L 1
Host: test.webarticles.com
Lénh trén khién trang web động nhận file system.ini từ hệ thống và hiển thị nó đến
người dùng Dấu / định hướng hệ thống tiễn lên một chỉ mục Tin tặc có thể đoán
cần vượt qua bao nhiêu chỉ mục dé tìm được thư mục Windows trên hệ thống thôngqua nhiều lần thử và thông báo lỗi
+ Tan công Directory Traversal thông qua máy chủ web
Máy chủ web cũng có thé tồn tại lỗ hổng tấn công Directory Traversal, xảy ra tainhững phần mềm đi kèm máy chủ hoặc những file script có sẵn Lỗ hồng được vátrong những phiên bản máy chủ web mới nhất nhưng vẫn có nhiều máy chủ trựctuyến sử dụng phiên bản IIS và Apache cũ Một vài lỗ hồng trong script mặc định
21
Trang 34cũng là nơi tin tặc tìm đến Ví dụ, URL request sử dụng chỉ mục script của IIS để
hiện một ky tự thông thường Trong trường hợp %5c đại diện cho \ Một vài phiên
bản cũ không lọc được code này trong chỉ mục gốc khiến tin tặc thực hiện được
những lệnh khác nhau.
2.3.1.4 Lỗ hỗng File Inclusion
Lỗ hồng File Inclusion cho phép tin tặc truy cập trái phép vào những tập tin nhạy
cảm trên máy chủ web hoặc thực thi các tệp tin độc hại bằng cách sử dụng chức
năng “include” Lỗ hồng này xảy ra do cơ chế kiểm tra đầu vào không được thựchiện tốt, khiến tin tặc có thể khai thác và chèn các dữ liệu độc hại
+ Lỗ hồng Remote File Inclusion
RFI cho phép tin tặc include và thực thi trên máy chủ mục tiêu một tệp tin được lưu
trữ từ xa Tin tặc có thê sử dụng RFI dé chạy một mã độc trên cả máy của ngườidùng và phía máy chủ Ảnh hưởng của kiêu tan công này thay đổi từ đánh cắp tạmthời session token hoặc các dữ liệu của người dùng cho đến việc tải lên cácwebshell, mã độc nhằm đến xâm hại hoàn toàn hệ thống máy chủ
PHP có nguy cơ cao bị tan công RFI do việc sử dụng lệnh include rất nhiều và thiết
đặt mặc định của server cũng ảnh hưởng một phân nào đó.
+ Lỗ hồng Local File Inclusion
22
Trang 35Top Web Attack Vectors — Financial Services
Hình 2-5: Những vectors tấn công website hàng đầu trong năm 2020 trong lĩnh vực tai chinh*
Lỗ hồng Local file inclusion nằm trong quá trình include file cục bộ có sẵn trên
server Lỗ hồng xảy ra khi đầu vào người dùng chứa đường dẫn đến file bắt buộc
phải include Khi đầu vào này không được kiểm tra, tin tặc có thể sử dụng nhữngtên file mặc định và truy cập trái phép đến chúng, tin tặc cũng có thể lợi dụng cácthông tin trả về trên dé doc được những tệp tin nhạy cảm trên các thư mục khác
é 3%
nhau bang cách chèn các ký tự đặc biệt như “/”, “ /”,
2.3.1.5 Lỗ hổng bảo mật Cross Site Request Forgery
Cross Site Request Forgery (CSRF) là kĩ thuật tan công bằng cách sử dụng quyền
chứng thực của người dùng đối với website khác Các ứng dụng web hoạt động theo
cơ chế nhận các câu lệnh HTTP từ người dùng, sau đó thực thi các câu lệnh này
Nguyên tắc hoạt động của CSRF : Server sẽ lưu trữ cookie ở phía người dùng dé
phân biệt người dùng Mỗi khi người dùng gửi một request tới một domain nào đó,
cookie sẽ được gửi kèm theo.
4
https://www.akamai.com/es/es/multimedia/documents/state-of-the-internet/soti-security-phishing-for-finance-report-2021 pdf
23
Trang 365, Mã độc của hacker
thực thi trên a 6 Session của user được gửi đến hacker
trình duyệt user 2 $e ' —————— X
User : : Hacker
Hình 2-6: Phương thức tấn công Cross Site Request Forgery5
- Đầu tiên, người dùng phải đăng nhập vào trang minh cần (Tạm gọi là trang A)
- Đề dụ dỗ người dùng, hacker sẽ tạo ra một trang web độc Khi người dùng truycập vào web độc này, một request sẽ được gửi đến trang A mà hacker muốn tấn
công (thông qua form, img, ).
- Do trong request nay có đính kèm cookie của người dùng, trang web A đích sé
nhằm rang đây là request do người dùng thực hiện
- Hacker mạo danh người dùng làm các hành động: đổi mật khẩu, chuyền tiền,
Tuy tấn công CSRF đã được hạn chế rất nhiều so với khi nó bùng nỗ vào đầu năm
2017 Tuy nhiên, đây vẫn được coi là một quy chuẩn khi thiết kế Website và quảntrị viên phải luôn ở trong trạng thái đề phòng vì đây là một kiểu tấn công cơ bản,
đơn giản nhưng hiệu quả cao và có thé gây thiệt hai rất lớn
5 https://www.adcvietnam.net/nhung-lo-hong-ma-cac-trang-website-thuong-gap-phai-khi-truy-cap-mang
24
Trang 37liệu từ request của nạn nhân, sau đó truyền những dữ liệu này đến một máy chủ do
kẻ tân công kiêm soát.
Kỹ thuật này được trình bày lần đầu năm 2005 bởi các nhà nghiên cứu từ Watchfire
Tuy nhiên, trong 5 năm qua, những kẻ tân công đã sáng tạo và bổ sung thêm một sốcải tiến mới, khiến phương pháp này mở rộng phạm vi tan công Nó có thé ghép cácrequest lại với nhau và chiếm được quyền truy cập tối đa vào API nội bộ, nhiễm độc
web cache và xâm nhập vào trang đăng nhập của các ứng dụng phổ biến
Các biến thể mới kết hợp sử dụng nhiều proxy-server khác nhau, bao gồm Abysscủa Aprelium, Microsoft IIS, Apache và Tomcat trong chế độ web-server và Nginx,
Squid, HAProxy, Caddy và Traefik trong chế độ HTTP proxy [6]
Server Version Web Server mode HTTP Proxy mode
Trang 382.3.1.7 Lỗ hong từ chối dịch vụ (DDoS)
Việc từ chôi dịch vụ xảy ra khi sô lượng yêu câu truy cập quá lớn, máy chủ sẽ quá
tải và không còn khả năng xử lý Các cuộc tân công thường khuêch đại các kêt nôi
từ máy tính khác vào máy của nạn nhân.
Weekly DDoS Attack Events January 1, 2020 —- December 31, 2020
Apr? May 20 Jun 20
ome A|l Verticals eames Financial Services
Hình 2-7: Số lượt tan công DDoS theo tuần trong năm 2020°
Vào năm 2020, các ngân hàng và các tổ chức tài chính đã phải đối mặt với hàng
trăm các cuộc tấn công DDoS mỗi tuần, hơn nữa các vụ tấn công ngày càng trở lêntinh vi hơn Các chuyên gia bảo mật cho biết đã xuất hiện những cuộc tấn công từchối dịch vụ (DDoS) kiểu mới, chiếm băng thông lên tới hon 400 Gb tại Việt Nam
và hơn 1.000 Gb tại Mỹ.
Tan công DDoS cũng có thé được sử dụng dé che dấu cuộc tấn công mạng phía sau
Trong khi trang web đang bị tấn công, đội ngũ nhân lực về an ninh mạng bên trong
và bên ngoài thường tập trung vào việc ngắt các trang web này, làm sạch lưu lượng
và cho nó hoạt động trở lại Những nỗ lực tạo cơ hội cho một chuỗi tấn công back
door và SQL Injection.
6
https://www.akamai.com/es/es/multimedia/documents/state-of-the-internet/soti-security-phishing-for-finance-report-2021 pdf
26
Trang 39Dén thời điêm hiện tai, gan như tat cả các website lớn đêu có thê là nạn nhân của
loại tan công DDoS Một số hình thức tan công DDoS phổ biến là:
- SYN Flood : là một loại tan công website bằng DDoS Ở đây, kẻ tan công gửi các
yêu cầu SYN vĩnh viễn để ăn tài nguyên máy chủ nhiều nhất có thể Hacker khôngbao giờ trả lời SYN-ACK hoặc thậm chí nếu nó trả lời nó sử dụng một địa chỉ IP
giả Vì vậy, các máy chủ không bao giờ nhận được các gói tin trả loi thậm chí chờ
đợi cho đến khi hết thời gian chờ
- Slowloris : Loại tấn công từ chối dịch vụ phân tán này rất khó dé phát hiện và hạnchế Sự việc đáng chú ý nhất là vụ tan công trong cuộc bau cử tổng thống Iran năm
2009 Loại tan công này có kĩ thuật tương tự như SYN flood (tạo nửa kết nối dé làmcạn kiệt tài nguyên máy chủ) nhưng diễn ra ở lớp HTTP (lớp ứng dụng) Dé tan
công, tin tặc gửi yêu cầu HTTP đến máy chủ, nhưng không gửi toàn bộ yêu cầu, mà
chỉ gửi một phan (và bổ sung nhỏ giọt, dé khỏi bị ngắt kết nối) Với hàng trăm kếtnối như vậy, tin tặc chỉ tốn rất ít tài nguyên, nhưng đủ để làm treo máy chủ, khôngthể tiếp nhận các kết nói từ người dùng hợp lệ
- Application Level Attacks : nhằm vào mục tiêu là các ứng dụng có nhiều lỗ hồng.Thay vì cố gắng lụt toàn bộ máy chủ, một kẻ tan công sẽ tập trung tan công vào một
hoặc một vài ứng dụng Các ứng dụng email dựa trên web, WordPress, Joomla va phân mêm diên dan là những vi dụ điên hình về các mục tiêu cụ thê của ứng dung.
- Multi-Vector Attacks : là hình thức phức tạp nhất trong các cuộc tấn công từ chối
dịch vụ phân tán (DDoS) Thay vì sử dụng một phương pháp đơn lẻ, nó là một sự
kết hợp của nhiều công cụ và chiến lược khác nhau để lụt mục tiêu và làm ngừngkết nối Thông thường, các Multi-Vector Attacks tấn công các ứng dụng cụ thể trên
server mục tiêu cũng như làm tràn mục tiêu với một lượng lớn lưu lượng độc hại.
27
Trang 402.3.2 Những giải pháp phòng tránh những lỗ héng Website pho biến
2.3.2.1 Giải pháp khắc phục lỗ hỗng Cross-site scripting
- Data validation : Đảm bảo việc ứng dụng hiển thị dữ liệu chính xác và ngăn dữliệu độc hại gây hại cho trang web, cơ sở dt liệu và người dùng Xác thực đầu vàogiúp ngăn XSS trong các biểu mẫu vì nó ngăn người dùng thêm các ký tự đặc biệt
vào các trường nhập dữ liệu trang web bang cách từ chối yêu cau, giúp giảm kha
năng gây ảnh hưởng tiêu cực nếu kẻ tan công phát hiện ra lỗ hong XSS [7]
- Eiltering : Sàng lọc đầu vào của người dùng là một cách khác để ngăn chặn cáccuộc tan công Cross-site scripting, đặc biệt hữu ích trên các trang web cho phép
HTML markup Phương pháp ngăn chặn này sẽ xóa sạch dữ liệu chứa các ký tự có
khả năng thực thi, thay đổi đầu vào người dùng thành định dạng có thé chấp nhận
va đảm bao dữ liệu nhận được không thé được hiéu là mã thực thi
- Escaping : Escape đầu vào của người dùng là một cách dé ngăn các lỗ hồng XSSxuất hiện trong các ứng dụng Điều này nghĩa là lay dữ liệu mà ứng dụng đã nhậnđược và đảm bảo an toàn trước khi hiển thị nó cho người dùng Escape input từngười dùng sẽ khiến các ký tự quan trọng trong dữ liệu mà trang web nhận đượckhông bị hiểu là mã thực thi Ví dụ, các ký tự như dấu ngoặc kép, dấu ngoặc đơn,
dâu ngoặc vuông và một sô dâu châm câu :
& > & < > <
> > > " > "
" > ' / > /
Escape các ký tự này có nghĩa là chuyên đổi chúng từ các ký tự đơn thành các chuỗi
khi trình duyệt biên dịch.
28