目录
选题意义与背景
随着互联网技术的迅猛发展,网络已经成为人们日常生活、工作和学习不可或缺的一部分。然而,网络安全威胁也随之不断增加,其中网络钓鱼作为一种常见的网络欺诈手段,给个人和组织带来了巨大的经济损失,钓鱼网站数量呈逐年上升趋势, 我国境内发现的钓鱼网站数量超过20万个,涉及金融、电商、社交等多个领域,造成的直接经济损失高达数十亿元。这些数据充分说明了网络钓鱼攻击的严重性和普遍性,加强钓鱼网站的检测和防范已成为网络安全领域的重要研究课题。

传统的钓鱼网站检测方法主要包括基于黑名单、规则匹配和简单机器学习等技术。黑名单方法虽然实现简单,但存在滞后性,无法及时应对新出现的钓鱼网站;规则匹配方法依赖人工设计的规则集,容易被攻击者规避;传统机器学习方法虽然能够自动学习特征,但在处理复杂的URL序列模式时表现有限。随着深度学习技术的发展,其在处理序列数据方面的优势为解决这一问题提供了新的思路。然而,深度学习模型通常被视为"黑盒",其决策过程难以解释,这在安全领域尤为重要,因为用户和安全专家需要理解模型为何做出特定的分类决策,以便更好地信任和应用这些模型。
本项目的研究成果具有重要的实用价值。首先,通过构建高效的深度学习模型,可以实现对钓鱼网站的自动化检测,提高检测效率和准确率;其次,通过可解释性分析,可以深入理解模型的决策机制,增强系统的透明度和可信度;最后,研究发现的钓鱼特征可以为安全防护策略的制定提供参考,帮助用户和组织更好地防范网络钓鱼攻击。随着网络钓鱼技术的不断演变,本研究的方法和结论也可以为未来的安全研究提供新思路和新方向,推动网络安全技术的持续发展。
数据集介绍
数据来源
本项目使用的数据来自于公开的网络钓鱼网站数据库,具体通过Python爬虫技术从网站收集。OpenPhish是一个专业的网络钓鱼数据库,提供实时更新的钓鱼网站URL信息,涵盖了各种类型的钓鱼攻击,包括银行、电商、社交媒体等多个领域的钓鱼网站。通过爬虫技术,我们成功获取了10000条URL样本,其中包括正常URL和钓鱼URL两大类,为模型的训练和测试提供了充足的数据支持。
收集到的数据以文本形式存储,每条记录包含一个URL字符串和对应的标签(0表示正常URL,1表示钓鱼URL)。数据按照7:3的比例随机划分为训练集和测试集,其中训练集包含7000条URL记录,测试集包含3000条URL记录。训练集用于模型的训练和参数优化,测试集用于评估模型的性能。
数据集中的URL主要分为两个类别:
- 正常URL:指合法的、可信任的网站地址,如知名搜索引擎、电商平台、银行官网等。这些URL通常具有规范的格式和明确的域名特征。
- 钓鱼URL:指用于实施钓鱼攻击的网站地址,这些URL通常模仿合法网站的外观和结构,试图欺骗用户输入敏感信息(如用户名、密码、银行卡号等)。钓鱼URL往往具有一些特征,如使用可疑的子域名、包含随机字符串、伪装成知名品牌等。
数据预处理
为了将原始URL数据转化为适合深度学习模型输入的格式,我们进行了以下预处理步骤:
- ASCII码转换:将URL中的每个字符转换为对应的ASCII码值,这样可以将文本数据转换为数值形式,便于神经网络处理。
- 长度标准化:由于URL的长度各不相同,为了保持输入维度的一致性,我们将所有URL的长度统一处理为200个字符。对于长度超过200的URL,我们截取其前200个字符;对于长度不足200的URL,我们在前面填充空格(ASCII码为32)。
- 独热编码:为了便于模型训练,我们对标签进行了独热编码处理。对于正常URL,标签编码为[1, 0];对于钓鱼URL,标签编码为[0, 1]。
通过这些预处理步骤,原始的URL文本数据被转换为结构化的数值数据,为后续的模型训练奠定了基础。
项目功能
数据采集与预处理
负责从公开的网络钓鱼数据库中爬取URL样本,并进行清洗、转换和标准化处理,生成适合深度学习模型训练的数据集。主要包括以下子功能:
- 网络爬虫采集:使用Python爬虫技术 实时获取最新的钓鱼网站URL信息,确保数据的时效性和全面性。
- 数据清洗:对采集到的原始数据进行去重、格式验证等处理,确保数据的质量和一致性。
- 特征转换:将URL文本转换为ASCII码序列,实现文本到数值的映射。
- 长度标准化:将所有URL统一处理为固定长度(200个字符),便于模型处理。
- 数据分割:按照指定比例将数据集划分为训练集和测试集,用于模型的训练和评估。
深度学习模型训练
负责构建和训练用于钓鱼网址识别的深度学习模型,主要包括以下子功能:
- 模型构建:支持构建多种循环神经网络模型,包括RNN、LSTM、GRU和BiGRU等,用户可以根据需要选择不同的模型结构。
- 参数配置:提供灵活的参数配置选项,包括嵌入层维度、隐藏层神经元数量、Dropout比率、优化器类型、学习率等,方便用户进行模型调优。
- 模型训练:支持批量训练,用户可以设置批次大小和训练轮数,系统自动执行前向传播和反向传播过程,更新模型参数。
- 模型保存:训练完成后,系统自动保存模型的权重和结构,方便后续使用和部署。
模型评估与性能分析
负责评估训练好的模型在测试集上的表现,并提供详细的性能指标分析。主要包括以下子功能:
- 准确率计算:计算模型在测试集上的整体准确率,反映模型的整体分类能力。
- 精确率和召回率计算:分别计算模型对正常URL和钓鱼URL的精确率和召回率,评估模型在不同类别上的表现。
- F1值计算:计算模型的F1值,综合考虑精确率和召回率,为模型性能提供更全面的评价。
- 性能对比:支持多种模型性能的对比分析,生成性能对比表格和可视化图表,帮助用户选择最优模型。
算法理论
循环神经网络
循环神经网络(RNN)是一种专门用于处理序列数据的神经网络结构,其核心特点是能够通过内部状态(记忆)来捕捉序列中的长期依赖关系。传统的前馈神经网络在处理序列数据时,无法利用序列中的时序信息,而RNN通过在每个时间步共享权重,并将前一时间步的输出作为当前时间步的输入,从而能够有效地建模序列数据的时序特性。传统RNN在处理长序列时容易出现梯度消失或梯度爆炸问题,导致模型难以学习到长期依赖关系。为了解决这一问题,研究者提出了RNN的变体,如长短期记忆网络(LSTM)和门控循环单元(GRU)。

LSTM与GRU模型
长短期记忆网络(LSTM)通过引入门控机制来解决传统RNN的梯度消失问题。LSTM包含三个门:输入门、遗忘门和输出门,分别用于控制信息的输入、遗忘和输出。这些门通过sigmoid激活函数控制信息的流动,使得LSTM能够有效地捕捉长期依赖关系。

门控循环单元(GRU)是LSTM的简化版本,它将输入门和遗忘门合并为一个更新门,并移除了输出门,只保留一个重置门。GRU的结构更加简单,计算效率更高,同时在许多任务上表现出与LSTM相当的性能。
双向门控循环单元
双向门控循环单元(BiGRU)是GRU的扩展版本,它通过同时考虑序列的正向和反向信息来增强模型的表示能力。BiGRU由两个方向相反的GRU组成,一个从左到右处理序列,另一个从右到左处理序列。每个时间步的最终隐藏状态是两个方向隐藏状态的拼接,这样模型就能够同时利用历史信息和未来信息,更好地捕捉序列的上下文特征。

对于URL分类任务,BiGRU的优势在于能够同时考虑URL中字符的前后关系,例如,某些字符串在不同的位置可能具有不同的含义,BiGRU通过双向处理能够更全面地理解这些信息。
深度学习训练技术
本项目采用了多种深度学习训练技术来优化模型性能:
- 嵌入层:将ASCII码索引映射到低维稠密向量,捕获字符之间的语义关系。嵌入层的维度设置为128,能够有效地表示字符特征。
- Dropout正则化:在模型中引入Dropout层(dropout率为0.5),随机丢弃部分神经元,减少过拟合风险,提高模型的泛化能力。
- 交叉熵损失函数:使用二元交叉熵作为损失函数,适合二分类任务,能够有效地衡量预测概率与真实标签之间的差异。
- Adam优化器:采用Adam优化算法,结合了动量法和自适应学习率的优点,能够快速收敛并找到较好的参数值。
- ReLU激活函数:在隐藏层使用ReLU激活函数,引入非线性变换,增强模型的表达能力,同时缓解梯度消失问题。
可解释性方法原理
SHAP 是一种基于博弈论的可解释性方法,由Lundberg和Lee在2017年提出。SHAP的核心思想是使用Shapley值来量化每个特征对预测结果的贡献。Shapley值是博弈论中的一个概念,用于公平分配合作收益,在机器学习中,它被用来解释每个特征对预测结果的贡献程度。在URL分类任务中,SHAP值表示每个字符对URL分类结果的贡献程度,正值表示该字符使模型更倾向于将URL分类为钓鱼URL,负值表示该字符使模型更倾向于将URL分类为正常URL。

LIME的基本思想是通过在预测样本附近生成扰动样本,训练一个简单的线性模型来近似复杂模型的局部行为,从而解释单个预测结果URL分类任务中,LIME通过随机替换URL中的部分字符,观察模型预测结果的变化,然后训练一个线性模型来识别对预测结果影响最大的字符或字符串,从而解释模型的分类决策。
核心代码
数据预处理
URL数据的预处理功能,是整个项目的基础。首先,我们定义了一个UrlEncoder类,该类包含三个方法:transform、fit和y_hotcode。transform方法负责将URL字符串转换为ASCII码序列,并使用pad_sequences函数将所有序列统一为200个字符的长度。fit方法是为了兼容scikit-learn的Pipeline接口,这里直接返回自身。y_hotcode方法负责将标签转换为独热编码格式,方便模型训练。
class UrlEncoder:
def transform(self, url_string):
from tensorflow.keras.preprocessing import sequence
url_ascii_list = []
for c in url_string:
url_ascii_list.append(ord(c))
return sequence.pad_sequences([url_ascii_list], maxlen=200)[0]
def fit(self, X, y=None):
return self
def y_hotcode(self, y):
return [1, 0] if y == 0 else [0, 1]
ue = UrlEncoder()
x_train = [ue.transform(url_list[0]) for url_list in train_value]
y_train = [ue.y_hotcode(y_list[0]) for y_list in y_train.values.tolist()]
x_test = [ue.transform(url_list[0]) for url_list in test_value]
y_test = [ue.y_hotcode(y_list[0]) for y_list in y_test.values.tolist()]
预处理过程包括两个关键步骤:字符到ASCII码的转换和序列长度的标准化。字符转换为ASCII码是将文本数据转换为数值数据的常用方法,这样可以使神经网络直接处理这些数据。序列长度标准化是因为深度学习模型通常要求输入数据具有固定的维度,通过截断或填充的方式,可以确保所有URL样本的长度一致,便于批量处理。
BiGRU模型构建模块
BiGRU模型的构建和编译,是项目的核心部分。首先,我们使用Sequential创建一个线性堆叠的模型,然后按照一定的顺序添加各个层。
模型结构包括以下几个部分:
-
嵌入层(Embedding):将输入的ASCII码索引映射到128维的稠密向量空间。
input_dim=256表示输入的词汇表大小(ASCII码范围),output_dim=128表示嵌入向量的维度,input_length=200表示输入序列的长度。嵌入层能够捕捉字符之间的语义关系,提高模型的表示能力。 -
Dropout层:在嵌入层之后添加一个Dropout层,dropout率为0.5,用于随机丢弃部分神经元,减少过拟合风险。
-
双向GRU层:这是模型的核心部分,使用
Bidirectional包装GRU层,创建一个双向门控循环单元。units=128表示GRU层的神经元数量。双向GRU能够同时考虑URL序列的正向和反向信息,更好地捕捉上下文特征。 -
全连接隐藏层:添加一个包含256个神经元的全连接层,使用ReLU作为激活函数,引入非线性变换,增强模型的表达能力。
-
输出层:最后是一个包含2个神经元的输出层,使用sigmoid激活函数,输出两个类别的概率(正常URL和钓鱼URL)。
模型编译部分指定了损失函数、优化器和评估指标。使用二元交叉熵作为损失函数,适合二分类任务;使用Adam作为优化器,能够快速收敛;使用准确率作为评估指标,直观地衡量模型性能。
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation, Bidirectional
from tensorflow.keras.layers import Embedding, GRU
# 建立线性堆叠模型
model = Sequential()
# 设置嵌入层
model.add(Embedding(output_dim=128, input_dim=256, input_length=200))
model.add(Dropout(0.5))
# 加入双向门控循环单元
model.add(Bidirectional(GRU(128)))
# 建立隐藏层
model.add(Dense(units=256, activation='relu'))
model.add(Dropout(0.5))
# 建立输出层
model.add(Dense(2))
model.add(Activation('sigmoid'))
# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
SHAP可解释性分析模块
使用SHAP方法对模型进行可解释性分析,是项目的重要组成部分。SHAP分析的核心是计算每个特征(字符)对预测结果的贡献值:
-
创建一个
DeepExplainer对象,指定要解释的模型和背景数据集。背景数据集使用训练集的前100个样本,用于估计特征的边际贡献。然后,使用shap_values方法计算测试集前10个样本的SHAP值。SHAP值表示每个字符对预测结果的影响程度,正值表示该字符使模型更倾向于将URL分类为钓鱼URL,负值表示该字符使模型更倾向于将URL分类为正常URL。- 使用
force_plot方法可视化SHAP结果。为了使可视化更直观,我们将ASCII码索引转换回原始字符,并只显示URL的有效部分(非填充部分)。可视化结果显示了每个字符对预测结果的贡献值,红色表示促进预测为钓鱼URL的字符,蓝色表示阻碍预测为钓鱼URL的字符。通过这种方式,我们可以直观地理解模型是如何基于URL中的字符做出分类决策的。
- 使用
import shap
# 使用前100个训练示例作为背景数据集
explainer = shap.DeepExplainer(loaded_model, x_train[:100])
# 生成测试样本的shap值
shap_values = explainer.shap_values(x_test[:10])
# 将索引转换为字符,绘制force plot
import numpy as np
urlStr = test_value[0][0]
urlStr_list = [' ' for i in range(200-len(urlStr))] + list(urlStr)
shap.force_plot(explainer.expected_value[0], shap_values[0][0][-76:], urlStr_list[-76:])
LIME可解释性分析模块
使用LIME方法对模型进行可解释性分析,是项目的另一个重要组成部分:LIME通过在预测样本附近生成扰动样本,训练一个简单的线性模型来近似复杂模型的局部行为。
-
定义了一个
URLsEncoder类,用于将URL字符串列表转换为模型可接受的输入格式。然后,我们创建一个管道,将编码器和模型连接起来,便于LIME调用。接下来,我们创建一个LimeTextExplainer对象,指定类别名称、特征级别(这里设置为非字符级,因为我们关注的是字符串特征)和词袋模型(设置为False,因为我们的模型考虑了词序)。 -
选择一个目标URL(钓鱼URL),使用
explain_instance方法生成解释。该方法通过随机替换URL中的部分字符,生成扰动样本,然后训练一个线性模型来识别对预测结果影响最大的特征。num_features=6表示只显示影响最大的6个特征。 -
使用
as_list和as_pyplot_figure方法显示解释结果。解释结果显示了对预测影响最大的6个字符串特征,以及它们的贡献值。正值表示该特征使模型更倾向于将URL分类为钓鱼URL,负值表示该特征使模型更倾向于将URL分类为正常URL。通过这种方式,我们可以了解模型是基于哪些字符串特征做出分类决策的。
from lime import lime_text
from sklearn.pipeline import make_pipeline
class URLsEncoder:
def transform(self, url_str_list):
x_explain = [UrlEncoder().transform(url_str) for url_str in url_str_list]
x_explain = np.array(x_explain)
return x_explain
def fit(self, X, y=None):
return self
# 创建管道
c = make_pipeline(URLsEncoder(), loaded_model)
# 创建解释器
explainer = lime_text.LimeTextExplainer(
class_names=["benign", "phishing"],
char_level=False,
bow=False
)
# 选择目标URL进行解释
target_url = "http://diabeticneuropathysolution.com/wp-content/themes/1594971c7415418b0ac0a21c58af3912/"
exp = explainer.explain_instance(target_url, c.predict_proba, num_features=6)
# 显示解释结果
exp.as_list()
exp.as_pyplot_figure()
重难点和创新点
研究重点
-
高效的特征表示方法:如何有效地表示URL文本数据是钓鱼网址识别的关键问题。URL作为一种特殊的文本形式,包含丰富的结构信息和语义信息,传统的特征工程方法需要人工设计特征,效率低下且容易遗漏重要信息。本项目采用了端到端的深度学习方法,直接从原始URL字符串中学习特征表示,避免了人工特征工程的局限性,提高了特征表示的效率和质量。
-
高性能模型的构建:网络钓鱼攻击技术不断演变,钓鱼URL的伪装手段越来越复杂,这对检测模型的性能提出了更高的要求。本项目对比了RNN、LSTM、GRU和BiGRU四种循环神经网络模型,通过实验发现BiGRU模型在准确率、精确率、召回率和F1值等指标上表现最优。BiGRU通过同时考虑URL序列的正向和反向信息,能够更全面地捕捉URL的上下文特征,从而提高检测准确率。
-
模型可解释性的实现:深度学习模型通常被视为"黑盒",其决策过程难以解释,这在安全领域尤为重要,因为用户和安全专家需要理解模型为何做出特定的分类决策。本项目使用SHAP和LIME两种可解释性方法,对BiGRU模型的决策过程进行了深入分析,识别了影响模型决策的关键特征,增强了模型的透明度和可信度。
-
大规模数据的处理:随着网络钓鱼攻击的增加,URL数据集规模不断扩大,如何高效地处理大规模数据是项目面临的挑战。本项目通过数据预处理和批量训练等技术,提高了数据处理效率,确保模型能够有效地从大规模数据中学习特征。
难点
-
URL特征的复杂性:URL文本包含多种字符类型(字母、数字、特殊字符等),长度不一,结构复杂,如何有效地提取和表示这些特征是一个技术难点。本项目通过ASCII码转换和嵌入层技术,将URL文本转换为低维稠密向量,有效捕捉了字符之间的语义关系。
-
模型过拟合问题:深度学习模型在训练过程中容易出现过拟合现象,尤其是在数据集规模有限的情况下。本项目通过引入Dropout正则化、使用合适的损失函数和优化器等技术,有效缓解了过拟合问题,提高了模型的泛化能力。
-
可解释性方法的选择与应用:不同的可解释性方法适用于不同的场景,如何选择合适的方法并正确应用是一个技术难点。本项目对比了SHAP和LIME两种方法,分析了它们的优缺点和适用场景,根据具体需求选择了合适的解释方法,确保了解释结果的准确性和可靠性。
-
实时性与准确性的平衡:在实际应用中,钓鱼网址检测系统需要在保证准确性的同时满足实时性要求。BiGRU模型虽然准确率高,但计算复杂度也较高,如何在实时性和准确性之间找到平衡是一个技术难点。本项目通过模型优化和批量处理等技术,在保证准确性的前提下,提高了系统的响应速度。
创新点
-
端到端的特征学习:传统的钓鱼网址检测方法通常需要人工提取特征,如URL长度、域名特征、特殊字符等。本项目采用端到端的深度学习方法,直接从原始URL字符串中自动学习特征表示,避免了人工特征工程的局限性,能够捕捉更复杂、更精细的特征模式。
-
双向门控循环单元的应用:本项目将双向门控循环单元(BiGRU)应用于钓鱼网址识别任务,通过同时考虑URL序列的正向和反向信息,更好地捕捉URL的上下文特征。实验结果表明,BiGRU模型在准确率、精确率、召回率和F1值等指标上均优于传统的RNN、LSTM和GRU模型,准确率达到98.24%。
-
多维度的可解释性分析:本项目不仅构建了高性能的检测模型,还从多个维度对模型进行了可解释性分析。通过SHAP方法,我们分析了单个字符对预测结果的贡献;通过LIME方法,我们识别了对预测影响最大的字符串特征。这种多维度的可解释性分析,帮助我们更全面地理解模型的决策机制,为模型改进和安全策略制定提供了重要参考。
-
SHAP与LIME的对比研究:本项目对比研究了SHAP和LIME两种可解释性方法在钓鱼网址识别模型中的应用效果。研究发现,SHAP考虑了特征之间的相关性,解释更全面,但在直接学习URL序列关系的情况下,LIME能够提供更直观、更有针对性的解释。这种对比研究为不同场景下选择合适的可解释性方法提供了指导。
-
实用的预测服务系统:本项目不仅关注模型的性能,还注重系统的实用性。通过构建预测服务功能,用户可以方便地输入任意URL,获取预测结果和解释信息。这种实用的系统设计,使得研究成果能够更好地应用于实际的网络安全防护工作中。
总结
本项目成功构建了一个基于双向门控循环单元神经网络(BiGRU)的钓鱼网址识别系统,并通过SHAP和LIME两种可解释性方法对模型决策过程进行了深入分析。主要研究成果包括:
-
高性能的检测模型:通过对比RNN、LSTM、GRU和BiGRU四种循环神经网络模型,发现BiGRU模型在钓鱼网址识别任务中表现最优,准确率达到98.24%,精确率、召回率和F1值等指标也均优于其他模型。这表明BiGRU通过同时考虑URL序列的正向和反向信息,能够更全面地捕捉URL的特征,提高检测准确率。
-
有效的特征表示方法:通过ASCII码转换、嵌入层和双向循环等技术,成功将原始URL文本转换为适合深度学习模型处理的特征表示,避免了人工特征工程的局限性,能够自动学习复杂的特征模式。
-
深入的可解释性分析:通过SHAP和LIME两种可解释性方法,识别了影响模型决策的关键特征,发现模型主要基于URL中的字符串特征进行分类决策。这些字符串特征的长短不一,权重不同,有的只有一到两个字符,有的达到数十个字符,但它们都对模型的分类决策产生重要影响。
-
实用的系统功能:实现了数据采集与预处理、模型训练、性能评估、可解释性分析和预测服务等功能,构建了一个完整的钓鱼网址识别系统。该系统不仅能够准确识别钓鱼网址,还能够提供详细的解释信息,增强用户的信任和理解。
本项目的研究成果具有重要的理论意义和实用价值:
-
理论意义:本项目探索了深度学习技术在网络安全领域的应用,特别是循环神经网络在处理URL序列数据方面的优势。通过对比不同的循环神经网络模型和可解释性方法,丰富了网络安全领域的研究成果,为后续研究提供了参考。
-
实用价值:本项目构建的钓鱼网址识别系统具有较高的准确率和可解释性,可以直接应用于实际的网络安全防护工作中,帮助用户和组织有效防范网络钓鱼攻击,减少经济损失。同时,通过可解释性分析发现的钓鱼特征,可以为安全防护策略的制定提供参考。
-
技术创新:本项目在特征表示、模型构建和可解释性分析等方面进行了创新,特别是将双向门控循环单元应用于钓鱼网址识别任务,并对比研究了SHAP和LIME两种可解释性方法的效果,为相关技术的发展提供了新思路。
未来展望
虽然本项目取得了一定的成果,但仍有一些问题需要进一步研究和改进:
-
模型性能的进一步提升:可以探索更复杂的模型结构,如结合注意力机制的BiGRU模型,或者使用预训练语言模型(如BERT)对URL进行编码,进一步提高检测准确率。
-
特征工程的优化:虽然端到端的深度学习方法避免了人工特征工程的局限性,但结合领域知识进行特征工程可能会进一步提高模型性能。可以探索深度学习与传统特征工程相结合的方法,优化特征表示。
-
更先进的可解释性方法:SHAP和LIME虽然是主流的可解释性方法,但仍有一些局限性。可以探索更先进的可解释性方法,如基于规则提取的方法、因果推理方法等,提供更准确、更全面的解释。
通过这些进一步的研究和改进,相信钓鱼网址识别技术将不断发展,为网络安全防护提供更强大的支持。
参考文献
[1] Correa Bahnsen A, Contreras Bohorquez E, Villegas S, et al. Classifying Phishing URLs Using Recurrent Neural Networks[J]. Easy Solutions Research, 2020.
[2] Lundberg S M, Lee S I. A Unified Approach to Interpreting Model Predictions[J]. Advances in Neural Information Processing Systems, 2020, 30: 4765-4774.
[3] Ribeiro M T, Singh S, Guestrin C. “Why Should I Trust You?”: Explaining the Predictions of Any Classifier[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2020: 1135-1144.
[4] Saxe J, Berlin K. eXpose: A Character-Level Convolutional Neural Network with Embeddings For Detecting Malicious URLs[J]. arXiv preprint arXiv:2004.07086, 2020.
[5] Guo W, Mu D, Xu J, et al. LEMNA: Explaining Deep Learning based Security Applications[C]//Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security. 2020: 1615-1632.
[6] Grosse K, Papernot N, Manoharan P, et al. Adversarial perturbations against deep neural networks for malware classification[J]. IEEE Transactions on Dependable and Secure Computing, 2021, 18(2): 748-762.
[7] Marchal S, Saari K, Singh N, et al. Know Your Phish: Novel Techniques for Detecting Phishing Sites and Their Targets[C]//2021 IEEE International Conference on Distributed Computing Systems. 2021: 323-333.
[8] Tan S, Sim K C, Gales M J F. Improving The Interpretability of Deep Neural Networks With Stimulated Learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022, 44(3): 1324-1338.
1292



被折叠的 条评论
为什么被折叠?



