CVE公共漏洞和暴露的学习

[网络]公共网络安全漏洞库:CVE/CNCVE 以网络安全行业中最大的、影响范围最广的CVE为例。CVE 的英文全称是“Common Vulnerabilities & Exposures”通用漏洞披露。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。 阅读详情

 1 CVE的产生背景

随着最近一些年来在全球范围的黑客入侵不断猖獗,信息安全问题越来越严重。在对抗黑客入侵的安全技术中,实时入侵检测和漏洞扫描评估(IDnA -Intrusion Detection and Assessment)的技术和产品已经开始占据越来越重要的位置。目前实时入侵检测和漏洞扫描评估基于的主要方法还是“已知入侵手法检测”和“已知漏洞扫描”,换句话说就是基于知识库的技术。可见,决定一个IDnA技术和产品的重要标志就是能够检测的入侵种类和漏洞数量。

 1999年2月8日的InfoWorld在比较当时ISS的Internet Scanner5.6和NAI的CyberCop2.5时有一段描述,“由于没有针对这些扫描器平台的分类标准,直接比较他们的数据库非常困难。我们找到在Internet Scanner和CyberCop中同一个漏洞采用了不同的名称……” 

各个IDnA厂家在阐述自己产品的水平时,都会声称自己的扫描漏洞数最多,你说有1000种,我说有5000。我们的用户如何辨别?不同的厂家在入侵手法和漏洞这方面的知识库各有千秋,用户如何最大限度地获得所有安全信息?CVE就是在这样的环境下应运而生的。

注释:1000与5000这样的数字在这里没有什么意义,因为漏洞描述不一样,含义不一样。

2 什么是CVE

CVE的英文全称是Common Vulnerabilities & Exposures(公共漏洞和暴露)。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。

CVE的特点

l  -为每个漏洞和暴露确定了唯一的名称

l  -给每个漏洞和暴露一个标准化的描述

l  -不是一个数据库而是一个字典

l  -任何完全迥异的漏洞库都可以用同一个语言表述

l  -由于语言统一可以使得安全事件报告更好地被理解实现更好的协同工作

l  -可以成为评价相应工具和数据库的基准

l  -非常容易从互联网查询和下载http://www.cve.mitre.org

l  -通过CVE编辑部体现业界的认可

CVE开始建立是在1999年9月,起初只有321个条目。在2000年10月16日,CVE达到了一个重要的里程碑——超过1000个正式条目。截至目前(2000年12月30日),CVE已经达到了1077个条目,另外还有1047个候选条目(版本20001013)。目前已经有超过28个漏洞库和工具声明为CVE兼容。

注释:到今天2007年8月,cve的条目已经达到了25000多个条目,超过41个漏洞库和工具声明为cve兼容

 

 2.1 CVE条目举例

Land是一个非常著名的拒绝服务攻击的例子。该攻击的主要原理就是构造一个伪造源地址等于目的地址的IP数据包。当存在相应漏洞的主机收到这样的攻击包,会由于不断的自我响应造成系统资源的过渡消耗和崩溃。

在许多种漏洞数据库中都有相应的条目,但是说法各不相同,有Land, Teardrop_land, land.c, Impossible IP packet, Land Loopback Attack等等多种命名方法,用户无所适从。如下图:

 


如果有了CVE这个公共的命名标准,所有的漏洞库都会对应到CVE字典。如下图:

 

 

在CVE字典中会出现一个共同认可的名称和描述:

 

 

2.2 什么是漏洞什么是暴露

Vulnerability(漏洞,脆弱性)这个词汇可以有狭义和广义多种解释。比如说:finger服务,可能为入侵者提供很多有用的资料,但是该服务本身有时是业务必须的,而且不能说该服务本身有安全问题。1999年8月,CVE的编辑部投票表决通过,为了表达得更精确,给出了一个新的概念 ——Exposure(暴露)。

在所有合理的安全策略中都被认为是有安全问题的称之为“漏洞”。漏洞可能导致攻击者以其他用户身份运行,突破访问限制,转攻另一个实体,或者导致拒绝服务攻击等。漏洞的例子,比如:

l  phf(以用户”nobody”的身份远程执行命令)

l  rpc.ttdbserverd(以”root”身份远程执行命令)

l  缺省口令

l  可能引起蓝屏死机的拒绝服务攻击

l  smurf(淹没一个子网的拒绝服务攻击)

对那些在一些安全策略中认为有问题,在另一些安全策略中可以被接受的情况,称之为“暴露”。暴露可能仅仅让攻击者获得一些边缘性的信息,隐藏一些行为;可能仅仅是为攻击者提供一些尝试攻击的可能性;可能仅仅是一些可以忍受的行为,只有在一些安全策略下才认为是严重问题。暴露的例子,比如:

l  运行类似finger的服务用于获取信息或者广告的服务

l  从企业级的角度看没有很好地设置Windows NT的审计策略

l  运行可能成为公共攻击点的服务比如HTTP FTP或SMTP

l  运行可能遭到强力攻击的应用服务比如可能遭到字典攻击口令长度太小等

 

2.3什么叫CVE兼容

“CVE兼容”意味着一个工具、网站、数据库或者其它安全产品使用CVE名称,并且允许与其它使用CVE命名方式的产品交叉引用。不同的工具提供不同的引用方式:

l  CVE查询  用户可以通过CVE名称在产品中搜索相关的信息

l  CVE输出   在产品提供的信息中包括相关的CVE名称

l  CVE映射  CVE的条目和产品中的信息完全对应

 

目前(2000年)宣布兼容CVE的厂家和机构有28个,这些都是在IDnA领域中大牌。下面是一些典型机构的兼容情况:

注释:到今天2007年8月,cve的条目已经达到了25000多个条目,超过41个漏洞库和工具声明为cve兼容

 


3  CVE的组织和机制

CVE这个标准的管理组织和形成机制可以说是国际先进技术标准的代表

3.1 CVE的编辑部组成

CVE的编辑部(Editorial Board)成员包括了各种各样的有关信息安全的组织,包括:商业安全工具厂商,学术界,研究机构,政府机构还有一些卓越的安全专家。通过开放和合作式的讨论,编辑部决定哪些漏洞和暴露要包含进CVE,并且确定每个条目的公共名称和描述。一个独立的非盈利组织MITRE负责召集编辑部,协调讨论,在整个过程提供指导,保证CVE能够服务于公众的要求。编辑部会议和讨论的内容会保存在网站中。如果需要,还会邀请其他相关信息安全专家加入到编辑部的工作中。在编辑部中,我们能够找到许多熟悉的名字:

l  -CERIAS美国普渡大学计算机系

l  -Kelly Cooper国际知名信息安全专家

l  -ISS这样的著名安全工具厂商还有NFR,Axent,PGP,Symantic等等-Cisco,IBM,Sun,微软等

l  -美国和加拿大的CERT

l  -NTBugtraq,Security Focus这样的安全门户

l  -Ernst&Young这样的著名咨询机构

l  -NIST这样的标准化和测试机构

这样的编辑部可以说是一个超强的阵容同时也决定了这个标准的权威地位

3.2 CVE命名过程

命名过程从发现一个潜在的安全漏洞和暴露开始;首先赋予一个CVE候选号码;接着,编辑部会讨论该候选条目能否成为一个CVE条目;如果候选条目被投票通过,该条目会加进CVE,并且公布在CVE网站上。所有的候选条目都可以在网站上查到,只不过CVE和候选条目是分开的。整个CVE的命名过程如下:

l  发现    发现一个潜在的漏洞和暴露

l  公开   通过邮件列表新闻组安全建议等形式公开并提交给CVE的权威候选编号机构CNA目前由MITRE负责

l  编号   CNA首先确认该漏洞和暴露是否包含在已有的CVE或候选条目中,如果不重复就可以赋予一个候选编号编号形式CAN-yyyy-nnnn

l  提案  编辑可以向编辑部提出某个漏洞/暴露,编辑部成员会讨论该条目并表决表决,结果可能是,接收,拒绝,彻底改动,微小调整,没有意见,继续审查等,编辑部成员的表决和意见会记录在CVE网站上

l  修改   如果投票表决候选条目需要修改则修改后再提交

l  中间决策  编辑可以认定一个条目是否已经完成讨论提请最终决策

l  最终决策  如果认定一个条目没有再多的修改就提请最终决策如果候选条目被接受就会通知所有成员如果被拒绝则会说明原因

l  正式发布  当一个候选条目被接受为CVE条目该条目会发布在网站上

l  再评估   CVE条目可能根据技术的变化需要重新评估再评估过程需要经过同样过程

l  撤销  有些情况经过讨论和投票表决有些CVE条目可能会被撤销或合并到其它条目

4 CVE对我们的帮助和启示

4.1 用户选择产品

用户和网络安全管理员可以通过采用“CVE兼容”的产品,或者要求你的安全产品厂商达到CVE兼容的水平,以保证企业级安全应用的需求。在选择相应的产品时候,用户完全可以用CVE作为评判工具的标准。

 

4.2 用户实施风险评估

在风险评估中最重要也是最困难的两个环节就是风险的量化,以及找到风险项后如何寻找控制措施。CVE给了我们非常好的指导去进行风险评估中的技术评估。用户完全可以参考CVE字典和相应的数据库建立自己企业的风险评估指标体系,而且所有的这些风险项都可以通过CVE索引迅速地找到相应的修补控制措施。

4.3厂商开发产品

安全工具厂商和漏洞库管理者通过符合CVE标准为客户提供CVE兼容的工具和数据

库以便达到更好的风险控制覆盖范围,实现更容易的协同工作能力提高客户整个企业的

安全能力

4.4如何制订有实效的信息安全标准

CVE给了我们一个非常好的典范。 CVE不是研究室闭门造车的产物,而是行业需求、客户需求驱动的产物,是众多权威机构和大厂商直接支持的共同规范。

由于CVE实行这种开放式的研究和提交方式,投票表决式的决策机制,保证了CVE能够最大限度地容纳最先进、最新的安全内容,投票结果又可以反映技术界和业界的综合意向,各方面完全不需要为标准的执行担忧。

 

CVE这种开放的标准制定机制,以及行业内厂商间的这种有序竞争和合作,才是我国信息安全企业和标准制定单位最需要借鉴的

注释:

个人总结:CVE为漏洞和暴露提供了统一的命名标准。目前,我国国内有一些产品(启明星辰等)在向这个标准靠拢,但是还有两个问题:

1、cve网上的漏洞库中有许多可能完全没有被安全厂家考虑。

2、由于国内安全厂家安全知识的匮乏,cve漏洞库中有很多漏洞对于安全厂家可能不知道是什么内容,也有可能由于英文的漏洞表述导致的不理解。强烈呼吁国内有关组织和部门在网上挂载和维护全中文的漏洞数据库,并给出cve编号,便于国内安全厂家和研究人员学习。

 

漏洞发布平台 工欲善其事,必先利其器。为了挖掘漏洞,首先要复现漏洞学习漏洞的思路,下面列举一些漏洞发布平台,便于搜集信息和代码,复现漏洞。 首先明确几个概念: CVE(Common Vulnerabilities & Exposures):公共漏洞和暴露,CVE是一个字典表,给信息安全漏洞或已经暴露出来的弱点一个公共的名称。 POC(Proof of Concept):漏洞证明,漏洞报告中,通过一段描述或一个样例来证明漏洞确实存在。 EXP(Exploit):漏洞利用,意思就是该漏洞存在公开的利用方式(比如一个 阅读详情

相关推荐

学习笔记:物理信息神经网络(PINN)

PINN 的强大在于它打破了传统数值方法的限制,将神经网络的非线性拟合能力与物理方程的严谨性结合起来。它在处理高维、数据稀缺、复杂物理约束的场景下尤其出色。当然,PINN 也有收敛慢、梯度消失等挑战,比如,复杂 PDE 可能导致梯度传播困难,收敛慢(梯度消失)、于具有快速变化特征的系统,如冲击波,标准 PINN 可能精度不足,需要改进策略,比如自适应采样或多尺度特征提取。但随着研究深入,这些问题正在不断被解决。物理或化学方程为什么往往是偏微分方程?什么是物理信息神经网络(PINN)?x_%7Bi%7D。

qq_52635735的博客 1万+

安全L1-1.1 信息安全概述-安全概念及常见术语

1.1 信息安全现状及挑战 网络空间安全市场在中国潜力无穷 数字化时代威胁升级——攻击频发,勒索病毒、数据泄露、黑客入侵等网络安全事件呈现上升趋势 传统防火墙、IPS、杀毒软件等基于特征库的安全检测,无法过滤变种僵/木/蠕、U盘带入、恶意的内部用户、BYOD带入 1.2 信息安全脆弱性及常见安全攻击 1.3 信息安全要素 1.4 整体安全解决方案 ...

Knowledge warehouse 1846

从无人机到机械臂:深入聊聊LQR和LQG在实际项目里的那些‘坑’与最佳实践

本文深入探讨了LQR和LQG在无人机和机械臂等实际项目中的应用挑战与最佳实践。从系统建模的妥协艺术到调参的系统化方法,再到离散化的细节处理,文章分享了工程实践中的宝贵经验。特别强调了如何应对传感器噪声、未建模动态等现实问题,并提供了实用的调试工具和诊断流程,帮助工程师避免常见陷阱,提升控制系统的稳定性和性能。

weixin_28683391的博客 386

信息安全中常用术语介绍

VUL,Vulnerability 的缩写,泛指漏洞。0day 漏洞,又称零日漏洞 「zero-day」。是已经被发现 (有可能未被公开),而官方还没有相关补丁的漏洞。通俗地讲就是除了漏洞发现者,没有其他的人知道这个漏洞的存在,并且可以有效地加以利用,发起的攻击往往具有很大的突发性与破坏性。零日攻击或零时差攻击「zero-dayattack」则是指利用这种漏洞进行的攻击,提供该漏洞细节或者利用程序的人通常是该漏洞的发现者。

A_991128a的博客 3182

ThingsKit物联网平台产品管理之物模型

物模型是ThingsKit物联网平台为产品定义的数据模型,用于描述产品的功能。本文介绍物模型相关概念和使用限制。

云腾五洲官方博客 1174

Voronoi算法构建多晶

孪晶多晶 采用孪晶的原子链作为种子通过voronoi算法可以得到孪晶多晶结构。 孪晶种子: txt文件不需要特殊设置 box 150 150 150 random 8 得到孪晶多晶: 通过改变孪晶种子的长度可以得到不同孪晶片层厚度的多晶。 准二维柱晶 所有晶粒在某一维度的晶向一致,晶粒仅在平面内具有旋转关系,所有晶界为旋转对称晶界,这种结构的多晶其位错滑移在某些方向受限,但是能极大的提高晶粒...

yamatachi的博客 5280

提交cve和cnvd的区别以及申报文档所必须的内容

cve审核会相对宽松很多,甚至你申报时不需要准备图片,只需要用文字把必要步骤写出来,证明这个漏洞存在,基本都可以申报成功。网上普遍说是一个月,其实就个人体会并没有这么久,大概是15天左右,cve就会再次发一封邮件到你的邮箱,审核通过的话会在该邮件内容附上你的。需要注意的是,在你提交后cve会在几分钟之内回复一封邮件给你,在那里你可以修改自己先前提交内容的细节。你可以通过这个cve编号和PGP密钥选择公开与否你的漏洞发现,公开地址可以选择你的GitHub仓库地址。事件型漏洞的审核会快一点,大概需要3-5天。

m0_74003366的博客 2106

PredFormer实战:用Transformer搞定交通流量预测(附TaxiBJ数据集代码)

本文详细介绍了如何利用PredFormer这一基于Transformer的先进模型进行交通流量预测,特别针对TaxiBJ数据集提供了完整的实战代码和优化策略。PredFormer通过门控Transformer块(GTB)的创新设计,在时空预测任务中展现出显著优势,相比传统方法将MSE降低33.1%,推理速度提升4.4倍。文章还涵盖了模型轻量化、部署优化等实用技巧,为智慧城市建设中的交通预测提供了高效解决方案。

weixin_29194817的博客 445

信息安全名词解释——漏洞

漏洞是指一个系统存在的弱点或缺陷,系统对特定威胁攻击或危险事件的敏感性,或进行攻击的威胁作用的可能性。漏洞可能来自应用软件或操作系统设计时的缺陷或编码时产生的错误,也可能来自业务在交互处理过程中的设计缺陷或逻辑流程上的不合理之处。这些缺陷、错误或不合理之处可能被有意或无意地利用,从而对一个组织的资产或运行造成不利影响,如信息系统被攻击或控制,重要资料被窃取,用户数据被篡改,系统被作为入侵其他主机系

电力信息化专栏 2881

Agent Skills应用解析:构建可扩展、高效率AI探员

Agent Skills是一个简洁而强大的概念:它是一个包含组织化的指令、脚本和资源的文件夹,智能体可以动态地发现并加载这些内容,以在特定任务中表现更佳。可组合性(Composability):一个Agent Skill是一个独立的、封装良好的能力单元。开发者可以为不同的功能(例如PDF处理、网络浏览、数据分析)创建独立的技能,然后根据需要将它们组合起来,赋能不同的智能体。这意味着不再需要为每个用例构建碎片化、定制设计的智能体,而是可以通过组合现有技能来快速构建新的专业智能体。

形上得其象,形下合于数;阴阳自济,玄理自明。 1627

Claude Code 分布式并行开发最佳实践:1中枢+10Worker跨多Git仓库全流程落地

本文介绍了一套基于Claude Code和Git Worktree的分布式并行开发方案,解决多仓库、微服务开发中的核心痛点。方案采用"1个决策中枢+10个并行Worker"架构,中枢负责任务拆解和调度,每个Worker绑定独立仓库实现完全隔离开发。关键优势包括:任务并行效率提升10倍、跨仓库依赖自动编排、版本统一管理、零第三方依赖。文章详细提供了环境准备、架构设计、中枢搭建和初始化脚本等全流程落地指南,特别适合多仓库协同的全栈开发场景。

AI天才研究院 244

CVE公共漏洞和暴露学习

<br />CVE公共漏洞和暴露<br />原著:潘柱廷    注释:ccnupq<br />1 CVE的产生背景 <br />随着最近一些年来在全球范围的黑客入侵不断猖獗,信息安全问题越来越严重。在对抗黑客入侵的安全技术中,实时入侵检测和漏洞扫描评估(IDnA -Intrusion Detection and Assessment)的技术和产品已经开始占据越来越重要的位置。目前实时入侵检测和漏洞扫描评估基于的主要方法还是“已知入侵手法检测”和“已知漏洞扫描”,换句话说就是基于知识库的技术。可见,决定一个I

Alex_duanjp的专栏 2503

Attention优化|2w字原理&图解: 从Online-Softmax到FlashAttention V1/V2/V3

本文通过原理分析和图解的方式,通俗易懂地FlashAttention系列算法。FlashAttention V1/V2在LLM领域的应用已经非常广泛,相关的论文也反复读了几遍。FA1和FA2论文非常经典,都推荐读一下(不过FA2论文中公式错误不少本文大约1.8w字,包括以下内容:0x07 分布式训推使用FlashAttention0x09 FlashAttention中MQA/GQA以及Causal Mask处理。

具身机器人和通用AI 5232

紧急警告:新0day漏洞被用于攻击暴露接口的防火墙,从零基础到精通,收藏这篇就够了!

该零日漏洞被命名为CVE - 2024 - 55591,CVSS评分为9.6,属于身份验证绕过漏洞。攻击者可通过精心构造的请求,利用Node.js WebSocket模块,绕过身份验证并获取超级管理员权限。受影响的设备固件版本范围为FortiOS 7.0.0至7.0.16,以及FortiProxy 7.0.0至7.0.19和7.2.0至7.2.12。

leah126的博客 1684

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Android 安卓的CVE(公共漏洞和暴露)

在刚刚过去的一月份,与往年相同,媒体们又在忙着报导过去一年的漏洞统计。同样,CVE Details的小伙伴们也精心准备了基于CVE(Common Vulnerabilities & Exposures,公共漏洞和暴露)统计的大把夸张数据。媒体朋友们也照例频频赏光咬饵,发布的都是诸如“安卓当选2016漏洞之王”一类吸引眼球的头条。 尽管每年都会看到类似的文章标题,但是我们也会在思考着一个问

奥特曼超人的博客专栏 2万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

几个cve漏洞库查询网站-什么是CVE?常见漏洞和暴露列表概述

CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。原文链接:https://blog.youkuaiyun.com/zhongxj183/article/details/119456735。tenable漏洞库(nessus)

学习 记录 总结 分享 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

浅谈漏洞来源(CVE,NVD,CNVD,CNNVD)

网络安全人士可能会问这样一个问题,安全漏洞是哪里来的,什么渠道,可靠吗。那么多的安全产品,他们的漏洞库都是自己整理的吗?(怎么可能撒),虽然各安全厂商都搞自己的威胁情报中心,但是威胁情报除了自研的,很多还是靠类似公益的机构来支持,比如业界大家都知道的几个平台,我们就简单和大家掰扯掰扯吧。

TT成长博客 3万+

【安全】漏洞名词扫盲(POC,EXP,CVE,CVSS等)

POC(Proof of Concept) 漏洞证明,漏洞报告中,通过一段描述或一个样例来证明漏洞确实存在 EXP(Exploit) 漏洞利用,某个漏洞存在EXP,意思就是该漏洞存在公开的利用方式(比如一个脚本) 0DAY 含义是刚刚被发现,还没有被公开的漏洞,也没有相应的补丁程序,威胁极大。 CVE(Common Vulnerabilities & Exposures) 公共漏洞和...

qqchaozai的专栏 2万+

[网络]公共网络安全漏洞库: CVE / CNCVE

以网络安全行业中最大的、影响范围最广的CVE为例。CVE 的英文全称是“Common Vulnerabilities & Exposures”通用漏洞披露。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。

2401_88755455的博客 1254

漏洞补丁:漏洞命名(CVE和CNNVD)及补丁查找

截图为报告的部分内容,里面包含了编号,描述,解决地址。这里对 CVE编号,CVSS分值,国家漏洞库编号(CNNVD)等几个主要名称含义进行记录。

guyuelin123的博客 2万+

CVE和CWE的区别

CVE和CWE作为计算机软件安全领域重要的公开数据网站,为安全领域所熟知。本文介绍CVE和CWE,并分析二者的区别和发展由来。

君子藏器于身,待时而动 5694

一张图拆解:CVE漏洞的旅程

近期,CVE漏洞数据库被曝停止资助,​有人制作了一张图来阐述CVE披露系统的运作机制以及MITRE的重要性。本文将用文字拆解这张图,和大家一起看看CVE的生命周期。 ​

kiwi_tech_lab的博客 1680

CVE漏洞知识库介绍

    CVE的英文全称是Common Vulnerabilities and Exposures公共漏洞和风险。CVE就好象是一个字典,为大家广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。由于漏洞的本质特性,导致每个漏洞都有许多特征,在MITRE还没有创建CVE之前,不同的厂商在对同一个漏洞进行称谓时,各厂商各抓住漏洞的某一特征,使用完全不同的名称,这样让使用其产品的用户不知所

binzhu1987的专栏 8888

申请CVE的姿势总结

什么是CVE? CVE的全称叫做“Common Vulnerabilities & Exposures”中文含义是公共漏洞和暴露。它作为披露漏洞的平台,受到国内外关注。CVE会提供编号作为漏洞对应的字符串式特征,有很多企业倾向于用多少高质量的CVE来证明实力,一些工具和产品也会使用CVE作为漏洞的官方标识。一些企业关注漏洞使用CVE作为修补漏洞的索引依据。 如何去提交CVE? 目前经过总结提炼出来多种申请CVE的方法,每种方法都有利弊,请自行选择。大体上分为两种,公开披露和...

weixin_50464560的博客 2268

什么是CVE

CVE(Common Vulnerabilities and Exposures)的全称是公共漏洞和暴露,是公开披露的网络安全漏洞列表。IT人员、安全研究人员查阅CVE获取漏洞的详细信息,进而根据漏洞评分确定漏洞解决的优先级。 在CVE中,每个漏洞按CVE-1999-0067、CVE-2014-10001、CVE-2014-100001这样的形式编号。CVE编号是识别漏洞的唯一标识符。CVE编号由CVE编号机构(CVE Numbering Authority,CNA)分配,CVE编号机构主要由IT供应商、

RZer的博客 990
上一篇: 双击盘符不能打开的处理方法
wx红杉树
博客等级 码龄21年 383粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值