当前位置: 首页 > news >正文

# 渗透测试# 1.安全见闻(6)通讯协议

安全见闻6 通讯协议                ##B站陇羽Sec##
        潜在的安全问题所涉及的领域
        无线电安全,协议分析,web渗透,逆向分析
        通讯协议涉及的安全主要包括以下几个方面:
        1.1 保密性问题
                1.1.1 数据泄露风险
                在通讯协议中,如果数据没有得到妥善的保护,就容易发生数据泄露。例如,当通讯协议采用明文传输数据时,攻击者可以通过网络嗅探工具轻松获取传输中的敏感信息,像用户的登录凭证、企业的机密业务数据等。在一些老旧的工业通讯协议中,数据可能直接在网络中以未加密的形式传播,这就给数据泄露带来了极大的风险。
                对于某些通讯协议,若其缺乏对数据来源和目的地的有效验证机制,恶意攻击者可能伪装成合法的接收方获取数据,从而导致数据泄露。例如,攻击者可能伪造一个看似合法的服务器IP地址,欺骗发送方将数据发送到错误的目的地,进而获取到本不应被其获取的数据。
                1.1.2 密钥管理不善
                密钥是许多加密通讯协议保障数据保密性的关键因素。如果密钥管理不善,会引发一系列安全问题。例如,密钥长度过短,容易被暴力破解。一些早期的加密通讯协议可能采用了较短的密钥,随着计算能力的提升,这些密钥的安全性大大降低。
                密钥的存储和分发也是关键环节。如果密钥在存储过程中没有进行加密存储,一旦存储设备被攻破,密钥就会泄露。在分发密钥时,如果没有安全的传输通道,密钥也可能被截获。例如,在一些网络环境中,若通过不安全的网络路径分发密钥,中间人攻击者就可能截获密钥,从而解密后续传输的加密数据,破坏通讯协议的保密性。
        1.2 完整性问题
                1.2.1数据篡改风险
                在通讯协议中,数据在传输过程中可能会被恶意篡改。当数据没有足够的完整性保护机制时,攻击者可以拦截正在传输的数据,对其进行修改后再发送给接收方。例如,在物联网通讯场景下,攻击者可能篡改传感器传输的温度、湿度等数据,导致接收端依据错误数据做出错误决策。
                如果通讯协议缺乏数字签名等验证手段,接收方无法确定接收到的数据是否与发送方原始发送的数据一致。对于金融交易等对数据准确性要求极高的通讯场景,数据篡改可能导致资金的错误转移等严重后果。
                1.2.2重放攻击
                重放攻击是指攻击者重复发送已经被截获的合法数据包来达到欺骗系统的目的。对于通讯协议而言,若没有针对重放攻击的防御机制,攻击者可以利用重放攻击获取敏感信息或者进行非法操作。例如,在身份认证过程中,攻击者截获了合法用户的认证数据包,然后重复发送这个数据包,就可能冒充合法用户通过认证。
                重放攻击可能带来多种危害,如数据泄露(通过重放已截获的包含敏感信息的数据包获取用户名、密码等)、身份伪造(冒充合法用户进行非法操作)以及服务拒绝(连续发送重复请求导致系统资源过载)。为了防御重放攻击,可以采用多种方法,例如在数据包中添加随机数或时间戳,使每个请求具有唯一性;使用单次性令牌,每次认证生成新令牌并验证后销毁;在系统中引入回放攻击检测机制监测重复请求或异常行为;使用安全协议和标准(如HTTPS、TLS等)确保数据传输安全;还可以采用如序号验证、挑战应答机制等方法来防御重放攻击。
        1.3 身份验证问题
                1.3.1假冒身份风险
                在通讯协议中,身份验证是确保通信双方真实身份的重要手段。如果身份验证机制存在漏洞,攻击者就有可能假冒合法用户的身份进行非法操作。例如,攻击者可能通过社会工程学手段获取用户的登录凭据,或者通过破解弱密码的方式获得访问权限。
                在一些系统中,如果身份验证过程没有进行严格的双向验证,攻击者可能通过中间人攻击的方式,冒充服务器向客户端发送虚假的身份验证请求,诱导用户提供凭据。例如,在无线网络环境中,攻击者可能设置一个假冒的Wi-Fi热点,诱使用户连接并输入登录凭据,从而获取用户的敏感信息。
                1.3.2身份验证漏洞
                身份验证漏洞是指在身份验证过程中存在的安全缺陷,这些缺陷可能被攻击者利用来绕过身份验证机制。例如,一些系统可能使用了易被破解的加密算法或弱密码策略,使得攻击者可以通过暴力破解的方式获取用户凭据。
                另外,一些系统可能没有实现有效的会话管理机制,导致攻击者可以通过会话劫持的方式获取用户的会话令牌,从而冒充用户进行操作。例如,在一些电子商务网站中,攻击者可能通过窃取用户的会话ID,冒充用户进行购物或修改订单信息。
        1.4 可用性问题
                1.4.1拒绝服务攻击
                拒绝服务(DoS)攻击旨在使目标机器或网络停止提供服务,这是黑客常用的攻击手段之一。例如,攻击者可能通过向目标服务器发送大量的请求,耗尽服务器的资源(如带宽、内存、CPU等),从而使服务器无法正常响应合法用户的请求。
                如UDP协议被曝漏洞(CVE - 2024 - 2169),攻击者可利用该漏洞发起名为“LoopDoS”的拒绝服务攻击。此攻击构建了一个无限通信环路,产生大量流量,由于UDP协议没有足够的数据包验证,易实现IP欺骗,攻击者可创建自我持续机制,无限制产生过大流量,导致目标系统或网络出现拒绝服务情况,可能造成易受攻击的服务超负荷运行、服务不稳定或无法使用,甚至对网络主干进行攻击导致其他服务网络中断。
                还有HTTP/2协议存在“HTTP / 2 CONTINUATION Flood”漏洞,黑客可利用该漏洞向未设置END_HEADERS标志的易受攻击服务器发送HTTP请求,持续发送CONTINUATION帧流,最终使服务器内存不足而崩溃,成功发起拒绝服务攻击。
                1.4.2协议漏洞导致的可用性问题
                协议本身存在的漏洞可能会对系统或网络的可用性产生严重影响。例如,如果协议在设计时没有考虑到安全性,可能会存在缓冲区溢出漏洞。攻击者可以利用这个漏洞发送特制的数据,使程序缓冲区溢出,从而导致程序崩溃,影响服务的可用性。
                以FTP协议中的cve - 2008 - 4501漏洞为例,Serv - U7.0.0.1到7.3中FTP服务器存在目录遍历漏洞,攻击者可通过RNTO命令中的特定字符覆盖或创建任意文件,利用此功能覆盖关键系统文件,从而导致拒绝服务(DoS)条件。另外,IEEE802.11协议虽然其基本机密机制中的安全漏洞已被广泛宣传,但对网络可用性的威胁却远未得到广泛认可,实际上它非常容易受到针对其管理和媒体访问协议的恶意攻击,影响基于IEEE802.11的无线接入网络的可用性。
        1.5 协议实现问题
                1.5.1编程错误
                在协议实现过程中,编程错误是一个常见的问题。例如,在编写网络协议相关代码时,如果程序员对协议规范理解不准确,可能会导致代码逻辑错误。比如在实现TCP协议的连接建立过程中,如果没有正确处理三次握手的逻辑顺序,可能会导致连接无法正常建立或者出现异常断开的情况。
                代码中的语法错误也可能影响协议的正确实现。以Python编写基于HTTP协议的网络应用为例,如果在解析HTTP请求头时出现语法错误,可能会导致无法正确理解客户端的请求,进而无法提供正确的响应,影响整个应用的功能和可用性。
                1.5.2第三方库和组件的安全问题
                许多协议实现会依赖第三方库和组件,然而这些第三方库和组件可能存在安全问题。例如,一些加密库可能存在漏洞,如果在协议实现中使用了有漏洞的加密库,可能会导致数据的保密性、完整性受到威胁。像OpenSSL库曾经被发现存在心脏滴血漏洞(Heartbleed),如果基于使用了有此漏洞的OpenSSL版本来实现SSL/TLS协议,攻击者就可以利用该漏洞获取服务器内存中的敏感信息,包括密钥等,这对协议的安全性是严重的破坏。
                第三方组件的版本更新不及时也可能带来安全风险。如果协议实现依赖的某个组件存在已知的安全漏洞,而没有及时更新到修复版本,那么系统就会一直处于易受攻击的状态。例如,某网络协议应用依赖的JSON解析组件存在一个越界读取漏洞,若不及时更新组件版本,攻击者就可能利用该漏洞进行恶意操作,影响协议实现的安全性和可靠性。
        1.6 协议涉及缺陷
                1.6.1缺乏安全考虑的涉及
                在协议设计阶段,如果缺乏对安全性的充分考虑,可能会留下安全隐患。例如,FTP协议在设计时并未考虑加密传输的需求,导致其在传输过程中容易被窃听,敏感数据容易泄露。此外,FTP协议也没有提供强的身份验证机制,容易遭受重放攻击或伪装攻击。
                缺乏对拒绝服务攻击(DoS)的防范也是协议设计中常见的问题。例如,某些协议在设计时没有限制请求的速率或数量,攻击者可以利用这一点发送大量请求,导致服务器资源耗尽,无法正常提供服务。如HTTP协议在早期版本中没有内置的速率限制机制,使得攻击者可以轻易发动DoS攻击。
                1.6.2协议升级带来的安全风险
                虽然协议升级可以修复已知的安全问题,增强安全功能和性能,但升级过程本身也可能带来安全风险。例如,固件升级可能导致交换机的不稳定性,甚至无法工作。这是因为升级过程中可能会出现异常情况,如文件损坏、配置丢失等,导致设备无法正常运行。
                升级还可能导致一些应用程序不兼容。新的固件版本可能会对设备的性能和功能进行更改,这可能会导致一些原先正常运行的应用程序出现兼容性问题。例如,操作系统升级后,某些老旧的应用程序可能不再支持新的API或系统调用,导致无法继续使用。
        1.7 移动通讯协议安全问题
                1.7.1无线网络的特殊性
                开放性:无线网络是开放的通信媒介,相比有线网络更容易被攻击者接入。例如,在Wi - Fi网络中,黑客可以通过破解较弱的Wi - Fi密码或者利用Wi - Fi协议漏洞来未经授权接入网络。一旦接入,就可能窃听网络中的数据传输,这对移动通讯协议安全构成威胁。
                信号传播特性:无线网络信号的传播容易受到干扰和衰减。攻击者可以利用信号干扰设备发射干扰信号,破坏正常的通信。而且由于信号的传播范围可能超出预期的安全区域,例如在公共Wi - Fi热点附近,信号可能被附近的恶意用户捕获,导致数据泄露风险增加。
                移动性:移动设备在不同基站间切换时,可能存在安全风险。在移动通讯协议中,如LTE协议,当移动设备从一个基站切换到另一个基站时,需要进行一系列的认证和数据传输过程。如果这个过程中的安全机制不完善,攻击者可能会利用切换过程中的漏洞进行中间人攻击或者伪装基站进行攻击。
                1.7.2移动应用的安全风险
                数据存储风险:移动应用可能存在数据存储安全问题。许多移动应用将用户数据存储在本地设备上,如果缺乏足够的加密措施,当设备丢失或者被恶意获取时,数据就可能被泄露。例如,一些金融类移动应用如果没有对用户账户信息、交易记录等进行加密存储,攻击者获取设备后就能轻易获取这些敏感信息。
                身份验证与授权漏洞:移动应用的身份验证和授权机制可能存在缺陷。一些应用可能使用简单的用户名 - 密码验证方式,且密码强度要求不高,容易被暴力破解。而且在授权方面,如果没有严格的权限控制,可能会导致恶意应用获取过多权限,从而访问用户的敏感信息或者执行恶意操作。例如,一个恶意应用可能通过获取的权限读取用户联系人列表并发送垃圾信息。
                通信安全风险:移动应用在与服务器进行通信时,可能面临通信被窃听或篡改的风险。如果没有采用安全的通信协议(如SSL/TLS)或者没有正确配置这些协议,攻击者可以在通信链路中截获数据,窃取用户的登录凭据、个人信息等,甚至修改通信内容,导致用户受到欺诈或者遭受其他损失。
        1.8 物联网通讯协议安全问题
                1.8.1大量设备的管理难题
                设备识别与跟踪
                在物联网环境中,存在着海量的设备,这些设备的类型和功能各异。识别每个设备并准确跟踪其状态是一个挑战。例如,在一个大型的智能工厂中,可能有成千上万的传感器和执行器,要为每个设备分配唯一的标识符并确保其在网络中的可识别性并非易事。如果设备识别出现混乱,可能会导致安全管理的漏洞,例如攻击者可能伪装成合法设备混入网络。
                设备的动态加入和离开网络也增加了管理的复杂性。新设备不断加入物联网网络,旧设备可能因为故障、升级或其他原因离开网络。对于网络管理员来说,及时准确地掌握设备的动态变化情况,并确保新加入设备的合法性以及离开设备的数据安全处理是很困难的。例如,在智能家居场景下,当用户频繁添加或更换智能设备时,网络需要及时更新设备信息以保障安全。
                配置管理
                大量的物联网设备需要进行正确的配置才能安全运行。不同类型的设备可能有不同的配置要求,而且这些配置可能需要根据具体的应用场景进行调整。统一管理众多设备的配置是一个难题。例如,对于一些安全敏感的物联网设备,如医疗设备或工业控制系统中的传感器,错误的配置可能会导致严重的安全风险,如数据泄露或设备被恶意控制。
                配置的更新也是一个挑战。由于物联网设备的数量众多,确保每个设备及时更新到最新的安全配置是很困难的。设备制造商可能会发布安全补丁或新的配置文件来修复安全漏洞,但在大规模的物联网环境中,将这些更新推送到每个设备并确保其正确安装是一项艰巨的任务。
                1.8.2异构型带来的安全问题
                协议兼容性
                物联网中的设备使用多种不同的通信协议,如ZigBee、ZWave、Bluetooth - LE、Wi - Fi802.11等。这些异构协议之间的兼容性问题可能导致安全漏洞。例如,当不同协议的设备需要进行交互通信时,可能由于协议转换过程中的不规范或漏洞,被攻击者利用来进行中间人攻击或者数据篡改。
                不同协议的安全机制差异较大,有些协议可能本身的安全防护较弱。例如,一些低功耗的物联网设备所使用的简单通信协议,可能缺乏加密或身份认证机制,这就使得整个物联网网络在与这些设备交互时存在安全风险。
                安全策略统一
                由于物联网设备的异构性,很难制定一套统一的安全策略适用于所有设备。不同类型的设备可能有不同的安全需求和风险容忍度。例如,消费类的智能手环可能更关注用户数据的隐私保护,而工业物联网中的监控设备可能更注重防止恶意控制。这种差异使得难以构建一个全面且有效的物联网安全防护体系,容易出现安全防护的薄弱环节。
        1.9 工业控制系统西医安全问题      
                1.9.1实时性要求与安全的冲突
                安全措施的延迟影响
                工业控制系统(ICS)通常对实时性有很高的要求,例如在电力系统中,控制系统需要实时监测电网的状态并及时做出调整,以确保电力供应的稳定。然而,一些安全措施,如加密和身份认证等操作,可能会引入一定的延迟。例如,加密大量的实时数据传输可能会增加处理时间,导致数据到达目的地的延迟。如果延迟超过了工业控制系统可接受的范围,可能会影响系统的正常运行,甚至可能引发诸如电力波动、生产中断等问题。
                在某些工业场景下,如高速自动化生产线,设备之间的交互是在极短的时间内完成的。如果为了安全而进行的深度数据包检查等操作花费过多时间,可能会使设备错过操作的最佳时机,从而影响生产效率和产品质量。
                安全更新与连续运行的矛盾
                工业控制系统往往需要长时间连续运行,很少有机会进行停机维护。而安全更新,如安装系统补丁或更新安全软件,通常需要系统重启或者短暂的停机时间。这就产生了矛盾,一方面系统需要不断更新安全措施以应对新的威胁,另一方面又不能轻易中断运行。例如,在石油化工生产过程中,停产进行安全更新可能会造成巨大的经济损失,并且在重启过程中还可能面临新的风险,如设备启动顺序错误等。
                1.9.2与传统IT系统的融合带来的风险
                安全策略差异的协调困难
                工业控制系统和传统IT系统有着不同的安全策略重点。传统IT系统更关注数据的保密性、完整性和可用性,强调防止数据泄露、恶意软件入侵等。而工业控制系统更注重系统的可靠性、实时性和安全性,以确保工业生产过程的稳定运行。当两者融合时,协调这两种不同的安全策略是一个挑战。例如,传统IT系统的访问控制策略可能比较严格,而工业控制系统为了保证实时性可能会有一些相对宽松的访问设置,融合时需要重新平衡。
                工业控制系统中的一些设备可能使用专门的操作系统或协议,与传统IT系统的兼容性有限。在融合过程中,需要对安全策略进行调整以适应这种差异,但这可能会引入新的安全风险。例如,将工业控制系统中的设备接入企业的传统IT网络后,传统网络的安全防护措施可能无法完全适用于这些特殊设备,从而使它们暴露在安全威胁之下。
                攻击面的增加
                工业控制系统与传统IT系统融合后,整个系统的攻击面会扩大。传统IT系统面临的网络攻击威胁,如黑客攻击、恶意软件感染等,现在也可能会波及到工业控制系统。例如,企业内部网络中的一台普通办公电脑感染了病毒,在融合的网络环境下,病毒可能会通过网络传播到工业控制系统中的关键设备上,从而影响工业生产的正常进行。而且,融合后的系统可能会有更多的接口和连接点,这些都可能成为攻击者的入口点,增加了系统被攻击的风险。

相关文章:

# 渗透测试# 1.安全见闻(6)通讯协议

安全见闻6 通讯协议 ##B站陇羽Sec## 潜在的安全问题所涉及的领域 无线电安全,协议分析,web渗透,逆向分析 通讯协议涉及的安全主要包括以下几个方面: 1.1 保密性问题 …...

[Gdiplus/Gdi]_[中级]_[实现多行文本的多种颜色绘制-富文本绘制]

场景 在开发WTL/WIN32界面程序时,有时候需要绘制多行的段落文本,但是文本里的数值需要设置红色以便能让人第一时间关注到它。这种文本可以称之为富文本。GDI的DrawText和GDIPlus的DrawString方法都只能连续绘制某个颜色的文本。怎么实现?说明 在《绘图实现单行文本的多种颜色…...

Ubuntu如何创建一个子用户并赋与管理员权限

在Ubuntu操作系统中,如何创建一个子用户并赋与管理员权限 一、创建用户 sudo useradd -m -s /bin/bash test详细解释: sudo:以超级用户(root)权限执行该命令。useradd 命令通常需要管理员权限,因此需要加上 sudo。 useradd:创建新用户的命令。 -m:指示系统为新用户创建…...

【Linux | IO多路复用】epoll的底层原理详解

epoll 是一种高效的 I/O 多路复用机制,广泛用于 Linux 系统中,用于处理大量并发的文件描述符。它比传统的 select 和 poll 方法具有更好的性能,特别是在处理大量并发连接时。 1.epoll的设计思路 epoll是在select 出现 N 多年后才被发明的&a…...

npm run serve 提示异常Cannot read property ‘upgrade‘ of undefined

npm run serve 提示Cannot read property ‘upgrade’ of undefined 一般是proxy的target代理域名问题导致的,如下: 解决方案: proxy: { “/remoteDealerReportApi”: { target: ‘http://demo-.com.cn’, //此域名有问题,会导致…...

Muggle OCR 是一个高效的本地OCR(光学字符识别)模块

Muggle OCR 是一个高效的本地OCR(光学字符识别)模块,专为“麻瓜”设计,用于简化文本识别的过程。这个模块特别适用于处理印刷文本和解析验证码1。 以下是一些关于 Muggle OCR 的主要特点和使用方法: 特点:…...

【SpringBoot】万字源码解析——启动流程

Spring Boot启动流程 Spring Boot 的入口类: SpringBootApplication public class IntelGradingApplication {public static void main(String[] args) {SpringApplication.run(IntelGradingApplication.class, args);} }Spring Boot 的启动过程可以分为两方面&am…...

Nginx 配置初步 下

Nginx 配置初步(下) 一行代表一个指令; 每个指令有其上下文环境,比如 listen 指令只能在 http 指令块中出现,不能单独出现。1. Http 服务配置初步 1.1 常用指令 Nginx 的所有模块,打开模块我们就能看到模块中支持的指令。最常用…...

可视化ETL平台-Kettle的安装及简单使用

本章知识简介 主线A: 自连接查询; 主线B: 安装JDK与Kettle; 主线C: 使用Kettle工具. 本章目标: 1: 知道使用一张表可以实现自连接查询; [了解]注意: 左表、右表都是同一张表 2: 了解Kettle环境的安装流程; [了解]a.安装JDKb.安装Kettle 3: 熟悉使用kettle将txt数…...

java8 动态加载jar包至系统的classpath

1. io.test包 创建MyMain.java类,创建addJarToClasspath方法将jar包动态加载进系统的classpath中 package io.test;import java.io.File; import java.net.URL; import java.net.URLClassLoader; import java.lang.reflect.Method;public class MyMain {public st…...

C++二级题 计算好数:1数大于0数(二进制的位运算)

1、题目 若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为好数。 例如: (13)10 (1101)2,其中1的个数为3,0的个数为1,则此数是好数; (10)10 (1…...

数字孪生城市:智慧城市的未来蓝图

在当今数字化时代,智能技术的广泛应用正在改变人们的生活和工作方式。数字孪生城市作为未来新型智慧城市演进的重要方向,数字孪生城市是一种将城市物理世界的各个方面转化为数字形式的技术,通过网络空间与物理世界之间的实时数据交换和仿真分…...

Java篇图书管理系统

目录 前言 一. 图书管理系统的核心 二. 图书管理系统基本框架 2.1 book包 2.1.1 Book(书籍类) 2.1.2 Booklist (书架类) 2.2 user包 2.2.1 User类 2.2.2 Administrator(管理员类) 2.2.3 Visitor(用户类) 2.…...

BUUCTF之web篇

第一题 [极客大挑战 2019]EasySQL 打开靶机后可以看到这是一个登陆的页面 我们可以尝试两种方式登录 弱口令爆破(burpsuite) 通过SQL注入里的万能密码来跳过账户和密码验证的过程 这里就需要万能密码aor true # 在这里单引号的作用是结束用户名或者密码…...

010——二叉树(2)线索化

引入: 问题1: n个节点的二叉树,用二叉链表存储,问在这个二叉链表中一共有 __个指针域? 其中,有 __个指针域不为NULL,__个指针域为NULL? 答:2n n-1 n1 在二叉链表中&#xf…...

鸿蒙拍照小助手02

项目文件目录 为了确保项目文件目录清晰,以下是完整的项目文件目录结构: code 拍照小助手/ │ ├── entry/ │ ├── src/ │ │ ├── main/ │ │ │ ├── js/ │ │ │ │ └── 默认/ │ │ │ │ ├── 页面/ │ │ │ │ │ ├── 主页/ │ │ │ │ │ │ ├…...

lua while循环

软考鸭微信小程序 过软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 Lua作为一种小巧精致的语言,特别适用于嵌入其他程序提供脚本支持。在编程中,循环结构是不可或缺的一部分,而while循环则是…...

JAVA篇之类和对象

目录 一. 面向对象 1.1 面向对象和面向过程 二. 类的定义和使用 2.1 什么是类 2.2 类的定义格式 三. 类的实例化 四. this引用 4.1 this引用的作用 五. 构造方法 5.1 构造方法重载 5.2 通过this调用其他构造方法 5.3 默认初始化 结语 一. 面向对象 Java 是一门面向对…...

IO流详解_CoderLix

主要内容 File类IO流字节流字符流异常处理Properties缓冲流转换流序列化流打印流 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 1.2 构造方法 public File(String pathname) :通过…...

241023-RHEL非管理员安装Docker并开放指定宿主机端口部署Gitlab

A. RHEL非管理员安装Docker 要在没有管理员权限的情况下离线安装 Docker 和 Docker Compose,虽然受到一定限制,仍有一些可行的步骤可以帮助你在有限权限下完成这项任务。需要注意的是,这种方式适用于本地用户环境下的 Docker 安装&#xff0…...

python ubuntu安装加速

ubuntu升级python到python3.11(可能是全网最靠谱的方法,亲测有效)_ubuntu python3.11-CSDN博客 python-release安装包下载_开源镜像站-阿里云...

100种算法【Python版】第12篇——快速幂算法

本文目录 1 基本原理2 基本步骤3 数学示例4 python代码1 基本原理 快速幂算法(Fast Exponentiation)是一种高效计算整数幂的方法,尤其适用于计算大数的幂。其主要思想是利用分治法和二进制表示来减少乘法运算的次数,从而加快计算速度。 计算 x n x^n x...

Java多线程详解②(全程干货!!!)Thread Runnable

这里是Themberfue 上节主要讲完了多线程的一些基础知识,这节通过代码进一步理解多线程🫡 多线程 Java标准库中提供了Thread类,以程序员们编写多线程代码,我们可以查看官方文档进一步了解Thread的特性以及提供的接口。 类似于Sy…...

机器学习——图神经网络

图神经网络(GNN):理解复杂网络数据的有效工具 图神经网络(Graph Neural Network, GNN)是近年来机器学习领域的热门话题。GNN 以图结构数据为核心,能够高效地捕捉节点和边的复杂关系,广泛应用于社交网络、推荐系统、生…...

一、在cubemx下RTC配置调试实例测试

一、rtc的时钟有lse提供。 二、选择rtc唤醒与闹钟功能 内部参数介绍 闹钟配置 在配置时间时,注意将时间信息存储起来,防止复位后时间重新配置。 if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0)! 0x55AA)//判断标志位是否配置过,没有则进…...

【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin

【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像:2、启动镜像3、访问服务4、参考文档 Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像: docker pull nyanmisaka/jellyfin:230901-amd64jellyfin 10.8.10版本&#xff…...

合合信息:生成式Al时代的内容安全与系统构建加速,开启智能文档的全新潜能

文章目录 写在前面图像内容安全图像篡改应用场景伪造文档/证照检测伪造人脸检测 GAI时代系统构建加速通用文档解析 合合信息 写在前面 随着人工智能技术的飞速发展,生成式AI已经悄然步入了我们的日常生活,以其强大的内容生成能力,重塑了信息…...

京东双十一高并发场景下的分布式锁性能优化

背景 在电商领域,尤其是像京东双十一这样的大促活动,系统需要处理极高的并发请求。这些请求往往涉及库存的查询和更新,如果处理不当,很容易出现库存超卖、数据不一致等问题。分布式锁作为一种有效的解决方案,能够在多…...

华为ICT题库-AI 人工智能部分

1178、以下哪个选项是华为的云端AI芯片?(云服务考点) (A)Inferentia (B)MLU100 (C)Cloud TPU (D)Ascend 910 答案:D 解析:华为的云端AI芯片被称为Ascend芯片系列,其中Ascend 910是其旗舰产品。Ascend 910…...

React Native 修改安卓应用图片和名称

在React Native(RN)项目中,修改安卓应用图标和名称通常涉及对Android原生代码的一些修改。以下是详细步骤: 修改应用图标 准备图标资源: 创建或获取你想要的图标,并确保它们符合Android的图标规范&#xf…...

企业网站seo策略/baidu com百度一下

一般我们用短草丛被角色经过或平常的飘动效果都是用3d实现的,3d实现起来就比较简单,就是对模型上的顶点做与角色距离的相反方向偏移就好了,平常的飘动效果一般是用sin做弧度变化或者甚至就直接uv的来回移动就好。 我们是3渲2的画面俯四十五度…...

做网站无锡/企业管理培训视频免费

多变量线性回归1 多变量线性回归应用场景1.1 单变量线性回归案例1.2 多变量线性回归案例2 多元梯度下降法2.1 一元梯度下降n1, 重复执行,直到收敛2.2 多元梯度下降n>12.3 多元批梯度下降代码3 梯度下降法实践一:特征缩放3.1 梯度下降法遇到的问题3.2 解决方法4 梯…...

宜宾网站网站建设/郑州seo建站

2019独角兽企业重金招聘Python工程师标准>>> dispatchTouchEvent // 没有子视图的 View 的 dispatchTouchEvent() 方法 public boolean dispatchTouchEvent(MotionEvent event){// ...// View.setOnTouchLisener() 方法设置的触摸事件监听者ListenerInfo li mListe…...

山东建设监理协会网站无法登录/代运营一般收费

让你秒懂JVM底层一、JVM体系结构二、深入探讨JVM核心模块1、类加载器2、运行时数据区3、执行引擎三、详细结构图四、未来工作一、JVM体系结构 在学习JVM之前,我们需要知道JVM虚拟机有哪些种类?目前比较主流的有HotSpot VM、J9 VM、Zing VM、JRockit VM等…...

wordpress直接连接数据库文件/安徽seo团队

http://lx.lanqiao.org/problem.page?gpidT211 算法提高 第二大整数 时间限制:1.0s 内存限制:512.0MB问题描述编写一个程序,读入一组整数(不超过20个),当用户输入0时,表示输入结束。然后程序…...

网站建设制作ppt/怎么做网站优化排名

原文: https://activemq.apache.org/wildcards . is used to separate names in a path (用于分隔path的名称)* is used to match any name in a path (用于匹配任何path的名称)> is used to recursively match any destination starting from this name (用于递归匹配从…...