ATTCK v13版本战术介绍——防御规避(六)

news2024/11/23 1:20:49

一、引言

在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化、提权战术理论知识及实战研究、部分防御规避战术,本期我们为大家介绍ATT&CK 14项战术中防御规避战术第31-36种子技术,后续会介绍防御规避其他子技术,敬请关注。

二、ATT&CK v13简介

MITRE ATT&CK 是一个全球可访问的基于现实世界观察的攻防战术和技术知识库。ATT&CK知识库被用作在私营部门、政府以及网络安全产品和服务社区中开发特定威胁模型和方法的基础。

2023年 4月25日,MITRE ATT&CK 发布了最新版本 V13,最大的变化是为ATT&CK中的一些技术添加了详细的检测指导,用于企业,移动数据源和两种新类型的更改日志(包括一个人类可读的详细更改日志,更具体地显示更新的ATT&CK对象中的更改,以及一个机器可读的JSON更改日志,其格式在ATT&CK的Github中描述)。

ATT&CK for Enterprise v13 包含14个战术、196个技术、411个子技术、138个组织和740个软件。

ATT&CK战术全景图(红框为防御规避战术)

三、防御规避战术

3.1 概述

防御逃避包括攻击者在攻击过程中用来避免被发现的技术,包括禁用安全软件、加密数据和脚本、利用可信进程来隐藏或伪装恶意软件。

防御规避战术包括42种技术,本期介绍第31-36种技术,逐一介绍如下:

3.2 破坏信任控制(T1553)

攻击者可能会破坏安全控制,这些安全控制警告用户不受信任的活动或阻止执行不受信任的程序。

攻击者可以进行文件和目录权限修改或修改注册表以破坏信任控制,攻击者还可能创建或窃取代码签名证书以获取对目标系统的信任。

破坏信任控制技术包含6项子技术,介绍如下:

3.2.1 Gatekeeper绕过(T1553.001)

攻击者可能会修改文件属性并颠覆Gatekeeper功能,以逃避用户提示并执行不受信任的程序。Gatekeeper是一组充当Apple安全模型层的技术,以确保仅在主机上执行受信任的应用程序。

攻击者可以通过逻辑错误(例如利用防御逃避),未检查的文件类型和外部库来破坏Gatekeeper检查中的一个或多个安全控制。例如,在Macos13Ventura之前,代码签名和公证检查仅在首次启动时进行,允许攻击者将恶意可执行文件写入之前打开的应用程序,以绕过Gatekeeper安全检查。

3.2.2 代码签名(T1553.002)

攻击者可能会创建、获取或窃取代码签名文件以对其恶意软件或工具进行签名。代码签名提供了来自开发人员的二进制文件的真实性级别,并保证二进制文件未被篡改。操作过程中使用的证书可能会被攻击者创建、获取或窃取。代码签名证书可用于绕过需要在系统上执行签名代码的安全策略。

3.2.3 SIP和信任提供程序劫持(T1553.003)

在进行签名验证检查时,攻击者可能会篡改SIP和信任提供程序组件以误导操作系统和应用程序控制工具。

由于可执行文件类型和相应的签名格式各不相同,Microsoft创建了称为主题接口包(SIPs)的软件组件,以在API函数和文件之间提供一层抽象。SIPs负责使API函数能够创建、检索、计算和验证签名。大多数文件格式(可执行文件、PowerShell、安装程序等)都存在唯一的Sip。

与代码签名类似,攻击者可能会利用此体系结构来颠覆信任控制并绕过仅允许合法签名的代码在系统上执行的安全策略。

3.2.4 安装ROOT证书(T1553.004)

在受损系统上安装根证书将为攻击者提供降低该系统安全性的方法。当被入侵的系统通过HTTPS连接到欺骗网站以收集登录凭据的攻击者控制的web服务器时,攻击者使用此技术来避免安全警告提示用户。

ROOT证书也可以克隆并重新安装。克隆的证书链将携带源的许多相同元数据特征,并可用于对恶意代码进行签名,这些恶意代码可能会绕过签名验证工具。

3.2.5 MOTW绕过(T1553.005)

攻击者可能会利用特定的文件格式来修改Web标记(MOTW)控件。在Windows中,当文件从互联网上下载时,它们被标记为一个名为Zone的隐藏NTFS备用数据流(ADS)。具有称为MOTW的特定值的标识符。使用MOTW标记的文件受到保护,无法执行某些操作。

攻击者可能会利用容器文件来传递可能未使用MOTW标记的恶意有效负载。

3.2.6 代码签名策略修改(T1553.006)

攻击者可以修改代码签名策略以启用未签名或自签名代码的执行。代码签名提供了来自开发人员的程序的真实性级别,并保证程序未被篡改。安全控制可以包括强制机制,以确保只有有效的签名代码才能在操作系统上运行。

攻击者可以通过多种方式修改代码签名策略,包括通过使用命令行或GUI实用程序,修改注册表,以调试或恢复模式重新启动计算机,或通过更改内核内存中可以修改系统的代码签名策略的命令。

3.2.7 缓解措施

ID

缓解措施

描述

M1038

执行预防

系统设置可以阻止异常应用程序运行,以阻止恶意内容的加载。

M1028

操作系统配置

Windows组策略可用于管理证书,以防止非管理员用户越权安装。

M1024

限制注册表配置

确保为注册表配置单元设置了适当的权限,以防止用户修改与SIP和信任提供程序组件相关的密钥。

M1054

软件配置

HTTP公钥固定(HPKP)通过强制使用预期证书来拦截加密通信。 

3.2.8 检测

ID

数据源

数据组件

检测

DS0017

命令

命令执行

命令监控发现修改信任设置的恶意行为,例如安装根证书或修改应用于文件的信任属性或策略。

DS0022

文件

文件元数据

收集和分析在环境中执行的软件上的签名证书元数据,以查找异常证书特征和异常值。

文件修改

定期设置已注册的Sip和信任提供程序,专门查找新的、已修改的或非Microsoft项。

DS0011

模块

模块负载

监控和分析与失败的信任验证相关的错误事件,包括事件ID81和 ID3033等。

DS0009

进程

进程创建

监控恶意尝试修改信任设置的进程和参数。

DS0024

Windows注册表

Windows注册表创建

监控Windows注册表中子项的创建可能会揭示修改信任设置的恶意行为。

Windows注册表项修改

监控对Windows注册表的更改可能会发现恶意尝试修改信任设置。

3.3 执行签名的二进制文件代理(T1218)

攻击者可以通过使用签名或受信任的二进制文件代理执行恶意代码来绕过基于进程或签名的防御。此技术中使用的二进制文件通常是Microsoft签名的文件,表示它们已从Microsoft下载或已在操作系统中。使用受信任数字证书签名的二进制文件通常可以在受数字签名验证保护的Windows系统上执行。

同样,在Linux系统上,攻击者可能会利用可信二进制文件(如split)来代理执行恶意命令。

执行签名的二进制文件代理技术包含13项子技术,介绍如下:

3.3.1 编译的HTML文件(T1218.001)

攻击者可能会利用已编译的HTML文件(.chm)来隐藏恶意代码。CHM文件是各种内容的压缩编译,如HTML文档,图像和脚本、web相关的编程语言,如VBA,JScript,Java和ActiveX。CHM内容使用HTML帮助可执行程序加载的Internet Explorer浏览器的底层组件显示。嵌入恶意负载的自定义CHM文件可以传递给受害者,然后由用户执行触发。

3.3.2 控制面板(T1218.002)

Windows控制面板进程处理控制面板项目的执行,这些项目是允许用户查看和调整计算机设置的程序。

控制面板项目通常包括在注册并加载到控制面板后可供用户使用的图形菜单,同时可以直接从命令行执行,也可以通过应用程序编程接口(API)调用以编程方式执行,或者只需双击文件即可。

攻击者可能重命名恶意DLL文件与控制面板文件扩展名,恶意控制面板项目可以通过网络钓鱼活动传递,可能绕过应用程序或文件扩展名允许列表。

3.3.3 CMSTP(T1218.003)

Microsoft连接管理器配置文件安装程序(CMSTP.exe)是用于安装连接管理器服务配置文件的命令行程序。CMSTP.exe接受安装信息文件(INF)作为参数,并安装用于远程访问连接的服务配置文件。

CMSTP.exe可能被攻击者利用来从远程服务器加载和执行Dll,可能绕过应用程序控制防御,exe是可能由Microsoft签名的合法二进制文件。CMSTP.exe可以被利用以绕过用户帐户控制,并通过自动提升的COM接口从恶意信息执行任意命令。

3.3.4 InstallUtil(T1218.004)

攻击者可以使用InstallUtil通过受信任的Windows程序代理执行代码。InstallUtil是一个命令行程序,允许通过执行.NET二进制文件中指定的特定安装程序组件来安装和卸载资源。InstallUtil可用于通过使用二进制文件中的属性来绕过应用程序控制。

3.3.5 Mshta(T1218.005)

Mshta.exe是执行Microsoft HTML应用程序(HTA)文件的程序。HTA是独立的应用程序,它们使用相同的IE模型和技术执行,但在浏览器之外。

Mshta.exe可用于绕过不考虑其潜在用途的应用程序控制解决方案。Mshta.exe在Internet Explorer的安全上下文之外执行,可以绕过浏览器安全设置。

3.3.6  Msiexec(T1218.007)

攻击者可能会利用msiexec.exe到代理执行恶意有效载荷。Msiexec.exe是Windows安装程序的命令行程序,也可能由Microsoft进行数字签名。

攻击者可能会利用msiexec.exe启动本地或网络可访问的媒体文件或Dll。由于它可能在Windows系统上签名,因此可用于绕过应用程序控制解决方案。Msiexec.exe如果启用了AlwaysInstallElevated策略,exe执行也可能提升为系统特权。

3.3.7 Odbcconf(T1218.008)

攻击者可能会利用odbcconf.exe到代理执行恶意有效载荷。Odbcconf.exe是一个Windows程序,允许用户配置开放数据库连接(ODBC)驱动程序和数据源名称,可能由Microsoft进行数字签名。

攻击者可能会利用odbcconf.exe绕过不考虑其潜在利用的应用程序控制解决方案。类似于Regsvr32,odbcconf.exe有一个REGSVR标志,可以被误用来执行Dll。

3.3.8  Regsvcs/Regasm(T1218.009)

攻击者可能会利用Regsvcs和Regasm来通过受信任的Windows程序代理执行代码。Regsvcs和Regasm是用于注册.NET组件对象模型(COM)程序集的Windows命令行程序,两者都是可能由Microsoft进行数字签名的二进制文件。

这两个程序都可以通过使用二进制文件中的属性来绕过应用程序控制,具有registration和unregistration属性的代码将被执行。

3.3.9 Regsvr32(T1218.010)

攻击者可能会利用Regsvr32.exe以代理执行恶意代码。Regsvr32.exe是一个命令行程序,用于在Windows系统上注册和取消注册对象链接和嵌入控件,包括动态链接库Dll。Regsvr32.exe二进制文件也可能由Microsoft签名。

恶意使用Regsvr32.exe可以避免触发安全工具,这些工具可能不会监视regsvr32的执行和加载的模块。Regsvr32.exe也可以用来注册一个COM对象,用于通过组件对象模型劫持来建立持久性。

3.3.10 Rundll32(T1218.011)

攻击者可能会利用rundll32.exe以代理执行恶意代码。Rundll32.exe也可用于执行控制面板项文件或JavaScript等脚本。攻击者也可能试图通过利用rundll32的方式来掩盖恶意代码的分析。攻击者可能会通过创建多个相同的导出函数名并将w或A附加到无害的函数名来掩盖恶意代码。此外,攻击者可能会使用伪装技术(例如更改DLL文件名、文件扩展名或函数名)来进一步隐藏恶意负载的执行。

3.3.11 Verclsid(T1218.012)

攻击者可能会利用verclsid.exe以代理执行恶意代码。Verclsid.exe被称为扩展CLSID验证主机,负责在Windows资源管理器或Windows Shell使用之前验证每个shell扩展。由verclsid执行的COM有效载荷.exe可能能够执行各种恶意操作,例如从远程服务器加载和执行COM scriptlet等。

3.3.12 Mavinject(T1218.013)

攻击者可能会利用mavinject.exe以代理执行恶意代码。mavinject.exe是Microsoft应用程序虚拟化注入器,这是一个Windows程序,可以将代码注入外部进程,作为Microsoft应用程序虚拟化的一部分。

攻击者可能会利用mavinject.exe将恶意Dll注入正在运行的进程(即动态链接库注入),允许任意代码执行,也可以通过命令行参数执行注入。

3.3.13 MMC(T1218.014)

攻击者可能会利用mmc.exe到代理执行恶意.msc文件。Microsoft管理控制台(MMC)是一个二进制文件,可以由Microsoft签名,并以多种方式在其GUI或命令提示符中使用。MMC可用于创建、打开和保存包含Microsoft创建的管理工具的自定义控制台,这些管理单元可用于本地或远程管理Windows系统。

3.3.14 缓解措施

ID

缓解措施

描述

M1042

禁用或删除功能或程序

在给定的环境中禁用或删除不必要的本机二进制文件。

M1038

执行预防

使用应用程序控制来预防风险。

M1050

漏洞保护

EMET攻击面减少ASR功能可用于阻止使用受信任二进制文件绕过应用程序控制的方法。

M1026

特权帐户管理

将特别易受攻击的二进制文件执行限制为需要使用它的特权帐户或组。

3.3.15 检测

ID

数据源

数据组件

检测

DS0017

命令

命令执行

监控执行的命令和参数。

DS0022

文件

文件创建

监控文件活动(创建、下载、修改等),特别是对于环境中不典型的文件类型,可能表示攻击者活动。

DS0011

模块

模块负载

监控DLL/PE文件事件,特别是这些二进制文件的创建以及将Dll加载到进程中,查找无法识别或通常未加载到进程中的Dll。

DS0029

网络流量

网络连接创建

监控由不受信任的主机发送或接收的新构造的网络连接。

DS0009

进程

OS API执行

监控api调用,这些API调用通过使用签名或受信任的二进制文件代理恶意内容的执行来绕过基于进程或签名的防御。

进程创建

监控可能用于代理执行恶意文件的已签名二进制文件的进程和命令行参数。以可疑方式使用的合法程序,如msiexec.exe从互联网上下载MSI文件,可能表示入侵。

DS0024

Windows注册表

Windows注册表项修改

监控对Windows注册表项或值所做的更改,这些更改可能伪造用于访问web应用程序或Internet服务的凭据材料。

3.4 执行签名的脚本代理(T1216)

攻击者可能使用受信任的脚本(通常使用证书签名)来执行恶意文件。已从Microsoft下载或在Windows安装上默认的几个Microsoft签名脚本可用于执行其他文件。攻击者可能会利用此行为来执行可能绕过系统上的应用程序控制和签名验证的恶意文件。

执行签名的脚本代理技术包含1项子技术,介绍如下:

3.4.1 PubPrn(T1216.001)

攻击者可以使用PubPrn代理执行恶意远程文件。PubPrn.vbs是将打印机发布到AD域服务的Visual Basic脚本。该脚本可能由Microsoft签名,通常通过Cscript以Windows命令Shell执行。攻击者可能会利用PubPrn来执行远程站点上托管的恶意有效负载。

3.4.2 缓解措施

ID

缓解措施

描述

M1038

执行预防

禁用不必需的执行其他程序的签名脚本。

3.4.3 检测

ID

数据源

数据组件

检测

DS0017

命令

命令执行

监控pubprn等脚本的执行命令和参数,可能用于代理执行恶意文件的vbs。

DS0009

进程

进程创建

监控脚本进程,例如可能用于代理执行恶意文件的脚本。

DS0012

脚本

脚本执行

监控可疑脚本执行。

3.5 模板注入(T1221)

攻击者可以在用户文档模板中创建或修改引用,以隐藏恶意代码或强制身份验证尝试。

注入到文档中的模板引用可能使恶意有效负载能够在加载文档时获取并执行。这些文件可以通过其他技术(如网络钓鱼或污染共享内容)传递,并且由于没有典型的指标(VBA宏、脚本等),可能会逃避静态检测。还可以通过注入SMB/HTTPS URL并触发身份验证尝试来启用强制身份验证。

3.5.1 缓解措施

ID

缓解措施

描述

M1049

防病毒/反恶意软件

网络或主机入侵防御系统、防病毒软件可以用来防止文件获取或执行恶意有效载荷。

M1042

禁用或删除功能或程序

考虑禁用Microsoft Office宏或活动内容以防止在文档中执行恶意有效负载。

M1031

网络入侵防御

网络或主机入侵防御系统、防止文件获取或执行恶意有效载荷。

M1017

用户培训

培训用户识别可用于传递恶意文档的社交工程技术和鱼叉式网络钓鱼电子邮件,加强安全意识。

3.5.2 检测

ID

数据源

数据组件

检测

DS0029

网络流量

网络连接创建

监控由不受信任的主机发送或接收的新创建的网络连接。

网络流量内容

监控和分析异常流量模式和数据包内容。检测异常进程执行和与流量模式相关的命令行参数。

DS0009

进程

进程创建

分析进程行为以确定Office应用程序是否正在执行异常操作,例如打开网络连接、读取文件、生成异常子进程等。

3.6 使用流量(T1205)

攻击者可以使用流量隐藏开放端口或其他恶意功能,例如打开封闭端口或执行恶意代码,在打开一个端口之前发送一系列恶意数据包,攻击者可以使用该端口进行命令和控制。

攻击者也可能与已经打开的端口通信,但在该端口上侦听的服务只会响应命令或触发其他恶意功能。

在网络设备上,攻击者可以使用精心设计的数据包来为设备提供的标准服务启用网络设备身份验证,还可以用于打开诸如telnet的封闭服务端口,或者用于触发设备上的恶意软件能力。

攻击者也可以使用LAN唤醒功能来打开已关闭电源的系统。LAN唤醒是一种硬件功能,它允许断电系统通过向其发送数据包来打开或唤醒它。一旦系统通电,它可能成为横向移动的目标。

利用流量技术包含2项子技术,介绍如下:

3.6.1 端口试探(T1205.001)

攻击者可以使用端口试探来隐藏打开端口。为了启用端口,攻击者向预定义的关闭端口程序发送一系列尝试连接,程序完成后,打开端口通常由基于主机的防火墙完成,但也可以通过自定义软件实现。

端口试探技术既用于动态打开侦听端口,也用于启动不同系统到侦听服务器的连接。

3.6.2 Socket过滤器(T1205.002)

攻击者可以将过滤器连接到网络套接字,可监控并激活后门。通过提升权限,攻击者可以使用libpcap库等功能打开套接字并安装过滤器,以确定某些类型的数据是否可以通过套接字。过滤器可能适用于通过指定的网络接口的所有流量,当网络接口接收到匹配过滤条件的数据包时,可以在主机上触发操作,例如激活反向shell。

3.6.3 缓解措施

ID

缓解措施

描述

M1042

禁用或删除功能或程序

禁用不必要的功能或程序。

M1037

过滤网络流量

可通过防火墙过滤网络流量。

3.6.4 检测

ID

数据源

数据组件

检测

DS0029

网络流量

网络连接创建

监控不受信任的主机发送或接收的新的网络连接。

网络流量内容

监控和分析网络数据包内容。 

网络流量

监控和分析与不遵循标准协议的网络通信流。

DS0009

进程

进程创建

使用原始套接字识别正在运行的进程。

3.7 利用受信的开发工具执行(T1127)

攻击者可以利用受信任的开发人员程序来执行恶意有效负载。有许多用于软件开发相关任务的程序,可用于以各种形式执行代码,以协助开发,调试和逆向工程。这些程序通常可能使用合法证书进行签名,这些证书允许它们在系统上执行,并通过绕过应用程序控制执行恶意代码。

利用受信的开发工具执行技术包含1项子技术,介绍如下:

3.7.1 MSBuild(T1127.001)

攻击者可以使用MSBuild通过受信任的Windows程序代理执行代码。MSBuild.exe是Visual Studio使用的软件构建平台。它处理XML格式的项目文件,这些文件定义了加载和构建各种平台和配置的要求。

MSBuild.exe是一个签名的Microsoft二进制文件,因此当它以这种方式使用时,它可以执行任意代码并绕过应用程序控制防御。

3.7.2 缓解措施

ID

缓解措施

描述

M1042

禁用或删除功能或程序

禁用或删除不必需的功能或程序。

M1038

执行预防

应阻止或限制某些不需要的开发人员程序。

3.7.3 检测

ID

数据源

数据组件

检测

DS0017

命令

命令执行

监控调用程序之前和之后使用的已执行命令和参数。

DS0009

进程

进程创建

监控异常的进程创建。

四、总结

本期主要介绍了防御规避战术(六)及技术/子技术原理,下期将给大家介绍防御规避战术(七)涉及的技术原理。敬请关注。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/544374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

还只是停留在听过KMP算法?保姆式分析让你吃透KMP算法

💕成功不是将来才有的,而是从决定去做的那一刻起,持续积累而成。💕 🐼作者:不能再留遗憾了🐼 🎆专栏:Java学习🎆 🚗本文章主要内容:深…

腾讯云,物联网开发平台产品,动态注册步骤

1. 下载后解压,qcloud_iot_mqtt_sign-master.zip GitHub - tencentyun/qcloud_iot_mqtt_signContribute to tencentyun/qcloud_iot_mqtt_sign development by creating an account on GitHub.https://github.com/tencentyun/qcloud_iot_mqtt_sign 2. 按照readme文…

图像噪声类型:椒盐噪声,随机噪声,高斯噪声,泊松噪声,异方差高斯噪声模型和参数估计

文章目录 noise type1. 高斯噪声和泊松噪声2. 高斯分布和泊松分布的差异:3. 异方差高斯 噪声模型(泊松和高斯噪声混合)4. 几种噪声模型5. 信噪比 SNR的计算方法是6. Practical Poissonian-Gaussian noise modeling and fitting for single-im…

【嵌入式烧录刷写文件】-2.4-移动Intel Hex中指定地址范围内的数据

案例背景(共5页精讲): 有如下一段Hex文件,将源地址范围0x9100-0x9104中数据,移动至一个“空的,未填充的”目标地址范围0xA000-0xA004。 :2091000058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717…

Cube Map 系列之:手把手教你 实现天空盒(Sky Box)

什么是天空盒 An skybox is a box with textures on it to look like the sky in all directions or rather to look like what is very far away including the horizon.天空盒是一个使用纹理贴图构建的盒子,人在其中朝任何一个方向看去,其纹理彷佛天空…

Java版本企业工程管理系统软件源码 自主研发,工程行业适用

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

Linux【工具 02】OpenStreetMap数据处理工具OSMCTools下载安装使用举例(osmconvert命令说明)

OSMCTools安装使用实例 1.Tools2.官网安装步骤3.实际安装步骤3.1 环境3.2 步骤 4.工具使用实例 OpenStreetMap的下载地址:Geofabrik Download Server。 OSMCTools的GitHub地址:https://github.com/ramunasd/osmctools Windows操作系统,可以…

MyBatis之注解开发

除了XML映射方式,MyBatis还支持注解方式实现POJO对象和数据表之间的关联映射,使用注解的方式一般将SQL语句直接写到接口上。与XML的映射方式相比,基于注解的映射方式相对简单。Mybatis提供的注解有: 1.环境准备 1.1 数据库准备…

C语言函数大全-- _w 开头的函数(3)

C语言函数大全 本篇介绍C语言函数大全-- _w 开头的函数 1. _wmkdir 1.1 函数说明 函数声明函数功能int _wmkdir(const wchar_t* dirname);用于创建指定路径名的新目录 参数: dirname : 指向以 null 结尾的宽字符数组,该数组包含要创建的目…

客户管理系统软件怎么用?

阅读本文您将了解:1.客户管理系统的作用;2.客户管理系统软件怎么用;3.客户管理的注意事项。 一、客户管理系统的作用 客户是企业的重要财富,因此客户管理是企业发展过程中至关重要的一部分,那么客户管理怎么做&#…

《编码——隐匿在计算机软硬件背后的语言》精炼——第17章收尾

古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼 文章目录 数字计算机硬件软件 数字计算机 数字计算机分为硬件和软件两部分,硬件是组成计算机的设备,软件是输入计算机的指令和数值。之所以将它们区分,是因为相对于硬件而言&…

照片从安卓手机中消失了?让他们恢复回来的几个方法请收好

“我安卓上的所有照片都消失了,我的照片去哪儿了” “我安卓上的所有照片都不见了” “下载的图片从安卓上消失了” …… 您是否遇到类似的问题?导致Android手机照片丢失的原因有很多,例如软件更新、误删、误操作、系统崩溃、应用程序崩溃、…

【算法】——动态规划题目讲解

本期继续为大家带来的是关于动态规划类题目的讲解,对于这类题目大家一定要多加练习,争取掌握。 (一)不同路径 链接如下:62. 不同路径 题目如下: 算法思路: 1. 状态表⽰: 对于这种「…

【FMC200】基于FMC标准的1路CameraLink Full 输出子卡模块

产品概述 FMC200是一款CameraLink发送FMC子卡模块,该模块支持2路CameraLink Base模式或者1路CameraLink Full模式的图像信号输出。板卡具有2个CameraLink端口(SDR26),可以作为模拟相机的输出。 技术指标 图像接口性能&#xff1a…

202305-第二周资讯

山川软件愿为您提供最优质的服务。 您的每一个疑问都会被认真对待,您的每一个建议都将都会仔细思考。 我们希望人人都能分析大数据,人人都能搭建应用。 因此我们将不断完善DEMO、文档、以及视频,期望能在最大程度上快速帮助用户快速解决问…

高效易懂,打造维护性好的Web自动化测试框架PO模式精讲

目录 前言: 一、 PO概述 二、PO何实现于Web框架素自动化测试重中之重。 1.为了保证易维护性和易读性,我们可以在项目中定义一个统一的库,用来存放所有的定位器类。 2.定义一个基础的类,该类用于针对PO的元素定位进行封装。 3…

Visual Studio 2022 17.7 发布首个预览版

Visual Studio 2022 17.7 已发布首个预览版,这个版本有大量社区贡献的新改进,主要改动如下: 生产效率 文件对比功能,可以在 Solution Explorer 中对比不同的文件差异。在资源管理器中右键单击一个文件,然后使用上下文…

Java 中 Token 是什么,有哪些用途

简介 Token 是一种身份验证机制,通常由服务器生成并返回给客户端,客户端在后续的请求中携带 Token,以证明自己的身份。在 Java 中,Token 的应用场景非常广泛,例如用户登录、API 认证、OAuth 授权等等。 在用户登录的…

Hash索引和B+树

Hash索引和B树所有有什么区别或者说优劣呢? 首先要知道Hash索引和B树索引的底层实现原理: hash索引底层就是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据。B树底层实现是多路平衡查…

晨控CK-GW208-EC与欧姆龙PLC工业EtherCAT协议通讯指南

晨控CK-GW208-EC与欧姆龙PLC工业EtherCAT协议通讯指南 EtherCAT 是一种实时以太网络通讯协议,旨在解决传统现场总线系统在数据传输速率和复杂性方面的限制。相比传统现场总线,EtherCAT 的数据传输速率有了极大的提升,同时,EtherC…