全面分析:虚子雨:SEO诊断报告之网站定位分析

优采云 发布时间: 2022-11-21 03:20

  全面分析:虚子雨:SEO诊断报告之网站定位分析

  《虚子语:SEO诊断报告网站定位分析》一文已存档,站长之家将不再展示相关内容。以下为站长之家自动写作机器人算法提取的文章重点内容。这个人工智能还很年轻,请联系我们帮助它成长:

  对于SEO诊断,大家都很清楚,我们每天都在做,但是没有一个系统的概念。常见的有网站定位分析、网站关键词分析、页面布局分析、网站代码分析、网站URL结构分析、链接结构分析、网站内容分析、搜索引擎索引和快照数据分析、外部链接分析、关键词 排名和流量分析等,这些分析基本上可以为我们的网站做出非常好的诊断...

  

" />

   ……

  本文由站长之家用户“”投稿。本平台仅提供信息索引服务。由于内容发布时间超过平台更新维护时间,为保证文章信息的及时性和内容浏览的准确性,平台将不提供完整的内容展示,本页面内容仅用于平台搜索索引。需要阅读完整内容的用户,请联系作者获取原文。

  即将跳转到外部网站

  

" />

  未知安全,是否继续

  继续

  解决方案:【开源情报】利用Twitter数据自动收集并分析网络安全威胁情报

  本文机器翻译由百分比智能翻译提供

  官网地址:

  公司官网:

  【概括】

  为了抵御日益频繁、多样化和复杂的网络攻击,及时分析网络安全威胁信息至关重要。开源情报 (OSINT) 是一种从公开来源采集

信息然后对其进行分析以获得可操作情报的方法。

  本文介绍了 Twitter OSINT 原型系统的设计和实现,用于自动采集

和分析发布在 Twitter 上的网络安全相关信息(例如威胁和漏洞)。

  原型系统用 Java 实现,并使用 TwitterStreaming API 根据用户提供的一组关键字下载相关推文。然后,选定的推文由自然语言处理 (NLP) 模块处理和分析,该模块使用斯坦福 CoreNLP 库和用于基本 NLP 功能的语言模型,以及由橡树岭国家实验室开发和提供的 Stucco Web 域特定实体提取库。然后将处理后的推文与 NLP 模块为这些推文生成的所有注释一起存储在 JavaScriptObjectNotation (JSON) 格式的文件中。接下来,TwitterOSINT 系统使用 ElasticStack(Elasticsearch、Logstash 和 Kibana)来采集

、索引、存储、分析、管理和可视化带注释的推文,并使用 ElasticStack 提供的内置数据分析和机器学习功能来帮助获得情报。进行了初步实验,以获得对系统操作的经验和见解。

  关键词:数字智能、开源智能、Twitter、自然语言处理、Elastic Stack

  1 简介

  网络*敏*感*词*的影响迫使世界各地的政府和私营部门组织应对网络威胁。关于如何最好地减少网络*敏*感*词*和有效实施最佳实践,所有部门现在都面临着类似的困境。利用公共信息获取可用的高价值情报正迅速成为网络防御的重要手段。随着从开放源获得的信息量迅速增加,打击网络*敏*感*词*的斗争越来越依赖于先进的软件工具和技术,以有效和高效的方式采集

、处理、分析和利用信息。

  开源情报 (OSINT) 是指从新闻文章、博客和社交媒体等公开来源获得的情报。使用自动化的开源情报采集

和分析工具和方法,政府和私营部门可以更好地做好准备,在网络攻击发生之前避免攻击,或者更有效地缓解和响应事件。

  例如,Twitter 已成为采集

网络安全信息的明显且非常重要的来源,因为该领域的许多专业人士使用此社交媒体分享有关正在发生的威胁和攻击的信息,并观察网络安全领域的趋势。Twitter 使感兴趣的人可以轻松接收网络事件的即时通知。

  然而,由于要分析的信息量和威胁生成的速度,手动采集

和分析网络安全 OSINT 的方法是不够的。与基于已知攻击设计的传统网络安全产品不同,下一代安全情报系统必须提供实时警报并允许即时采集

威胁情报。

  为了帮助自动化网络安全开源情报采集

和分析过程,我们设计并实现了一个名为 TwitterOSINT 的原型系统,用于采集

和分析发布在 Twitter 上的网络安全相关信息(例如威胁、漏洞和攻击)。

  原型系统用 Java 实现,并使用 TwitterStreaming API 根据用户提供的一组关键字下载相关推文。为了处理和分析非结构化文本的推文,TwitterOSINT 系统使用 StanfordCoreNLP 库和语言模型实现自然语言处理 (NLP) 管道,以获得基本的 NLP 功能,以及由橡树岭国家实验室 (ORNL) A 开发和提供的 Stucco 网络域特定的实体提取库,用于从非结构化文本中提取网络域实体。这两个库都使用先进的机器学习和统计技术来提供高性能的文本分析功能。

  然后将处理后的推文存储在 JavaScriptObjectNotation (JSON) 中,这是一种轻量级且人类可读的数据交换格式,与自然语言处理 (NLP) 管道为这些推文生成的任何注释(例如日期、用户名、文本和域实体)。接下来,TwitterOSINT 系统使用 ElasticStack(Elasticsearch、Logstash 和 Kibana)来采集

、索引、存储、分析、管理和可视化带注释的推文,并使用 ElasticStack 提供的内置数据分析和机器学习功能来帮助获得情报。进行了初步实验以获得操作经验和对系统的了解。

  本文档的其余部分组织如下。第二部分提供了有关 TwitterOSINT 原型系统中使用的关键技术的背景信息。第三部分介绍了系统的设计和实现。第四节讨论如何运行和使用 TwitterOSINT 系统以及我们的初步实验。第五节以对未来工作的简要总结和讨论作为结尾。

  2. 背景

  在本节中,我们提供有关 Twitter Streams API、自然语言处理和 Elastic Stack 的背景信息。

  A. 推特流媒体 API

  TwitterOSINT 系统利用 Twitter Stream API,如图 1 所示,它提供对 Twitter 全球 Twitter 流的低延迟访问,并下载被认为与网络安全相关的 Twitter 流。

  流式客户端根据用户指定的关键字推送消息,指示推文和其他事件的发生。连接到流式 API 需要保持持久 HTTP 连接打开。维护流式连接的代码通常在与处理 HTTP 请求的进程不同的进程中运行。在将结果传递到数据存储之前,流处理获取输入推文并执行所需的任何解析、过滤和/或聚合。HTTP 进程查询数据存储以获取响应用户请求的结果。

  B. 自然语言处理

  根据行业估计,只有 21% 的可用数据以结构化形式存在,以便从非结构化文本数据中生成重要且可操作的见解。开发自然语言处理技术和工具,以智能高效的方式分析、理解和捕获文本数据。

  自然语言处理 (NLP) 领域的目标是将人类语言转换为计算机可以轻松处理的形式。自然语言处理 (NLP) 已用于在包括机器翻译在内的各种应用程序中执行繁琐的自动化任务。自动摘要、命名实体识别、情感分析等。

  虽然机器对语义的全面理解仍然是一个遥远的目标,但研究人员采用了分而治之的方法,确定了几个对应用程序开发和分析有用的自然语言处理 (NLP) 子任务。从句法(例如词性标注、分块和解析)到语义(例如词义消歧、语义角色标注、命名实体提取和指代解析)。

  有两个问题特别使自然语言处理 (NLP) 变得困难,并且需要与处理人工语言相关的技术(例如,例如)不同的技术。编译器构造)。这些问题是:自然语言中存在的歧义程度;即使是简单的句子也收录

语义信息的复杂性。

  通常,语言处理器处理大量单词,其中许多单词有不同的用法,以及允许从同一串单词形成不同短语类型的大标记。自然语言处理 (NLP) 由于语言的不规则性和可能出现的不同歧义而变得更加复杂,

  C. 自然语言处理 (NLP) 任务

  自然语言处理 (NLP) 管道中最常见的任务,如图 2 所示:

  • 词性 (POS) 标记 (POS) 标记:用一个唯一的标记来标记每个词,表明它的句法作用(例如:复数名词、副词。

  • 分块:用名词短语(NP) 或动词短语(VP) 等句法成分标记句子片段。每个单词只分配一个唯一的标记。

  • 命名实体识别(NER):使用人、公司或地点等类别来标记句子中的原子元素。

  • 语义角色标记(SRL):为句子的每个句法成分分配一个语义角色。

  • 语言模型:传统上估计词w 是序列中下一个词的概率。

  • 语义相关词(例如,同义词、同义词、同义词):使用 WordNet 数据库作为基本事实进行测量。该任务包括预测两个词是否在语义上相关。

  D. 斯坦福 CoreNetLP

  Stanford CoreNLP 是世界上使用最广泛的自然语言处理 (NLP) 软件之一。它提供了一套人类语言技术工具。它可以给出单词的基本形式、词性、公司名称、人名等。规范化日期、时间和数字数量,根据短语和句法依赖关系标记句子结构,指示哪些名词短语指代同一实体,指示情绪,提取实体之间的特定或公开类关系,获取人们所说的报价等等。

  Stanford CoreNLP 旨在非常灵活、可扩展且易于将一系列语言分析工具应用于文本。工具管道可以在具有两行代码的纯文本上运行。Stanford CoreNLP 集成了斯坦福的许多自然语言处理(NLP)工具,包括词性(POS)标注器、命名实体识别器(Named Entity Recognition (NER))、解析器、同义词解析系统、情感分析、自动学习模型和开放信息提取工具。此外,注释器管道可以包括额外的自定义或第三方注释器。CoreNLP 的分析为高级和特定领域的文本理解应用程序提供了基本构建块。

  E. 网络域的实体提取

  

" />

  尽管 StanfordCoreNLP 是最先进的自然语言处理 (NLP) 软件,但由于未在特定于 Web 域的数据上进行训练,因此它不能为从 Web 域中的非结构化文本中提取实体提供很好的性能。

  Stucco Entity-Extractor 库由橡树岭国家实验室 (ORNL) 开发,旨在从非结构化文本中识别和标记网络域实体。结构化文本的解析树。

  Stucco EntityExtrator 库识别和标记的实体类型包括:

  • 软件:供应商、产品、版本

  •文件名

  •函数名称

  • 漏洞:名称、描述、CVE、MS

  对于非结构化文本,实体提取器库生成注释对象,将非结构化文本表示为地图,包括:

  • 文本:原创

原创

文本

  • 句子:句子列表

  o 句子:句子的映射

  ■token:句子中的单词

  ■POSTag:词性标签

  ■ 网络实体:令牌的网络域标签

  o ParseTree:作为树的句子结构

  例如,图 3 显示了带有自动生成标签的 Coimnon 漏洞增强 CVE-2012-0678 的国家漏洞数据库 (NVD) 文本描述。请注意域注释,例如软件供应商:Apple 和软件产品:Safari。

  在自然语言处理 (NLP) 管道分析推文后,TwitterOSINT 系统将推文的文本及其用户名、日期和任何注释附加到 JavaScriptObjectNotation (JSON) fde 以供进一步处理和分析。

  F. 弹性堆栈

  TwitterOSINT 系统利用 Elastic Stack,这是一个可扩展、灵活且功能丰富的平台,使用户能够可靠、安全地从任何来源、任何格式获取数据,以进行实时搜索、分析和可视化。

  图 4 显示了弹性堆栈的关键组件:

  • Logstash:一种开源的服务器端数据处理管道,可同时从多个来源获取数据、转换数据并将其发送到“存储”(如果使用 Elastic Stack,则为 Elasticsearch)。

  • Elastic Search:分布式 RESTful 搜索和分析引擎,用于索引、存储和分析数据。

  • Kibana:用于可视化 Elasticsearch 数据和导航 Elastic stack 的 UI。

  TwitterOSINT 系统使用 Logstash 获取为选定推文创建的 JavaScript 对象表示法 (JSON) 文件,并将内容提供给 Elasticsearch,Elasticsearch 随后将数据编入索引并将其存储到集中管理的数据存储中。

  为了搜索和分析索引的 Twitter 以获得进一步的洞察力并获得可操作的情报,人类分析师可以使用 Elasticsearch 和 Kibana 来执行搜索查询或创建可视化。Elastic Stack 的 X-Pact 可进一步用于提供额外的数据分析和任务自动化功能,包括机器学习、图形分析和警报。

  3. TwitterOSINT的设计与实现

  在本节中,我们描述了 TwitterOSINT 原型系统的设计和实现。

  一、系统结构

  TwitterOSINT 结合了自然语言处理 (NLP)、机器学习技术和 Elastic Stack,以提供一个全面的数据分析环境来采集

、存储、分析和可视化被认为与网络安全相关的推文。图中的流程图最终给出了TwitterOSINT系统的架构以及每个步骤中Twitter数据的转换。

  B. 运行环境和工具

  TwitterOSINT原型系统是使用EclipseOxygenRelease4.7.0IDE和JavaVersion8Update151开发的。它最初在运行 CentOS 7 的 Dell Power Edge 730xd 企业服务器上实现。后来移植到 Windows 7 工作站。

  该系统是用以下主要的特定于应用程序的依赖项构建的:

  •Twitter4j-4.0.4

  • Stamford-Crump-3.4.1

  • Stanford-corenlp-3.4.1 模型

  • entity-extractor-1.0.0

  • opennlp-tools-1.6.0

  • jackson-databind-2.7.0

  C. Twitter OSINT Java 应用程序

  TwitterOSINT 是一个主要的 Java 应用程序,由两个主要的类对象组成:Stream 和 Annotator。

  • java 收录

使用 TwitterStreaming API 流推文的主要类,基于文本文件中指定的网络安全关键字。它删除特殊字符和 URL,然后将结果传递给注释器类以进行进一步的自然语言处理 (NLP) 和实体提取。Stream 类还负责创建一个 JavaScriptObjectNotation (JSON) 对象,其中收录

自然语言处理 (NLP) 和实体提取管道返回的推文日期、用户名、文本和注释。然后将这些 JavaScriptObjectNotation (JSON) 对象写入名为 twitDB.json 的文件。

  

" />

  • java 收录

用于标记化、词性 (POS) 标记和使用实体提取模块向每个标记添加注释的类。注释器类的输出是具有键值对的 JavaScriptObjectNotation (JSON) 对象,其中键是字段标签(例如 Token、词性 (POS)、Cyber​​Annot),值是字段值。

  在本节中,我们首先讨论如何运行 TwitterOSINT 系统和几个示例来展示该系统如何用于网络安全操作。然后,我们讨论了为获得操作经验和对系统及其功能的见解以及我们的观察而进行的初始实验。

  4. 运行 TwitterOSINT 系统

  要运行 TwitterOSINT 系统,请启动 Stream.java 应用程序。Logstash、Elasticsearch 和 Kibana 服务并保持它们运行。

  A. 运行 TwitterOSINT 系统

  Streamjava 应用程序维护与 Twitter 的连接以下载相关推文。然后,它使用自然语言处理 (NLP) 管道来分析推文并将带有自动生成的注释的文本存储在 twitDB.json 文件中。

  Logstash 服务配置为消化 twitDB.json 文件并将数据转发到 Elasticsearch,Elasticsearch 随后将推文及其注释编入索引并存储在集中管理的数据存储中。

  Kibana 服务提供的 UI 用于创建存储在 Elasticsearch 中的数据的可视化、导航 ElasticStack 和执行命令。

  B. 样本数据

  下面的文本框显示了由 twitterOSINT 系统处理的示例推文(带有日期、用户名和 Twitter 文本)。

  JavaScriptObjectNotation (JSON) 格式显示为为此 tweef 文本生成的注释的一部分。文本被分解成标记。每个令牌都标有三个字段: Cyber​​Annot(代表一个网络实体:漏洞、软件供应商、软件产品等)。或“O”(如果不是网络相关实体)、POS(表示语言部分)和令牌本身。

  C。数据可视化

  手动检查大量索引推文对分析师来说不切实际。为了说明如何利用 Elastic Stack 的强大功能和易用性来帮助分析师以自动化方式定义和执行对他们来说非常感兴趣和有价值的任务,我们使用 Elastic Stack 创建了五个可视化效果,以使其更易于采集

查看聚合或相关信息。

  Elasticsearch 提供了一种称为重要术语聚合的功能,这是一种返回集合中有趣或不寻常出现的术语的聚合。所选术语不是集合中最常用的术语。当在前景(例如,今天索引的推文)集和背景(索引到今天但不包括今天的推文)集之间进行测量时,它们是流行度发生显着变化的术语。

  例如,假设 tnnRansomware 仅出现在之前索引的 1000 万条推文中的 5 条中,但在今天索引的 100 条推文中的 4 条中发现了它。如此大的变化频率(5/10,000,000 或 0.000005% 对比 4/100 或 4%)意义重大,可能表明需要进一步调查,通常是当前威胁或受威胁影响的软件产品,会出现在推文中以高于正常频率的一天。

  我们构建了一个饼图,如图 5 所示,以显示在当天最重要的术语上聚合的推文中标记词的分布。该图可以帮助分析人员更快地发现网络威胁和易受攻击的词出现频率的显着增加,例如 daily。

  标签云是自由格式文本的可视化表示,标签通常是单个单词,每个标签的重要性以由度量聚合确定的字体大小和/或颜色显示。重要术语聚合用于为 TwitterOSINT 构建标签云。这个标签云的目的是代表当天最重要的词,并提供对收录

特定感兴趣词的所有推文的一键式访问。例如,在图 6 所示的标签云中,单个 Google 显示了当天单个 Google 的所有索引推文。

  计数聚合返回所选索引模式中元素的原创

计数。此可视化提供了当天相关推文数量的快速视图。当单击标签云上的某个词以显示收录

该词的推文时,计数矩阵会显示查询返回的推文的数量,如图 7 所示。

  我们构建的最后两个 Kibana 生成的可视化显示为表格。如图 8 所示,第一个表格显示了收录

当天最重要的 20 个词的推文。第二个表,如图 9 所示,收录

当天的所有相关推文。这些表格提供了当天推文的快速视图。可以修改该表以根据单击标签云中的单词来显示感兴趣的推文。

  D. 初步实验

  我们进行了一项非常初步的实验,以评估 TwitterOSINT 系统在使用与网络域相关的信息标记 Twitter 方面的有效性。

  在这个实验中,选择了三组,每组收录

500 条随机选择的推文。对这些推文进行了人工研究,以识别具有相关数据的推文的属性。这些属性通过 JavaScriptObjectNotation (JSON) 对象中注释形式的 Web 安全实体的存在或不存在来描述。结果如表1所示。

  实验发现,在 1500 条 (3.4%) 的抽样推文中,有 51 条是相关的,这意味着它们收录

一些与漏洞相关的有趣信息。这些推文中有 78% (40/51) 描述了漏洞、软件供应商和/或受漏洞影响的软件产品。在其余 22% 的相关信息推文中,缺少一个或多个字段;然而。大约一半的时间,它们收录

的信息已经收录

在其他 78% 的相关推文中。

  对于此实验,观察到的每日未过滤的推文数量约为 10,000 条推文。我们在 Kibana 中开发了一条规则来过滤每日推文,只显示收录

三个实体的推文:漏洞、软件供应商和/或软件产品。此规则删除了大部分不相关的推文,因此平均有 130 条推文保留在过滤列表中。该规则还删除了少量 (-12%) 确实收录

相关信息的推文。此外,过滤列表中还有一小部分误报推文。误报是推文实际上不收录

与网络安全相关的信息,或者它们收录

的信息不是最近的网络安全威胁。

  5 结论

  本文描述了 TwitterOSINT 原型系统的设计和实现,该系统可以帮助分析人员使用 Twitter 的开源数据采集

和获取网络安全情报。

  TwitterOSINT 原型系统是使用 TwitterStreaming API 实现的,用于采集

收录

与网络安全相关的特定关键字的推文。使用 StanfordCoreNLP 库和橡树岭国家实验室的 Stucco 网络域特定实体提取库来分析非结构化推文文本,并自动对文本中的网络相关实体进行分类和标记。该系统还使用 Elastic Stack 来存储、搜索和可视化带注释的推文。

  使用 Twitter 等数据源的网络智能的一个主要挑战是从非结构化文本中准确地分类和标记特定领域的实体,因为大多数自然语言处理 (NLP) 工具都经过训练可以处理一般英语。在橡树岭国家实验室 (ORNL) 的 Web 域特定实体提取库的帮助下应对这一挑战,TwitterOSINT 原型系统运行良好。

  总体而言,自然语言处理 (NLP)、机器学习和 Elastic Stack 的结合提供了一个非常强大、可扩展且易于使用的平台。TwitterOSINT 框架有望成为一种工具,帮助网络安全分析师监控世界各地发现的最新网络威胁,使他们能够以高度自动化和准确的方式主动保护自己组织的资产免受威胁。

  未来,我们计划在 OSINT 原型系统中收录

更多开源,例如安全博客、新闻网站和其他用户讨论和辩论网络安全威胁、攻击和漏洞的在线场所。我们还计划利用 Elastic Stack 提供的其他功能,例如内置的机器学习和警报功能,以促进数据分析和网络安全操作任务的进一步自动化。此外,我们喜欢在实际的网络运营环境中试用我们的 TwitterOSINT 原型系统,以便我们可以获得网络上工作人员的输入和反馈,以帮助指导我们未来的规划、设计、实施和实验工作。

  作者:Satyanarayan、Raju Vadapalli、George Hsieh、Kevin S. Nauer

  原文及机译文档已上传至小编知识星球

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线