加载头像
享受孤独
承受痛苦
foretsa-yang.github.io
Java
Docker
Mysql
C/C++
C#
Pytorch
Python
DL
binary
Vue
Linux
bilibili
JS
HTML
Git
Github
Java
Docker
shell
bigdata
Java
Docker
Mysql
C/C++
C#
Pytorch
Python
DL
binary
Vue
Linux
bilibili
JS
HTML
Git
Github
Java
Docker
shell
bigdata
随便逛逛
图片
2025-03-18GraphFVD - Property graph-based fine-grained vulnerability detection
0 Abstract 深度学习技术可以自动从软件源代码中提取功能,从而广泛用于检测软件漏洞。大多数现有的深度学习方法都依赖整个功能或序列级程序切片来识别漏洞。但是,这些方法通常很难捕获全面的脆弱性语义,从而导致高误报率和假阴性率。在本文中,我们提出了GraphFVD,这是一种基于图形的新型属性细粒漏洞检测方法。 我们的方法从代码属性图中提取基于图形的属性切片,并引入了一个分层注意图卷积网络以学习图形嵌入。 GraphFVD提供了一个细粒的代码表示,该表示,捕获语法,控制流,数据流以及与漏洞相关的源代码的自然顺序顺序。我们评估了方法对两个现实世界漏洞数据集的有效性。实验结果表明,我们的方法在两个数据集上都优于现有的最新漏洞检测方法。 1 Intro 我们提出了一种新颖的细粒代码表示,从代码属性图中提取图形级程序切片(即基于属性图的漏洞候选或PRVC)。 PRVC结合了抽象语法,控制流,数据流和代码的顺序顺序,从而捕获了全面而精确的程序语义。 •我们设计一个分层注意力图卷积网络(HIERGCN),以学习PRVC的嵌入并预测漏洞。 HIERGCN在关系图卷积网络(RGCN)中引入了分层的关 ...
详情
图片
2023-12-18CPVD Cross Project Vulnerability Detection Based on Graph Attention Network and Domain Adaptation
0 Abstract 代码漏洞检测对于软件安全预防至关重要。大规模软件代码中的漏洞注释非常繁琐且具有挑战性,这需要领域专家花费大量时间进行注释。这项工作提供了CPVD,这是一种跨域漏洞检测方法**,基于“学习使用一个具有丰富漏洞标签的项目快速预测另一个项目的漏洞标签”的挑战CPVD使用代码属性图来表示代码,并使用图注意力网络和卷积池网络来提取图特征向量。**在跨域漏洞检测的域自适应表示学习阶段,它减少了源域和目标域数据之间的分布。在本文中,我们在不同的真实世界项目代码上相互测试。与没有域自适应的方法和基于自然语言处理的域自适应方法相比,CPVD更通用,在跨域漏洞检测任务中表现更好。具体而言,对于chr_deb、qemu、libav和sard这四个数据集,它们的F1得分分别为70.2%、81.1%、59.7%和78.1%,AUC分别为88.4%、86.3%、85.2%和88.6%。 代码属性图,跨域漏洞检测,域自适应表示学习,图注意力网络。 1 Intro or Overview 1.1 Problem and Challenge 在代码漏洞检测任务中,VulDeePecker、μVul ...
详情
图片
2023-12-18DiverseVul A New Vulnerable Source Code Dataset for Deep Learning Based Vulnerability Detection
0 Abstract 我们提出并发布了一个新的漏洞源代码数据集。我们通过抓取安全问题网站、从相应项目中提取漏洞修复提交和源代码来整理数据集。我们的新数据集包含跨越 150 个 CWE 的 18,945 个脆弱函数,以及从 7,514 个提交中提取的 330,492 个非脆弱函数。我们的数据集涵盖的项目数量比之前所有数据集的总和还要多 295 个。 结合我们的新数据集和以前的数据集,我们分析了使用深度学习检测软件漏洞所面临的挑战和有前景的研究方向。我们研究了属于 4 个系列的 11 种模型架构。我们的研究结果表明,由于误报率高、F1 分数低以及难以检测硬 CWE,深度学习在漏洞检测方面还没有做好准备。特别是,我们展示了部署基于深度学习的模型所面临的重要通用化挑战。我们表明,增加训练数据量可能不会进一步提高深度学习模型在漏洞检测方面的性能,但可能有助于提高对未见项目的泛化能力。 我们还确定了充满希望的未来研究方向。我们证明,大型语言模型(LLMs)是基于 ML 的漏洞检测的一个有前途的研究方向,在我们的实验中,其性能优于具有代码结构特征的图形神经网络(GNNs)。此外,开发针对源代码的预 ...
详情
图片
2022-12-18CNN中的注意力
注意力机制最初在 2014年作为 RNN(Recurrent Neural Network)中编码器-解码器框架的一部分来编码长的输入语句,后续被广泛运用在RNN中。 1.单路注意力 SE-NET(Squeeze and Excitation) HU J,SHEN L,SUN G.Squeeze-and-excitation networks[J]. 2018年 ,CVPR(计算机视觉和模式识别)收录的论文中提出了 SE-Net(挤压和励磁网络)是 Momenta 胡杰团队 (WMW)提出的新的网络结构,该团队利用 SE网络获得 了ImageNet 2017年竞赛图像分类任务的冠军,在ImageNet数据集上将 top-5错误降低到 2.251%,对比于以往的最 好成绩 2.991%有了较大的提升。 SE-Net中的关键结构SE-Netblock利用了注意力机制的思想,显式地建模特征图之间的相互依赖关系,并通过学习的方式来自适应地获取到每张特征图的重要性,然后依照这个重要程度去对原数据进行更新。SE-Net通过这种方式提升有用的特征重要程度同时降低无用特征的重要性,并以不同通道的重 ...
详情
图片
2023-12-16Hello World
这是一个指南 安知鱼主题指南 (gavinblog.github.io) 布局(Layout) Hexo 有三种默认布局:post、page 和 draft。在创建这三种不同类型的文件时,它们将会被保存到不同的路径;而您自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。 布局 路径 post source/_posts page source draft source/_drafts 1 常用命令 123456789101112131415161718hexo inithexo cleanhexo generatehexo serverhexo dhexo new "postName" #新建文章hexo new page "pageName" #新建页面hexo generate #生成静态页面至public目录hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)hexo deploy #部署到GitHubhexo ...
详情
图片
2023-12-16Hexo bug
这是一个bug指南,在使用Hexo的时候遇到了一些bug,自己在这里对解决过的bug做以记录。 Nunjucks Error: [Line 26, Column 109] parseAggregate: expected comma after expression 这个自己是hexo在render公式的时候产生的问题,不能两个”{“紧接着放在一起,应该{ {…} }在之间加空格。
详情
图片
2023-12-16我的审稿意见
Intelligent Vulnerability Detector using deep sequence and graph based Hybrid Feature Extraction This manuscript proposed a graph-based and sequence-based neural network model for detecting vulnerabilities in Java code, utilizing multiple program features,which addresses the detection problem of a range of vulnerabilities collected from the Common Weakness Enumeration (CWE) . It introduces GCN-RFEMLP for extracting graph-based features and employs CodeBERT for extracting sequence-based features ...
详情
图片
2023-12-16c语言混淆技术
代码混淆定义: 原代码 P 通过某种变换变成代码 P’,若 P 和 P’运行结果与过程行为保持一致,该种变换就称之为混淆变换。 具体来说,当混淆转换满足以下两种情况时,这种混淆变化称之为合法的转换: (1)如果源程序 P 无法停止运行或报错结束运行,则变换后的程序 P’可以结束运行也可以继续运行。 (2)否则,目标程序 P’也结束运行并且输出与源程序相同的结果。 两个程序之间操作并不一定完全相同,且不一定有相同的效率。 实际上,混淆工具预先设定若干混淆规则,并使用其它更为复杂的代码取代源代码中符合条件的代码语句,虽然源代码语义并未改变但混淆后的程序运行过程中空间复杂度往往更高,执行时间也更长,甚至有可能改变系统环境等。 图 2.1 展示了混淆编译的整体流程, 首先混淆工具会对输入的源代码进行代码预处理得到程序控制流图 CFG、抽象语法树 AST 等信息, 然后对数据流、控制流等进行分析,并根据输入的混淆参数选择对应的混淆算法处理源代码, 最后输出混淆编译后的程序。 尽管混淆策略多种多样,但通常按 Collberg 提出的方法将其大致分为四类[16]: 布局混淆 数据流混淆 ...
详情
图片
2024-04-18C/C++漏洞数据集的特点
关于数据集,文献[1]发现了一些问题: 深度学习模型在漏洞检测上能够成功的一个重要条件是庞大的漏洞代码数据样本的支撑,我们需要大规模数据集来可靠评估深度学习方法对漏洞检测的影响,随着可用培训数据量的增加,不同架构的相对性能会发生根本性变化。 LLMs比GNNs更能够利用大规模数据集:**更大的数据集仅轻微提高了ReVeal的表现,但显著提高了LLMs的表现。**然而,我们的实验表明,通过收集更多数据来提高性能可能已经停滞。**与普遍认为对于LLMs表现良好,模型大小是最重要因素不同,我们的结果显示,最重要的因素可能是LLM的训练方式。**在代码理解任务的预训练似乎能够带来很大的改善。我们认为开发更好的代码特定预训练任务是改善基于深度学习的漏洞检测的一个有前途的研究方向。 此外,我们**确定了一个部署基于深度学习模型的重要泛化挑战。**要部署一个模型,我们需要检测新软件项目中的漏洞,这些漏洞在训练集中没有出现。我们发现,在这种情况下,深度学习模型表现非常糟糕。然而,在实践中,我们经常希望在新项目上运行漏洞检测工具,因此在训练集中不会有该项目的任何漏洞。所有模型在未见项目上的性 ...
详情
图片
2023-12-16Basic terms and concepts
Basic terms and concepts Vulnerability Vulnerability VUL,Vulnerability的缩写,泛指漏洞。漏洞是指计算机系统中存在可能被攻击者利用的弱点、缺陷或安全漏洞。这些漏洞允许未经授权的访问,如窃取敏感数据,或允许攻击者在目标计算机系统上执行任意操作,如安装恶意软件。此类漏洞可能表现在不同方面,包括软件代码、硬件组件、配置或设计。 CWE CWE是社区开发的漏洞列表。它提供了一种标准化和结构化的方法来识别和分类这些漏洞,并为每个漏洞分配一个唯一的标识符。例如,CWE-119提到了臭名昭著的“缓冲区溢出”。遵循不同级别的概念抽象,CWE将漏洞组织在树状层次结构中,其中低级CWE ID与高级CWE ID相关联。例如,表示“越界写入”的CWE-787和表示“越界读取”的CWE-125都是属于CWE-119的较低级别类型。 POC POC,Proof of Concept,中文意思是“概念证明”。这个短语会在漏洞报告中使用,漏洞报告中的POC则是一段说明或者一个攻击的样例,使得读者能够确认这个漏洞是真实存在的。 EXP EXP,Ex ...
详情
图片
2023-12-16挑战与问题
已经开发了各种方法来检测漏洞(Cui et al.,2022),包括静态、动态、一致性分析和模糊方法。正如我们将在相关工作部分进一步深入研究的那样,TrVD属于静态检测系列中基于学习的范式。在这种范式中,漏洞检测任务被公式化为一个分类问题。具体来说,在训练阶段,分类器 通过代码表示构建、特征提取和模型训练,从一组带有基本事实标签的训练样本中学习。在检测阶段,当出现一段可能看不见的源代码时, 执行代码表示构造和特征提取的相同过程。经过训练的分类器预测漏洞的存在,或者进一步精确定位特定的漏洞类型。 可用性 其他被广泛采用的代码表示包括CFG、PDG和各种基于图形的变体。这些表示更明确地描述了代码元素之间的控制或数据依赖关系,然而,当面对不可执行或不完整的代码片段时,很难精确推导出这些依赖关系。因此,它们可能并不总是适用于漏洞检测。按照约定,AST可以很容易地为任何代码片段构建,例如文件、函数或单个语句。 效率 与需要相对复杂和耗时的控制或依赖性分析的代码表示(例如CFG、PDG和代码小工具)相比,从代码构建AST要简单得多,重量轻,从而有助于提高整个检测方法的效率。 语义综合性 那些人工 ...
详情
图片
2024-04-18C/C++漏洞数据集
C/C++漏洞数据集-CSDN博客 1.常用数据集 1.1.Big-Vul 论文地址:A C/C++ Code Vulnerability Dataset with Code Changes and CVE Summaries github地址 该数据集存储为csv格式。包含了漏洞行号信息,详细参考github地址。 https://github.com/ZeoVan/MSR_20_Code_vulnerability_CSV_Dataset 1.2.Reveal Reveal本为一个DLVD(Deep Learning Vulnerbility Detection)方法,可以参考Reveal。而作者收集了一个数据集。从Linux Debian Kernel 和Chromium的vulnerabilitiy fixed patches中构造。 论文地址:Deep Learning based Vulnerability Detection:Are We There Yet? 数据集下载地址 包含2个json,vulnerables.json和non-vulnerables.json。 ...
详情
图片
2023-12-18PDFMathTranslate
PDFMathTranslate PDF科学论文翻译和双语比较。 📊 保留公式、图表、目录和注释(预览)。 🌐 支持多种语言和多样化的翻译服务。 🤖 提供命令行工具、交互式用户界面和Docker镜像。 python环境下安装 Python installed (3.8 <= version <= 3.12) Install our package: 1pip install pdf2zh Execute translation, files generated in current working directory: 1pdf2zh document.pdf docker安装(推荐) Pull and run: 12docker pull byaidu/pdf2zhdocker run -d -p 7860:7860 byaidu/pdf2zh Open in browser: 1http://localhost:7860/ 附: Option Function Example files Local files pdf ...
详情
图片
2023-12-18Latex OCR
LaTeX-OCR 是一个开源的光学字符识别(OCR)软件,专为 LaTeX 文档提供支持。其主要目的是帮助用户将扫描的文档转换为 LaTeX 编辑器可以使用的可编辑文本,从而方便进行修改、编辑和排版。 1.安装 LaTeX-OCR可以从源码进行安装,也可以直接用pip来安装,源码地址:https://github.com/lukas-blecher/LaTeX-OCR ,这里直接使用pip安装,为了方便管理环境,使用conda创建虚拟环境。 1234conda create -n latex python=3.10conda activate latexpip install "pix2tex[gui]"pip install "pix2tex[gui]" -i https://pypi.tuna.tsinghua.edu.cn/simple 注:使用pip清华镜像源更快哦~ 2.启动与使用 12# 在虚拟环境下执行pix2tex 首次执行会下载依赖模型; 期间可能报错,连接断开,尝试重试; 使用: 输入h 回车查看帮助: 可以看到 ...
详情
图片
2023-12-18解决“无法加载文件\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本”
解决“无法加载文件 ***\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本” 在VScode使用anaconda时,提示 12. : 无法加载文件 C:\Users\47370\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 想了解计算机上的现用执行策略,打开 PowerShell 然后输入: 12>> get-executionpolicyRestricted 更改执行策略,以管理员身份打开 PowerShell 输入: 1>> set-executionpolicy remotesigned 选择“是”,即可。 如果要更改回Windows 客户端计算机的默认执行策略,则设置为restricted: 1set-executionpolicy restricted
详情
GraphFVD - Property graph-based fine-grained vulnerability detection
样式调整样例
软件的加密与解密
逆向工程开源引擎框架
使用make更新函数库文件
Makefile隐含规则
make运行
Makefile使用函数
Makefile使用条件判断
Makefile使用变量
avatar
享受孤独

网站资讯
文章总数 :
136
建站天数 :
总访客数 :
总访问量 :
距离除夕
2025-01-28
本年
还剩
本月
还剩
本周
还剩
引用到评论
随便逛逛博客分类文章标签
复制地址关闭热评深色模式轉為繁體