Nguyen Dang Tien People's Police University of Technology and Logistics, Bac Ninh, Vietnam In this paper, we propose some methods of Clickjacking attacks to prevent a very popular onl[r]
(1)69
JOURNAL OF SCIENCE OF HNUE DOI: 10.18173/2354-1059.2017-0009
Natural Sci 2017, Vol 62, No 3, pp 69-75
This paper is available online at http://stdb.hnue.edu.vn
ĐỀ XUẤT MỘT SỐ BIỆN PHÁP PHÒNG CHỐNG PHƯƠNG THỨC
TẤN CÔNG CLICKJACKING
Nguyễn Đăng Tiến
Trường Đại học Kĩ thuật Hậu cần Công an Nhân dân, Bộ Cơng an
Tóm tắt. Trong báo này, đề xuất số biện pháp phòng chống phương thức lừađảo trực tuyến (phishing) phổ biến, phương thức cơng Clickjacking Đây dạng cơng mà sử dụng trình duyệtđể truy cập ứng dụng, nạn nhân bị lừa truy cập thao tác trang web giả mạo hacker tạo Những trang web thườngđược núp vỏ bọc trang web an toàn Tấn công Clickjacking không yêu cầu kĩ thuật cao hiệu thu lớn Hậu gây nhẹ phiền toái người dùng, nặng bị cắp thông tin loại tài khoản hay liệu nhạy cảm Chúng đưa số phương pháp phòng ngừa từ phía máy chủ Web từ phía người dùng để ngăn chặn dạng công cách hiệu
Từ khóa: Tấn cơng Clickjacking, thẻ iframe, thiết lập z-index, hacker, dịch vụ mạng
1 Mở đầu
Clickjacking Robert Hansen (người sáng lập điều hành hãng SecTheory) Jeremiah Grossman (Haker mũ trắng) phát công bốvào năm 2008 Năm 2010, hội thảo Black Hat Europe diễn Barcelona, chuyên gia bảo mật người Anh - Paul Stone trình diễn thêm kĩ thuật khai thác dạng công [1]
Clickjacking (hay UI Redress Attack) dạng công lừa đảo ứng dụng web Thuật ngữ Clickjacking mô tả việc hacker dụngười dùng click vào liên kết độc hại, nguy hiểm, ẩn vẻ ngồi trang web an tồn Việc click vào liên kết có thểđơn giản bịđiều hướng sang trang web khác, tăng view cho quảng cáo giúp kiếm tiền cho hacker, hay nặng bịđánh cắp thơng tin bí mật, nhạy cảm chiếm quyền điều khiển máy tính Điều đáng ngại hình thức lừa đảo xuất nhiều web đến mức người ta xem phần hiển nhiên truy cập Internet Các thiệt hại thường xẩy cá nhân sử dụng internet nhà cung cấp dịch vụ doanh nghiệp nên phương thức cơng truyền thông ý so với dạng công khác SQL injection, DoS hay DDoS…
Một số giải pháp phòng chống Clickjacking nghiên cứu trước Trong [2], tác giảđề xuất phương pháp thời điểm ban đầu, hành động truy cập vào đường dẫn trang web mô Sau hệ thống phân tích mơ đưa lời cảnh báo người dùng có khảnăng trang web cơng Clickjacking hay khơng Guvstav cộng [3] trình bày phương pháp sử dụng kĩ thuật frame-busting áp dụng cho số trang web
Ngày nhận bài: 19/2/2017 Ngày nhận đăng: 20/3/2017
(2)Nguyễn Đăng Tiến
70
Trong [4-6], tác giả tập trung vào phân tích chiến thuật hacker sử dụng phương pháp Clickjacking cách phịng kĩ thuật phịng chống loại cơng Nhằm nâng cao nhận thức người sử dụng internet Clickjacking, báo tơi trình bày số nghiên cứu kĩ thuật công, mối nguy hiểm phương thức cuối sốhướng dẫn cách thức phòng chống
2 Nội dung nghiên cứu
2.1 Phương pháp cơng Clickjacking cách phịng trống 2.1.1 Kịch công Clickjacking
Ở phần này, mô tả kịch công Clickjacking đơn giản Quá trình thực sau:
Hacker dụngười dùng truy cập vào trang web tạo sẵn, trang web tin thông báo nhận thưởng với tài sản hấp dẫn, hay trang có nội dung nhạy cảm thu hút người xem… Chúng thường có dạng sau:
Hình Trang trúng thưởng nhằm thu hút người dùng
Truy cập web đểtrúng thưởng iPhone? Phần thưởng đủ hấp dẫn để khiến người dùng dễ dàng nhấn chuột vào nút “NHẬN THƯỞNG” mà bịđưa vào nguy hiểm Thứ sau cú click chuột là:
(3)Đề xuất số biện pháp phịng chống phương thức cơng Clickjacking
71 Chuyện xảy ra? Người dùng tương tác với trang web thông báo trúng thưởng, click vào nút “NHẬN THƯỞNG” khơng sử dụng đến dịch vụ ngân hàng, thông báo chuyển khoản thành công ởđâu? Tại sốdư tài khoản biến 500 USD?
Xem xét kĩhơn chút, ởđây rõ ràng người dùng tương tác với dịch vụ Internet Banking ngân hàng, với nút “CHUYỂN KHOẢN” nằm ởtrên Nhưng thứ hiển thị lên hình máy tính nạn nhân lại trang web khơng liên quan đến nội dung Khi người dùng click vào nút “NHẬN THƯỞNG” hiển thị hình thực sựhacker điều hướng click vào nút “CHUYỂN KHOẢN”, giao dịch chuyển tiền thực hiện, tiền tài khoản bị
Kĩ thuật thực số tính chất ngơn ngữ HyperText Markup Language (HTML) bị lợi dụng Ngôn ngữ HTML cung cấp thẻ iframe có chức hiển thị nội dung trang web khác trang web Mỗi phần tử trang web (HTML Element) có ba chếđộđó hiển thị, làm mờ bịẩn Nếu HTML Element chồng lên thứ tự định tham số gọi z-index
Như ởtrong trường hợp này, trang giao dịch ngân hàng dùng thẻiframe để tải chạy trang web hacker, đồng thời thiết lập z-index đểđặt trước tất thành phần khác lại tồn trạng thái ẩn Một trang web thông báo trúng thưởng cho hiển thị hình hồn tồn khơng có ý nghĩa, vị trí nút “NHẬN THƯỞNG” vị trí nút “CHUYỂN KHOẢN” ẩn Chúng ta hình dung trang web sau:
Hình Mơ tảcách mà trang web được hiển thị trang bịẩn đi
Đối với người dùng, họ nhấn nút “NHẬN THƯỞNG” lúc tiền chuyển Như vậy, giao dịch nhạy cảm liên quan đến dịch vụngân hàng ẩn trước mắt người dùng họ không hay biết, hậu gây lớn
2.1.2 Một số kĩ thuật công Clickjacking
Clickjacking dạng cơng kiểu lừa đảo, không yêu cầu cao mặt kĩ thuật, mà chủ yếu khai thác yếu tốcon người Thực tế chế bảo mật, yếu tố người quan trọng dễ bị khai thác Việc cơng dị tìm tài khoản, đốn mật hacker khó nhiều so với việc lợi dụng sựsơ ý người dùng để chiếm đoạt thơng tin Clickjacking có thểđược sử dụng với nhiều kĩ thuật đa dạng, từđơn giản đến nâng cao Trong phần tiếp theo, sẽđề cập đến số kĩ thuật đặc trưng Clickjacking
* Tương tác với frame ẩn
Kĩ thuật trình bày ví dụ trên, lợi dụng tính cung cấp ngơn ngữ HTML Cascading Style Sheets (CSS) thẻ iframe số z-index Trong HTML, thẻ iframe dùng để tải chạy trang web khác trang Một thẻ iframe có thểđược khai báo sau:
<body>
<iframe src=" /transfer.html" width="555" height="200"> </iframe>
(4)Nguyễn Đăng Tiến
72
Trong đó, src=" /transfer.html"là địa trang web muốn tải Hacker tạo iframe tải nội dung trang nhạy cảm giao dịch ngân hàng, khai báo thơng tin tài khoản… trang mình, việc tải qua iframe cung cấp đầy đủ chức bình thường ta truy cập vào trang web
Hình Website của ngân hàng BIDV được tải về chạy bình thường sử dụng thẻ iframe tại thời điểm báo
Đoạn code giúp tải nội dung có thểđược viết đơn giản sau: <head>
<title>Chúc mừng bạn trúng iPhone</title>
</head> <body>
<iframe src="http://www.bidv.com.vn/" width="100%"
height="100%" id="bank" frameborder="0" scrolling="yes">
</iframe>
</body>
Ở ví dụ trên, trang giao dịch ngân hàng BIDV tải trang web hacker thẻ iframe, kết hợp cấu hình thêm vài tham sốnhư width="100%"height="100%"frameborder="0", trang giao dịch hiển thị hoạt động bình thường truy cập vào địa chủ Tuy nhiên, điều nguy hiểm hacker không đểngười dùng thấy trang này, mà ẩn giấu thiết lập z-index Trong CSS, z-index tham số thiết lập thứ tự xếp chồng lên thành phần HTML, mặc định thành phần có z-index lớn sẽưu tiên xếp cao hơn, nghĩa ưu tiên hiển thị Ởđây, hacker thiết lập z-index=-1, thành phần nguy hiểm ẩn sau HTML Element khác, trước mắt người dùng không nhận Khi đó, họ vơ tình thao tác trang web nguy hiểm mà không hay biết
* Sửa đổi vị trí trỏ chuột
(5)Đề xuất số biện pháp phịng chống phương thức cơng Clickjacking
73 * Một số kĩ thuật tấn công Clickjacking nâng cao
Dựa vào ý tưởng chủđạo trên, hacker phát triển thêm kĩ thuật phức tạp hơn, giúp ẩn tốt hơn, tăng khảnăng thành cơng lượng thông tin thu thập Các kĩ thuật công nâng cao sử dụng đến gồm có:
- Sử dụng đoạn mã Java Javascript, hacker khơng kiểm sốt thao tác click chuột, mà cịn thực kéo-thảcác đối tượng dịch chuyển đoạn text vào form liệu hay chuyển khỏi iframe Qua đó, hacker có thểthu thông tin nhạy cảm tài khoản ngân hàng, mật đăng nhập
- Hacker lợi dụng lỗ hổng cross site scripting web site cách chèn vào URL web site script điều hướng
http://myidol.com.vn/home/search.php?q=%3Cscript+type%3Dtext%2Fjavascript+src%3D%22h ttp%3A%2F%2F192.168.0.207%3A3000%2Fhook.js%22%3E%3C%2Fscript%3E
Khi người dùng click vào link chứa URL trên, người dùng bịđiều hướng tới web site chứa đoạn mã độc java script (như URL đoạn mã độc Hook.js) Sau đó, đoạn mã độc sẽđược tiêm nhiễm vào trình duyệt người dùng Hacker hồn tồn kiểm sốt hay điều khiển trình duyệt Khi đó, Hacker tạo thông báo giả mạo update flash chèn tiếp mã độc reverse shell giả mạo phần mềm flash, người dùng cài đặt phần mềm Hacker chiếm tồn quyền sở hữu máy người dùng Hay Hacker tùy ý tạo Plugin giả mạo khác để dụngười dùng click vào lấy cắp thông tin người dùng tài khoản quan trọng
- Thiết kế iframe ẩn theo dõi di chuyển hay điều khiển vị trí trỏ chuột, đồng thời kiểm sốt thời điểm click chuột Điều thực tính Javascript Từ đó, hacker “chiếm đoạt” kiện click chuột mà không cần quan tâm vị trí nào, tạo công multi-click liên tục, hoàn thành sau số lần click chuột Kết thúc cơng, hacker trả lại quyền kiểm sốt trỏ Ởđây,người dùng thấy số thao tác lạ so với bình thường khó nhận bị cơng
- Sử dụng lỗ hổng phần mềm tiềm ẩn nhiều rủi ro Adobe Flash, ActiveX hay Microsoft SilverLight Google ghi nhận xuất dạng công Clickjacking hệ điều hành Android họ
* Một số biện pháp phòng chống tấn công Clickjacking
Tấn công Clickjacking dạng công lừa đảo, hậu quảgây cho người dùng cá nhân đa dạng Ban đầu, kĩ thuật sử dụng để nhằm lôi kéo người dùng đến trang quảng cáo hay viết nhạy cảm Các hệ thống quảng cáo Google, Microsoft … tính số lần click chuột vào banner để tính số tiền phải trả Sử dụng Clickjacking, hacker có thểđiều hướng người dùng đến trang quảng cáo, “chiếm đoạt” cú click chuột họ tiền sẽđược đưa tài khoản chúng Facebook nạn nhận Clickjacing người dùng vơ tình nhấn vào đường link làm lây lan mã độc hại hay đơn giản “like” Page Tấn công dạng phổ biến Internet, nhiều người xem điều hiển nhiên truy cập web, dẫn tới tâm lý chủ quan, xem nhẹ tính bảo mật
Đối với kĩ thuật công Clickjacing nâng cao, hacker chiếm đoạt cú click chuột mà cịn cảcác đoạn text Chúng chứa thông tin tài khoản ngân hàng, mật hay thơng tin nhạy cảm Thiệt hại xảy đến với người dùng lớn
(6)Nguyễn Đăng Tiến
74
Có nhiều phương pháp khác để phòng chống Clickjacking, phạm vi báo, đề cập đến sốphương pháp hiệu nhất, thực hai phía: máy chủ cung cấp dịch vụ người dung internet
* Ở phía Máy chủ web
- Kĩ thuật Framebuster: Kĩ thuật kểđến sử dụng kịch Javascript đặc biệt nhằm ngăn chặn việc tải nội dung trang web vào frame Những đoạn mã thếđược gọi framebuster, đề xuất viết sau:
<script>
if(top!=window)
{top.location=window.location} </script>
Ở kịch framebuster trên, điều kiện kiểm tra trang web tải có phải nằm frame hay không Nếu trang làm việc trang cao (được hiển thị) trang cao sẽđược gán lại để hiển thịra cho người dùng Tuy nhiên, thực tế kĩ thuật chưa hoàn toàn đảm bảo để chống lại Clickjacking
- Kĩ thuật X-Frame-Options: X-Frame-Options Header một tùy chọn máy chủ, thơng báo cho trình duyệt website có cho phép nhúng vào thẻ frame, iframe hay không Header xuất vào năm 2009 hầu hết trình duyệt hỗ trợ Có ba giá trị tùy chọn X-Frame-Options gồm có:
X-Frame-Options: DENY
X-Frame-Options: SAMEORIGIN
X-Frame-Options: ALLOW-FROM https://example.com/
Ở đây, đề nghị chọn DENY: cấm hoàn toàn việc tải trang Web vào frame Cụ thể đưa số giải pháp sau
- Đối với máy chủ Apache:
Header always set X‐Frame‐Options DENY
- Đối với máy chủ Lighthttpd:
server.modules += ("mod_setenv") $HTTP["scheme"] == "https" {
setenv.add‐response‐header
= ("X‐Frame‐Options" => "DENY") }
Sau công Clickjacking gây thiệt hại phát hiện, nhà cung cấp dịch vụ Web lớn cảnh giác với Facebook, Twitter hay GitHub cấu hình X-Frame-Options giúp chặn dạng công
- Kĩ thuật sửa lỗi XSS để tránh bị hacker kết với hợp Clickjacking: XSS lỗi Server gây nguy hiểm lớn cho người dùng, nhiên lại khơng q khó để phịng tránh Bản chất XSS khơng kiểm sốt kĩ liệu nhập vào SQL Injection Biện pháp đưa kiểm duyệt kĩ liệu vào, chặn từ khóa nguy hiểm
Một phương pháp hiệu khác mã hóa ký tựđặc biệt liệu vào, sử dụng hàm htmlentities() HTML, sau:
(7)Đề xuất số biện pháp phịng chống phương thức cơng Clickjacking
75 Phương pháp có thểđược sử dụng với ASP, JSP
* Ởphía người dùng
Vềphía người dùng, trước hết cần nâng cao nhận thức vấn đề bảo mật truy cập Internet, thận trọng với giao dịch, thao tác nhạy cảm mạng
Về kĩ thuật, sử dụng sốphương pháp sau: Cài đặt Add-on vào trình duyệt đểngăn chặn việc chạy Flash hay Javascript, NoScript FireFox hay Clickjacking Reveal Chrome Tuy nhiên điều gây số phiền tối q trình duyệt web; Thường xuyên cập nhật nâng cấp trình duyệt, hệđiều hành vá lỗi từ nhà sản xuất; Cẩn thận với thao tác lạ, “món quà” bất ngờ từ Internet; Cẩn thận với URL thiếu tin cậy mạng; Cài đặt phần mềm Anti Virus mạnh thường xuyên update
3 Kết luận
Clickjacking dạng công phổ biến, không yêu cầu kĩ thuật khai thác cao hậu gây nghiêm trọng Đây công mang đặc trưng dạng cơng lừa đảo, ngồi vấn đề kĩ thuật, yếu tốcon người quan trọng việc phòng chống, phát tránh bịrơi vào bẫy mà hacker dựng sẵn Các dạng công gây thiệt hại hay gián vào máy chủ cung cấp dịch vụnhư công DDOS, SQL-Injection thường giới truyền thông chuyên môn ý nhiều mà sơ ý bỏ qua cơng có mục tiêu nhằm đến cá nhân sử dụng internet Các nhà phát triển website chưa thực sựchú ý đến Clickjacking Hiện nay, trang web lớn chặn iframe, có nhiều trang web nhạy cảm lĩnh vực tài chính, ngân hàng nước cho phép tải trang qua trang web khác Hơn hết, người dùng Internet phải tự trang bị cho hiểu biết vấn đề an ninh bảo mật thơng tin, để “an tồn” không gian mạng, đặc biệt thời đại Internet kết nối vạn vật
TÀI LIỆU THAM KHẢO [1] S.Paul, 2010 Next Generation Clickjacking White paper
[2] M Balduzzi, M Egele, E Kirda, D Balzarotti, C Kruegel, 2010 A Solution for the Automated Detection of Clickjacking Attacks
[3] G Rydstedt, E Bursztein, D Boneh, C Jackson, 2010 B Busting: A Study of Clickjacking Vulnerabilities on Popular Sites Stanford University
[4] L Huang, A Moshchuk, H Wang, S Schechter, C Jackson, 2012 Clickjacking: Attacks and Defenses [5] A.Narayanan, 2012 Clickjacking Vulnerability and Countermeasures, Foundation of Computer
Science FCS, New York, USA
[6] H Shahriara, V Devendran, 2014 Classification of Clickjacking Attacks and Detection Techniques, Kennesaw State University, Kennesaw, Georgia, USA
ABSTRACT
Clickjacking attack prevention using various techniques
Nguyen Dang Tien People's Police University of Technology and Logistics, Bac Ninh, Vietnam In this paper, we propose some methods of Clickjacking attacks to prevent a very popular online fraud (phishing) This is an attack method that users access the applications via browsers; victims are cheated and manipulated on the fake website created by the hacker These sites are usually hiding under the guise of a secure site Clickjacking attack does not require high technical, but the consequences may be serious The consequences may cause a nuisance for users, more heavily account information or other types of sensitive data may be stolen We also offer a number of insurance methods to Web servers and users to prevent clickjacking attack effectively