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

Khóa luận tốt nghiệp An toàn thông tin: Xây dựng hệ thống phân tích websites và đề xuất các giải pháp bảo mật thông tin

108 0 0
Tài liệu đã được kiểm tra trùng lặp

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng hệ thống phân tích websites và đề xuất các giải pháp bảo mật thông tin
Tác giả Nguyễn Minh Đức, Lai Văn Cử
Người hướng dẫn ThS. Đỗ Thị Hương Lan, ThS. Trần Thị Dung
Trường học Trường Đại học Công nghệ Thông tin, Đại Học Quốc Gia Thành phố Hồ Chí Minh
Chuyên ngành An toàn thông tin
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2021
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 108
Dung lượng 57,51 MB

Nội dung

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 3

THONG 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 4

LOI 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 5

MỤ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 6

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

3.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 8

DANH 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 9

Hì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 10

Hì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 11

DANH 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 12

DANH 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 13

TOM 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 14

Chươ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 17

1.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 18

1.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 19

Chươ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 20

2.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 21

2.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 22

2.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 23

2.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 24

2.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 28

gố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 30

2.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 31

Có 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 32

thé 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 33

2.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 34

cũ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 35

Top 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 36

5, 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 37

liệ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 38

2.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 39

Dé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 40

2.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 :

& > &amp; < > &lt;

> > &gt; " > &quot;

" > &#x27; / > &#x2F;

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

Ngày đăng: 02/10/2024, 08:37

TRÍCH ĐOẠN

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN