首页 文章 精选 留言 我的

精选列表

搜索[CEL策略],共10000篇文章
优秀的个人博客,低调大师

加密货币平台仿冒邮件钓鱼攻击识别体系与综合防御策略研究

数字加密资产交易生态持续扩张背景下,仿冒邮件钓鱼已成为窃取交易所账户凭证、私钥与数字资产的主流社会工程攻击手段。区块链交易不可逆、链上身份弱实名等特性放大了钓鱼诈骗造成的资产损失,传统网络安全边界防护难以覆盖面向普通用户的邮件层欺骗威胁。本文以 Bybit 官方安全指南中仿冒邮件识别与反诈实践为基础样本,系统梳理加密货币场景仿冒钓鱼邮件的技术伪装逻辑、心理操纵范式,拆解域名仿冒、内容胁迫、虚假校验页面、仿冒客服链路四类核心攻击链路;结合反网络钓鱼技术专家芦笛的行业研判,从邮件源校验、专属防伪标识、网页地址风险识别、官方渠道核验四个维度构建分层识别判定框架,针对平台侧技术防御、用户侧行为规范、行业协同反诈三个层面提出闭环防控体系。研究发现,当前钓鱼攻击已实现域名视觉混淆、AI 生成胁迫文案、仿冒多端交互页面的复合化伪装,单一技术拦截或用户警示无法形成有效防护;防伪钓鱼码、域名信誉库、行为压力检测、全渠道官方核验机制组合部署,可将普通用户受骗概率大幅降低。本文成果可为加密货币交易平台邮件安全体系搭建、个人数字资产安全防护、行业反诈标准完善提供实证依据与可落地实施路径。

优秀的个人博客,低调大师

AI 赋能勒索软件攻击效能提升机理与全域防御策略研究

依托 Proofpoint 2026 年全球勒索软件专项调研数据,本次研究以全球 12 个国家 953 名企业安全从业者问卷样本为基础,针对 65% 受攻击组织确认人工智能显著提升勒索攻击成功率这一核心结论展开系统性分析。研究梳理生成式 AI 介入勒索攻击全链路的技术落地路径,厘清 AI 放大社会工程钓鱼、身份仿冒、凭证窃取三大入口攻击的底层机理,对比传统特征型安全防御体系在智能化勒索威胁下的失效逻辑,结合反网络钓鱼技术专家芦笛的一线研判观点,构建覆盖事前资产加固、事中多维度智能检测、事后溯源处置的闭环防御框架。实证数据显示,AI 并未创造全新攻击向量,而是通过降低攻击技术门槛、提升欺诈内容真实度、压缩攻击筹备周期,将勒索软件从单一数据加密工具转化为以人为核心的持续性敲诈产业链;40% 企业员工无法识别 AI 生成欺诈内容,37% 支付赎金机构遭遇二次勒索,现有静态安全规则难以适配动态自适应 AI 攻击。研究分层提出政企、金融、制造等行业差异化防护方案,客观评估当前对抗 AI 勒索威胁的技术约束与治理短板,为网络安全运营、企业内控及行业安全标准完善提供可落地理论支撑与实践依据。

优秀的个人博客,低调大师

大型集团企业数据治理方案,以“应用驱动”的数据治理策略 | 行业方案

数据治理是推动大型集团企业转型升级、提升竞争优势、实现高质量发展的重要引擎。 通过搭建大数据平台,实现对业务系统数据的采集、清理、建模、整合,建立一个符合业务需求的数据决策平台,形成企业数字化转型关键能力,支撑数据赋能业务价值,最终推动组织及管理升级,实现数字化转型。 以某拥有多元主业的综合型产业集团为例,该集团众多业务板块的信息化建设各自发展,系统相对独立,数据尚未实现归集交换共享,业务协同联动缺少支撑,数字化运营能力薄弱,制约了集团的内部管控和经营效率的提升。 为此,袋鼠云提出了“1套物理中台+N个逻辑中台+X个场景”的数据治理解决方案,建设集团经营指标及标签体系,在场景化数据应用、消费者精细化营销等方面进行深化改革,发挥统一管控、统一运营和统一服务作用。 围绕以搭数据平台为支撑,以治理为手段,以数据服务为依托的原则。该集团数据治理的具体实施路径可以分为三个阶段:一阶段“搭平台,汇数据”;二阶段“做治理,立标准”;三阶段“建应用,启服务”。 01 搭平台,汇数据 建立集团统一数据中台,基于多租户的隔离机制建设多个二级企业数据中台,既满足集团数据资产管控的要求,也满足二级企业数据应用的建设需求。归集人力、财务、酒店管理、医疗健康等业务板块180个系统核心数据,按照业务需求划分8个主题域,形成430G数据资产,包含2000多项指标和300多个标签。 02 做治理,立标准 在数据归集阶段通过对数据进行全面探查,发现数据存在的问题并形成问题集,在治理阶段结合业务实际需求,制定基础数据标准与指标数据标准。对于接入中台的数据进行标准定义,实现词根统一。各业务板块按照其归属的行业标准形成内部规范。基于数据中台产品实现集团数据资产元数据的统一管理,业务侧数据管理人员负责维护业务元数据,技术数据管理人员负责维护技术元数据,专人专责保障治理效果。针对数据中台运行的数据任务,配置单表校验及多表比对规则,对数据质量进行预警,避免不合格的数据流入生产应用。 03 建应用,启服务 数据应用是从应用场景出发,将已经构建的数据资产通过服务化方式,应用到具体的业务中,发挥数据价值辅助用户更优的做决策(甚至行动)的一种产品形式。它在用户的决策和行动过程中,可以充当信息的分析展示,将数据资产快速形成服务能力并与业务进行对接,在业务中产生数据价值,洞察事物本质。 在搭好平台做好治理的基础之上,开展数据应用及数据服务的建设,包含领导驾驶舱,专题分析报表与数据接口服务。通过整合集团内部与外部数据,构建了集团管理的13个主题驾驶舱,帮助管理者掌握集团“人”“财”“物”家底的动态和二级业务板块的经营实况,例如酒店管理基于项目管理一张图,实现了酒店名片在线化,打造了全国酒店对外数字化展示窗口。 通过建立起支撑4大业务板块的多维度多层次专题分析报表,为各级管理人员提供经营、用户、舆情等多视角的全面洞察,为日常管理决策提供及时准确的数据信息。通过数据中台提供统一数据接口服务,在数据服务安全可控的前提下,实现数据在内部的跨业务共享利用。 《数栈产品白皮书》:https://www.dtstack.com/resources/1004?src=szsm 《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szsm 想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szkyzg 同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术qun」,交流最新开源技术信息,qun号码:30537511,项目地址:https://github.com/DTStack

优秀的个人博客,低调大师

Dubbo负载均衡策略之 一致性哈希 | 京东云技术团队

本文主要讲解了一致性哈希算法的原理以及其存在的数据倾斜的问题,然后引出解决数据倾斜问题的方法,最后分析一致性哈希算法在Dubbo中的使用。通过这篇文章,可以了解到一致性哈希算法的原理以及这种算法存在的问题和解决方案。 一、负载均衡 在这里引用dubbo官网的一段话—— LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。负载均衡可分为软件负载均衡和硬件负载均衡。在我们日常开发中,一般很难接触到硬件负载均衡。但软件负载均衡还是可以接触到的,比如 Nginx。在 Dubbo 中,也有负载均衡的概念和相应的实现。Dubbo 需要对服务消费者的调用请求进行分配,避免少数服务提供者负载过大。服务提供者负载过大,会导致部分请求超时。因此将负载均衡到每个服务提供者上,是非常必要的。Dubbo 提供了4种负载均衡实现,分别是基于权重随机算法的 RandomLoadBalance、基于最少活跃调用数算法的 LeastActiveLoadBalance、基于hash 一致性的 ConsistentHashLoadBalance,以及基于加权轮询算法的 RoundRobinLoadBalance。这几个负载均衡算法代码不是很长,但是想看懂也不是很容易,需要对这几个算法的原理有一定了解才行。 二、哈希算法 图1 无哈希算法请求 如上所示,假设0,1,2号服务器都存储的有用户信息,那么当我们需要获取某用户信息时,因为我们不知道该用户信息存放在哪一台服务器中,所以需要分别查询0,1,2号服务器。这样获取数据的效率是极低的。 对于这样的场景,我们可以引入哈希算法。 图2 引入哈希算法后的请求 还是上面的场景,但前提是每一台服务器存放用户信息时是根据某一种哈希算法存放的。所以取用户信息的时候,也按照同样的哈希算法取即可。 假设我们要查询用户号为100的用户信息,经过某个哈希算法,比如这里的userId mod n,即100 mod 3结果为1。所以用户号100的这个请求最终会被1号服务器接收并处理。 这样就解决了无效查询的问题。 但是这样的方案会带来什么问题呢? 扩容或者缩容时,会导致大量的数据迁移。最少也会影响50%的数据。 图3 增加一台服务器 为了说明问题,加入一台服务器3。服务器的数量n就从3变成了4。还是查询用户号为100的用户信息时,100 mod 4结果为0。这时,请求就被0号服务器接收了。 当服务器数量为3时,用户号为100的请求会被1号服务器处理。 当服务器数量为4时,用户号为100的请求会被0号服务器处理。 所以,当服务器数量增加或者减少时,一定会涉及到大量数据迁移的问题。 对于上述哈希算法其优点是简单易用,大多数分库分表规则就采取的这种方式。一般是提前根据数据量,预先估算好分区数。 其缺点是由于扩容或收缩节点导致节点数量变化时,节点的映射关系需要重新计算,会导致数据进行迁移。所以扩容时通常采用翻倍扩容,避免数据映射全部被打乱,导致全量迁移的情况,这样只会发生50%的数据迁移。 三、一致性哈希算法 **一致性 hash 算法由麻省理工学院的 Karger 及其合作者于1997年提出的,算法提出之初是用于大规模缓存系统的负载均衡。**它的工作过程是这样的,首先根据 ip 或者其他的信息为缓存节点生成一个 hash,并将这个 hash 投射到 [0, 232 - 1] 的圆环上。当有查询或写入请求时,则为缓存项的 key 生成一个 hash 值。然后查找第一个大于或等于该 hash 值的缓存节点,并到这个节点中查询或写入缓存项。如果当前节点挂了,则在下一次查询或写入缓存时,为缓存项查找另一个大于其 hash 值的缓存节点即可。大致效果如下图所示,每个缓存节点在圆环上占据一个位置。如果缓存项的 key 的 hash 值小于缓存节点 hash 值,则到该缓存节点中存储或读取缓存项。比如下面绿色点对应的缓存项将会被存储到 cache-2 节点中。由于 cache-3 挂了,原本应该存到该节点中的缓存项最终会存储到cache-4节点中。 图4 一致性哈希算法 在一致性哈希算法中,不管是增加节点,还是宕机节点,受影响的区间仅仅是增加或者宕机服务器在哈希环空间中,逆时针方向遇到的第一台服务器之间的区间,其它区间不会受到影响。 但是一致性哈希也是存在问题的: 图5 数据倾斜 当节点很少的时候可能会出现这样的分布情况,A服务会承担大部分请求。这种情况就叫做数据倾斜。 那如何解决数据倾斜的问题呢? 加入虚拟节点。 首先一个服务器根据需要可以有多个虚拟节点。假设一台服务器有n个虚拟节点。那么哈希计算时,可以使用IP+端口+编号的形式进行哈希值计算。其中的编号就是0到n的数字。由于IP+端口是一样的,所以这n个节点都是指向的同一台机器。 图6 引入虚拟节点 在没有加入虚拟节点之前,A服务器承担了绝大多数的请求。但是假设每个服务器有一个虚拟节点(A-1,B-1,C-1),经过哈希计算后落在了如上图所示的位置。那么A服务器的承担的请求就在一定程度上(图中标注了五角星的部分)分摊给了B-1、C-1虚拟节点,实际上就是分摊给了B、C服务器。 一致性哈希算法中,加入虚拟节点,可以解决数据倾斜问题。 四、一致性哈希在DUBBO 中的应用 图7 Dubbo中一致性哈希环 这里相同颜色的节点均属于同一个服务提供者,比如 Invoker1-1,Invoker1-2,……, Invoker1-160。这样做的目的是通过引入虚拟节点,让 Invoker 在圆环上分散开来,避免数据倾斜问题。所谓数据倾斜是指,由于节点不够分散,导致大量请求落到了同一个节点上,而其他节点只会接收到了少量请求的情况。比如: 图8 数据倾斜问题 如上,由于 Invoker-1 和 Invoker-2 在圆环上分布不均,导致系统中75%的请求都会落到 Invoker-1 上,只有 25% 的请求会落到 Invoker-2 上。解决这个问题办法是引入虚拟节点,通过虚拟节点均衡各个节点的请求量。 到这里背景知识就普及完了,接下来开始分析源码。我们先从 ConsistentHashLoadBalance 的 doSelect 方法开始看起,如下: public class ConsistentHashLoadBalance extends AbstractLoadBalance { private final ConcurrentMap<String, ConsistentHashSelector<?>> selectors = new ConcurrentHashMap<String, ConsistentHashSelector<?>>(); @Override protected <T> Invoker<T> doSelect(List<Invoker<T>> invokers, URL url, Invocation invocation) { String methodName = RpcUtils.getMethodName(invocation); String key = invokers.get(0).getUrl().getServiceKey() + "." + methodName; // 获取 invokers 原始的 hashcode int identityHashCode = System.identityHashCode(invokers); ConsistentHashSelector<T> selector = (ConsistentHashSelector<T>) selectors.get(key); // 如果 invokers 是一个新的 List 对象,意味着服务提供者数量发生了变化,可能新增也可能减少了。 // 此时 selector.identityHashCode != identityHashCode 条件成立 if (selector == null || selector.identityHashCode != identityHashCode) { // 创建新的 ConsistentHashSelector selectors.put(key, new ConsistentHashSelector<T>(invokers, methodName, identityHashCode)); selector = (ConsistentHashSelector<T>) selectors.get(key); } // 调用 ConsistentHashSelector 的 select 方法选择 Invoker return selector.select(invocation); } private static final class ConsistentHashSelector<T> {...} } 如上,doSelect 方法主要做了一些前置工作,比如检测 invokers 列表是不是变动过,以及创建 ConsistentHashSelector。这些工作做完后,接下来开始调用 ConsistentHashSelector 的 select 方法执行负载均衡逻辑。在分析 select 方法之前,我们先来看一下一致性 hash 选择器 ConsistentHashSelector 的初始化过程,如下: private static final class ConsistentHashSelector<T> { // 使用 TreeMap 存储 Invoker 虚拟节点 private final TreeMap<Long, Invoker<T>> virtualInvokers; private final int replicaNumber; private final int identityHashCode; private final int[] argumentIndex; ConsistentHashSelector(List<Invoker<T>> invokers, String methodName, int identityHashCode) { this.virtualInvokers = new TreeMap<Long, Invoker<T>>(); this.identityHashCode = identityHashCode; URL url = invokers.get(0).getUrl(); // 获取虚拟节点数,默认为160 this.replicaNumber = url.getMethodParameter(methodName, "hash.nodes", 160); // 获取参与 hash 计算的参数下标值,默认对第一个参数进行 hash 运算 String[] index = Constants.COMMA_SPLIT_PATTERN.split(url.getMethodParameter(methodName, "hash.arguments", "0")); argumentIndex = new int[index.length]; for (int i = 0; i < index.length; i++) { argumentIndex[i] = Integer.parseInt(index[i]); } for (Invoker<T> invoker : invokers) { String address = invoker.getUrl().getAddress(); for (int i = 0; i < replicaNumber / 4; i++) { // 对 address + i 进行 md5 运算,得到一个长度为16的字节数组 byte[] digest = md5(address + i); // 对 digest 部分字节进行4次 hash 运算,得到四个不同的 long 型正整数 for (int h = 0; h < 4; h++) { // h = 0 时,取 digest 中下标为 0 ~ 3 的4个字节进行位运算 // h = 1 时,取 digest 中下标为 4 ~ 7 的4个字节进行位运算 // h = 2, h = 3 时过程同上 long m = hash(digest, h); // 将 hash 到 invoker 的映射关系存储到 virtualInvokers 中, // virtualInvokers 需要提供高效的查询操作,因此选用 TreeMap 作为存储结构 virtualInvokers.put(m, invoker); } } } } } ConsistentHashSelector 的构造方法执行了一系列的初始化逻辑,比如从配置中获取虚拟节点数以及参与 hash 计算的参数下标,默认情况下只使用第一个参数进行 hash。需要特别说明的是,ConsistentHashLoadBalance 的负载均衡逻辑只受参数值影响,具有相同参数值的请求将会被分配给同一个服务提供者。ConsistentHashLoadBalance 不 关系权重,因此使用时需要注意一下。 在获取虚拟节点数和参数下标配置后,接下来要做的事情是计算虚拟节点 hash 值,并将虚拟节点存储到 TreeMap 中。到此,ConsistentHashSelector 初始化工作就完成了。接下来,我们来看看 select 方法的逻辑。 public Invoker<T> select(Invocation invocation) { // 将参数转为 key String key = toKey(invocation.getArguments()); // 对参数 key 进行 md5 运算 byte[] digest = md5(key); // 取 digest 数组的前四个字节进行 hash 运算,再将 hash 值传给 selectForKey 方法, // 寻找合适的 Invoker return selectForKey(hash(digest, 0)); } private Invoker<T> selectForKey(long hash) { // 到 TreeMap 中查找第一个节点值大于或等于当前 hash 的 Invoker Map.Entry<Long, Invoker<T>> entry = virtualInvokers.tailMap(hash, true).firstEntry(); // 如果 hash 大于 Invoker 在圆环上最大的位置,此时 entry = null, // 需要将 TreeMap 的头节点赋值给 entry if (entry == null) { entry = virtualInvokers.firstEntry(); } // 返回 Invoker return entry.getValue(); } 如上,选择的过程相对比较简单了。首先是对参数进行 md5 以及 hash 运算,得到一个 hash 值。然后再拿这个值到 TreeMap 中查找目标 Invoker 即可。 到此关于 ConsistentHashLoadBalance 就分析完了。 在阅读ConsistentHashLoadBalance 源码之前,建议读者先补充背景知识,不然看懂代码逻辑会有很大难度。 五、应用场景 DNS负载均衡最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。 代理服务器负载均衡使用代理服务器,可以将请求转发给内部的服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。 地址转换网关负载均衡支持负载均衡的地址转换网关,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。 协议内部支持负载均衡除了这三种负载均衡方式之外,有的协议内部支持与负载均衡相关的功能,例如HTTP协议中的重定向能力等,HTTP运行于TCP连接的最高层。 NAT负载均衡NAT(Network Address Translation网络地址转换)简单地说就是将一个IP地址转换为另一个IP地址,一般用于未经注册的内部地址与合法的、已获注册的Internet IP地址间进行转换。适用于解决Internet IP地址紧张、不想让网络外部知道内部网络结构等的场合下。 反向代理负载均衡普通代理方式是代理内部网络用户访问internet上服务器的连接请求,客户端必须指定代理服务器,并将本来要直接发送到internet上服务器的连接请求发送给代理服务器处理。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。 混合型负载均衡在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。将这种方式称之为混合型负载均衡。此种方式有时也用于单台均衡设备的性能不能满足大量连接请求的情况下。 作者:京东物流 乔杰 来源:京东云开发者社区

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册