Malicious URL Detection using Machine Learning: A Survey
Doyen Sahoo, Chenghao Liu, and Steven C.H. Hoi
Tóm tắt: Malicious URL hay malicious website là mốt đe dọa chung và nghiêm trọng cho tấn công mạng. URL độc hại lưu trữ nội dung không mong muốn (spam, lừa đảo, khai thác thông tin,...) và thu hút người dùng trở thành nạn nhân của nó (mất tiền, trộm cắp thông tin cá nhân, cài đặt phần mềm độc hại) nguyên nhân thiệt hại hàng tỉ đô la mỗi năm. Việc phát hiện và ngăn chặn nó cần phải được thực hiện kịp thời. Phương pháp truyền thống được sử dụng là blacklist, tuy nhiên nó không thể bao trùm được tất cả, và khó có khả năng phát hiện được malicious URL mới. Để nâng cao tính khái quát hóa cho việc phát hiện URL độc hại, kĩ thuật học máy (machine learning) được áp dụng trong những năm gần đây. Mục đích của bài báo này cung cấp khảo sát tòan diện và cấu trúc kiến thức cho việc phát hiện URL độc hại sử dụng machine learning. Chúng tôi trình bày công thức phát hiện URL độc hại như một nhiệm vụ của học máy, phân loại xem xét các khía cạnh của vấn đề này (features representation, thiết kế thuật toán,...) Hơn nữa bài viết cung cấp cuộc khảo sát kịp thời và tòan diện cho nhiều đối tượng khác nhau không chỉ cho các nhà nghiên cứu và kỹ sư trong học viện mà còn cho chuyên gia và học viên trong ngành công nghiệp an ninh mạng, để giúp họ hiểu hơn về tình hình hiện tại tạo điều kiện cho nghiên cứu và ứng dụng thực tế của riêng họ. Chúng tôi cũng thảo luận các vấn đề thực tế trong thiết kế hệ thống, các thách thức nghiên cứu và chỉ ra một số hướng quan trọng cho nghiên cứu trong tương lai.
I. Introduction
Sự ra đời của các công nghệ truyền thông mới đã có tác động to lớn đến sự phát triển và tăng trưởng của doanh nghiệp bao gồm nhiều ứng dụng như: ngân hàng trực tuyến, thương mại điện tử và mạng xã hội. Trên thực tế trong thời đại ngày nay gần như bắt buộc phải có yếu tố online trong kinh doanh thành công. Tầm quan trọng của www ngày càng được gia tăng. Thật không may các công nghệ kĩ thuật mới đi kèm với đó là kĩ thuật lừa đảo và tấn công người dùng. Cuộc tấn công như thế bao gồm trang web lừa đảo bán hàng giả, gian lận tài chính bằng việc lừa chiếm đoạt thông tin nhạy cảm của người dùng, cuối cùng dẫn đến việc trộm cắp tiền, giả mạo danh tính, và cài đặt phần mềm độc hại trên hệ thống của người dùng. Có rất nhiều kĩ thuật tấn công để thực hiện cuộc tấn công như vậy như nỗ lực tấn công khai thác ổ đĩa lưu trữ, kĩ nghệ xã hội, phishing, man in the middle, SQL injections, từ chối dịch vụ, từ chối dịch vụ phân tán,.. Xem xét sự đa dạng của các cuộc tấn công, các loại tấn công tiềm ẩn mới, các bối cảnh mà cuộc tấn công có thể xuất hiện, rất khó để thiết kế một hệ thống mạnh mẽ để phát hiện các vi phạm an ninh mạng. Những hạn chế của công nghệ quản lý an ninh truyền thống đang trở nên ngày càng nghiêm trọng với sự tăng trưởng theo cấp số nhân của các mối đe dọa bảo mật mới, thay đổi nhanh chóng của các công nghệ CNTT mới và sự thiếu hụt đáng kể của các chuyên gia bảo mật. Hầu hết các kĩ thuật tấn công đều được thực hiện thông qua việc lan truyền (spreading) các URL bị xâm nhập (compromised).
URL là tên viết tắt của Uniform Resource Locator, là địa chỉ toàn cầu của các tài liệu và các tài nguyên khác trên World Wide Web. URL có hai thành phần chính:
(i) định danh giao thức, nó chỉ ra giao thức sử dụng,
(ii) tên tài nguyên, nó chỉ định địa chỉ IP hoặc tên miền nơi tài nguyên được đặt. Định danh giao thức và tên tài nguyên được phân tách bằng dấu hai chấm và hai dấu gạch chéo. Một ví dụ được thể hiện trong Hình dưới.
Example of a URL - “Uniform Resource Locator”
Các URL bị xâm phạm được sử dụng cho các cuộc tấn công mạng được gọi là URL độc hại (Malicious URL). Trên thực tế nó đã được ghi nhận rằng, gần 1/3 các trang web có nguy hại trong tự nhiên, chứng minh sự sử dụng tràn lan các URL độc hại trong tấn công mạng. URL độc hại hoặc trang web độc hại lưu trữ nhiều nội dung không được yêu cầu dưới dạng spam, lừa đảo hoặc khai thác theo từng ổ đĩa để khởi chạy các cuộc tấn công. Người dùng không nghi ngờ sẽ truy cập các trang web đó và trở thành nạn nhân của nhiều trang web khác nhau các loại lừa đảo, bao gồm mất tiền, trộm cắp thông tin cá nhân (danh tính, thẻ tín dụng, v.v.) và cài đặt phần mềm độc hại. Các loại tấn công phổ biến sử dụng URL độc hại bao gồm: Drive-by Download, Phishing and Social Engineering và Spam. Drive-by-download đề cập đến phần mềm độc hại tải xuống (không chủ định) khi truy cập URL. Các cuộc tấn công như vậy thường được thực hiện bằng cách khai thác lỗ hổng trong các plugin hoặc chèn mã độc thông qua JavaScript. Tấn công lừa đảo và kỹ thuật xã hội lừa người dùng tiết lộ thông tin riêng tư hoặc nhạy cảm bằng cách giả vờ là chính hãng trang web. Spam là việc sử dụng các thư không mong muốn cho mục đích quảng cáo hoặc lừa đảo. Những loại tấn công này xảy ra với số lượng lớn và đã gây ra hàng tỷ đô la giá trị thiệt hại mỗi năm. Các hệ thống hiệu quả để phát hiện các URL độc hại một cách kịp thời có thể giúp chống lại số lượng lớn và một loạt các mối đe dọa an ninh mạng. Do đó, các nhà nghiên cứu và học viên đã làm việc để thiết kế các giải pháp hiệu quả để phát hiện URL độc hại.
Phần lớn các phương pháp phát hiện URL độc hại được triển khai bởi nhiều nhóm được gọi là phương pháp black-list. Blacklist về bản chất là cơ sở dữ liệu các URL đã được xác nhận là độc hại trong quá khứ. Cơ sở dữ liệu này được cập nhật theo thời gian, dễ cập nhật, truy vấn đơn giản và dễ triển khai. Tuy nhiên, gần như không thể duy trì một danh sách đầy đủ các URL độc hại, đặc biệt là do các URL mới được tạo mỗi ngày. Những kẻ tấn công sử dụng kỹ thuật sáng tạo để tránh danh sách đen và đánh lừa người dùng bằng cách sửa đổi URL thành hợp pháp thông qua obfuscation (làm rối). Nhìn chung xác định bốn loại obfuscation: Obfuscating Host với một IP, Obfuscating Host với một tên miền khác, Obfuscating máy chủ với tên máy chủ lớn, và lỗi chính tả. Tất cả những điều này cố gắng che giấu các yếu tố độc hại của trang web bằng cách che giấu URL độc hại. Gần đây, với sự phổ biến ngày càng tăng của dịch vụ rút ngắn URL, nó đã trở thành một kỹ thuật obfuscation lan rộng mới và rộng (ẩn các URL độc hại đằng sau một URL ngắn). Khi URL xuất hiện hợp pháp và người dùng truy cập chúng, một cuộc tấn công có thể được khởi chạy. Điều này thường được thực hiện bằng mã độc được nhúng vào JavaScript. Thông thường những kẻ tấn công cũng sẽ cố gắng obfuscate code để ngăn các công cụ dựa trên chữ ký phát hiện chúng. Những kẻ tấn công sử dụng nhiều kỹ thuật đơn giản khác để tránh các danh sách đen bao gồm: fast-flux, trong đó proxy được tạo tự động để lưu trữ trang web; tạo ra các URL mới; v.v. Ngoài ra, kẻ tấn công thường có thể đồng thời khởi chạy nhiều hơn một cuộc tấn công, làm thay đổi signature tấn công, khiến cho nó không thể phát hiện được bằng các công cụ tập trung vào các signature cụ thể. Blacklist có những hạn chế nghiêm trọng, và nó dường như bỏ qua chúng, đặc biệt là do thực tế rằng blacklist không thể đưa ra các dự đoán về các URL mới.
Để khắc phục những vấn đề này, trong thập kỷ qua, các nhà nghiên cứu đã áp dụng các kỹ thuật học máy để phát hiện URL độc hại. Phương pháp học máy, sử dụng một tập hợp các URL làm dữ liệu đào tạo và dựa trên các thuộc tính thống kê, tìm hiểu một features dự đoán để phân loại một URL là độc hại hoặc lành tính. Điều này mang lại cho họ khả năng khái quát hóa các URL mới không giống như phương pháp blacklist. Yêu cầu chính để đào tạo một mô hình học máy là dữ liệu huấn luyện. Trong việc phát hiện URL độc hại, điều này sẽ tương ứng với một tập hợp số lượng lớn các URL. Học máy có thể được phân loại thành giám sát, không giám sát và bán giám sát, tương ứng với các nhãn cho dữ liệu đào tạo, không có nhãn và có nhãn cho một phần dữ liệu đào tạo giới hạn. Nhãn tương ứng với kiến thức rằng URL là độc hại hoặc lành tính. Sau khi dữ liệu huấn luyện được thu thập, bước tiếp theo là extract (trích xuất) các features thông tin sao cho chúng mô tả sufficiently URL và cùng một lúc, chúng có thể được diễn giải toán học bằng các mô hình học máy. Ví dụ, chỉ cần sử dụng chuỗi URL có thể không cho phép chúng ta có một mô hình dự báo tốt (trong một số trường hợp xấu có thể làm giảm mô hình dự đoán thành một phương pháp blacklist). Vì vậy, một trong những sẽ cần phải trích xuất các tính năng phù hợp dựa trên một số nguyên tắc hoặc heuristics để có được một đại diện features tốt của URL. Điều này có thể bao gồm các tính năng liên quan đến từ vựng (thuộc tính thống kê của chuỗi URL, bow, n-gram, v.v.), tính năng dựa trên máy chủ (thông tin WHOIS, thuộc tính vị trí địa lý của máy chủ, v.v.), v.v. Các tính năng này sau khi được trích xuất phải được xử lý thành một định dạng phù hợp (ví dụ: vectơ), sao cho chúng có thể đưa vào phương pháp học máy có sẵn để đào tạo. Khả năng của các tính năng này để cung cấp thông tin liên quan là rất quan trọng cho việc học máy tiếp theo, như giả định cơ bản của các mô hình học máy (phân loại) là biểu diễn tính năng của các URL độc hại và lành tính có các bản phân phối khác nhau. Do đó, chất lượng biểu diễn features của các URL rất quan trọng đối với chất lượng của models dự báo URL độc hại kết quả được học bằng máy học.
Cuối cùng, sử dụng dữ liệu đào tạo với feature thích hợp đại diện, bước tiếp theo trong việc xây dựng dự đoán model là đào tạo thực tế của model. Có nhiều thuật toán phân loại có thể được sử dụng trực tiếp trên dữ liệu đào tạo (Naive Bayes, SVM, Logistic Hồi quy, v.v.) Tuy nhiên, có một số thuộc tính nhất định của dữ liệu URL có thể khiến việc đào tạo trở nên khó khăn (cả về mặt khả năng mở rộng và học khái niệm phù hợp). Ví dụ: số lượng URL có sẵn để đào tạo có thể theo thứ tự hàng triệu (hoặc thậm chí hàng tỷ). Kết quả là, thời gian đào tạo cho các mô hình truyền thống có thể quá cao để thực tế. Do đó, Online Learning, một nhóm các kỹ thuật học có thể mở rộng được áp dụng rất nhiều cho nhiệm vụ này. Tương tự, đối với tác vụ này, các URL được biểu diễn bằng cách sử dụng các tính năng bag-of-words (BoW). Các tính năng này về cơ bản cho biết một từ hoặc chuỗi cụ thể có xuất hiện trong URL hay không - kết quả là mọi loại từ có thể xuất hiện trong bất kỳ URL nào sẽ trở thành một feature. Biểu diễn này có thể dẫn đến hàng triệu feature sẽ rất thưa thớt (hầu hết các feature vắng mặt phần lớn thời gian, vì URL thường sẽ có rất ít trong số hàng triệu từ có thể có trong đó). Theo đó, một phương pháp học nên khai thác thuộc tính thưa thớt (sparse) này để nâng cao hiệu quả học và hiệu quả. Mặc dù khả năng tổng quát đầy hứa hẹn của các phương pháp tiếp cận học máy, một thiếu sót tiềm ẩn của các phương pháp này để phát hiện URL độc hại có thể là tài nguyên chuyên sâu của tài nguyên (đặc biệt là khi trích xuất các tính năng không tầm thường và tốn kém để tính toán), giảm giá trị thực tiễn của chúng khi yêu cầu bảo đảm thời gian thực so với phương pháp blacklist.
Trong khảo sát này, chúng tôi xem xét các kỹ thuật học máy hiện đại nhất để phát hiện URL độc hại. Chúng tôi đặc biệt tập trung vào những đóng góp được thực hiện cho biểu diễn feature và phát triển thuật toán học trong lĩnh vực này. Chúng tôi có hệ thống phân loại các loại biểu diễn feature khác nhau được sử dụng để tạo dữ liệu đào tạo cho tác vụ này và cũng phân loại các thuật toán học tập khác nhau được sử dụng để tìm hiểu mô hình dự đoán tốt. Chúng tôi cũng thảo luận về các vấn đề nghiên cứu mở và xác định hướng dẫn cho nghiên cứu trong tương lai. Trong phần còn lại của cuộc khảo sát, trước tiên chúng tôi thảo luận về các danh mục được sử dụng rộng rãi để phát hiện các URL độc hại - Blacklist, Heuristic và Học máy. Chúng tôi cài đặt cụ thể vấn đề học máy, trong đó yêu cầu chính là biểu diễn features tốt và thuật toán học được sử dụng. Sau đó chúng tôi trình bày toàn diện các loại biểu diễn features được sử dụng cho vấn đề này. Tiếp theo là trình bày các thuật toán khác nhau đã được sử dụng để giải quyết nhiệm vụ này, và đã được phát triển dựa trên các đặc tính của Dữ liệu URL. Cuối cùng, chúng tôi thảo luận khái niệm phát hiện URL độc hại mới nổi là một dịch vụ và các nguyên tắc được sử dụng trong khi thiết kế một hệ thống. Chúng tôi kết thúc cuộc khảo sát bằng cách thảo luận các vấn đề thực tiễn và các vấn đề mở trong việc này.
II. Malicious URL Detection
A. Tổng quan nguyên tắc phát hiện Malicious URL
Có 2 cái principles cơ bản là Blacklisting or Heuristics và Machine Learning. Dưới đây sẽ mô tả briefly về 2 phần trên.
1. Blacklisting or Heuristics
- Blacklist: Kĩ thuật này thuộc loại kĩ thuật cổ điển trong phát hiện URL độc hại, nó đưa ra danh sách URL độc hại đã biết. Nếu URL mới nó sẽ được tìm kiếm trong Blacklist, nếu không tồn tại thì nó là URL lành tính. Dù vậy thì các URL độc hại mới được sinh ra hàng ngày, vì vây khó có thể phát hiện nguy cơ mới. Điều này đặc biệt quan trọng khi kẻ tấn công dùng các thuật toán vượt qua Blacklist. Dù vẫn còn có những vấn đề hiện tại thì do tính đơn giản và hiệu quả của nó, Blacklist vẫn được sử dụng phổ biến bởi những trình phát hiện virus hiện nay.
- Heuristics: Một loại mở rộng của Blacklist, ý tưởng là tạo ra các signatures của Blacklist, các hình thức tấn công chung được định nghĩa dựa trên hành vi và các signatures được gán cho các loại
tấn công đó. Các hệ thống phát hiện xâm nhập cũng có thể scan quét page từ các signatures như vậy và bật cờ nếu các hành vi đáng ngờ được tìm thấy. Phương pháp này có khả năng khát quát hóa tốt hơn Blacklist vì chúng có khả năng phát hiện ra các URL mới tốt. Tuy nhiên giới hạn của nó là chỉ cho các loại tấn công chung, không thể khái quát hóa tất cả các loại. Hơn nữa sử dụng các kĩ thuật làm rối cũng không khó để vượt qua nó. Một phiên bản cụ thể hơn của Heuristics là tiếp cận thông qua phân tích hành vi thực vi của trang web. Ở đây cũng là ý tưởng tìm ra hành vi như có quy trình bất thường, chuyển hướng hay lặp lại,... Những phương pháp này bắt buộc phải truy cập vào trang web nên URL thưc hiện cuộc tấn công thực sự. Kết quả là các kĩ thuật thường được triển khai trong môi trường được kiểm soát, như máy ảo. Các kỹ thuật này yêu cầu tài nguyên và yêu cầu tất cả các mã đều được thưc thi. Một hạn chế khác là các trang web có thể không bị tấn công ngay lập tức khi truy cập và do đó có thể không bị phát hiện(chờ hành vi của con người).
2. Machine Learning
A general processing framework for Malicious URL Detection using Machine Learning
- Hướng tiếp cận này phân tích thông tin của URL và websites hay webpages tương ứng của nó, bằng việc extract biểu diễn features tốt của nó, và traning model dự đoán trên tập dữ liệu traning
bao gồm cả URL độc hại và lành tính.
- Có 2 loại features có thể sử dụng là: static(tĩnh) và dynamic(động) features. Trong phân tích tĩnh, chúng ta phân tích webpages dựa trên thông tin sẵn có mà không cần thực thi URL (vd thực thi JavaScript và đoạn mã khác). Features extract ra bao gồm từ vựng từ chuỗi URL, thông tin về host, có thể là HTML hoặc JavaScript content. Bởi vì không yêu cầu thực thi nên hướng tiếp cận này an toàn hơn so với hướng tiếp cận động. Giả sử như phân phối các features của URL độc hại và URL lành tính là khác nhau. Sử dụng những thông tin của những phân phối này, model dự đoán có
thể được xây dựng để đưa ra dự đoán về một URL mới. Bởi vì tương đối an toàn hơn để extract thông tin quan trọng và khả năng khái quát hóa tất cả các mối đe dọa, các kĩ thuật phân tích tĩnh được áp dụng rộng rãi bởi kỹ thuật Machine Learning. Trong survey này, chúng tôi tập trung chủ yếu dựa trên kĩ thuật phân tích tĩnh các mà kĩ thuật Machine Learning được áp dụng thành công lớn.
Phân tích động bao gồm theo dõi hành vi của hệ thống, đó là những nạn nhân tiềm năng, để tìm ra sự bất thường. Chúng bao gồm việc theo dỗi hành vi theo trình tự của hệ thống với hành vi bất thường và khai thác log hoạt động cho hành vi đáng ngờ. Phân tích động có rủi ro và khó thực hiện tổng quát.
B. Problem Formulation
Mời các bạn đón xem tiếp phần 2:
III. Feature Representation
IV. Machine Learning Algorithms For Malicious URL Detection


Không có nhận xét nào:
Đăng nhận xét