![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 81
阿航的博客
一切都是最好的安排!
展开
-
深度学习可解释性方法的一些概念
理解和解释深度学习模型的决策过程和原理。原创 2024-06-24 10:48:11 · 428 阅读 · 0 评论 -
TXL编程语言环境安装
TXL(Tree Transformation Language)是一种专门用于源代码分析和转换的编程语言。它基于树形结构,可以帮助开发人员进行各种代码重构、代码生成、语法转换等操作。TXL具有强大的模式匹配和模式替换功能,因此在软件工程和编程语言研究领域得到广泛应用。例如,可以用TXL来自动化重构工作、实现编程语言之间的转换,或者进行源代码的静态分析等。原创 2024-06-24 10:20:21 · 188 阅读 · 0 评论 -
利用SHAP算法解释BERT模型的输出
从上扒下来代码。原创 2024-06-24 10:17:13 · 379 阅读 · 0 评论 -
LineVul实验复现及相关问题
最近在复现 LineVul 这篇文章的实验,本文主要用于简化文章复现流程和记录复现过程中出现的问题。原创 2024-05-07 12:32:19 · 347 阅读 · 4 评论 -
LineVul: 基于Transformer的行号级漏洞预测
给定一个被 LineVul 预测为易受攻击的函数,利用 Transformer 架构内的自注意力机制来定位易受攻击的代码行,从而执行号级的漏洞定位。对预测贡献最大的令牌(token)很可能就是易受攻击的令牌,对于函数中的每个子词令牌,总结 12 个 Transformer 编码器块中其对应的自注意力得分。Initial False Alarm(IFA):安全分析人员需要检查的错误预测行(即,错误地预测为易受攻击或错误警报的非易受攻击行)的数量,直到找到给定函数的第一个实际易受攻击行。原创 2024-04-17 23:06:56 · 868 阅读 · 1 评论 -
基于汇编代码和源代码融合的漏洞检测系统
基本定义:定义1(源代码切片)。源代码切片Si是一个语义相关的多行源代码的片段,表示为Si=(si1si2si3,…,sin),其中sij(1 ≤j≤n)是Si中的第j行。定义2(汇编代码切片)。汇编代码切片Di是一个语义相关的多行汇编代码片段,表示为Di=(di1di2di3,…,din),其中dij(1 ≤ j ≤ n)是Di中的第j行。该系统分为训练和测试两个阶段。源代码处理。根据漏洞候选特征提取源代码切片,添加标签。原创 2024-04-17 15:16:59 · 745 阅读 · 2 评论 -
AMPLE: 基于图简化和增强图表征学习的漏洞检测
文中提出了一种新颖的漏洞检测框架 AMPLE,它具有图简化和增强图表征学习功能。AMPLE 可以缩小代码结构图的节点数量,从而减少节点之间的距离。同时结合边缘类型来增强局部节点的表示,以应对节点表示中更多的异构关系。通过捕捉远处图节点之间的关系来获取图的全局信息。与最先进的基于深度学习的方法相比,AMPLE 在所有数据集上的漏洞检测性能都有显著提高,F1 分数提高了 7.64%-199.81%。原创 2024-04-17 14:51:35 · 1079 阅读 · 2 评论 -
VulBG: 构建行为图加强基于深度学习的漏洞检测模型
文中提出了一种新方法,它可以提取函数的行为,然后构建行为图来表示不同函数之间的联系。设计并实现了 VulBG,通过将行为图与其他基于 DL 的 VD 方法相结合来提高漏洞检测性能。在两个真实世界数据集上的评估结果表明,行为图本身就足以胜任漏洞检测工作,且 可以进一步有效提高不同类型基于 DL 的 VD 方法(即 TextCNN、ASTGRU、CodeBERT、Devign 和 VulCNN)的整体性能。原创 2024-04-16 20:30:30 · 1175 阅读 · 2 评论 -
从汇编代码理解数组越界访问漏洞
根据上述示例可以发现,通过数组越界来覆盖函数的返回地址可以更改程序的执行流程。同样地,攻击者可以填写存放恶意代码的地址,从而引导函数func1去执行该恶意代码。因此,在编写代码中对数组做边界检查尤为重要。原创 2024-04-16 15:39:06 · 1474 阅读 · 0 评论 -
Sharing More and Checking Less:SaTC
文章提出了一个新的静态污点检测解决方案SaTC,用于有效检测嵌入式设备提供的网络服务中的安全漏洞。原创 2022-11-10 14:10:39 · 1026 阅读 · 2 评论 -
VulDeeLocator: 基于深度学习的细粒度漏洞检测器
这篇文章提出了一种可以同时实现高检测能力和高定位精度的漏洞检测器VulDeeLocator原创 2022-11-04 22:10:06 · 1610 阅读 · 0 评论 -
Devign:通过学习综合程序语义有效识别漏洞
这篇文章提出了一种基于图神经网络的通用模型Devign,通过学习丰富的代码语义集以进行图级分类原创 2022-11-04 22:01:22 · 1855 阅读 · 1 评论 -
BVDetector: 基于程序切片的二进制代码漏洞智能检测系统
提出了BVDetector和二进制程序的细粒度表示,并引入深度学习技术来智能检测漏洞。原创 2022-09-18 21:12:56 · 1296 阅读 · 0 评论 -
基于语义学习的物联网设备跨平台二进制漏洞搜索
物联网的快速发展引发了比以往更多的安全需求,尤其是在物联网设备的漏洞检测方面。原创 2022-09-13 09:28:25 · 2661 阅读 · 0 评论 -
HyVulDect: 基于图神经网络的混合语义漏洞挖掘系统
软件程序趋于庞大和复杂,软件漏洞成为计算机安全的主要威胁之一。开源软件的发展使得源代码漏洞检测变得越来越关键。传统的漏洞检测方法由于假阳率和假阴率较高,无法满足复杂软件的分析需求。提出了一个基于混合语义的图神经网络漏洞挖掘系统HyVulDect。该系统构建了一个复合语义的代码属性图来表示代码,使用门控图神经网络提取深层语义信息。利用污点分析提取污点传播链,并使用BiLSTM模型获取上下文的token级别的特征,最后使用分类器对融合特征进行分类。同时,加入双重注意力机制,使得模型能够关注与漏洞相关的代码。原创 2022-09-07 13:45:48 · 1485 阅读 · 2 评论 -
神经网络训练中的train loss, test loss问题
**train loss 不断下降,dev(或test) loss不断下降:**说明网络仍在学习。**train loss 不断下降,dev(或test) loss趋于不变:**说明网络过拟合。**train loss 趋于不变,dev(或test) loss不断下降:**说明数据集100%有问题。**train loss 趋于不变,dev(或test) loss趋于不变:**说明学习遇到瓶颈,需要减小学习率或批量数目,或者是数据集有问题(数据集标注错误数据比较多)。**train loss 不断.原创 2022-02-23 12:02:16 · 2072 阅读 · 0 评论 -
深度学习的一些定义
学习率: 将输出误差反向传播给网络参数,以此来拟合样本的输出。本质上是最优化的一个过程,逐步趋向于最优解。但是每一次更新参数利用多少误差,就需要通过一个参数来控制,这个参数就是学习率(Learning rate),也称为步长。<UNK>: 低频词或未在词表中的词<PAD>: 补全字符什么是深度学习里的Embedding? 这个概念在深度学习领域最原初的切入点是所谓的Manifold Hypothesis(流形假设)。流形假设是指“自然的原始数据是低维的流形嵌入于(e原创 2022-02-23 12:03:42 · 975 阅读 · 1 评论