Luvkux/Detection_of_Malicious_URLs
GitHub: Luvkux/Detection_of_Malicious_URLs
利用TF-IDF词法特征提取与XGBoost等集成学习模型,对URL进行多分类以自动检测钓鱼、恶意软件等恶意链接。
Stars: 0 | Forks: 0
# 使用词法特征检测恶意 URL
## 问题描述
在这个案例研究中,我们将恶意 URL 的检测视为一个多分类问题。在这个案例研究中,我们将原始 URL 分类为不同的类别,例如良性或安全 URL、钓鱼 URL、恶意软件 URL 或破坏 URL。
正如我们所知,机器学习算法仅支持数字输入,因此我们将从输入的 URL 中创建数字化的词法特征。因此,机器学习算法的输入将是数字化的词法特征,而不是实际的原始 URL。如果您不了解词法特征,可以参考 StackOverflow 上关于词法特征的这篇讨论。
因此,在这个案例研究中,我们将使用三种著名的 boosting 机器学习分类器,即 XGBoost 和 Gradient Boosting Machines。
## 关于数据 为了训练和测试机器学习算法,我们使用了一个包含 651,191 个 URL 的大型数据集,其中包含 428,103 个良性或安全 URL、96,457 个破坏 URL、94,111 个钓鱼 URL 和 32,520 个恶意软件 URL。图 2 描述了它们的百分比分布情况。 正如我们所知,为机器学习项目整理数据集是最关键的任务之一。我们从五个不同的来源整理了这个数据集。 为了收集良性、钓鱼、恶意软件和破坏 URL,我们使用了 [URL dataset (ISCX-URL-2016)](https://www.unb.ca/cic/datasets/url-2016.html) 为了增加钓鱼和恶意软件 URL,我们使用了 [Malware domain black list dataset](http://www.malwaredomains.com/wordpress/?page_id=66)。 我们使用 [faizan git repo](https://github.com/faizann24/Using-machine-learning-to-detect-malicious-URLs/tree/master/data) 增加了良性 URL 最后,我们使用 [Phishtank dataset](https://www.phishtank.com/developer_info.php) 和 [PhishStorm dataset](https://research.aalto.fi/en/datasets/phishstorm--phishing--legitimate-url-dataset(f49465b2-c68a-4182-9171-075f0ed797d5).html) 增加了更多的钓鱼 URL 正如我们告诉过您的,数据集是从不同的来源收集的。因此,首先,我们将从不同来源收集的 URL 放入各自的 dataframe 中,最后将它们合并,仅保留 URL 及其类别类型。 最终预处理的数据集可在 kaggle 获取 https://www.kaggle.com/sid321axn/malicious标签:Apex, PDF链接提取, TF-IDF, 安全分类, 恶意URL检测, 机器学习, 特征工程, 逆向工具, 集成学习