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

强敌环伺:金融业信息安全威胁分析——钓鱼和恶意软件

门口的敌人:分析对金融服务的攻击

Akamai会定期针对不同行业发布互联网状态报告(SOTI),介绍相关领域最新的安全趋势和见解。最新的第8卷第3期报告主要以金融服务业为主,分析了该行业所面临的威胁和Akamai的见解。我们发现,针对金融服务业的攻击数量正在快速激增,而且攻击者会以更快的速度利用新发现的零日漏洞。

我们将通过总共三篇的系列文章详细介绍这些内容。本系列的第一篇(点击这里回看),介绍金融服务行业在信息安全威胁方面所面临的整体态势;第二篇(点击这里回看)重点介绍了软件漏洞和DDoS攻击对金融服务业造成的影响。本篇作为该系列的最后一篇,将着重介绍以金融服务业为目标的网络钓鱼攻击和有针对性的恶意软件等威胁。

“准星”下的金融服务客户

从早期的银行木马到网络诈骗全盛时期的现代网络钓鱼攻击,多年来,银行客户始终是网络犯罪行为最主要的受害者之一。从身份失窃到财务损失,这些网络犯罪行为对每个人的影响各不相同。网络犯罪分子可能冒充用户,开通信用卡或申请贷款,更糟糕的是,可能会冒充其他用户的身份进行犯罪,在暗网上出售用户身份等。由于这类网络犯罪会对个人产生破坏性影响,金融机构必须妥善保护自己客户的信息安全。

为了解金融客户遭受攻击的风险和危害,我们通过Akamai系统中的Client Reputation(客户声誉)机制仔细分析了个别攻击者(图18)。这让我们可以深入了解犯罪分子的攻击方法和动机,从而确定攻击者在以金融服务机构为攻击目标时的侧重点到底是什么。

图18:针对整个金融服务垂直行业所发起攻击的Client Reputation分布情况

最主要的五个攻击类别

  • 账户接管(Account Takeover)——网络犯罪分子利用窃取的用户名和密码取得在线账户的所有权,从而发起的攻击。
  • 网络爬虫(Web scraper)——一种自动化工具,可系统性地收集各类信息(如网站格式和网页内容),通常可用于复制网站,借此开展网络钓鱼攻击和诈骗。
  • 扫描工具(Scanning tool)——在网络攻击的侦查阶段,用于扫描Web应用程序漏洞的工具。
  • 拒绝服务攻击器(Denial-of-Service attacker)——使用自动化工具发起大量DDoS攻击的Web客户端/爬虫。
  • Web攻击器(Web attacker)——用于执行常规Web攻击(如SQLi、远程文件包含、XSS)的Web客户端或攻击程序。

图18展示了一个有趣的视角:尽管我们检测到很多与DDoS、漏洞利用以及Web应用程序攻击有关的尝试,但超过80%的攻击者,其攻击目标都是金融服务业的客户,而非这些业内机构本身。账户接管攻击直接以客户为目标,网络爬虫则主要被用于创建钓鱼网站以及模拟这类网站的攻击工具包。

金融服务机构通常拥有强大的安全措施和极高的网络安全意识,足以挫败以机构本身为目标的很多攻击。因此网络犯罪分子会寻找阻力最小的攻击路径,往往会以更容易得手的客户为目标。虽然这不一定是金融服务机构的错,但针对客户的骗局也会伤害到这些机构的业务,从而损害机构的声誉和品牌,导致客户信任受损甚至遭遇经济损失。

1.账户接管

有一个数据可以进一步证明我们的观点:大部分以金融机构为目标的攻击都与账户接管有关(42%)。对于金融服务业,账户接管所造成的危害远远超出了对个人所产生的影响。当客户因账户接管而产生了未经授权的交易时,银行也将产生损失。据报道,账户接管所产生的欺诈行为估计年成本高达114亿美元。虽然银行的客户服务部门可以协助受害者解决问题(这些问题未必就是金融机构的责任),但这依然会让银行付出额外的资源和时间。

爬虫活动增加了81%,而在账户接管过程中,爬虫无疑也起到了重要作用。网络犯罪分子会在爬虫的帮助下,通过不同用户名和密码的组合自动发起撞库攻击,而这些用户名和密码往往都是从其他外泄的数据中窃取而来的。因此我们也毫不意外地看到,针对金融服务业的爬虫网络活动正在快速攀升,并在2022年5月到8月之间出现了非常明显的激增(图19)。

图19:针对金融服务业的爬虫数量激增,这一趋势与账户接管和网络爬虫攻击数量的增加密切相关

此外,爬虫的显著增加也与已知的Web自动化工具库不无关系,这也意味着爬虫的运营者正在利用常见的工具包来获取数据并发起账户接管操作。

成功接管了账户的攻击者将能榨干账户的所有剩余价值,并在黑市出售用户信息。截止2021年,网络银行登录凭据在暗网中的平均售价为40美元。账户接管会造成大量风险。如果用户习惯于重复使用相同密码,那么还可能导致自己的其他账户被进一步泄漏,更糟糕的是,攻击者可能冒充被泄漏的账户,将黑手伸向受害者的其他联系人。

2.网络爬虫

在我们的Client Reputation IP中,我们还观察到大量网络爬虫活动。这些工具通常被用于提取存储在网站中的数据,从而创建逼真的网络钓鱼工具包,通过模仿金融机构的网站来欺骗客户。与账户接管类似,爬虫程序也在这其中起到了重要作用。

3.追踪战术、技术和程序

研究攻击者的动机很重要,借此可以更好地了解他们可能会用怎样的战术、技术和程序(TTP)威胁客户或金融机构。随着时间的推移,追踪这些指标可以为企业提供有关客户风险暴露的威胁情报,从而帮助企业评估需要采取哪些措施(如Akamai MFA、Akamai Account Protector以及Akamai Bot Manager)来降低这些风险。

希望我们对这些攻击方法和动机的分类可以帮助大家在自己的企业内部顺利进行演练并有效分析相关趋势。

尽管我们检测到很多与DDoS、漏洞利用以及Web应用程序攻击有关的尝试,但超过80%的攻击者,其攻击目标都是金融服务业的客户,而非这些业内机构本身。

网络钓鱼趋势:金融服务客户正在遭受攻击

金融服务业是网络钓鱼诈骗最主要的目标之一。大部分钓鱼攻击都以经济利益为动机,全球范围内平均每分钟造成的损失高达1.77万美元。金融服务业备受此类攻击青睐,最主要的原因之一在于,以该行业及其客户为目标的攻击可以带来高额的回报。例如,在黑市中,每张信用卡的相关信息售价介于17-120美元之间,只需产生少量受害者,即可从中谋取到巨额利润。

由于黑市中还有着数量众多,价格低廉的攻击工具包,网络犯罪分子可以借此很轻松地针对目标发起攻击。虽然这类攻击主要以金融机构的客户,而非机构自身为目标,但所造成的损失已经远远超出了个人范围。冒充金融机构的网络犯罪分子会损害银行的品牌和声誉,并在该过程中损害客户信任(导致银行业务受损)。为了解决和应对此类钓鱼攻击,银行同样需要付出不菲的成本。

我们研究了2022年第1和第2季度被网络钓鱼诈骗活动冒充和滥用的品牌,并根据受害者人数对这些骗局进行了分类。借此准确追踪网络钓鱼活动,并分析其中的趋势和蕴含的模式。

图20:2022年第2季度的钓鱼攻击受害者

如图20所示,一直以来,金融服务机构和高科技公司都是最易受到此类攻击的行业,并且这两个季度相关比例还有所上升,从1季度的32%(金融服务)和31%(高科技)分别增长至2季度的47%(金融服务)和36%(高科技)。尽管这些发现并不值得惊讶,但针对金融服务业的网络钓鱼攻击如此快速地上升,这依然仍人感觉担忧。

图21:钓鱼攻击更多地会以消费者而非企业为目标

大部分(80.7%)网络钓鱼活动的目标是消费者而非企业(图21)。我们认为,原因主要在于地下黑市对消费者账户有着巨大的需求,因为这些账户还可被用于发起与欺诈有关的第二阶段攻击。

Akamai研究发现,由于基于令牌的2FA解决方案还远远不够完善,企业还需要采取更强大的多重身份验证保护措施。

然而,即便只有19.3%的攻击活动直接以企业为目标,相关隐患同样不容忽视,因为这类攻击通常更有针对性,更有可能造成重大损失。针对企业的攻击可能导致企业网络被恶意软件或勒索软件攻陷,甚至导致机密信息外泄。也许最开始只是一名员工无意中点击了钓鱼邮件中一个链接,这最终也可能导致企业遭受重大的财务和声誉损失。

针对Colonial Pipeline的攻击就是一个不容忽视的例子。针对这家企业的攻击,最开始就是通过一个外泄的VPN账户发起的。虽然无法明确确定原因,但据分析,很可能是因为这个被攻陷的账户使用了和暗网中出售的其他账户相同的密码。

可绕过双重身份验证的钓鱼攻击

Akamai安全研究人员还分析了2022年2季度最常用的工具包,并统计了分发每个工具包的域名数量。我们发现,Kr3pto是最常用的工具包,与之相关的域名超过了500个(图22)。

图22:Kr3pto是2022年2季度最常用的钓鱼工具包,它甚至可以绕过双重身份验证

Kr3pto背后的开发者主要开发并销售以金融机构和其他品牌为目标的特殊工具包。某些情况下,这些工具包会以英国的金融机构为目标,甚至可以绕过双重身份验证。此外还有证据显示,虽然该钓鱼工具包早在三年多之前就诞生了,但至今依然非常有效,并且至今依然被广泛使用。

虽然类似Kr3pto这样的钓鱼活动并不新鲜,但与这类攻击有关的细节可以帮助我们理解网络钓鱼的趋势,分析相关活动的规模和复杂性。一旦被攻破,目标凭据可能会导致后续的欺诈活动,或导致未经授权人员访问企业的内部网络,因为这类攻击甚至可以使用一次性密码令牌或推送通知来绕过双重身份验证解决方案。

Akamai研究发现,由于基于令牌的2FA解决方案还远远不够完善,企业还需要采取更强大的多重身份验证保护措施。例如FIDO2就是一种能提供更高安全性的新标准,这是一种无密码技术,可要求用户在本地(例如使用生物识别技术)进行身份验证,随后即可访问网站或进行在线交易。由于这种方式不再需要用户名和密码,因此也不会产生可能被窃取并用于钓鱼攻击。

恶意软件之路

上文已经详细介绍了攻击者用来破坏金融服务的各类战术和方法。接下来,我们一起看看当攻击者(通过新的或旧的漏洞、Web应用程序和API攻击,甚至钓鱼骗局)成功渗透进入金融服务机构的内部网络之后可能发生的事情。一旦攻击者渗透到组织网络内部,即可执行大量恶意活动,例如通过各类恶意软件(包括勒索软件)破坏安全措施。

金融服务是对安全性要求最高的行业之一,然而该行业正在遭遇越来越频繁的攻击,因此必须对各类问题保持警惕。因此我们更是有必要深入研究勒索软件的现代TTP(毕竟网络犯罪分子就是借此入侵企业的),从而围绕RaaS、钓鱼攻击、漏洞扫描甚至DDoS等攻击方式找出最适合的应对措施。

从初始访问到凭据收割

为实现网络渗透和传播的目标,勒索软件团伙会采用各种工具,其中大部分都是业内众所周知甚至大量使用的工具。实际上,一般来说,只有加密器(以及有时所使用的特洛伊木马程序)是不同勒索软件团伙所独有的。但横向移动、传播和渗透等TTP对攻防双方来说应该都不陌生,无非就是Cobalt Strike、Mimikatz、PsExec等。

对于大部分勒索软件来说,网络钓鱼似乎是最常见的入侵载体,借此诱骗用户打开用于发起攻击的文件或工具。其他常见方式包括通过“猜测”正确的凭据来入侵VPN或远程桌面协议(RDP)服务器等。Conti的泄密事件则让我们借机深入了解了其他一些不太常见的感染方式所用爬虫的设计思路(图23)。

初始立足点(鱼叉式)钓鱼攻击或应用程序漏洞横向移动在网络中传播以实现最大化覆盖面提取查找并窃取有价值的数据加密通过PKI加密方式被破解发出勒索更换桌面墙纸或留下勒索信息文本文件盈利?

图23:勒索软件的攻击链

勒索软件通常还会使用MITRE所涵盖的常见横向移动技术(如WMI、远程计划任务、RDP、WinRM、PsExec以及EternalBlue和BlueKeep等零日漏洞)在网络中移动。为了维持在网络中的立足点,Conti团伙使用了计划任务的方式。他们外泄的手册中还列出了其他持久隐藏的方式,如注册表的Run键、Office应用程序启动、Windows服务等。一旦网络犯罪分子获得了较高级别的特权,他们随后会窃取账户名称和密码。这种凭据收割过程通常是通过本地安全机构子系统服务(LSASS)或安全账户管理器(SAM)数据库实现的。这方面最常用的工具是Mimikatz(当然,同类的凭据转储工具还有很多)。如果通过网络获取凭据,则很多时候还会用到各种零日漏洞。

了解攻击面有助于针对关键风险获得见解,从而设计出更安全的控制和缓解措施。

本节通过几个简单的例子展示了我们所发现的,一些不容忽视的趋势。勒索软件可能是客户和企业会遇到的,最具破坏性的攻击方式之一,甚至会影响到客户对企业的信任。虽然勒索软件在金融业的流行程度远不如其他垂直行业,但依然是一种需要密切跟踪和缓解的威胁载体。为了进一步了解有关这些TTP的详细信息,欢迎阅读2022年上半年Akamai勒索软件威胁报告。

总结:不断扩大的威胁面

金融服务业是对安全性要求最高的行业之一,由于该行业特殊的性质和所拥有的机密数据数量,这也是网络犯罪分子最有利可图的目标之一。我们在研究中发现,当发现新漏洞后,金融服务业将是最先受到攻击,并且会受到最多攻击的行业。同时该行业也是DDoS攻击和网络钓鱼活动最青睐的行业,并且客户往往也会成为这些攻击的目标。

攻击者会想方设法渗透内部网络或影响你的客户。了解攻击面有助于针对关键风险获得见解,从而设计出更安全的控制和缓解措施。API和Web应用程序攻击的转变和激增有助于帮助企业和防御团队更好地理解攻击者的侧重点,并针对需要保护的领域划分优先级。此外,当新漏洞出现后,如果明白自己只有很短的时间来做出反应,这也有助于相关企业更好地采取主动措施(如补丁管理)加强防御能力。

我们的研究还重点关注了企业在了解了可能遇到的攻击类型后,该如何采取措施保护客户安全。此外,建议相关企业采取“后发制人”的心态,因为类似勒索软件这样的威胁往往会利用各种漏洞,并借助不同的工具和方法渗透到企业网络内部。企业必须慎重考虑自己是否具备适当的工具和流程来缓解勒索软件和其他威胁所造成的风险。最后,类似网络攻击链、NIST的800-207 Zero Trust Architecture以及最新的FIDO2标准,这些最佳实践和流程也都是金融服务业的重要参考资源。


Akamai将继续关注金融服务业和其他行业的安全态势,并通过全面的分析和适合的解决方案帮助企业有效缓解威胁,增强自己和客户的数据安全性。欢迎关注Akamai知乎机构号,第一时间了解最新进展。

相关文章:

强敌环伺:金融业信息安全威胁分析——钓鱼和恶意软件

门口的敌人:分析对金融服务的攻击 Akamai会定期针对不同行业发布互联网状态报告(SOTI),介绍相关领域最新的安全趋势和见解。最新的第8卷第3期报告主要以金融服务业为主,分析了该行业所面临的威胁和Akamai的见解。我们发…...

1月1日起,贵阳市退役军人可以免费乘坐公交地铁

广大退役军人是党和国家的宝贵财富,是新时代中国特色社会主义现代化建设的重要力量。为切实增强退役军人的幸福感与获得感,贵阳市信捷科技有限公司以“心系老兵情怀,热忱服务人民”为服务宗旨,积极响应贵阳市政府号召,…...

网络隔离后,怎样建立高效安全的数据安全交换通道?

数据安全对企业生存发展有着举足轻重的影响,数据资产的外泄、破坏都会导致企业无可挽回的经济损失和核心竞争力缺失。数据流动才能让其释放价值,想要保护企业核心资产,就要实现数据安全交换。 很多企业为了防止知识产权、商业机密数据泄露&am…...

Python:PyTorch

简介 PyTorch是一个开源的机器学习库,由Facebook的人工智能研究团队(FAIR)开发,用于应用于机器学习和深度学习的Python程序。PyTorch基于Torch,使用Python语言重新编写,使得它更容易使用和扩展。它支持强大…...

CentOS 5/6/7 基于开源项目制作openssh 9.6p1 rpm包—— 筑梦之路

背景介绍 开源项目地址:https://github.com/boypt/openssh-rpms.git 该项目主要支持了centos 5 、6、7版本,针对使用了比较老的操作系统进行openssh安全加固,还是不错的项目,使用简单、一件制作,欢迎大家去支持作者。…...

python的pandas数据分析处理基础学习

pandas学习 一、 pandas基础 1. 什么是pandas? 一个开源的python类库:用于数据分析、数据处理、数据可视化 高性能容易使用的数据结构容易使用的数据分析工具 很方便和其他类库一起使用: numpy:用于数学计算 scikit-learn&a…...

【Qt-容器类】

Qt编程指南 ■ 顺序容器类■ QList■ QVector■ QLinkedList■ QStack■ QQueue ■ 关联容器类■ QSet■ QMap■ QMultiMap■ QHash■ QMultiHash ■ 顺序容器类 ■ QList QList 比较常用的容器类,以数组列表的形式实现,在前、后添加数据非常快。以下为…...

2023-12-27 语音转文字的whisper应用部署

点击 <C 语言编程核心突破> 快速C语言入门 语音转文字的whisper应用部署 前言一、部署whisper二、部署whisper.cpp总结 前言 要解决问题: 需要一款开源的语音转文字应用, 用于视频自动转换字幕. 想到的思路: openai的whisper以及根据这个模型开发的whisper.cppC应用. …...

MAVLINK生成自定义消息

git clone https://github.com/mavlink/mavlink.gitcd mavlinkgit submodule update --init --recursivepython -m mavgenerate出现以下界面 XML填写自定义xml路径&#xff0c;内容可以参考mavlink/message_definitions/v1.0 Out为输出路径 <?xml version"1.0"…...

【MediaPlayerSource】播放器源内部的音视频sender的创建和使用

来看下声网播放中的sender相关组件设计:MediaPlayerSourceDummy 是一个MediaPlayerSourceImpl ,输入音视频帧到 播放器。player_worker_ 线程触发所有操作,由外部传递,与其他组件公用 MediaPlayerSourceDummy(base::IAgoraService* agora_service, utils::worker_type play…...

【机器学习】西瓜书第6章支持向量机课后习题6.1参考答案

【机器学习】西瓜书学习心得及课后习题参考答案—第6章支持向量机 1.试证明样本空间中任意点x到超平面(w,b)的距离为式(6.2)。 首先&#xff0c;直观解释二维空间内点到直线的距离&#xff1a; 由平面向量的有关知识&#xff0c;可得&#xff1a; 超平面的法向量为 w w w&am…...

【OpenAI Q* 超越人类的自主系统】DQN :Q-Learning + 深度神经网络

深度 Q 网络&#xff1a;用深度神经网络&#xff0c;来近似Q函数 强化学习介绍离散场景&#xff0c;使用行为价值方法连续场景&#xff0c;使用概率分布方法实时反馈连续场景&#xff1a;使用概率分布 行为价值方法 DQN&#xff08;深度 Q 网络&#xff09; 深度神经网络 Q-L…...

Vue axios Post请求 403 解决之道

前言&#xff1a; 刚开始请求的时候报 CORS 错误&#xff0c;通过前端项目配置后算是解决了&#xff0c;然后&#xff0c;又开始了新的报错 403 ERR_BAD_REQUEST。但是 GET 请求是正常的。 后端的 Controller 接口代码如下&#xff1a; PostMapping(value "/login2&qu…...

【Leetcode】重排链表、旋转链表、反转链表||

目录 &#x1f4a1;重排链表 题目描述 方法一&#xff1a; 方法二&#xff1a; &#x1f4a1;旋转链表 题目描述 方法&#xff1a; &#x1f4a1;反转链表|| 题目描述 方法&#xff1a; &#x1f4a1;总结 &#x1f4a1;重排链表 题目描述 给定一个单链表 L 的头节…...

RabbitMQ 报错:Failed to declare queue(s):[QD, QA, QB]

实在没想到会犯这种低级错误。 回顾整理一下吧&#xff1a; 原因&#xff1a;SpringBoot主配置类默认只会扫描自己所在的包及其子包下面的组件。其他位置的配置不会被扫描。 如果非要使用其他位置&#xff0c;就需要在启动类上面指定新的扫描位置。注意新的扫描位置会覆盖默…...

Neo4j 5建库

Neo4j 只有企业版可以运行多个库&#xff0c;社区版无法创建多个库&#xff0c;一个实例只能运行一个库&#xff1b; 如果业务需要使用多个库怎么办呢&#xff1f; 就是在一个机器上部署多个实例&#xff0c;每个实例单独一个库名 这个库的名字我们可以自己定义&#xff1b; …...

鲁棒最小二乘法 拟合圆

​​​​​​​​​​​​​​圆拟合算法_基于huber加权的拟合圆算法-CSDN博客 首次拟合圆得到采用的上述blog中的 Ksa Fit 方法。 该方法存在干扰点时&#xff0c;拟合得到的结果会被干扰。 首次拟合圆的方法 因此需要针对外点增加权重因子&#xff0c;经过多次迭代后&…...

LeetCode——动态规划

动态规划 一、一维数组&#xff1a;斐波那契数列 爬楼梯70简单 dp定义&#xff1a; dp[i]表示爬到第i阶有多少种不同的方式 状态转移方程&#xff1a; dp[i] dp[i-1] dp[i-1] &#xff08;每次可以爬1或2个台阶&#xff09; 边界条件&#xff1a; dp[0] 1; dp[1] 1;&#…...

opencv和gdal的读写图片波段顺序问题

最近处理遥感影像总是不时听到 图片的波段错了&#xff0c;一开始不明就里&#xff0c;都是图片怎么就判断错了。 1、图像RGB波段顺序判断 后面和大家交流&#xff0c;基本上知道了一个判断标准。 一般来说&#xff0c;进入人眼的自然画面在计算机视觉中一般是rgb波段顺序表示…...

PyQt 打包成exe文件

参考链接 Python程序打包成.exe(史上最全面讲解)-CSDN博客 手把手教你将pyqt程序打包成exe(1)_pyqt exe-CSDN博客 PyInstaller 将DLL文件打包进exe_怎么把dll文件加到exe里-CSDN博客 自己的问题 按照教程走的话&#xff0c;会出现找不到“mmdeploy_ort_net.dll”文件的报错…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...