【文献翻译】构建网络安全知识库的框架-A Framework to Construct Knowledge Base for Cyber Security

2023-11-05

摘要——现在有一些针对不同方面的独立网络安全知识库。在互联网上,也有很多网络安全相关的内容以文字的形式存在。融合这些网络安全相关信息可以是一项有意义的工作。在本文中,我们提出了一个框架来整合现有的网络安全知识库并从文本中提取网络安全相关信息。在该框架中,我们构建了一个以漏洞为中心的本体,并训练了一个斯坦福命名的实体识别器,以从文本中提取网络安全相关实体。最后,通过实验,我们验证了一个名为 useGazette 的特征对于在网络安全领域训练命名实体识别器的重要性。

关键词——网络安全;知识库;本体;命名实体识别器

一、引言

目前,一些关于网络安全的知识库是针对网络安全领域的某个方面建立起来的。例如,CVE 是一个漏洞数据库,其中所有漏洞都被赋予了统一的 ID,ID 由 MITER 定义为统一的格式。 Snort 建立了丰富的规则库,用于检测入侵行为。一些知名的反病毒厂商也建立了庞大的病毒特征库。此外,网络已成为知识和信息的主要来源,互联网上有许多与网络安全相关的内容。如安全博客、黑客论坛、安全公告等,都是网络安全信息的集中区域。充分利用来自各种知识库和网络的网络安全相关信息,然后将所有这些安全相关知识放在一起,将有助于入侵检测、态势感知。

根据数据源的类型,主要工作分为两个部分。一个部分是整合现有的知识库,这些主要是结构化数据。我们可以使用一些自动化工具来完成这项工作。另一部分是从非结构化文本中提取网络安全相关实体。 Web是我们获取网络安全新知识的重要来源,也是构建网络安全基础的动态更新和增量迭代的基础。互联网上公开有大量网络安全相关信息(包括漏洞描述、安全公告、博客等)。然而,这些都是非结构化数据,只有网络安全领域的专家才能理解。对于自动化系统,这些非结构化数据是不可用的。如何提取网络安全相关实体是我们需要研究的。

在本文中,我们提出了一个构建网络安全知识库的框架。在该框架中,我们构建了一个以漏洞为中心的网络安全本体。在信息提取方面,我们采用基于规则和机器学习相结合的方法。

二、相关作品

A.本体构建

巴尔的摩县马里兰大学的 Undercoffer 等人完成了一项重要的工作。他们开发了一种本体来对攻击和相关实体进行建模 [1]。 Ontology 为以后的研究奠定了基础。但他们提出的本体只是针对攻击的。为了表示与网络安全领域相关的概念和实体,A Joshi [2] 提出了一种网络安全本体,该本体源自 Undercoffer 提出的本体。他们扩展了本体以提供捕获 NVD 模式结构和安全漏洞利用概念的模型关系。该本体包含 11 种实体类型(漏洞、产品、手段、后果等)。此外,More S [3] 扩展了 Undercoffer 提出的本体,并在推理逻辑中添加了规则。本体包括 3 个基本类别:手段、后果和目标

还有一家名为 MITRE 的公司一直在研究为网络安全领域开发本体的方法[4][5]。 MITRE 为网络安全领域的特定主题领域创建并维护了多个标准和数据集。丰富的数据库成为他们最大的优势。基于 Undercoffer 和 MITRE 之前的努力,M Iannacone [6] 提出了一种用于网络安全知识图谱的本体。此处描述的本体代表了迭代设计过程的结果,旨在创建一种知识表示,该知识表示可以有效地组合网络安全领域内尽可能多的数据源。在生成的本体中,共有 15 个实体类型和 115 个属性。

B. 信息抽取

信息抽取技术已经引起了越来越多的学者的关注。国内外已有大量研究成果。目前,知识抽取主要有两种方法。首先是基于知识工程。此方法严重依赖提取规则。但它可以使系统处理特定领域的信息提取问题。早期的信息抽取系统通常是基于抽取规则的。缺点是需要领域相关的专业人士和语言学家共同参与系统的开发。由于提取准确率高,现阶段还有很多基于知识工程的提取系统。 

Undercoffer 等人的工作 [7] 描述了一个系统,其中定义了一个本体来提取攻击信息。这项工作是基于对 4000 多个入侵和攻击系统的策略的修订。这项工作介绍了手段和后果类。他们通过使用语义网络的最佳实践来采用基于规则的方法。Shabana等人 [8] 描述了一种从漏洞的文本描述中提取信息的系统。在系统中,他们使用基本的 TFIDF 分数从 CVE 中提取信息。Lowis L 等人 [9] 提出了另一种分类 SOA 漏洞的方法。他们在 CVE 上使用简单的字符串匹配来对不同类别的数据集进行分类,并且没有使用任何机器学习技术对 CVE 进行分类。这项工作主要对面向服务的架构漏洞感兴趣。基于规则的方法具有准确率高的优点,但是对于找不到明显规则的词条,我们需要采用其他方法来提取它们。

第二种方法基于机器学习。基本步骤是通过大量的训练数据训练信息提取模型,然后我们可以使用提取模型提取相关信息。这种方法不需要专业人员预先定义规则,但需要足够的训练数据才能达到更好的效果。

Lal R [10] 提出了一个系统,可以从非结构化文本中识别相关实体,主要讨论网络攻击和软件漏洞。他们训练了一个命名实体识别器来识别有关网络安全的实体。 Mulwad V [11] 开发了一个框架,用于从 Web 文本中检测和提取有关漏洞和攻击的信息。他们训练了一个 SVM 分类器来识别潜在的漏洞描述。分类器使用标准的 unigram bag of words 向量模型。一旦确定了潜在的漏洞描述,他们就会使用 OpenCalais 等标准命名实体识别工具提取与安全相关的实体和概念。以上2项研究采用机器学习的方法从非结构化文本中自动提取安全相关信息。在有足够的训练数据之前,这种方法无法准确识别与安全相关的实体。对于特定领域的信息提取,我们采用基于规则和机器学习相结合的方法。

C. 网络安全知识库

  • 漏洞数据库:现有比较丰富的漏洞库有中国国家信息安全漏洞数据库[12]和美国国家漏洞数据库[13]。这些数据库收集了各种漏洞。漏洞信息包括漏洞名称、漏洞描述、漏洞优先级、破坏方式等,以及对应的特征等信息。目前,中美两国建立的漏洞数据库都遵循共同的命名标准,这使得来自完全不同数据库的任何漏洞都可以在同一个标​​准中使用。该标准极大地促进了漏洞信息的共享。
  • 攻击规则库:收集现有攻击的信息。这些信息包括攻击名称、攻击类型、协议、攻击特征、攻击描述、严重性和其他属性。 Snort 攻击规则库是一个比较完善的攻击规则库。每个规则都存储为文件中的一行。
  • 进程知识库:在计算机上,有一些进程在后台运行,有的占用系统资源过多,有的使系统运行缓慢,也有一些进程可能是间谍软件或木马。红黑联盟和中国大百科总结了很多流程的相关知识,建立了流程知识库。

三、框架设计

如图 1 所示,我们提出了一个用于构建网络安全知识库的框架。框架主要涉及本体的构建和网络安全相关信息的提取。 

在图1中,框架主要包括数据源、信息抽取和本体三部分。数据源分为结构化数据和非结构化数据。对于信息提取,我们开发了一种结合基于规则和机器学习的方法来提取网络安全相关实体。显示在框架底部的本体将为信息提取奠定基础。因此,构建合适的本体非常重要。

至于知识的存储,我们选择以图的形式存储。知识图谱是谷歌在2012年提出的概念[14]。它是以图的形式存储实体、实体之间的关系的语义网络。知识图谱的优势是显而易见的。关联查询的效率高于传统的存储方式。这是一种灵活的存储形式,很容易更新。我们构建的是一个网络安全领域的垂直知识图谱。垂直知识的构建需要考虑知识的深度和整体的层次结构。因此,我们采用自上而下的方法,首先构建了网络安全本体。在本体的基础上,我们从结构化和非结构化数据中提取网络安全信息。接下来,我们将介绍本体构建和网络安全信息提取两个主要部分。

A、网络安全本体的构建

为了从结构化和非结构化数据中提取网络安全相关信息。我们分析了网络安全相关的短文本,包括漏洞描述和安全公告。同时,我们参考了网络安全领域已经存在的本体。我们构建了一个以漏洞为中心的本体。本体中有十一种实体类型。下图是我们构建的网络安全本体。

 如图 2 所示,有七种实体类型。全部描述如下:

  • 漏洞:在本体中相当重要。其他实体类型以脆弱性为核心进行扩展。漏洞数据库中的每条记录对应一个漏洞类型的实例。每个漏洞都有自己唯一的 cve ID。中国国家信息安全漏洞数据库中也有一个cnnvd编号。
  • 软件:在这个本体中,软件是一个基类。它包括操作系统和浏览器,它们都是软件的子类。
  • OS:软件子类(如Ubuntu14.04)
  • Browser:软件子类(如Firefox、Chrome等)
  • Consequence:攻击结果(如信息泄露、拒绝服务)
  • Mean:方法漏洞利用(如内存溢出)
  • 攻击:对于大多数攻击,攻击可以看作是针对某个漏洞的入侵。攻击过程可以是漏洞利用的过程。
  • 恶意软件:是在计算机系统上执行恶意任务的程序,如蠕虫和木马,它们通过破坏软件进程来控制系统
  • 警报:是IDS 产生的有关安全事件的信息。

B. 提取网络安全相关实体 

在框架中,数据源主要有结构化数据和非结构化数据两类。对于结构化数据,我们可以使用 D2R 映射工具将关系数据库中的数据转换为 RDF 数据。出现一个问题,Snort 攻击规则在文件中存储为一行。我们用java开发了一个小程序来提取攻击规则中每个字段的信息。有一个字段以 cve number 作为其值。我们通过 cve 编号将攻击规则与漏洞相关联。此外,为了将流程知识整合到知识库中,我们提取了isTrojan、isAdware等关键属性来确定流程的类型。如果 isTrojan 和 isAdware 的值为 true,则视为 Malware 实例。有了这些知识,我们就可以根据系统上是否存在恶意软件来评估风险程度。

接下来,我们将重点介绍如何从非结构化文本中提取信息。在本文中,我们采用基于规则和机器学习的方法来提取网络安全相关实体。我们将参考网络安全本体来提取实体。

1)基于规则的方法

对于ConsequenceMean等实体类型,我们可以使用基于规则的方法来提取对应的实体。首先,我们定义了一组触发词。触发词是指起识别和标记作用的词。它可以激活提取任务。因此,触发词的出现意味着附近更有可能存在实体。根据触发方向,触发字可分为正向触发、反向触发、双向触发三种。因此,建立触发词表是基于规则的方法提取实体的关键。我们可以依靠触发词列表来完成提取任务。

我们为ConsequenceMean建立了触发词列表。结果的触发词可以直接导致攻击将导致的结果的出现。 Mean 的触发与上述情况类似。例如,有两个漏洞,编号分别为“CVE-2016-9802”和“CVE-2016-9793”。它们的描述如下图所示。

如图 3 所示,在第一个描述中,漏洞利用正在处理损坏的转储文件,而后果是崩溃。在第二个描述中,漏洞利用是利用 CAP_NET_ADMIN 能力,而后果是拒绝服务。

 在“by”、“via”等之后有更多可能的Mean实例。在“cause”、“result in”之后,总是有Consequence的实例。在分析了许多简短的描述之后,我们总结了ConsequenceMean的触发词列表。触发词表如表一所示:

基于触发词列表,我们建立了可以终止提取过程的触发规则。表二给出了ConsequenceMean的触发规则。

2)基于机器学习的方法

条件随机场Conditional Random Fields是一种基于统计序列识别和分割的无向图模型。该模型的主要思想来自最大熵模型。最简单的形式是线性CRF,即模型中的节点形成线性结构。线性 CRF 对应于有限状态机,非常适合标记线性数据序列。

 命名实体识别问题可以定义为序列的注释,即观察到的单词是否属于预定义的一组特征。条件随机场是标注序列的概率模型。它没有独立的假设,可以任意选择特征,对所有特征进行全局归一化,得到全局最优解。它保留了条件概率框架的优点,例如最大熵马尔可夫模型。它还解决了标记偏差的问题。因此,条件随机场模型适用于命名实体识别。简单链 CRF 是目前命名实体识别的最佳方法 [15]。它对概率分布p(y|x) 建模,其中 x 是观察序列,y是标签序列。p(y|x)由下式(1)计算。

 

 N 是标记数,M 是特征数。通常,f_{t}是二元的,如公式(2)所示。

 斯坦福 NER(命名实体识别)[16] 提供了线性链条件随机场(CRF)序列模型的一般实现。因此,它也被称为 CRFClassifier。在本文中,我们依靠斯坦福命名实体识别器来提取网络安全相关实体。斯坦福 NER 中有许多功能选项。我们使用斯坦福 NER 基础实现来训练提取模型,因为我们的目标也是训练命名实体识别器,但在网络安全领域。

选择特征对于构建模型很重要。我们应该选择能够更好地识别网络安全相关实体的特征。良好的特征组合是训练好的提取模型的关键。斯坦福 NER 提供了 70 多个可用于训练模型的特征 [17]。确定合适的特性并不是一件容易的事,因为关于这些特性的文档并不多。现有的特征选择算法对我们的工作没有帮助。我们必须分析特征并选择我们认为对训练模型有用的。然后我们通过实验验证我们的想法。经过多次实验,我们确定了一个用于训练命名识别器的特征集。并取得了较好的识别效果。我们确定用于训练命名识别器的特征集中的特征如下:

  • UseNGrams:从字母 n-gram (即单词的子串)中生成特征。
  • MaxNgramLeng:该特征的值类型是int。如果此特征的值为正,则模型中不会使用高于此值的 n-gram。在本文中,我们将 maxNGramLeng 的值设置为 6。
  • UsePrev:这可以为我们提供 <previous word, class of previous word> 的特征,并与其他选项一起启用其他先前的特征,例如 <previous tag, class>。这会产生基于当前单词和一对 <previous word, class of previous word> 之间关系的特征。当存在属于同一类的连续单词时,此功能将非常有用。
  • UseNext:类似于 UsePrev 的功能。
  • UseWordPairs:它基于两对:<Previous word, current word, class> 和<current word, next word, class>。
  • UseTaggySequences:这是一个重要的特征,它使用类的序列而不是单词。它使用一、二、三阶类和标签序列交互特征。
  • UseGazettes:如果为真,则使用将由其他标志定义的公报功能。
  • Gazette:值可以是一个或多个文件名(名称以逗号、分号或空格分隔)。如果提供的公报是从这些文件中加载的。每行应该是一个实体类名,后跟空格,后跟一个实体(可能是多个标记的短语,单词之间有一个空格)。
  • CleanGazette:如果为 true,则仅当 Gazette 中的整个单词匹配时才会触发此功能。如果公报中有一个单词“Windows 7”,那么整个单词应该在文档中匹配。
  • SloppyGazette:如果为真,则当任何公报条目的标记匹配时,就会触发公报功能。在这种情况下,“Windows”可以与“windows 7”匹配。

在本文中,我们将 Gazette 的特性用于软件和操作系统类。斯坦福 NER 提供了两个选项来实现 Gazette 功能。通过一些实验,证明 Gazette 的特性和 cleanGazette 的选项被证明是一个非常好的选择,因为它提高了 OS 和 Software 类的识别精度。

为了使用这个特性,我们总结了漏洞数据库中的influence_platform字段的信息,并构建了实体字典。字典中的第一列是实体类型,第二列对应于具体的实体。

四。实验与分析

A. 数据源

我们在实验中使用的数据来自马里兰大学标记的数据集[18]。目前,关于Person、Location和Organization的命名实体识别的相关研究较多。网络安全等特定领域的命名实体识别研究还很少,导致网络安全领域的标注数据集相对较少。马里兰大学计算机科学系的研究生借助基于网络的注释工具 brat 对网络安全相关的文本进行注释。他们注释的文字主要包括以下四个来源:

  •  Adob​​e 安全公告
  • 安全博客 
  • 常见漏洞枚举 (CVE)
  • Microsoft 安全公告

如表 III 所示,它提供了每个数据集的相关信息。

B. 评价标准

在信息检索和提取系统中,有两个主要的评价指标,包括精度和召回率。有时,为了综合评价系统的性能,通常会计算准确率和召回率的调和平均值。也就是我们通常所说的FMeasure。在本文中,我们使用了 F1,它是 FMeasure 的特殊形式。 Precision、Recall 和 F1 由真阳性、假阳性和假阴性定义。定义如下:

  •   真阳性(TP):它是那些被正确标记为属于特定类的类成员的集合。
  • 误报(FP):它是那些被错误标记为属于特定类的类成员的集合。
  • 假阴性(FN):它是那些未被系统标记为任何类别但实际上属于某个类别的项目的集合。

 

C. 实验结果

 我们将来自四个数据源的注释数据合并到一个数据集中。为了验证 useGazettes 的影响,我们构建了三个模型(NER1、NER2、NER3)。 NER1 没有选择 useGazettes 作为其功能,NER2 使用了 useGazettes 并选择了 cleanGazette 选项。 NER3 也使用了 useGazettes,但它的选项是 sloppyGazette。然后我们采用十倍交叉验证的方法来评估这些模型。我们将数据分成十个数据块。十分之九的块用作训练数据。其余数据块用作测试数据。下表显示了三个模型的 Precision、Recall 和 F1 测量的平均值。

一开始,我们选择没有 UseGazettes 的特征来训练第一个 NER 模型。 NER1的平均识别结果如表IV所示。我们可以看到Consequence的精度是比较高的。在 F1 度量上,Software 和 Consequence 的识别率接近。它们的识别率高于其他实体类型。也就是说,Software 和Consequence 的识别在整体识别效果上取得了不错的表现。

然后我们使用了包括 useGazettes 在内的功能,并选择了 cleanGazette 选项来训练名为 NER2 的第二个 NER 模型。第三个模型名为 NER3 是基于包括 useGazettes 在内的特征进行训练的,其中有 sloppyGazette 作为其选项。平均识别结果见表五。

如表五所示,在NER2的识别结果中,Software的识别取得了良好的整体表现。至于NER3,它是对获得高F1值的OS的认可。在软件和操作系统的识别方面,NER3的整体表现优于NER2。结果意味着 sloppyGazette 选项有助于识别网络安全相关实体。 NER2 和 NER3 中后果和均值的 F1 度量仍然很低。两者都低于 70%。接下来,为了对三种模型进行直观的比较,我们呈现下图。

如图 4 所示,对于 Software 和 OS 的识别准确率,包括召回率和 F1 度量,NER2 和 NER3 均高于 NER1。结果验证了 UseGazettes 在网络安全领域训练命名实体识别器的重要性。至于 Consequence 和 Mean,实体字典很难构建。没有公报,识别准确率不会太高。我们可以采用基于规则的方法来提取它们。

 五、结论和今后的工作

 我们提出了构建网络安全知识库的框架。在该框架中,我们在现有本体的基础上构建了以漏洞为中心的网络安全本体。此外,为了提取网络安全相关信息,我们采用了基于规则和机器学习相结合的方法。网络安全领域的注释数据集相对较小。对于小规模数据集,只能使用传统的机器学习方法。因此,斯坦福 NER 被用来训练一个提取器来提取网络安全相关实体。但识别准确率需要进一步提高。

今后我们要做的工作就是不断丰富网络安全知识库。然后我们将研究基于知识库的入侵检测和态势感知。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【文献翻译】构建网络安全知识库的框架-A Framework to Construct Knowledge Base for Cyber Security 的相关文章

  • 线程安全(中)--彻底搞懂synchronized(从偏向锁到重量级锁)

    接触过线程安全的同学想必都使用过synchronized这个关键字 在java同步代码快中 synchronized的使用方式无非有两个 通过对一个对象进行加锁来实现同步 如下面代码 synchronized lockObject 代码 对
  • 前端必备的 web 安全知识手记

    前言 安全这种东西就是不发生则已 一发生则惊人 作为前端 平时对这方面的知识没啥研究 最近了解了下 特此沉淀 文章内容包括以下几个典型的 web 安全知识点 XSS CSRF 点击劫持 SQL 注入和上传问题等 下文以小王代指攻击者 话不多
  • J2EE常见面试题(一)

    StringBuilder和StringBuffer的区别 String 字符串常量 不可变 使用字符串拼接时是不同的2个空间 StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBuilder
  • 使用 Neo4j 和 LangChain 集成非结构化知识图增强 QA

    目前基于大模型的信息检索有两种方法 一种是基于微调的方法 一种是基于 RAG 的方法 信息检索和知识提取是一个不断发展的领域 随着大型语言模型 LLM 和知识图的出现 这一领域发生了显着的变化 特别是在多跳问答的背景下 接下来我们继续深入
  • 200道网络安全常见面试题合集(附答案解析+配套资料)

    有不少小伙伴面临跳槽或者找工作 本文总结了常见的安全岗位面试题 方便各位复习 祝各位事业顺利 财运亨通 在网络安全的道路上越走越远 所有的资料都整理成了PDF 面试题和答案将会持续更新 因为无论如何也不可能覆盖所有的面试题 php爆绝对路径
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 如何使用Imagewheel搭建一个简单的的私人图床无公网ip也能访问

    文章目录 1 前言 2 Imagewheel网站搭建 2 1 Imagewheel下载和安装 2 2 Imagewheel网页测试 2 3 cpolar的安装和注册 3 本地网页发布 3 1 Cpolar临时数据隧道
  • 小白入门黑客之渗透测试(超详细)基本流程(内附工具)

    经常会收到小伙伴们这样的私信 为什么我总是挖不到漏洞呢 渗透到底是什么样的流程呢 所以全网最详细的渗透测试流程来了 渗透测试其实就是通过一些手段来找到网站 APP 网络服务 软件 服务器等网络设备和应用的漏洞 告诉管理员有哪些漏洞 怎么填补
  • HPE Aruba Networking:五大网络现代化策略助力实现校园数字化转型

    作者 Aruba中国区技术销售总监 俞世丹 全球数字化进程日益加深 科技已成为加速教育行业发展的重要驱动力 人工智能 大数据 云计算 物联网 虚拟现实等新兴技术的快速发展 正在深刻改变着教育的形态和模式 为了更好地满足学校师生个性化教育教学
  • 渗透测试常用工具汇总_渗透测试实战

    1 Wireshark Wireshark 前称Ethereal 是一个网络分包分析软件 是世界上使用最多的网络协议分析器 Wireshark 兼容所有主要的操作系统 如 Windows Linux macOS 和 Solaris kali
  • 网络安全基础知识面试题库

    1 基于路由器的攻击手段 1 1 源IP地址欺骗式攻击 入侵者从外部传输一个伪装成来自内部主机的数据包 数据包的IP是 内网的合法IP 对策 丢弃所有来自路由器外端口 却使用内部源地址的数据包 1 2 源路由攻击 入侵者让数据包循着一个不可
  • 网络安全:绕过 MSF 的一次渗透测试

    这次渗透的主站是 一个 Discuz 3 4 的搭建 违法招 piao 网站 配置有宝塔 WAF 用 Discuz ML 3 X 的漏洞进行攻击 但是没有成功 发现主站外链会有一个发卡网 引导人们来这充值 是 某某发卡网 而且域名指向也是主
  • 全网最全(黑客)网络安全自学路线!熬夜两周整理(巨详细)

    学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想成为计算机
  • 静态综合实验

    1 IP地址划分 192 168 1 0 27 用于主干拆分 192 168 1 32 27 用于用户拆分 192 168 1 64 27 用于用户拆分 192 168 1 96 27 用于用户拆分 192 168 1 128 27 用于用
  • 【无标题】

    大家都知道该赛项的规程和样题向来都是模棱两可 从来不说具体的内容 导致选手在备赛时没有头绪 不知道该怎么训练 到了赛时发现题目和备赛的时候完全不一样 那么本文将以往年信息安全管理与评估赛项经验来解读今年2023年国赛的规程 帮助选手们指明方
  • 【安全】原型链污染 - Hackit2018

    目录 准备工作 解题 代码审计 Payload 准备工作 将这道题所需依赖模块都安装好后 运行一下 然后可以试着访问一下 报错是因为里面没内容而已 不影响 准备工作就做好了 解题 代码审计 const express require exp
  • Making Large Language Models Perform Better in Knowledge Graph Completion论文阅读

    文章目录 摘要 1 问题的提出 引出当前研究的不足与问题 KGC方法 LLM幻觉现象 解决方案 2 数据集和模型构建
  • 【方法】如何把Excel“只读方式”变成可直接编辑?

    Excel在 只读方式 下 编辑后是无法直接保存原文件的 那如何可以直接编辑原文件呢 下面来一起看看看吧 如果Excel设置的是无密码的 只读方式 那在打开Excel后 会出现对话框 提示 是否以只读方式打开 如果想直接编辑文件 选择 否
  • 【安全】使用docker安装Nessus

    目录 一 准备docker环境服务器 略 二 安装 2 1 搜索镜像 2 2 拉取镜像 2 3 启动镜像 三 离线更新插件 3 1 获取challenge 3 2 官方注册获取激活码 3 3 使用challenge码和激活码获取插件下载地址
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培

随机推荐

  • docker从安装到入门(centos7连不上网)

    我们安装好centos7之后 只用网络链接的NAT模式 主机有网你就有网 傻瓜式链接 但是发现ping不通百度 通过ifconfig a发现ens33没有ip 虽然和这个没关系 因为用的是NAT模式 我们编辑vi etc sysconfig
  • OpenGL error 0x0502

    项目出现OpenGL error 0x0502 导致有些UI绘制不出来 大致情况是这样 游戏切换到后台之后 其他玩家发来语音 在语音还在播放的时候 切换回前台 这个时候语音服务器 用的融云 会推送到安卓底层 安卓底层有回调到cocos2dx
  • Linux系统之neofetch工具的基本使用

    Linux系统之neofetch工具的基本使用 一 neofetch工具介绍 1 1 neofetch简介 1 2 neofetch特点 二 检查本地环境 2 1 检查操作系统版本 2 2 检查内核版本 三 安装neofetch工具 3 1
  • VMware Workstation Pro 安装教程

    文章目录 笔者的运行环境 VMware Workstation 16 Pro Red Hat Enterprise Linux 8 3 0 需要提前一个操作系统的镜像文件 ISO 这个文件与 VMware 无关 实际上 在安装完 VMwar
  • 生成字典的三种方式

    字典是记录一些特殊或有目的性的密码集合 通常以txt格式进行记录保存 在渗透许多服务器 smb ftp ssh 远程桌面rdp 网页后台等一些用户登录时 没有正确密码 使用密码字典爆破就是最直接的黑客攻击方法 一 使用cupp工具生成 1
  • 对输入数据排序后进行二分查找(C语言)

    输入数据后的排序方法有很多种 这里我用的是暴力排序 各位友友们可以尝试更改排序方法 include
  • Python selenium 滚动页面以及滚动至元素可见之详细讲解

    我们滚动浏览器页面向上 下 左右可以用一下代码 向上和向左需要加 向下滚动xx个像素 driver execute script window scrollBy 0 xx 向上滚动x个像素 driver execute script win
  • JM解码(一):参考帧列表和DPB处理

    以P帧为例 void alloc ref pic list reordering buffer Slice currSlice int size currSlice gt num ref idx active LIST 0 1 if cur
  • 谷粒商城-分布式高级篇[商城业务-订单服务]

    谷粒商城 分布式基础篇 环境准备 谷粒商城 分布式基础 业务编写 谷粒商城 分布式高级篇 业务编写 持续更新 谷粒商城 分布式高级篇 ElasticSearch 谷粒商城 分布式高级篇 分布式锁与缓存 项目托管于gitee 一 页面环境搭建
  • ubuntu freeradius 3.0 + mariadb

    安装数据库及Radius sudo apt update sudo apt install y freeradius freeradius mysql freeradius utils mariadb server mariadb clie
  • Unity Rotate鼠标控制人物旋转

    添加碰撞盒 一定要添加碰撞盒才能响应鼠标事件 将碰撞盒复制给骨架 如果鼠标划动的向量 X轴大于Y轴 则是左右划动 让它旋转 SpinWithMouse using System Collections using System Collec
  • 窗体,组件,事件

    窗体对象JFrame package frame import javax swing public class JFrameTest public static void main String args 创建窗体对象 JFrame jF
  • 使用javacv中的ffmpeg实现录屏,结果连运行都失败了,现在终于解决了

    前言 今天突发奇想 想自己写一个录屏的软件 上次写了一个专门录音的Demo 但是要把声音和视频放到一起合成一个mp4文件 着实有一点艰难 所以就打算使用ffmpeg来写一个 而这篇博客中会顺便谈一谈我碰到的各种坑 ffmpeg是一个c 程序
  • 中兴EPON OLT-C300开局配置

    一 基础配置 1 自定义时间 clock set hh mm ss Apr 8 2018 con t username zte password zte privilege 15 用户名密码 2 自定义名称 hostname CeShi O
  • js如何进行数组去重?

    1 数组反转 使用 reverse 实现数组反转 const arr 1 2 3 console log arr 1 2 3 arr reverse console log arr 3 2 1 2 数组去重 1 new Set array
  • python学习语法中与c语言不同之处(1)

    一 发现使用打印使用的是print 而在C语言中我们更多的使用的是printf 比如想要打印出来hello world 直接如下 C语言 printf a d a python语言 print hello world 然后就是直接回车键就可
  • angular表单验证

    表单验证 通常 我们都需要对用户的表单输入做验证 以保证数据的整体质量 Angular也有两种验证表单的形式 使用属性验证 用于模板驱动表单 使用验证器函数进行验证 用于响应式表单 验证器 Validator 函数 验证器函数可以是同步函数
  • 13功能之C++类默认生成的六个成员函数的自定义

    13功能之C 类默认生成的六个成员函数的自定义 1 代码理解即可 pragma warning disable 4996 include
  • UGUI之rectTransform属性

    RectTransform 本文转载自uGUI知识点剖析之RectTransform 一 基本要点 RectTransform继承于Transform 在 Transform 基础上 RectTransform 增加了 轴心 pivot 锚
  • 【文献翻译】构建网络安全知识库的框架-A Framework to Construct Knowledge Base for Cyber Security

    摘要 现在有一些针对不同方面的独立网络安全知识库 在互联网上 也有很多网络安全相关的内容以文字的形式存在 融合这些网络安全相关信息可以是一项有意义的工作 在本文中 我们提出了一个框架来整合现有的网络安全知识库并从文本中提取网络安全相关信息