Thủ thuật clickjacking, tức nội đung trong đường link người dùng bắm vào đã bị thay đối mà họ không hay biết, được giới bảo mật đánh giá là một trong những nguy cơ nghiêm trọng mới trên
Trang 1BO GIAO DUC VA DAO TAO
TRƯỜNG ĐẠI HỌC SU PHAM THANH PHO HO CHi MINH
KHOA CONG NGHE THONG TIN
BAO CAO CUOI KY
BAO MAT VA AN NINH MANG
Đề tài: Kỹ thuật tấn công Clickjacking trén dich vu Web
và các cách thức phòng chồng
Nhóm sinh viên thực hiện:
Họ và tên: Nguyễn Tấn Đạt (Ca l)_ MSSV: 46.01.104.023
Họ và tên: Đồng Hữu Trọng MSSV: 46.01.104.201
Họ và tên: Đính Trần Thanh Tú MSSV: 46.01.104.205
Trang 2Thanh phé Hé Chi Minh, ngay 16 thang 5 nam 2023
Trang 3LOI CAM ON
Lời đầu tiên chúng em xin gửi lời cám ơn đến trường Đại học Sư phạm thành phố Hồ Chí Minh đã tạo điều kiện để sinh viên chúng em có một môi trường học tập thoải mái về cơ sở hạ tầng cũng như cơ sở vật chất
Chúng em xin gửi lời cám ơn đến thầy Lương Trần Hy Hiến, trong suốt quá trình học tập và tìm hiểu môn “đo mật và an nỉnh mạng”, chúng em đã nhận được sự giảng dạy tận tình của thầy Điều đó giúp chúng em tích lũy được thêm nhiều kiến thức mới cho bản thân Thông qua bài báo cáo cuối kỳ này chúng em xin trình bày lại những gì mà chúng em đã được học từ thầy và cũng như những kiến thức mà chúng em đã tìm hiểu về trong quá trình học tập
Có lẽ vì kiến thức là vô tận mà sự tiếp nhận kiến thức mỗi người ở mức độ khác nhau Do đó, trong quá trình hoàn thành báo cáo cuối kỳ chắc chắn sẽ có những hạn chế và có nhiều sai sót Chúng em rất mong nhận được những góp ý đến tur thay dé bai bao cao cudi ky của chúng em được hoàn thiện hơn
Cuôi cùng, chúng em xin kính chúc thây có nhiêu sức khỏe, hạnh phúc và thành công hơn trên con đường công tác và giảng dạy của mình
Xin chan thanh cam on!
Nhóm sinh viên thực hiện Báo cáo Nguyễn Tấn Đạt
Nguyễn Văn Hiếu
Nguyễn Xuân Hữu Nguyễn Trọng Thảo Đồng Hữu Trọng
Dinh Trần Thanh Tú
Trang 41.5.1 Che giấu đối tượng mục tIỀU - - 2 2: 222 2011211111121 1 11151511 ey 15 1.5.2 Giả mạo con trỏ chuộỘt 0201220121111 11th S St ng rrcsy 16 1.5.3 StrokeJacking 2 1 1.11111121111011 1101 11111 111v 17 1.5.4 Chèn đối tượng mục tiêu khi người dùng đang nhấp chuột 17
1.6 HAU QUA CUA TAN CÔNG CLICKIACKING sọ 18 1.7 CÁCH PHÒNG TRÁNH TẤN CÔNG CLICKJACKING 20
I.7.L CHi€TT 2.L Q1 2111212211119 vn ng ng n1 11c 1n kh 20 l.7.2 SGTVT Q 00H HH HS HH HT TT ng tk KĐT TH 21kg 11 K1 xà 20
CHƯƠNG 2 THỬ NGHIỆM KỸ THUẬT TÂN CÔNG CLICKIACKING VÀ BIỆN PHÁP PHÒNG CHỒNG 5223 221 221221122112111211221 2222 22 2.1 THỬ NGHIỆM KY THUAT TẤN CÔNG CLICKJACKING 22 2.2 THU NGHIEM BIEN PHAP PHONG CHONG CLICKJACKING 25
TÀI LIỆU THAM KHHẢO ° 5£ ©S<ESsEESESEExeEESeEseExekeeree re srrrcrerrre 27
MỤC LỤC
Trang 5
PHAN CONG, DANH GIA MUC DO HOAN THANH
MSSV Ho va tén Nhiệm vụ TC
46.01.104.023 ‘ewe Dat NG dung, viet bio cho 100%
46.01.104.205 | Đinh Trần Thanh Tú Demo thử nghiệm 100%
Trang 6
DANH GIA CUA GIANG VIEN
- ĐiỂm S62 eee ccc cssessesssessesssessesessessussesssessesisesesssetectissessstsetstasitsreeesetineeeseees DIG HR lec cece cee ceseeecesetenteseessesetersusetistitsereaerinsiesesesetstsitsessieseseseeseen
Thành phố Hô Chí Minh, ngày 17 tháng 5 năm 2023
GIẢNG VIÊN
ThS Lương Trần Hy Hiến
Trang 7DANH MUC KY TU VIET TAT
8 ID Identification
Trang 8
DANH MUC HINH VE VA DO THI
Hinh 1.1 Facebook cũng từng là nạn nhân của Clickjackine worm 14 Hình 1.2 CSS opacity làm cho các ifŸrame trong suốt 5-5 2S 2E re 15 Hinh 1.3 CSS pointer-events: none đề vô hiệu hóa thao tác nhấp chuột 15 Hình 1.4 Mô phỏng sự di chuyển của con trỎ 5s + S22 S19215211211 2221122 12 xe 16 Hinh 1.5 Gia mao con trd ChuGt 00.0.0 cocci cece ceeeeecececcccccecccececcescceseeeseesetteettttttteseaes 16 Hinh 1.6 StrokeJacking . c2 1 22111211111 11111111111 110111101112 1110111101112 vá 17 Hình 1.7 Kỹ thuật tấn công “bait-and-switch:” 5s c2 211111211111 1e L7 Hình 1.8 Kỹ thuật tấn công “whack-a-mole” - + ss sec 1211212111211 xe 18 Hinh 1.9 ClickJacking - Sensitrve Cliek-Based Action ị- 2c c2 ca se 18 Hinh 1.10 Clickjacking - Form Ïnput - 22c 2222221323121 1 1512112125112 x22 19 Hinh 2.1 Trang của giả mạo và được chèn iframe của trang thật 22 Hình 2.2 Code chèn 1frame của trang thật - - E222 2222112122111 123251122252 22 Hình 2.3 Thông tin của người đùng đã được lấy ST H11 2tr eướ 23
Hình 2.4 Dẫn tới một trang web quảng cáo khác s5: s1 21EE12111 151116 23
Hình 2.5 Code dẫn tới một trang web quảng cáo khác - ¿+ sec 1E e2 se, 24 Hinh 2.6 Lừa người dùng thực hiện thao tác click nút xóa e-maill 25 Hình 2.7 Code Lừa người dùng nhắn vào nút xóa e-mail - 5-5 sec ca 25
Trang 9PHAN MO DAU
Trong những năm gần đây, sự phát triển nhanh của hệ thống mạng Internet hiện nay, thời gan đã cho thấy rằng các ứng dụng web đã trở nên phức tạp hơn dễ cung cấp các chức năng mới với các tính năng sử dụng nhiều hơn hoặc chỉ đơn giản tạo ra sự bắt mắt cho người sử dụng Nhưng mức độ phức tạp hơn không phản ánh rằng khả năng bảo mật sẽ tốt hơn Luôn có những cuộc tấn công mới có thể bị bỏ qua bởi các cơ chế bảo vệ hiện có Vì vậy, các kỹ sư phần mềm phải chú ý đề phát triên các ứng dụng web an toản
Thủ thuật clickjacking, tức nội đung trong đường link người dùng bắm vào đã
bị thay đối mà họ không hay biết, được giới bảo mật đánh giá là một trong những nguy cơ nghiêm trọng mới trên Internet Phương pháp cliekJacking được thực hiện nhờ một khung nội tuyến (iame) cho phép cửa số trình duyệt chia thành nhiều phần để các nội dung khác nhau có thê hiển thị trên từng phần đó Khi khách truy cập bắm chuột vào mục chứa khung nội tuyến độc, cuộc khai thác sẽ diễn ra đúng theo kế hoạch của kẻ tắn công
Kiểu tấn công mới này xảy ra trên hầu hết các trình duyệt từ Internet Explorer, Firefox, Opera, Safari cho dén ban gan day nhat Google Chrome Microsoft va Mozilla cùng thừa nhận không dễ có giải pháp khắc phục cho vấn đề nghiêm trọng nảy
Với đề tài “Kỹ thuật tấn công Clickjacking trên dịch vụ Web và các cách thức phòng chong” ching em xin trình bày rõ hơn về bản chất, phương thức hoạt động và đưa ra các giải pháp phòng ngừa, ngăn chặn loại hình tắn công này
Trang 10PHAN NOI DUNG
CHUONG 1 CLICKJACKING
1.1 VAI NET VE TAN CONG CLICKJACKING
Nam 2008 Robert Hansen va Jeremiah Grossman kham pha ra hang loat 16i mới trong cơ sở hạ tầng internet nhu trình duyệt, website và những plug-in phô biến dẫn tới hàng tá nguy cơ bảo mật ảnh hưởng đến mọi người dùng web, một thuật ngữ bảo mật mới ra đời: Clickjacking
Robert Hansen (nhà sáng lập và điều hành hãng SecTheory) và Jeremiah Grossman (giám đốc công nghệ tại hội nghị Whitehat Security) đặc biệt nhắn mạnh những khám phá của mình về mức độ nguy hiểm đối từ clickjacking, thuật ngữ ám chỉ một nguy cơ bảo mật thật sự đe dọa ngành công nghiệp bảo mật hiện nay
Nó diễn ra qua việc lừa đảo mọi người click vào một liên kết với vẻ ngoai
“trong sạch” trong một trỉnh duyệt, ví dụ như một nút nhắn để lưu I bài báo online đang đọc vào mạng xã hội lưu trữ Dipg chứ không chỉ đơn thuần là nhắn vào các liên kết lừa đảo như trước đây tin tặc hay sử dụng Cách thức đã thay đổi và cả Hansen cùng Grossman đều cho rằng hầu hết các trình duyệt đều không đương đầu được với clickjacking
Một cuộc tấn công clickjacking có thê dựa trên một thiết kế cơ bản trong HTML cho phép các website nhúng nội dung từ các trang web khác Nội dung nhúng có thê được ân và người dùng web hoàn toàn không biết đang tương tác với
nó Một dạng thức khác của clickjacking lại nhằm vào những plug-in phô biến hiện
nay là Adobe Flash Player hay Microsoft Silverlight Thue chat, clickjacking da xuất hiện từ một vải năm trước nhưng từ sau những khám phá mới của Hansen và Grossman thì clickJacking mới lộ rõ khả năng thực sự của mình
“Có nhiều đạng clickjacking” - Hansen bày tỏ sự lo âu của mình về mối nguy
co cua clickjacking kha đa dạng “Một vài loại yêu cầu quyền truy cập cross- domain, một số khác lại không Một vài loại bao phủ toàn bộ các trang bên trên |
Trang 11trang, một vài tin tặc sé dung iframe để đưa bạn click vào một điểm Một số khác yêu câu JavaScript và một sô lại không”
Hansen đã lên I danh sách 12 trường hợp có thê khai thác clickjacking trong trình đuyệt, plug-in và website Tuy nhiên, đây không phải là tất cả
Adobe Flash Player là nạn nhân tầm cỡ của clickjacking Ý tưởng khai thác clickjacking dựa trên những nhân tố ân của Flash đẫn dắt người đến các trang web giả mạo Hãng Adobe đang ráo riết nghiên cứu trên lỗi này trước khi nó bị phát tán công khai và không quên bảy tỏ sự cảm kích Hansen và Grossman đã giữ kín lỗi nguy hiểm này Trước mắt, người dùng web nên theo sự hướng dẫn thiết lập của Adobe cho Flash Player để tránh những cuộc tấn công từ clickjacking trước khi có bản vá chính thức được phát hành
Đến năm 2010, tại cuộc hội thảo hacker - Black Ilat Europe vừa mới kết thúc tại Barcelona, chuyên gia bảo mật người Anh - Paul Stone đã trình diễn I phương thức tân công hoàn toàn mới của clickJacking attack
Bài trình diễn của Stone không giới hạn số lượng kích chuột, có thế điền giá trị text và form, dọc văn bản dang dược mở trên trình duyệt của nạn nhân hoặc các trang web nguồn khác Đồng thời Stone cũng tận đụng tối da khả năng kéo - thả, được cung cấp bởi hàm API, hiện nay đã được trang bị trong hầu hết các trình đuyệt hién nay nhu Internet Explorer, Firefox, Chrome và Safarl Bên cạnh việc “chỉ định” nạn nhân kích vào những đối tượng được điều khiến sẵn, Stone còn trình điễn
khả năng “điều khiến” người sử dụng kéo I đối tượng bất kỳ, l chuỗi ký tự text từ
cửa số hoặc form có sẵn vào | module “vé hinh” nao dé
Điều này có thê được giải thích như sau, người sử đụng đăng nhập vào l trang
xã hội hoặc l trang web nào đó, khi mở tiếp | trang web từ trang nguồn này thông qua 1 khung hình ân được đựng sẵn, tất nhiên người sử đụng không hè biết được sự ton tại này Theo ý kiến của Stone, chính sách hoạt động theo cùng nguồn gốc của các trình duyệt không thê hiện nhiều hành động phản kháng trong tình cảnh này, và các thành phần trong trang web đó sẽ tự động bị chuyến đôi từ site bất kỳ sang site
Trang 12được dựng sẵn dựa vào hành động “vô tình” của người sử dụng Sử dụng phương pháp này, Stone có thể phá vỡ những hạn chế nhằm ngăn chặn giả mạo những yêu câu tương tự nhu cross-site
Ngược lại, tính năng kéo thả còn được sử dụng để sao chép nội dung từ cửa số của người sử dụng sang của số làm việc của kẻ tân công Cũng theo Stone, diều này
có thê được sử đụng đề truy cập vào mã HTML của trang web, bao gồm các hàm ID hoặc chuỗi nhận dạng token Và thông qua cơ chế này, kẻ tấn công sẽ dễ dàng chèn
thêm các hàm diều khiển khác
Các cuộc tắn công như vậy ngày càng trở nên tỉnh Javascript được nhúng vào
hệ thống Cũng theo Stone, hàm Java còn mạnh hơn so với của trình duyệt Lợi dụng điểm công sẽ phân chia và đánh đấu văn bản dưới dạng text bằng vi khi Java
và mã kéo - thả API của này, những kẻ tấn cách kéo - thả nội dung chỉ với L cú click duy nhất Khi kết hợp tính năng này với với các phương thức tấn công khác thông qua Javascript, c6 thé dat lénh kéo tha tai bat ctr thoi diém nao, ngay cả khi con trỏ chuột chưa di chuyền đến các vị trí được chỉ định bởi Java applet hoặc khi nạn nhân
không nhắn và giữ phím chuột trái
Bên cạnh đó, Java còn hỗ trợ tính năng tự động điền mẫu nhanh hơn Thay cho việc phải chờ từng hành động kích chuột của nạn nhân, kẻ tấn công có thê hoàn thành form nội dung chỉ trong I thao tác duy nhất “Spraying”, cách gọi van tắt của phương thức này, có thê hoạt động trong nên tảng Windows và Mac OS X, nhưng không thê áp dụng đối với Linux
Tuy nhiên, những kiểu tấn công này có thể bị chặn bởi những hệ thống web
server tin cậy, khi gửi đi yêu cầu với nội dung "X-FRAME-OPTIONS: DENY" đến
header cua l trình duyệt bất kỳ nào đó, điều này sẽ bảo vệ và cho phép trang web hiển thị trong I khung (#ame) duy nhất Tuy nhiên, chỉ có các phiên bản trình duyệt mới nhất hiện nay như mới có khả năng “nhận thấy” tùy chọn nảy Stone cũng chỉ
ra rằng, đối với những trang web có lưu lượng truy cập lớn hoặc rất lớn như facebook.com, googlemail.com va twitter.com da co thé chéng lai nan clickjacking, nhưng bên cạnh đó, theo nhận định của các chuyên gia bảo mật khác, các phiên ban
Trang 13dành cho mobile hoặc smartphone của các trình duyệt này cũng đã được tối ưu hóa với mức cao nhất đề phòng tránh nguy cơ bị tấn công qua clickjacking
1.2 KHÁI NIỆM TẤN CÔNG CLICKJACKING
Clickjacking (còn được gọi là “UI redress attack”) là một thuật ngữ diễn tả việc lừa người sử đụng click chuột vào một liên kết nhìn bề ngoài có vẻ “trong sạch” trong các trang web, tuy nhiên qua cú click chuột đó hacker có thể lẫy được các thông tin bí mật của người sử dụng hay kiểm soát máy tính của họ
Kết quả của các cuộc tấn công clickjacking là người dùng có thể bị mất tai khoản, bị lừa thay đổi nội dung của một website (đặc biệt khi người đó có quyền admin), bị lừa click vào các quảng cáo cho hacker, bị chiếm quyền điều khiển máy tinh,
Clickjacking là một hình thức tấn công đánh lừa người dùng nhấp chuột vô ý
vào một đối tượng trên website Khi nhấp chuột vào một đối tượng trên màn hình, người dùng nghĩ là mình đang click vào đối tượng đó nhưng thực chất họ đang bị lừa click vào một đối tượng khác đã bị làm mờ hay ân đi Kẻ tân công có thê sử dụng kỹ thuật tấn công này cho nhiều mục đích Đánh cắp tài khoản người dùng, lừa click vào quảng cáo đề kiếm tiền, lừa like page hoặc nguy hiểm hơn là cài một webshell lên máy chủ web
Khi thực hiện một cú click, người dùng nghĩ là mình nhân chuột lên một đối tượng đang hiển thị trên màn hình, nhưng thực ra lại đang truy cập vào một trang web hoàn toàn khác Điều đó xảy ra là do một số tính chất của ngôn ngữ HTML đã
bị lợi dụng, như: Một trang web có thê chứa một trang web khác băng cách sử dụng thẻ iữame Các phần tử của trang web (HTML element) có thể tồn tại ở dạng hiện
rõ, bị làm mờ, hoặc bị ân hoàn toàn; Nếu các HTML element chồng lên nhau thì thứ
tự chồng chất được quyết định bởi một tham số đặc biệt, gọi là z-Index
Như vậy, một phần tử HTML có thế được thiết lap dé dat trước tất cả mọi phần
tử HTML khác, nhưng lại tồn tại ở dạng ân và phần tử HTML đó có thê là một trang
web được tải về nhờ thẻ iữame Trong cách thức tiến hành tấn công Clickjacking,
Trang 14kẻ tấn công sẽ dùng thẻ iframe để mở một trang web mà chúng muốn người dùng nhấn chuột vào, đồng thời đặt iframe (được thiết lập ở chế độ ân) đó phía trên trang web đang được hiền thị trên trình duyệt của người dùng Việc này có thé thực hiện được bằng cách sử dụng Cascading Style Streets (CSS), với tham số opacity đề thiết lập tính ân và tham số z-index đề thiết lập thứ tự xếp chồng Kết quả là khi người dùng nhấn chuột vào trang web mà anh ta đang xem thì cú nhấn chuột đó lại được tính là thực hiện trên trang web (ân) của kẻ tấn công Đề người dùng nhân chuột vào đúng vị trí mà kẻ tấn công mong muốn, chúng sẽ sử dụng tính năng định vị tuyệt đối của CSS để thiết lập cho vị trí đó trùng với vị trí của vùng trên trang web đang
hiện mà có nhiều khả năng người dùng sẽ nhân chuột vảo
1.3 THỰC HIỆN TẤN CÔNG CLICKJACKING
Ban đầu, Clickjacking được hacker sử dụng đề kiếm tiền quảng cáo trên mạng
Đề thực hiện Clickjacking, kẻ tấn công sẽ lôi kéo người dùng truy cập vảo trang web đã bị cài mã Clickjacking Cách sơ đăng nhất (nhưng vẫn được dùng khá phô
biến hiện nay) đề khiến người dùng nhấp chuột, đó là hiến thị một thông báo trên
trang web mà người dùng đang xem, rằng anh ta đã trúng một giải thưởng nào đó, rồi yêu cầu người dùng truy cập vào đường link nhất định để xem chỉ tiết chương trình trúng thưởng đó
Nếu người dùng tin vào thông báo và nhắn chuột có thế vào đường link “Cách nhận giải thưởng” thì cú nhấn chuột được tính là nhấn vào dòng quảng cáo cho Amazon của Bing (được đặt ở chế độ ân) Kết quả là kẻ tấn công sẽ được trả một
khoản tiền nhất định
Tuy nhiên, hình thức tấn công này cũng có thế được sử dụng với mục đích khác, ví dụ như lừa người dùng nhấn vào nút “Retweet” hay nút “Like” cho những dòng tin của kẻ tấn công, hoặc quy mô hơn, như cài một Web Shell server lên máy chủ web
Việc sử dụng Clickjacking có thể cài (trái phép) một Web Shell server lên một máy chủ web Tấn công này thực ra chỉ hướng đến một ứng đụng cụ thế, nhưng rất
Trang 15phố biến hiện nay, đó là WordPress Nguyên nhân dẫn đến khả năng tấn công không chỉ nằm trong bản thân WordPress mà còn do các môđun mở rộng (plugin) Việc mở trang để cài đặt plugin là quá đơn giản Trong trang quản trị website, chỉ cần mở kho lưu trữ ra, chọn một plugin và nhấn nút Install Now (tương tự như trong FireFox) Như vậy, không gì có thê ngăn cản tải trang web này vào một iữame ân
và đánh lừa cho nạn nhân nhấn lên nút Install Now Tuy nhiên, bằng cách đó thì plugn mới chỉ được cài đặt chứ chưa được kích hoạt Nhưng có thể biết chính xác rằng ñle plugin đó (được phân phối dudi dang file nén Zip) nam ở một thư mục nhất định và có thế truy cập được Vấn đề là ở chỗ, cần phải cài plugin nao dé dat được mục đích Có hai sự lựa chọn là: đưa vào kho chứa một plugin có tính năng Trojan (và thực hiện Clickjacking đề plugin đó được cài đặt) hoặc tìm một plugin có
lỗ hồng bảo mật và khai thác nó
Dù rằng tân công trên đây đã mang lại hiệu quả ấn tượng (lấy được shell), nhưng kỹ thuật ClickJacking được sử dụng trong đó là quá đơn giản Có những ky thuật Clickjacking phức tạp hơn nhiều, giúp mở rộng khả năng mà kẻ tấn công có thể đạt được, ví dụ như:
- Có thê khiến người đùng không chỉ đơn giản là nhấn chuột, mà còn thực hiện kéo - thả các đối tượng Ví dụ, dịch chuyền một đoạn text vào form Hoặc có thể dịch chuyên text ra khỏi itame, qua đó kẻ tấn công đạt được khả năng thu được các
dữ liệu hữu ích (như thông tin ân trên các mạng xã hội chăng hạn)
- Khiến người đùng nhập đữ liệu (như mật khẩu) vào form
- Có thê điều khiến vùng hiến thị trong iframe thông qua anchor đề định vị thuận tiện hơn
- Có thể thiết kế một iframe ân dõi theo sự di chuyền của con trỏ chuột dé
“cướp lấy” sự kiện nhân chuột, không cần biết người dùng đã nhấn chuột ở vị trí nào Và như thế, không phải quan tâm đến vấn đề định vị nữa
- Có thể thiết kế để người dùng thực hiện nhiều cú nhấn chuột ở các vị trí nhất định Cách đây không lâu, bằng cách này, hacker đã tân công lên Flash Player và