Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)Xây Dựng Công Cụ Nhận Dạng Tấn Công Ứng Dụng WordPress Dựa Trên Sự Bất Thường (tt)
HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG - NGUYỄN TRỌNG NGHĨA XÂY DỰNG CÔNG CỤ NHẬN DẠNG TẤN CÔNG ỨNG DỤNG WORDPRESS DỰA TRÊN SỰ BẤT THƯỜNG Chuyên ngành: Hệ thống thơng tin Mã số: 60.48.01.04 TĨM TẮT LUẬN VĂN THẠC SĨ THÀNG PHỐ HỒ CHÍ MINH – 2017 Luận văn hồn thành tại: HỌC VIỆN CƠNG NGHỆ BƢU CHÍNH VIỄN THƠNG Người hướng dẫn khoa học: PGS.TS Trần Văn Hoài Phản biện 1: TS Nguyễn Tuấn Đăng Phản biện 2: TS Đàm Quang Hồng Hải Luận văn bảo vệ trước Hội đồng chấm luận văn thạc sĩ Học viện Cơng nghệ Bưu Viễn thơng Vào lúc: 10 20 ngày 05 tháng năm 2017 Có thể tìm hiểu luận văn tại: - Thư viện Học viện Cơng nghệ Bưu Viễn thơng MỞ ĐẦU CMS (Content Management System) hay gọi hệ thống quản lý nội dung sử dụng nhằm mục đích giúp người quản trị trang web dễ dàng quản lý, chỉnh sửa nội dung Hệ thống CMS Wordpress sử dụng phổ biến chiếm thị phần cao so với hệ thống khác 59,1%, Joomla chiếm 6,9%, Drupal chiếm 4,7%, Magento chiếm 2,5% Blogrer chiếm 2,2% [15] theo số liệu khảo sát từ đầu tháng năm 2017 w3techs Trên thực tế có 27% trang web giới sử dụng tảng Wordpress Tuy nhiên hệ thống Wordpress ln tìm ẩn lỗ hổng bảo mật ứng dụng cài đặt Những năm gần đây, ứng dụng web mục tiêu công phổ biến [5] tin tặc Để bảo vệ ứng dụng Wordpress cần xây dựng lớp bảo vệ có khả tùy biến cao, dễ dàng cài đặt cập nhật chế phát kịp thời nhằm sớm nhận biết dấu hiệu bất thường cơng Mục đích luận văn tập trung nghiên cứu xây dựng công cụ nhận dạng cơng phổ biến từ bên ngồi vào hệ thống Wordpress dựa mơ hình học hành vi bình thường, từ đưa thơng báo, sách ngăn chặng cách ly theo dõi tự động hệ thống Với mục đích đó, luận văn bố cục nội dung sau: Chương 1: Tổng quan bảo mật giải pháp nhận dạng công ứng dụng web - Những vấn đề bảo mật Website CMS - Phương pháp bảo mật quan trọng - Học máy Chương 2: Các mơ hình nhận dạng cơng ứng dụng Wordpress dựa bất thường - Định nghĩa tổng quát bất thường - Các mơ hình nhận dạng Chương 3: Phương pháp học máy nhận dạng công ứng dụng Wordpress dựa bất thường - Nhận xét đánh giá mơ hình - Đề xuất mơ hình nhận dạng - Phương pháp tạo tập liệu huấn luyện - Mơ hình thuật tốn kết hợp nhận dạng - Mơ hình nhận dạng Chương 4: Cài đặt, thực nghiệm đánh giá CHƢƠNG – TỔNG QUAN VỀ BẢO MẬT VÀ CÁC GIẢI PHÁP NHẬN DẠNG TẤN CƠNG ỨNG DỤNG WEB Chương này, trình bày tổng quan vấn đề bảo mật Website, hệ thống quản lý nội dung CMS, kiến trúc Wordpress, mơ hình hoạt động ứng dụng web, phương pháp bảo mật quan trọng, tổng quan học máy ứng dụng học máy 1.1 Những vấn đề bảo mật Website CMS 1.1.1 Khái niệm Website CMS Website “trang web” mạng Internet, nơi giới thiệu thơng tin, hình ảnh tổ chức, đơn vị, doanh nghiệp… sản phẩm, dịch vụ họ (hay giới thiệu thơng tin gì) để khách hàng (người dùng) truy cập nơi đâu, lúc kết nối Internet Trong đó, CMS (Content Management System) hệ thống quản trị nội dung nhằm mục đích giúp người quản trị dễ dàng quản lý, chỉnh sửa nội dung Có nhiều CMS giới, thơng dụng Wordpress Wordpress phần mềm nguồn mở (Open Source Software) viết ngơn ngữ lập trình PHP (Hypertext Preprocessor) sử dụng hệ quản trị sở liệu MySQL Wordpress xem hệ quản trị nội dung vượt trội để hỗ trợ người dùng tạo nhiều thể loại Website khác Hầu hình thức Website với quy mơ vừa nhỏ triển khai tảng Wordpress Nhưng khơng có nghĩa Wordpress thích hợp với dự án nhỏ, mà có tới khoảng 27% Website danh sách 100 Website lớn giới sử dụng mã nguồn Wordpress Ví dụ trang tạp chí TechCrunch, Mashable, CNN, BBC America Ở Việt Nam, Wordpress chiếm ưu tính dễ sử dụng, dễ xây dựng nâng cấp thêm chức thông qua thành phần gọi plugin Plugin trình cắm thêm vào Website để bổ sung chức cần thiết Plugin đơn giản plugin không cần tương tác với sở liệu, plugin tạo icons social, chèn link để truy cập tới facebook định Ngược lại plugin phức tạp có tương tác với sở liệu, hỗ trợ tạo trang shopping, social network, trang cấu hình bảo mật an tồn hệ thống…Hình 1.1 cho thấy vị trí plugin nạp q trình xử lý liệu Wordpress Wordpress URL Translations Loaded Theme Loaded wp-config Loaded Pluggables Loaded Functions Loaded Plugins Loaded Page Content Hình 1.1: Quy trình xử lý liệu Wordpress 1.1.2 Kiến trúc Wordpress Wordpress có kiến trúc hình 1.2 sau: Hình 1.2: Kiến trúc tổng quan Wordpress (Nguồn: https://andy.wordpress.com) Không kiến trúc tảng web khác, Wordpress xử lý chức độc lập ứng dụng như: post.php, wp-login.php, comment.php, date.php Hình 1.3 cho thấy trình tự tạo môi trường thông qua hàm lời gọi ứng dụng tương ứng /** * Loads the WordPress environment and template * @package WordPress */ if ( !isset($wp_did_header) ) { $wp_did_header = true; // Load the WordPress library require_once( dirname( FILE ) '/wp-load.php' ); // Set up the WordPress query wp(); // Load the theme template require_once( ABSPATH WPINC '/template-loader.php' ); } Hình 1.3: Chi tiết nạp môi trƣờng Wordpress /** The name of the database for WordPress */ define('DB_NAME', 'wp'); // Thông tin sở liệu /** MySQL database username */ define('DB_USER', 'mysql'); // User để kết nối với sở liệu /** MySQL database password */ define('DB_PASSWORD', ' mysql '); // Mật user /** MySQL hostname */ define('DB_HOST', 'localhost'); // Để mặc định localhost Hình 1.4: Các giá trị cần có để kết nối CSDL Wordpress Cấu trúc thư mục tập tin mặc định Wordpress tổ chức hình 1.5 sau đây: wp-admin wp-content mu-plugins plugins plugin-name plugin-file.php themes parent-theme child-theme uploads wp-includes wp-config.php Hình 1.5: Cấu trúc tổ chức thƣ mục mặc định Wordpress wp wp-admin wp-content (no constant! Just happens to be here) themes (register_theme_directory()) twentyfifteen wp-includes content (WP_CONTENT_DIR) mu-plugins plugins plugins-name plugins-file.php themes twentyfifteen-child uploads wp-config.php (dirname(ABSPATH).’/wpconfig.php’) Hình 1.6: Cấu trúc tổ chức thƣ mục đại Wordpress Cấu trúc cho thấy thay đổi như: lõi Wordpress có thư mục riêng; thư mục nội dung cấu hình cấp thư mục lõi, khơng lồng bên lõi cấu trúc chung; thư mục themes cấu hình riêng thư mục bổ sung riêng biệt; tập tin cấu hình đặt mức thư mục Việc tách thư mục lõi thư mục nội dung có lợi chổ: cấu trúc rõ ràng hơn; quản lý công việc đơn giản thuận tiện (ví dụ lưu); áp dụng nguyên tắc phát triển đại Nhìn chung hệ thống Wordpress gồm thư mục chính: wp-admin, wp-content, wp-includes số tập tin chạy thư mục gốc, loại tập tin (ứng dụng) phục vụ cho mục đích cụ thể Wordpress đề cặp 1.1.3 Mô hình hoạt động ứng dụng web Trình duyệt phía ngƣời dùng Người dùng gửi yêu cầu theo giao thức HTTP/ HTTPs đến máy chủ web Hệ thống phía máy chủ Internet Phản hồi từ máy chủ web (HTML, CSS, JavaScript, hình ảnh ) Máy chủ web Máy chủ ứng dụng web Máy chủ sở liệu Hình 1.7: Mơ hình hoạt động ứng dụng web (Nguồn: windowsecurity.com) 11 CHƢƠNG – CÁC MƠ HÌNH NHẬN DẠNG TẤN CÔNG ỨNG DỤNG WORDPRESS DỰA TRÊN SỰ BẤT THƢỜNG Chương này, trình bày định nghĩa tổng quát bất thường, phân tích đặc điểm mơ hình nhận dạng công ứng dụng Wordpress 2.1 Định nghĩa tổng quát bất thƣờng Sự bất thường mẫu liệu mà không phù hợp với khái niệm xác định hành vi bình thường Hình 2.1: Hình minh họa bất thƣờng liệu Hình 2.1 cho thấy bất thường tập hợp liệu chiều đơn giản Các liệu có hai khu vực bình thường N1 N2, điểm O1 O2, điểm khu vực O3, bất thường Ở mức độ trừu tượng, bất thường định nghĩa mơ hình mà khơng phù hợp với hành vi dự kiến bình thường Một cách tiếp cận phát bất thường 12 đơn giản xác định khu vực đại diện cho hành vi bình thường tuyên bố quan sát liệu mà không thuộc khu vực bất thường Tuy nhiên phương pháp gặp số yếu tố khó khăn sau: Xác định khu vực bình thường bao gồm tất hành vi bình thường khó khăn Ngồi ra, ranh giới hành vi bình thường bất thường thường khơng xác Vì vậy, quan sát bất thường nằm gần ranh giới thực bình thường, ngược lại Khi bất thường kết hành động độc hại, có chủ đích người thực thường thích ứng để làm cho quan sát dị thường xuất bình thường, khiến cho cơng việc xác định hành vi bình thường khó khăn Trong nhiều lĩnh vực hành vi bình thường hồn thiện quan niệm hành vi bình thường khơng có đủ đại diện tương lai Các khái niệm xác bất thường khác cho lĩnh vực ứng dụng khác Ví dụ, lĩnh vực y tế sai lệch nhỏ từ bình thường (ví dụ, biến động nhiệt độ thể) bất thường, độ lệch tương tự lĩnh vực thị 13 trường chứng khốn (ví dụ, biến động giá trị cổ phiếu) coi bình thường Vì việc áp dụng kỹ thuật phát triển tên miền khác khơng đơn giản Sẵn có liệu dán nhãn cho đào tạo/xác nhận mơ hình sử dụng bất thường kỹ thuật phát thường vấn đề lớn Thường liệu chứa noise (noise định nghĩa tượng liệu mà mối quan tâm nhà phân tích, hoạt động trở ngại để phân tích liệu) mà có xu hướng tương tự bất thường khó để phân biệt loại bỏ Do thách thức trên, mơ hình phát bất thường dạng chung khó thực Trong thực tế, hầu hết kỹ thuật phát bất thường giải vấn đề cụ thể việc xây dựng dựa yếu tố khác chất liệu, sẵn có liệu có nhãn, loại bất thường phát Các nhà nghiên cứu áp dụng khái niệm từ nhiều lĩnh vực đa dạng thống kê, học máy, khai thác liệu, lý thuyết thông tin, lý thuyết quang phổ, áp dụng vào công thức cho vấn đề cụ thể 14 Research Areas Machine Learning Data Mining Statistics Information Theory Spectral Theory … Anomaly Detection Technique Nature of Data Label Anomaly Type s Problem Characteristics Output Application Domains Intrustion Detection Fraud Detection Fraud/Damage Detection Medical Informatics … Hình 2.2: Các kỹ thuật nhận dạng bất thƣờng Phân loại bất thường mô tả hình 2.3 sau: Hình 2.3: Phân loại bất thƣờng 15 Phân loại bất thường thể hình 2.4 sau: Hình 2.4: Hình mơ tả phân loại bất thƣờng 2.2 Các mơ hình nhận dạng 2.2.1 Cấu trúc yêu cầu (Request structure) 2.2.2 Các giá trị yêu cầu (Request values) 2.2.3 Phản hồi (Response) 2.2.4 Cấu trúc phiên (Session structure) 2.2.5 Hồ sơ người dùng (User profile) 2.2.6 Tổng quan hệ thống (System overview) 16 CHƢƠNG – PHƢƠNG PHÁP HỌC MÁY TRONG NHẬN DẠNG TẤN CÔNG ỨNG DỤNG WORDPRESS DỰA TRÊN SỰ BẤT THƢỜNG Chương này, trình bày nhận xét đánh giá mơ hình chương 2, đề xuất mơ hình phù hợp với ứng dụng Wordpress Đồng thời nêu phương pháp tạo tập liệu huấn luyện sử dụng đề tài phân tích mơ hình thuật toán kết hợp để thực nhận dạng 3.1 Nhận xét đánh giá mơ hình - Mơ hình nhận dạng theo cấu trúc yêu cầu Bảng 3.1: Đánh giá mơ hình cấu trúc u cầu Cấu trúc u cầu (Request structure) Ưu điểm Dễ dàng triển khai Chức tảng Hạn chế Quá đơn giản Không ngữ cảnh Khơng quan trọng đứng Nhận xét Chức - Mơ hình nhận dạng theo giá trị u cầu Bảng 3.2: Đánh giá mơ hình giá trị yêu cầu Các giá trị yêu cầu (Request values) Ưu điểm Chuyên dụng Phân tích liệu mức thấp Có thể tùy chỉnh cho thuộc tính khác 17 Hạn chế Chun hóa Có khả khối lượng cơng việc cao Không xem xét quan hệ giá trị thuộc tính Nhận xét Có khả tùy chỉnh cao - Mơ hình phản hồi Bảng 3.3: Đánh giá mơ hình phản hồi Phản hồi máy chủ (response) Ưu điểm Xem xét khía cạnh quan trọng Dễ dàng cách tiếp cận Hạn chế Rất phức tạp nhiều thông tin đưa vào tính tốn Khơng phù hợp với liệu sẵn có web log Tầm quan trọng thấp Nhận xét Các vấn đề phức tạp - Mơ hình cấu trúc phiên Bảng 3.4: Đánh giá mơ hình cấu trúc phiên Cấu trúc phiên (Session structure) Ưu điểm Bao gồm lịch sử ngữ cảnh Phát cơng mà mơ hình trước khơng thể Hạn chế Nhanh chóng trở nên phức tạp, tăng theo cấp số nhân Nhận xét Tổng quát, bao gồm ngữ cảnh 18 - Mơ hình hồ sơ người dùng Bảng 3.5: Đánh giá mơ hình hồ sơ ngƣời dùng Hồ sơ ngƣời dùng (User profile) Ưu điểm Chuyên hóa, xem xét người dùng đơn Có thể phát thay đổi hành vi Hạn chế Độ phù hợp thống kê thấp Nhu cầu cao tính hợp lệ liệu cập nhật Nhận xét Tiềm tàng độ phù hợp thống kê thấp - Mơ hình tổng quan hệ thống Bảng 3.6: Đánh giá mơ hình tổng quan hệ thống Tổng quan hệ thống (System overview) Ưu điểm Phát công từ kẻ công cộng tác Hạn chế Không hỗ trợ liệu Nhận xét Nguồn liệu khơng thích hợp 3.2 Đề xuất mơ hình nhận dạng Sau nhận xét đánh giá mơ hình cách độc lập tơi nhận thấy: mơ hình tổng quan hệ thống (System overview) gặp khó khăn vấn đề sử dụng liệu độ phù hợp mơ hình Mơ hình hồ sơ người dùng (User profile), cấu trúc phiên (Sesssion structure), phản hồi máy chủ (response) có nhiều tính chung điểm mạnh/yếu 19 khác bên cạnh đóng góp chồng chéo lẫn Các liệu tổng qt mơ hình khơng sử dụng trực tiếp cho mơ hình dẫn đến vấn đề phức tạp cho việc phân tích sử dụng liệu Bởi liệu tổng quát mô hình, kết thúc với mơ hình phức tạp thay tạo mơ hình đơn giản dễ hiểu Mơ hình cấu trúc u cầu (Request structure) giá trị yêu cầu (Request values) sử dụng kết hợp tốt để bổ sung cho Mơ hình Request structure tính cấu trúc, mơ hình Request values phân tích giá trị thuộc tính kỹ lưỡng Nó phân tích xâu thuộc tính chiều dài kiểu ký tự, xem xét thuộc tính nâng cao phân bố ký tự suy luận cấu trúc Mục tiêu mơ hình kết hợp nhằm phát hành động độc hại (bất thường) cách xem xét yêu cầu khác với yêu cầu từ hệ thống học Các hành động phát thay đổi cấu trúc chung, thuộc tính sai giá trị khác biệt so với phạm vi giá trị thơng thường học Nhiệm vụ mơ hình cần phải đối phó với khía cạnh để chức hoạt động đắn hệ thống 20 3.3 Phƣơng pháp tạo tập liệu huấn luyện Dữ liệu dùng để huấn luyện trích xuất từ nhật ký web (web log) Nhật ký web sử dụng để ghi lại hành vi người dùng cuối lưu tập tin nhật ký [10] Tập tin nhật ký đóng vai trò quan trọng việc phát công vào ứng dụng web phân tích tập tin nhật ký xác định bất thường yêu cầu gửi tới máy chủ ứng dụng web Định dạng nhật ký gần giống với định dạng nhật ký kết hợp (combined log format) [23] Định dạng mở rộng định dạng nhật ký phổ biến (CLF - common log format) biết đến Ví dụ định dạng chung phần tử gồm: remotehost rfc931 authuser [date] "request" status bytes Ví dụ phần tử viết định dạng giống sau: 115.73.26.79 - - [19/May/2017:19:02:01 +0700] "GET /wp-admin/plugin-install.php HTTP/1.1" 200 15990 "http://stu-nghia.info/wpadmin/options-general.php?page=extract-allurls-settings" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" 21 Ý nghĩa trường khác tham chiếu [21][22] Nhật ký web cung cấp trình diễn liệu rõ ràng có cấu trúc Mỗi trường biết theo định dạng phổ biến Trong trường hợp đề tài, cách tiếp cận phát bất thường phân tích yêu cầu HTTP gởi tới ứng dụng Wordpress ghi lại nhật ký web máy chủ phổ biến Apache [24] Phân tích tập trung vào yêu cầu chứa tham số URI Trong giai đoạn phát hiện, đầu vào tập yêu cầu U = {u1, u2, … , um} URI trích xuất từ yêu cầu thành công sử dụng phương thức GET với điều kiện 200 mã trạng thái (status) 300 Một URI ui biểu diễn gồm: thành phần đường dẫn đến tài nguyên mong muốn (pathi), thành phần thông tin đường dẫn tùy chọn (pinfoi) chuỗi truy vấn tùy chọn (q) Chuỗi truy vấn dùng để truyền tham số cho tài nguyên tham chiếu nhận diện chuỗi sau ký tự “?” Một chuỗi truy vấn chứa danh sách xếp n cặp tham số (hoặc thuộc tính) với giá trị tương ứng Ví dụ q = {(a1, v1), (a2, v2), … , (an, vn)} ∈ A, tập tất thuộc tính, vi giá trị chuỗi Tập Sq 22 định nghĩa tập {aj, … , ak} thuộc tính truy vấn q Hình 3.1 ví dụ phần tử lấy từ nhật ký truy cập máy chủ web thành phần tương ứng sử dụng phân tích Sq = {a1, a2} với truy vấn q ví dụ Hình 3.1: Ví dụ phần tử nhật ký truy cập máy chủ web Quá trình phân tích tập trung vào mối liên hệ ứng dụng Wordpress (ví dụ như: wp-login.php, index.php, post.php), tham số (attributes – ví dụ như: “p”, “cat”, “page_id”) giá trị (values) chúng Các URI không chứa chuỗi truy vấn q không chọn để đưa vào U Ngoài ra, tập URI U phân chia thành tập Ur theo đường dẫn tài nguyên Do đó, ứng dụng tham chiếu r gán tập hợp truy vấn tương ứng Ur Các thuật toán phát bất thường chạy cách độc lập tập Điều có nghĩa mơ hình 23 q trình phát thực riêng rẽ cho ứng dụng r 3.4 Mơ hình thuật tốn kết hợp nhận dạng 3.5 Mơ hình nhận dạng Dữ liệu kiểm tra Mơ hình kiểm tra Path Parameter order Attribute presence or absence Value type AP_request > AP_threshold AP_request Average _AP_threshold Truy vấn bất thường Average _AP_request