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

百家讲坛 | 裴伟伟:企业中安全团队应当如何反馈漏洞

作者简介:裴伟伟,洞源实验室创始人,国家网安基地网络安全行业专家,网安加社区特聘专家,持有CISSP、PMP证书,曾在HITCON、可信云大会、开源产业大会等安全论坛发表演讲。曾任国内某安全实验室负责人、某互金企业安全负责人、某头部SaaS企业首席信息官,负责安全合规、IT审计、软件安全、基础安全、数据安全、安全运维和安全研发等工作,擅长企业安全建设与运营、软件安全开发以及技术团队建设与管理。

无论是做漏洞研究还是做安全测试,最终都需要以文本和图片的方式将安全漏洞的信息呈现给需要理解漏洞的人,这个人可能是漏洞相关产品所在机构的审核人员,也可能是漏洞所属产品的研发人员,或者是产品经理之类的决策或管理人员。

在企业的安全管理中,无论是通过自动化漏洞扫描,还是通过人工安全测试,再或者是和相关团队就安全漏洞进行反馈,安全部门都需要将安全漏洞的信息传递给业务部门进行修复。

但往往出于自身的便捷以及专业理解的偏差,安全团队提交的漏洞信息往往是安全产品原生的报告,或者是略加修饰的报告,从安全人员角度可以很容易理解的报告。对于业务方的产品经理、研发人员、运维人员,在庞杂的工作压力之余查看漏洞信息就像从100份简历中用5分钟筛选值得面试的候选人,“简历”的清晰、简单、易懂成为首选,加之专业名词的应用,使得查看漏洞信息的人可能会对这些专业的漏洞信息有一种莫名其妙、不知所云的感觉。

当然会有技术人员可以很容易,或者稍加注意可以通过漏洞报告发现程序中的漏洞或缺陷,但通用型的漏洞修复方案会增加漏洞修复人员的学习成本和修复成本,不得不花时间和精力就漏洞修复方式进行二次沟通,或者自我学习,倘若是自我学习之后“发现”的修复方式,可能会又会面临漏洞修复不彻底,或者漏洞根本未被修复的尴尬。

笔者曾经遇到某客户的副总看着产品漏洞报告,一脸疑惑的询问漏洞描述中的某专业术语是什么含义,并随口问了与会的研发人员,对方也支支吾吾,而从安全人员的角度这个名词早已众人皆知。

因此,在安全工作中,安全团队反馈给其他团队或部门的漏洞信息如果足够的详实,能够减少很多安全人员与非安全人员之间的沟通成本,尤其是复杂的漏洞或者是危害性高但又从业务角度体现不明显的漏洞,安全人员与非安全人员之间常常会对于漏洞定级产生分歧和争议,比如研发人员认为是低危,安全人员认为是高危,又或者研发人员不认为是漏洞,需要安全人员展示漏洞的危害性,比如安全人员反馈的漏洞是关于SSL/TLS协议的漏洞,或者是HTTP请求中使用了PUT/DELETE等不安全的请求方法,这时安全团队面对研发人员关于漏洞危害性的反问,会陷入无法自证的尴尬局面。

对于企业安全工作,漏洞报告或漏洞信息的根本目的是方便漏洞修复人员理解漏洞,并制定策略、确定优先级、执行修复、排查漏洞和预防同类漏洞再次发生,将内部的协作效率尽可能提升,并降低不必要的内部沟通成本,以及不必要的矛盾,就像用户开着车辆去4S店进行车辆保养,4S店的工作人员找到用户反馈车辆保养中发现的车辆维修或配件问题,用户大概会考虑:

1. 怎么理解这个问题?听不懂的问题没有办法判断要不要解决,可能会白花钱;

2. 理解问题之后,问题能有多严重?不严重的问题可能不用处理,可能会白花钱;

3. 如果问题严重,怎么证明问题的存在,而不是4S店瞎编?只是理论上的严重也可以不用处理,可能会白花钱;

4. 如果问题存在且严重,需要什么代价,用什么方式处理?如果代价过高可能不如过段时间换一辆新车,否则会白花钱。

根据笔者在企业安全建设过程中做安全建设的经验,以及和白帽子对漏洞进行沟通和评估的经验,笔者认为,无论是在企业内部的漏洞信息呈现,还是安全人员作为乙方提供漏洞信息至漏洞平台或甲方公司,漏洞信息或安全报告中的漏洞详情的部分需要体现以下内容:

▪ 漏洞名称:即简洁、清晰、易懂的标题

▪ 漏洞描述:漏洞的上下文关系、漏洞原理以及利用成功后的影响

▪ 漏洞位置:漏洞出现的位置,比如URL、参数、文件或其他资源

▪ 影响范围:漏洞利用成功后受影响的用户、客户或其他目标人群

▪ 漏洞危害:漏洞利用成功后的危害情况简短说明

▪ 漏洞复杂度:漏洞利用的条件和难度的简短说明

▪ 发生概率:发生漏洞被利用的概率,比如:高、中、低

▪ 漏洞严重性:结合漏洞危害和发生概率评估的漏洞严重性,比如:严重、高危、中危、低危 

▪ 复现过程:能够复现漏洞的逐步的操作说明,确保漏洞修复人员可复现漏洞

 修复建议:能够帮助开发者或相关人员修复或缓解漏洞的具体方式

漏洞名称

漏洞名称是对于漏洞信息的简要说明,但不建议在其中使用专业术语或名词,过于简单的漏洞名称和过于专业的漏洞术语对于修复人员而言无法都无法立即了解漏洞的基本情况。

比如,上图中是某漏洞扫描工具导出的扫描报告,其中一个漏洞的名称是:

电话号码

如果将这个漏洞名称进行口头反馈,大概是“您好,我们发现了一个安全漏洞,它的名字叫电话号码”,听到这句话的修复人员大概也会产生一个大大的问号,就像早年有公司宣传的“手机号码中毒”风险。这个漏洞标题过于简单,以至于需要漏洞修复人员仔细查看完整的漏洞描述之后,才能注意到是应用程序的注释或错误信息页面中包含了手机号码信息。

如此,这个漏洞名称应该改为:

XX页面或注释存在电话号码泄露

较为清晰的漏洞名称可以帮助漏洞修复人员在看到漏洞名称后快速初步判断漏洞修复的优先级,并决定是否需要进一步查看该漏洞的后续信息。

漏洞描述

漏洞描述是对于漏洞名称的更加详细的补充,描述用来介绍漏洞的基本原理,以及漏洞在应用程序中的上下文关系,还有一旦漏洞利用成功可能产生的通用的影响(即一般情况下可能会有什么影响)。通过查看详细、精准的漏洞描述,漏洞修复人员能够更准确理解应用程序中的漏洞情况,甚至学习这类漏洞的基本情况,在后续的开放过程中避免类似漏洞的发生。

以上文中的漏洞名称为例,通用的漏洞描述如下:

Web应用程序中错误消息或者代码注释中含有电话号码,可能被用于社会工程学攻击。

这段描述中的“社会工程学”会让多数非安全人员感觉到困惑:什么是社会?还有工程学?是一种学术么?漏洞描述做人人都理解的假设,会让看到漏洞信息的其他技术人员增加漏洞修复的隐性成本。

更为详细的漏洞描述如下:

XX页面路径下包括XX等地址在内的页面注释或页面信息中存在手机号码的泄露,该号码可能会被攻击者用于挖掘、检索更多关于企业和员工的信息,造成更大范围的攻击,或伪装成企业内部人员通过手机通讯诱导企业员工做出符合攻击者意图的操作。

漏洞位置

漏洞位置描述的是发现漏洞的具体位置,包括应用程序中具体的地址、部分以及相应的参数,且能够让修复人员根据位置信息快速定位漏洞。比如:

URL:https://example.com/news (新闻页面)

参数:请求参数page

在安全漏洞响应中,花费时间最多的往往不是漏洞修复方法,而是如何定位漏洞在企业资产中的位置,大到具体的系统,小到具体的代码行,以及相应的责任人,即漏洞响应最终需要将漏洞信息、业务、资产、人员进行关联。因此,详细的漏洞位置也可以帮助技术人员快速应对漏洞的修复。 

影响范围

影响范围是从应用程序的业务角度考虑的,对于安全研究人员或测试人员这通常比较难获取,但对于企业内的安全部门应该是易如反掌的,通常应用的业务影响是由真正使用应用程序的用户或者应用程序的负责人才清除的,这也是为什么安全部门也是业务支撑部门的原因,如果纯粹把部门看作技术部门,那和第三方的安全公司的差异便不大了。另外,从漏洞所在位置的功能也能够了解大概的漏洞影响范围。比如,上文描述的页面或注释信息的电话号码泄露会影响到公司的内部员工或者公司的内部信息保密性。

漏洞危害

漏洞危害是漏洞描述中漏洞利用成功后的影响结合影响范围综合评估的危害程度,需要简单明了说明漏洞一旦被利用成功对于影响范围内的用户、企业或业务的危害情况,危害情况的考虑要分别从以下方面着手:

人身安全、业务稳定性、数据安全性、其他资产安全性、无形资产(品牌、声誉、知识产权、商标等等)。

比如,某个应用系统中存在SQL注入漏洞,可以造成数据库拖库,但这些数据均是该系统的测试数据,且应用也只是是所在企业边缘环境的测试应用,虽然通过注入漏洞可能进一步提权,植入后门,进而横向移动产生更大危害,但就这个SQL注入漏洞而言,无论漏洞类型是什么,或者漏洞描述的危害多么严重,即便漏洞利用成功,对于企业的用户、员工、业务、数据、资产影响也会非常有限,因此这个SQL注入漏洞便不能算作高危及以上漏洞。也就是,漏洞的影响和危害应当像刑法中犯罪行为危害的因果关系的判定,不能无限关联,否则每个漏洞都可以说牵扯到企业的生死存亡。

漏洞复杂度

漏洞复杂度是漏洞利用条件和利用难度的说明,尤其是利用条件,所有的受保护对象都存在漏洞,最极端的攻击方式是物理攻击,物理攻击的难度天花板就是热战争,但对于漏洞信息或者漏洞报告而言,显然其复杂度需要考虑漏洞实际的利用条件,这也可以作为漏洞修复人员制定漏洞修复策略的参考之一。比如在诸如Nessus的漏洞扫描工具扫除的漏洞中,常常会看到SSL/TLS的协议漏洞,但这些漏洞基本都是知道是漏洞,又无法有效利用或者利用条件及其苛刻,又或者利用难度及其高,这个适合倘若运维人员收到这样的漏洞信息,一句话就可以回应漏洞的修复:要不然把这个漏洞复现给我们看看?

发生概率

发生概率是对于漏洞复杂度的更加直接表述,即漏洞被利用的可能性有多大,漏洞利用条件越低,利用难度越小,发生概率越大,反之,利用条件越高,利用难度越大,发生概率越小。漏洞是否进行修复根本上在于发生概率的大小和危害的大小,毕竟风险等于概率(Rate Of Occurrence)乘以危害(Single Loss Expectancy)。

以上文漏洞为例,无论是在企业的安全漏洞测试中,还是在渗透测试过程中,电话号码泄露漏洞被利用的发生概率通常是高,但其危害性也需要安全人员的专业能力和经验加以判断,因为对于社工能力不同的安全人员而言,漏洞利用难度会不同,危害性也会不同,因此不同人的判断结果上也可能会不同。因此在风险评估的定性评估方法中,风险结果的大小因人而异。

漏洞严重性

漏洞严重性是结合漏洞危害和漏洞发生概率综合评估的严重性描述,但通常是基于安全研究人员或安全测试人员个人经验判断,也是漏洞报告最容易产生争议的部分,许多安全人员习惯性的按照漏洞类型进行严重性划分,比如命令行执行是严重,信息泄露是低危,如上文漏洞危害部分的描述,直接按照漏洞类型进行漏洞严重性划分并不严谨。倘若如实描述漏洞危害和发生概率,漏洞严重性的描述也会相对客观。所以,为了客观起见,国外许多漏洞报告中需要安全人员填写CVSS评分,通过CVSS评分规则来确保漏洞严重性的客观性。

复现过程

复现过程是漏洞信息中的最重要部分之一,它能够帮助漏洞修复人员按照步骤一步一步重现漏洞发掘的过程,进而确认漏洞的存在(之所以如此说,也是有安全人员曾经伪造漏洞,以获得工作成果或奖金),以及设计合适的漏洞修复方式。复现过程的重点在于描述的步骤和每个步骤的描述。比如:

1. 访问https://example.com/news?page=1。

2. 在页面中点击鼠标右键,选择“查看网页源代码”。

3. 在网页源代码页面的底部,可以看到存在两个企业员工的手机号码。

如果在复现过程的步骤中需要用到截图展示漏洞的证明(PoC),则需要在截图中通过标注等方式提示漏洞复现过程中提及的漏洞位置、请求、响应等信息。

修复建议

修复建议是从安全人员对于应用程序和漏洞信息掌握的情况,对于漏洞解决方法的详细建议(之所以是建议,是修复人员可以不必采纳,仅供参考),漏洞报告中的漏洞解决思路主要包括缓解(Mitigated)和修正(Remediated),前者是降低漏洞被利用的机率,后者则是彻底解决漏洞,大多数情况下的漏洞修复都应该按照后一种思路设计,但有时候会因为业务的约束或者资源的约束,不得不选择前一种办法,比如典型的情况是某个0-day漏洞被曝光后一时没有合适的修复方法,通过设置WAF规则来降低漏洞被利用概率。

修复建议需要根据漏洞严重性、影响范围以及应用程序的业务和功能需要提出,早年间,修复建议编写的一个不良做法是粗暴的写一句“你懂的”,甚至在企业内部也有安全人员习惯性的用这种高傲的语气描述修复建议,又或者根据漏洞类型给出一个通用的修复方式,比如上文漏洞的通用修复建议是“关闭Web服务器错误提示;确保代码注释中不含有电话号码”。

企业官方网站中的电话号码信息可能是用于业务联系的,按照上述的修复方法显然是和企业业务需求冲突。因此,需要结合该业务需要编写修复建议:

建议将页面中的员工个人手机号码修改为企业座机号码。

当安全行业对于行业外的企业、人员对于安全漏洞的不重视痛心疾首的时候,或许漏洞信息或呈现方式也对于安全漏洞的“漠视”有推波助澜作用,就像文章开头的例子,如果用户在4S店中可以很清晰的得到关于更换汽车火花塞的必要性的详细描述,或许对于用户下决心更滑配件有莫大帮助。

问题名称:汽车行驶里程过大需要更换发动机火花塞

问题描述:汽车火花塞的主要作用是将点火线圈产生的高压电引入发动机燃烧室内,在火花塞电极之间产生电火花,点燃混合气体,从而推动发动机正常运转。汽车行驶里程或汽车使用时间增加,火花塞会逐渐老化,影响到发动机正常启动或发动机性能。

问题位置:汽车发动机,同时工作人员应该展示具体位置的照片。

影响范围:汽车发动机启动异常或者发动机性能下降会导致汽车动力不足,并可能会在汽车启动后,在指示灯中提示发动机故障标识。

问题危害:汽车发动时间变长,反复按启动按钮无法启动,或者在汽车行驶过程中,踩油门发现汽车动力不够,或者在汽车处于怠速时明显感觉到汽车的抖动。

问题复杂度:

发生概率:

问题严重性:严重

复现过程:此处应该拍视频显示火花塞的老化情况或问题情况。 

修复建议:花费60元更换发动机火花塞,每颗火花塞15元。

相关文章:

百家讲坛 | 裴伟伟:企业中安全团队应当如何反馈漏洞

作者简介:裴伟伟,洞源实验室创始人,国家网安基地网络安全行业专家,网安加社区特聘专家,持有CISSP、PMP证书,曾在HITCON、可信云大会、开源产业大会等安全论坛发表演讲。曾任国内某安全实验室负责人、某互金…...

巧用Fiddler中的Comments提升接口测试效率

有没有同学在使用Fiddler时跟我遇到了同样的问题,就是想给某个抓包的请求进行注释!!!但是奇怪的是,根本没有Comments相关信息呀? 设置Comments 设置Comments非常容易,选中一个请求&#xff0c…...

停车场车牌识别计费系统,用Python如何实现?

关注星标,每天学习Python新技能 前段时间练习过的一个小项目,今天再看看,记录一下~ 项目结构 说明: datefile文件夹:保存车辆信息表的xlsx文件 file文件夹:保存图片文件夹。ic_launcher.jpg是窗体的右上角…...

Linux内核——Linux内核体系模式(二)

1 Linux系统的中断机制 Linux内核将中断分为两类:硬件中断和软件中断(异常)。每个中断是由0-255之间的一个数字进行标识。 中断int0-int31(0x00-0x1f)作为异常int32-int255由用户自己设定 int32-int47对应与8259A中断…...

Spring MVC的高级功能——异常处理(一)简单异常处理器

一、HandlerExceptionResolver接口 如果希望对Spring MVC中所有异常进行统一处理,可以使用Spring MVC提供的异常处理器HandlerExceptionResolver接口。Spring MVC内部提供了HandlerExceptionResolver的实现类SimpleMappingExceptionResolver。它实现了简单的异常处理…...

【面试干货】Static关键字的用法详解

【面试干货】Static关键字的用法详解 1、Static修饰内部类2、Static修饰方法3、Static修饰变量4、Static修饰代码块5、总结 💖The Begin💖点点关注,收藏不迷路💖 在Java编程语言中,static是一个关键字,它可…...

软件工程实验

实验环境和需求 用户可以对相片进行按类别管理,用户可以设定不同的类别,然后上传照片到相应的类别中,并能进行照片的删除,注释 运行 运行并访问 localhost 8090,图片在数据库中的信息是D:/upgrade 后面的内容 se…...

对于复杂的网页布局,如多列布局和网格布局,CSS 有哪些最佳实践和技巧?

对于复杂的网页布局,如多列布局和网格布局,以下是一些CSS的最佳实践和技巧: 使用Flexbox或CSS Grid布局:Flexbox和CSS Grid是两个强大的CSS布局模型,可用于实现复杂的网页布局。Flexbox适用于单行或单列布局&#xff0…...

Spring Boot中集成Redis实现缓存功能

Spring Boot中集成Redis实现缓存功能 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨如何在Spring Boot应用程序中集成Redis,实现…...

arco disign vue 日期组件的样式穿透

问题描述: 对日期组件进行样式穿透. 原因分析: 如图,日期组件被展开时它默认将dom元素挂载到body下, 我们的页面在idroot的div 里层, 里层想要穿透外层是万万行不通的. 解决问题: 其实官网提供了参数,但是并没有提供例子, 只能自己摸索着过河. 对于日期组件穿透样式,我们能…...

【深度学习】pytorch训练中的一个大坑

使用的命令:iostat -x 5 可以看到 ssd的利用率已经满了。 之前在的数据集放在了 hdd上,训练结果特别慢。 所以我把它移动到了ssd上,然后训练参数用的 resume, 但是!!!!它把历史记住…...

python全局解释器锁(GIL)

文章目录 1.cpu工作方式2.python全局解释器锁与多线程3.其他语言的多线程4.如何解决假的多线程 1.cpu工作方式 先来先服务(First Come, First Served,FCFS): 最简单的调度算法,按照作业或进程到达的顺序依次执行。没有…...

无人机的起源

无人机起源于20世纪初的早期实验阶段,并随着技术进步逐步发展。无人机,作为现代科技领域中的一项重要创新,已经在全球范围内展现出其巨大的潜力和应用价值。 无人机的历史可以追溯到1917年,美国人艾德温.奥斯特林发明了“飞行训练…...

专题六:Spring源码之初始化容器BeanFactory

上一篇咱们通过一个例子介绍初始化容器上下文相关内容,并通过两个示例代码看到了Spring在设计阶段为我预留的扩展点,和我们应该如何利用这两个扩展点在Spring初始化容器上下文阶段为我们提供服务。这一篇咱们接着往下看。 老这样子下回到refresh方法上来…...

缓存双写一致性(笔记)

缓存更新方案 旁路缓存模式 这是比较多的 旁路缓存模式:缓存有就返回,没有数据库查询,放入缓存返回。 还有些常用缓存策略 读穿透模式 读穿透和旁路很相似,程序不需要关注从哪里读取数据,它只需要从缓存查询数据。…...

运动馆预约管理系统设计

设计一个运动馆预约管理系统,需要考虑到用户需求、系统功能、技术实现和用户体验等多个方面。以下是一个基本的设计框架: 1. 系统目标 提供便捷的运动场地预约服务。 实现运动馆资源的有效管理和利用。 支持在线支付,提高交易效率。 提供数…...

第五届计算机、大数据与人工智能国际会议(ICCBD+AI 2024)

随着科技的飞速发展,计算机、大数据和人工智能等前沿技术已成为推动社会进步的重要力量。为了加强这一领域的学术交流与合作,促进技术创新与发展,第五届计算机、大数据与人工智能国际会议(ICCBDAI 2024)将于2024年11月…...

高效的向量搜索算法——分层可导航小世界图(HNSW)

最近在接触大模型相关内容,发现一种高效的向量搜索算法HNSW,这里做一下记录。 在之前自己也接触过一段时间的复杂网络(网络科学),没想到,将网络科学的思想引入到向量搜索算法中,可以产生令人眼前…...

【MySQL备份】Percona XtraBackup全量备份实战篇

目录 1. 前言 2.准备工作 2.1.环境信息 2.2.创建备份目录 2.3.配置/etc/my.cnf文件 2.4.授予root用户BACKUP_ADMIN权限 3.全量备份 4.准备备份 5.数据恢复 6.总结 "实战演练:利用Percona XtraBackup执行MySQL全量备份操作详解" 1. 前言 本文…...

港口危险货物安全管理人员考试题库(含答案)

一、单选题 1.化学品安全标签内容中警示词有( )种分别进行危害程度的警示。 A、3 B、4 C、5 参考答案:A 2.运输放射性物品,应当使用( )的放射性物品运输包装容器(以下简称运输容器)。 A、专业 B、专用 C、统一 D、定制 参考答案:B 3.库区仪表及计算机监控管理系…...

什么是 JVM( Java 虚拟机),它在 Java 程序执行中扮演什么角色?

JVM,全称Java Virtual Machine,中文译作“Java虚拟机”,它是运行Java程序的软件环境,也是Java语言的核心部分之一。 想象一下,如果你是一位环球旅行家,每到一个新的国家,都需要学习当地的语言才…...

Python容器 之 列表--下标和切片

列表的切片 得到是 新的列表字符串的切片 得到是 新的字符串 如果下标 不存在会报错 list1 [1, 3.14, "hello", False] print(list1)# 获取 列表中 第一个数据 print(list1[0]) # 1# 获取列表中的最后一个数据 print(list1[-1]) # [False]# 获取中间两个数 即 3.1…...

Docker 运行Nacos无法访问地址解决方法

参考我的上一篇文章去配置好镜像加速器,镜像加速器不是配置越多越好,重试次数多了会失败 Dockerhub无法拉取镜像配置阿里镜像加速器-CSDN博客 错误的尝试 最开始按照网上的方式去配了一大堆,发现下不下来。 镜像源地址:https:…...

Stable Diffusion 商业变现与绘画大模型多场景实战

前言 ai绘画软件Stable Diffusion是一种通过模拟扩散过程,将噪声图像转化为目标图像的文生图模型,具有较强的稳定性和可控性,可以将文本信息自动转换成高质量、高分辨率且视觉效果良好、多样化的图像。在日常工作中,ai绘画软件St…...

[CocosCreator]CocosCreator网络通信:https + websocket + protobuf

环境 cocos creator版本:3.8.0 开发语言:ts 操作系统:windows http部分 直接使用 XMLHttpRequest 创建http请求 // _getHttpUrl 方法自己写字符串拼接public httpPostJsonRequest(uri: string, headData: any, data: any, cb: Function…...

并发控制-事务的调度、数据不一致问题(更新丢失、脏读、不可重复读)、非串行调度的的可串行化

一、引言 1、数据库管理系统DBMS的事务处理技术实现的另一个主要功能部分是并发控制机制。并发控制机制完成的功能就是对并发执行的事务进行控制,保证事务的隔离性,从而进一步保持数据库的一致性。 2、事务的并发控制就是对并发执行的不同事务中的数据…...

Golang | Leetcode Golang题解之第202题快乐数

题目: 题解: func isHappy(n int) bool {cycle : map[int]bool{4: true, 6: true, 37: true, 58: true, 89: true, 145: true, 42: true, 20: true}for n ! 1 && !cycle[n] {n step(n)}return n 1 }func step(n int) int {sum : 0for n > …...

算法:哈希表

目录 题目一:两数之和 题目二:判定是否互为字符重排 题目三:存在重复元素I 题目四:存在重复元素II 题目五:字母异位词分组 关于哈希表 哈希表就是存储数据的容器 哈希表的优势是:快速查找某个元素O(…...

自然语言处理基本知识(1)

一 分词基础 NLP:搭建了计算机语言和人类语言之间的转换 1 精确分词,试图将句子最精确的分开,适合文本分析 >>> import jieba >>> content "工信处女干事每月经过下属科室" >>> jieba.cut(content,cut_all …...

Java中的数据加密与安全传输

Java中的数据加密与安全传输 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来探讨一下在Java中如何实现数据加密与安全传输。 随着互联网的普及和网络…...

UG NX二次开发(C++)-根据草图创建拉伸特征(UFun+NXOpen)

1、前言 UG NX是基于特征的三维建模软件,其中拉伸特征是一个很重要的特征,有读者问如何根据草图创建拉伸特征,我在这篇博客中讲述一下草图创建拉伸特征的UG NX二次开发方法,感兴趣的可以加入QQ群:749492565,或者在评论区留言。 2、在UG NX中创建草图,然后创建拉伸特征 …...

TS_开发一个项目

目录 一、编译一个TS文件 1.安装TypeScript 2.创建TS文件 3.编译文件 4.用Webpack打包TS ①下载依赖 ②创建文件 ③启动项目 TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添加静态类型定义构建而成。TypeScript通过TypeScript编译器或…...

2024年华为OD机试真题-传递悄悄话 -C++-OD统一考试(C卷D卷)

2024年OD统一考试(D卷)完整题库:华为OD机试2024年最新题库(Python、JAVA、C++合集) 题目描述: 给定一个二叉树,每个节点上站着一个人,节点数字表示父节点到该节点传递悄悄话需要花费的时间。 初始时,根节点所在位置的人有一个悄悄话想要传递给其他人,求二叉树所有节…...

eclipse基础工程配置( tomcat配置JRE环境)

文章目录 I eclipse1.1 工程配置1.2 编译工程1.3 添加 JRE for the project build pathII tomcat配置JRE环境2.1 Eclipse编辑tomcat运行环境(Mac版本)2.2 Eclipse编辑tomcat运行环境(windows版本)2.3 通过tomcat7W.exe配置运行环境(windows系统)I eclipse 1.1 工程配置 …...

Spring Boot 学习第八天:AOP代理机制对性能的影响

1 概述 在讨论动态代理机制时,一个不可避免的话题是性能。无论采用JDK动态代理还是CGLIB动态代理,本质上都是在原有目标对象上进行了封装和转换,这个过程需要消耗资源和性能。而JDK和CGLIB动态代理的内部实现过程本身也存在很大差异。下面将讨…...

Linux[高级管理]——Squid代理服务器的部署和应用(传统模式详解)

🏡作者主页:点击! 👨‍💻Linux高级管理专栏:点击! ⏰️创作时间:2024年6月24日11点11分 🀄️文章质量:95分 目录 ————前言———— Squid功能 Squ…...

使用Vue 2 + Element UI搭建后台管理系统框架实战教程

后台管理系统作为企业内部的核心业务平台,其界面的易用性和功能性至关重要。Vue 2作为一个成熟的前端框架,以其轻量级和高效著称,而Element UI则是一套专为桌面端设计的Vue 2组件库,它提供了丰富的UI元素和组件,大大简…...

Carla安装教程

1.前言 对于从事自动驾驶的小伙伴而言,或多或少应该都接触过一些的仿真软件,今天要给大家介绍的这款仿真软件应该算的上是业界非常有名的一款仿真软件——carla。 目前carla的学习教程也还是蛮多的,但是写的都不是很全,在配置的…...

【PYG】处理Cora数据集分类任务使用的几个函数log_softmax,nll_loss和argmax

文章目录 log_softmax解释作用示例解释输出 nll_loss解释具体操作示例代码解释 nll_losslog_softmaxcross_entropy解释代码示例解释 argmax()解释作用示例代码解释示例输出 log_softmax F.log_softmax(x, dim1) 是 PyTorch 中的一个函数,用于对输入张量 x 应用 log…...

Labview绘制柱状图

废话不多说,直接上图 我喜欢用NXG风格,这里我个人选的是xy图。 点击箭头指的地方 选择直方图 插值选择第一个 直方图类型我选的是第二个效果如图。 程序部分如图。 最后吐槽一句,现在看CSDN好多文章都要收费了,哪怕一些简单的入…...

使用Python实现一个简单的密码管理器

文章目录 一、项目概述二、实现步骤2.1 安装必要的库2.2 设计密码数据结构2.3 实现密码加密和解密2.4 实现主要功能2.4.1 添加新密码2.4.2 显示所有密码2.4.3 查找特定密码2.4.4 更新密码2.4.5 删除密码 2.5 实现用户界面 三、代码示例3.1 加密和解密示例3.2 用户界面示例 在现…...

【云原生】服务网格(Istio)如何简化微服务通信

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、微服务架构的兴起 2、Istio:服务网格的佼…...

spring boot 整合 sentinel

注意版本问题 我这是jdk11 、spring boot 2.7.15 、 alibaba-sentinel 2.1.2.RELEASE <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.15</version><…...

蜜雪冰城小程序逆向

app和小程序算法一样 小程序是wasm...

pbootcms提交留言成功后跳转到指定的网址

pbootcms在线留言表单提交成功后&#xff0c;如何跳转到指定的网址&#xff0c;默认提交留言后留在原来的页面&#xff0c;如果提交后需要跳转到指定网址&#xff0c;我们需要对文件进行修改。首先我们打开/core-/function/helper.php文件找到第162行左右代码&#xff1a; ech…...

16、matlab求导、求偏导、求定积分、不定积分、数值积分和数值二重积分

0&#xff09;前言 在MATLAB中&#xff0c;对函数进行不同形式的求导、求积分操作是非常常见的需求&#xff0c;在工程、科学等领域中经常会用到。以下是关于求导、求积分以及数值积分的简介&#xff1a; 求导&#xff1a;在MATLAB中可以使用diff函数对函数进行求导操作。diff…...

MySQL 9.0创新版发布!功能又进化了!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…...

后端系统的安全性

后端系统的安全性 后端系统的安全性是任何Web应用或服务的核心组成部分&#xff0c;它涉及保护数据、用户隐私以及系统免受恶意攻击。以下是后端安全的一些关键点&#xff1a; 认证和授权&#xff1a;确保只有经过身份验证的用户才能访问特定资源。这通常包括使用用户名/密码…...

.net 百度翻译接口核心类

百度翻译api &#xff1a;http://developer.baidu.com/wiki/index.php?title帮助文档首页/百度翻译/翻译AP 核心翻译类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Newtonsoft.Json; using System.Net; using System.I…...

安卓应用开发学习:通过腾讯地图SDK实现定位功能

一、引言 这几天有些忙&#xff0c;耽误了写日志&#xff0c;但我的学习始终没有落下&#xff0c;有空我就会研究《 Android App 开发进阶与项目实战》一书中定位导航方面的内容。在我的手机上先后实现了“获取经纬度及地理位置描述信息”和“获取导航卫星信息”功能后&#x…...

R可视化数据必要格式——长格式

一、引言 我们在对数据进行可视化时遇到最头疼、最常见的问题是什么&#xff1f;数据问题。 因为我们往往不会从零自己编程进行可视化&#xff0c;往往是现有模板或积累&#xff0c;而正确的数据格式对应正确的图形包要求&#xff0c;一定会正确出图&#xff0c;所以只有一个问…...

3.js - 模板渲染 - 简单

3.js 真tm枯燥啊&#xff0c;狗都不学 效果图 源码 // ts-nocheck// 引入three.js import * as THREE from three// 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls// 导入lil.gui import { GUI } from three/examples/jsm/libs/li…...

自动化设备上位机设计 三

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 using SqlSugar;namespace 自动化上位机设计 {public partial class Form1 : Form{SqlHelper sqlHelper new SqlHelper();SqlSugarClient dbContent null;bool IsRun false;int Count 0;public Form1(){Initializ…...

linux 服务器与本地文件传输

相信有的小伙伴在刚开始接触linux时&#xff0c;不知道如何把文件上传到linux中&#xff0c;本文介绍两种方式供大家使用&#xff08;推荐使用第二种&#xff09; 一.scp传输 scp C:\\..... root165.3.3.3 /root/.....使用上述指令&#xff0c;即可实现将制定文件传输到服务…...

借助ollama在linux离线环境上部署大模型

在mac上使用ollama下载并部署想要的模型。在linux上离线安装ollama&#xff1a;ollama离线安装。将mac的ollama的.ollama目录&#xff08;~/.ollama/&#xff09;完整拷贝到linux上&#xff08;/usr/share/ollama/.ollama/&#xff09;&#xff1a;拷贝ollama模型&#xff0c;从…...

VSCode打开其它IDE项目注释显示乱码的解决方法

问题描述&#xff1a;VSCode打开Visual Studio&#xff08;或其它IDE&#xff09;工程&#xff0c;注释乱码&#xff0c;如下图所示&#xff1a; 解决方法&#xff1a;点击VSCode右下角的UTF-8&#xff0c;根据提示点击“通过编码重新打开”&#xff0c;再选择GB2312&#xff0…...

540°全域透明底盘“爸”气从容跨越障碍

无论孩子多大,在学业或工作上遇到的障碍,父亲总会以更宽广的视野为我们拨开云雾。为给全家人带来开挂级的开阔视野,而奇瑞舒享家配备540全域透明底盘,透明底盘+360高清全景影像,让障碍无处遁形。且可实现高清2D/3D视图切换,全方位观察车辆周围及车底的情况,一目了然;还…...

售价53.86万元新款奔驰E350eL插混版正式上市

6月1日,在 2024 粤港澳车展上,新款梅赛德斯-奔驰 E 350e L 插混版正式上市,售价 53.86 万元。外观方面,新车整体依旧延续燃油版车型的样子,标志性的“花生”大灯,大尺寸格栅以及立标等元素均得以保留。尺寸方面,新车也是保持一直,长宽高分别为 5092/1880/1489mm,轴距为…...

车身结构的匠心打造:星途揽月与传祺GS8的安全对决

在谈论汽车的安全性时,车身结构作为一个核心要素,其重要性不言而喻。今天,我们将对两款备受瞩目的SUV——星途揽月和传祺GS8的车身结构进行深入剖析。我们将详细探讨这两款车型在车身设计上如何精益求精,通过独特的匠心独运,旨在为乘客提供最为周全和最大程度的保护,从而…...

python生成词云图

生成词云图的话需要先对数据进行分词处理 , 分词方法点击查看 import pandas as pd from collections import Counter from wordcloud import WordCloud import matplotlib.pyplot as plt# 假设您已经按照之前的步骤处理了数据&#xff0c;并且处理后的数据保存在comments_proc…...

[双指针] --- 快乐数 盛最多水的容器

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; 算法Journey 本篇博客我们分享一下双指针算法中的快慢指针以及对撞双指针&#xff0c;下面我们开始今天的学习吧~ &#x1f3e0; 快乐数 &#x1f4d2; 题…...

基于广义极大极小凹惩罚的心电信号降噪方法(MATLAB R2021B)

凸优化是数学最优化的一个子领域&#xff0c;研究定义于凸集中的凸函数最小化问题。由于心电信号降噪的过程可以理解为求信号的稀疏近似解&#xff0c;因此基于凸优化和稀疏性表达的去噪方法可用于心电信号处理。在凸优化的数学模型中&#xff0c;惩罚项的选取对最终结果会产生…...