首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

第64篇:史上最严重APT供应链攻击事件,借助Solarwinds攻击欧美的流程图梳理和分析(上篇)

1 第一阶段武器: 分发工具:这个工具没有具体命名,用于将Sunspot攻击工具,批量投放到100多台编译虚拟机。...然后Sunspot会将原有合法dll文件恢复,从所有虚拟机中将自身删除,清理痕迹。...攻击者通过监控Solarwinds公司邮件,得知受害者已经察觉了攻击行为,所以果断删除所有虚拟机Sunspot工具,那么安全人员是如何发现APT组织遗留攻击武器及样本呢?...正常情况下,SolarWinds研发工程师会在后续删除这些快照,但是不知道为啥没有删除。幸运是,这个虚拟机快照中正好保留了Sunspot工具,更幸运是,软件工程师一直没有删除此快照。...该APT组织通过监视Solarwinds公司部分人员邮件往来,发现自己攻击行为有可能暴露,于是删除了在Orion软件构建环境Sunspot和Sunburst后门样本。

48720

你可能并不懂 Apache Pulsar 消息存储模型

那么包含 m4 在内所有的消息状态都会被标记为可删除状态。在 Pulsar ,使用 MarkDeletePosition 来标记这个位置。之后所有消息,代表这个订阅还没有消费消息。...上面我们描述了,单个订阅在单条 Ack 和批量 Ack 混合场景下,Topic cursor 移动情况。...在 Pulsar ,针对 Backlog 有两个指标,具体如下: msgBacklog: 记录所有未被 Ack entries 集合 backlogSize:记录所有没有被 Ack 消息大小...因为在 bk ,允许操作最小单元是一个 segment,所以在具体 msg(entry)级别,是没办法针对一条消息进行删除删除操作需要针对一个 segment 来进行操作。...Ack 会去更新 Topic Cursor 位置 当某条消息被所有订阅者都 Ack 之后,这条消息进入【可以被删除状态 所有没有被确认消息会一直保存在 Subscription backlog

1.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

第67篇:美国安全公司溯源分析Solarwinds供应链攻击事件全过程

他们很快发现,他们需要一些日志并不存在,SolarWinds无法追踪所有内容,并且一些日志已被攻击者删除或随着时间推移被新日志数据覆盖。...遗留编译虚拟机快照成为突破口 随后SolarWinds公司一直在想办法查找入侵者是如何将Orion恶意dll文件放入编译服务器,最终在2021年1月5日,一个SolarWinds工程师发现了一个旧虚拟机快照留存...但是,如果构建过程某个部分因某种原因失败,TeamCity会创建一个“内存转储”快照在发生故障虚拟机,该快照包含故障发生时虚拟机所有内容。...这个快照是在2020年2月软件构建中留下,通常SolarWinds工程师会在后续清理过程删除这些快照,但是幸运是,他们没有删除这个快照。...构建系统随后获取了经过攻击者修改dll文件并将其编译到Orion软件更新包,整个操作只需要几秒钟时间。 但是在6月4日,攻击者突然从构建服务器删除了Sunspot,并清理了许多痕迹。

67920

JavaScript几种常用设计模式

/ 向容器填入,将来准备批量使用对象 this.skills.push(task); } // 用来批量执行功能 action...,执行组合器启动功能 c.action(); // 在内部,会自动执行所有已经组合起来对象功能 3.观察者模式 也称发布-订阅模式,定义了对象间一种一对多依赖关系,当一个对象状态发生改变时...发布者:发布信息,会随时更新自身信息或状态。 订阅者:接收信息,接收到发布者发布信息,从而做出对应改变或执行,订阅者可以随时加入或离开。...消息 Observer.prototype.on = function(type, cb){ // 判断事件容器有没有当前传进来这个类型 // 如何没有,走...){ // 如果有,那么就在当前消息处理函数队列删除这个函数 this.msg[type].splice(i, 1);

31310

SolarWinds新0day漏洞正被积极利用

去年作为大规模供应链攻击事件中心 SolarWinds 公司近期再被曝新0day漏洞,该漏洞可使攻击者在受感染系统上运行任意代码,包括安装恶意程序以及查看、更改、或删除敏感数据。...不过,SolarWinds 公司表示此次易受攻击 Serv-U 技术仅应用于 Ser-V Managed File Transfer 和 Serv-U Secure FTP 产品所有其他 SolarWinds...和 N-able(以前称为 SolarWinds MSP) 都不受此问题影响 ,包括 Orion Platform 和所有 Orion Platform 模块。...15.2.3 HF1,然后应用 Serv-U 15.2.3 HF2,可在客户门户获得 | | 15.2.3 之前所有 Serv-U 版本 | 升级到 Serv-U 15.2.3,然后应用 Serv-U...在此次攻击中,攻击者破坏了该公司内部系统,并对2020年3月至2020年6月间发布Orion软件平台源代码和构建进行了木马化。

96720

RocketMQ系列 | 容量削峰填谷后,发送消息“少”了怎么办!!??

解决办法: 1、优化数据刷新逻辑,减少对内存消耗。 通过翻页获取数据方式小步快走方式小批量获取数据、刷新数据。 2、增加RocketMQ消费线程数。从2调整为8。...虽然消息队列逻辑上是无限存储,但由于服务端物理节点存储空间有限,RocketMQ会滚动删除队列存储最早消息。因此,消息最小消费位点和最大消费位点会一直递增变化。...消费位点(ConsumerOffset) RocketMQ领域模型为发布订阅模式,每个主题队列都可以被多个消费者分组订阅。...若某条消息被某个消费者消费后直接被删除,则其他订阅了该主题消费者将无法消费该消息。 因此,RocketMQ通过消费位点管理消息消费进度。...消费位点小于最小消息位点时是无效,相当于消费者要消费消息已经从队列删除了,是无法消费到,此时服务端会将消费位点强制纠正到合法消息位点。

18810

如何在WEBIDE个人版添加其它版本资源库「建议收藏」

SAP 资源库不断在更新,怎么在本地WEBIDE中使用新版本控件呢?答案就是添加相应版本SDK到本地resource库 1....下载所需要版本源 这里下载所需要SDK 2....添加源到WEBIDE 只需要解压resource和test-resource这两个文件夹到本地WEBIDE路径下,参照本地orion所在目录路径 在这个路径下对应下载SDK版本新建一个文件夹...即可 指定了version 1.62.0之后,运行成功一次此时把neo-app.json文件"version": "1.62.0",参数删除,一样可以正常执行,但orion重启之后就不再有效...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

64720

Kafka生成者、消费者、broker基本概念

kafka producer异步发送模式允许进行批量发送,先将消息缓存到内存,然后一次请求批量发送出去。...无状态导致消息删除成为难题(可能删除消息正在被订阅),Kafka采用基于时间SLA(服务保证),消息保存一定时间(通常7天)后会删除。...在kafka,我们可以认为一个group是一个“订阅者”,一个topic每个partions只会被一个“订阅者”一个consumer 消费,不过一个consumer可以消费多个partitions...这种方法有一个缺陷——没有办法删除数据 ,所以Kafka是不会删除数据,它会把所有的数据都保留下来,每个消费者(Consumer)对每个Topic都有一个offset用来表示读取到了第几条数据 。...,直到被消费者解压缩 3、Kafka支持多种压缩协议,包括Gzip和Snappy压缩协议 三、总结 Kafka速度秘诀在于,它把所有的消息都变成一个批量文件,并且进行合理批量压缩,减少网络IO损耗

4.9K41

如何检测并移除WMI持久化后门?

因此,我决定花一些时间研究下EmpireWMI模块,看看有没有可能检测并移除这些WMI持久化后门。此外,文中我还回顾了一些用于查看和移除WMI事件订阅PowerShell命令。...WMI 介绍 WMI是微软基于Web企业管理(WBEM)实现版本,这是一项行业计划,旨在开发用于访问企业环境管理信息标准技术。...如果事件过滤条件为真,那么将会触发相应事件使用者(stager)。 后门移除 最简单办法就是,使用Autoruns从WMI数据库删除条目。...以管理员身份启动Autoruns,并选择WMI选项卡查看与WMI相关持久性后门。 右键单击恶意WMI数据库条目,然后选择“Delete”删除即可。 或者,你也可以从命令行删除WMI事件订阅。...Subscription -Class __FilterToConsumerBinding -Filter “__Path LIKE ‘%Updater%’” 使用Remove-WMIObject命令,移除WMI持久性后门所有组件

1.2K30

SAPI5_SAP-ERP

提供内置 Proxy,解决开发页面运行 cross-origin 问题,方便开发测试。 缺点呢?感觉 IDE 对中文输入支持不好,支持中文显示,但输入比较困难。...个人版使用方法 下载安装文件,解压放在某一个文件夹下,找到安装文件下 orion.exe ,启动服务: 然后在浏览器输入 http://localhost:8080,进入如下界面: 创建一个账号...因为 8080 端口是 Tomcat 默认端口,如果需要变更 Web IDE 端口,打开安装目录下面的 orion.ini 文件,将 -Dorg.eclipse.equinox.http.jetty.http.port...\OrionContent 退出 Web IDE 服务: 在 orion.exe 窗口,输入 exit,程序提示 Really want to stop Equinox?...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除

348100

Web安全Day6 – 业务逻辑漏洞实战攻防

本文由红日安全成员: Orion 编写,如有不当,还望斧正。 大家好,我们是红日安全-Web安全攻防小组。...,waf等设备进行有效安全防护,在我们所测试过平台中基本都有发现,包括任意查询用户信息、任意删除等行为;最严重漏洞出现在账号安全,包括验证码暴力破解、任意用户密码重置、交易支付、越权访问等等。...id进行判断,是否存在,是否符合规则 批量探测用户,发现可以批量探测已注册过用户 建议在提交用户注册信息时判断用户是否存在,避免批量猜解注册用户 既然有注册功能,肯定不可或缺就是忘记密码功能...1.4.4 平行越权 登录普通用户test2,查看用户敏感页面 发送到repteater数据包,看到cookie存在username参数,修改为已存在用户名,发现返回包可查看其他用户敏感信息...验证码生效时间安全限制,无论验证码是否正确都要一分钟后就过期,不能再用。所有的用户登录以及注册,都要与后端服务器进行交互,包括数据库服务器。

1K20

群聊比单聊,凭什么复杂这么多?

(x,A,B,C,D); 步骤3:server去cache查询这些用户在线状态; 步骤4:对于群在线用户A与B,群消息server进行实时推送; 步骤5:对于群离线用户C与D,群消息server...从db删除群用户C群离线消息; 那么,问题来了!...: 步骤1:先拉取所有的离线消息msg_id; 步骤3:再根据msg_id拉取msg_detail; 步骤5:删除离线msg_id; 优化后流程,能保证消息可达性么?...对于离线每一条消息,虽然只存储了msg_id,但是每个用户每一条离线消息都将在数据库中保存一条记录,有没有办法减少离线消息记录数呢?...有没有办法减少ACK请求量呢? 批量ACK,是一种常见,降低请求量方式。

62720

【设计模式】我这样学习设计模式-发布订阅者模式

定义 发布-订阅者模式其实是一种对象间 一对多 依赖关系(利用消息队列)。当一个对象状态(state)发生改变时,所有依赖于它对象都得到状态改变通知。...在 js ,使用 Array 来模拟队列[fn1,fn2,fn3],先定义先执行。 ⭐ 先定义好一个消息队列,需要对象去订阅。对象不再主动触发,而是被动接收。...在这个例子,店员属于发布者,李四属于订阅者;李四将买书事件注册到调度中心,店员作为发布者,当有新书发布时,店员发布该事件到调度中心,调度中心会及时发消息告知李四。...属性:消息队列 * { * 'click':[fn1,fn2,fn3], * 'mouse':[fn1,fn2,fn3] * } * + 能向消息队列里面添加内容 $on * + 能删除消息队列内容...checkbox添加一个切换状态事件 //为所有删除按钮添加一个删除事件 list.addEventListener( 'click', (e: MouseEvent

58730

Redis 客户端服务端交互1 客户端服务端协议

、双工请求/响应模式(pipeline)、原子化批量请求/响应模式(事务)、发布/订阅模式、脚本化批量执行(Lua脚本)。...bulk string 对于string 本身包含了'\r'、'\n' 情况,simple string 不再适用。通常可以使用办法有:转义和长度自描述。...执行阶段:发送完一个批次后,Redis 服务器一次执行队列所有请求。由于单实例使用单线程处理请求,因此不会存在并发问题。...事务结束或者显示unwatch 都会重置redisClient REDIS_DIRTY_CAS 标记,并从redisDb 对应watched_keys 链表删除。...image.gif pubsub_channels map 维护普通channel和订阅关系:key 是channel名字,value是所有订阅者 client 链表; pubsub_patterns

1.8K20

redis设计规范

bigkey 过期时间自动删除问题 (例如一个 200 万 zset 设置 1 小时过期,会触发 del 操作,造成阻塞,而且该操作不会不出现在慢查询 (latency 可查)),查找方法和删除方法选择合适数据类型数据结构.../订阅者模式,用于实现消息发布和订阅机制实时消息通知、事件驱动等 Streams 类似于日志有序消息流 消息队列、事件溯源、实时分析等...4、使用批量操作提高效率原生命令:例如 mget、mset。非原生命令:可以使用 pipeline 提高效率。但要注意控制一次批量操作元素个数 (例如 500 以内,实际也和元素字节数有关)。...其他策略如下:allkeys-lru:根据 LRU 算法删除键,不管数据有没有设置超时属性,直到腾出足够空间为止。allkeys-random:随机删除所有键,直到腾出足够空间为止。...相关工具删除 bigkey案例展示是java操作,可以根据实际情况改写成shell或python脚本1、Hash 删除: hscan + hdelpublic void delBigHash(String

21100

趣讲 ZK 内存模型

孙子节点及以下都不记录 统计数据是给客户端查询,统计数据版本会被用在删除以及更新时作为乐观锁版本号使用 因为使用是哈希表,所以 ZK 查询速度是很快。...直到鸡太美去办事处上传了最新唱跳视频,小F在小红本记录了: 然后小F就会去小黄本查看有没有 /鸡太美/更新视频 订阅,发现有三个村民:坤坤、马小云、东东订阅了此次事件,记住后就会把他们订阅记录和对应事务给删除...,小F在小黄本中找到目标事件订阅之后,是一个个把要通知村民从小黄本上删除,并且整个删除操作也和上一条登记操作是冲突,都需要排队 在小黄本记录村民登记数据时候,一次订阅需要记两条记录,非常占地方...,能不能找个节约点办法 经过缜密思考后 ,马果果找到了优化办法,并且准备传授给小F,让我们和小F一起跟着马果果学习下到底是什么办法吧~ 2.3 小黄本改进之路 前排提醒:以下讲解属于进阶内容,有那么点硬核...马果果不愧是见过世面的人,很快就想到了一个办法,之前新增持久订阅记录,做一下区分不就行了,现在记录变成了这样: 然后在通知时候,检查到当前路径有持久递归订阅的话,就把所有当前路径所有父级路径都检查遍是否有订阅

62730

MQ见解

1) 什么是推模式,什么是拉模式 2) 有没有消息丢失情况,如何防止 3) MQ用来解决什么问题 4) 你们用什么MQ,为什么要用这个,它最大吞吐量是多少 AcitveMQ是作为一种消息存储和分发组件...端才会删除;不过当消息过期或者存储设备溢出时,也会终结它 持久化   非持久化消息是存储在内存,持久化消息是存储在文件 ActiveMQ会将内存非持久化消息写入临时文件,以腾出内存。...虽然都保存到了文件里,但它和持久化消息区别是,重启后持久化消息会从文件恢复,非持久化临时文件会直接删除   设置2G左右持久化文件限制,大量生产持久化消息直到文件达到最大限制,此时生产者阻塞,但消费者可正常连接并消费消息...)放入到本地队列,只要此队列有消息,那么receive方法将会立即返回,当一定量消息ACK之后,broker端会继续批量push消息给client端 使用MessageListener异步获取消息...如果一条消息在转发给“订阅者”时,发现此消息不符合Selector过滤条件,那么此消息将 不会转发给订阅者,消息将会被存储引擎删除(相当于在Broker上确认了消息)

1.1K30

颠覆Kafka统治,新一代云原生消息系统Pulsar震撼来袭!

默认情况下,没有任何持久订阅Topic消息将被标记为已删除。如果要防止消息被标记为已删除,可以为此Topic创建持久订阅。在这种情况下,只有被确认消息才会被标记为已删除。...Broker维护批量索引的确认状态并跟踪每批索引的确认状态,以避免向Consumer发送已确认消息。当该批信息所有索引都被确认后,该批信息将被删除。 默认情况下,索引确认机制处于关闭状态。...如果启用了批量处理,那这一批所有消息都会重新发送给消费者。 消息取消确认也有单条取消模式和累积取消模式,取决于消费者使用订阅模式。...如果启用了批量处理,那这一批所有消息都会重新发送给消费者。...(一)消息确认与留存 Pulsar Broker会默认删除已经被所有Consumer确认消息,并以backlog方式持久化存储所有未被确认内消息。

61210

Q&A第二辑|你最关心云开发问题都在这了

1、批量删除一个集合内多条记录 我们在开发过程,一个集合内有几百条、几千条数据希望全部清空,但是又不想删掉该集合再重建,那应该如何做呢,总不能一条一条删除吧?...云开发控制台可视化操作目前无法做到批量删除一个集合内多条记录,但是这个功能我们可以通过控制台数据库高级操作脚本来轻松进行批量删除,而且还可以创建一个脚本模板,有需要直接点击执行脚本模板做到长期复用...2、如何批量获取云存储fileID以及批量导出数据库里所有数据? 我有很多图片、文件批量导入到了云存储,但是我批量获取这些文件fileID应该怎么做?...我数据库有几十个集合,数据库经常需要备份,每次都要一个个导出非常麻烦,有没有方法? 如果大家有类似的功能,大家可以使用cloudbase-manager-node。...文件可以用来配置权限和定时触发器,比如该云函数需要使用到订阅消息和内容安全两个权限,以及每5秒钟定时发送一次订阅消息,config.json写法如下: { "permissions": {

95420

遇到了消息堆积,但是问题不大

大量消息堆积在MQ几个小时还没解决怎么办呢 一般这种比较着急问题,最好办法就是临时扩容,用更快速度来消费数据 1、临时建立一个新Topic,然后调整queue数量为原来10...,就会造成整个消息队列堆积 RocketMQ分为发布方和订阅方,双方都有负载均衡策略,默认都是采用平均分配,producer消息以轮询方式发送到消息队列queue,broker将这些queue再平均分配到属于同一个...,也就意味着所有消息都是顺序写入到这个文件 而每个消息大小又不是定长,所以这就决定了消息几乎不可能按照消息为单位进行删除,逻辑极其复杂 消息一旦被消费了之后是不会被立即清除,还是会存在于CommitLog...,消费者会更新自己下一次pull位置 CommitLog文件什么时候进行清除 消息存储到该文件之后,也是会被清理,但是这个清理只会在下面这些条件,任一条件成立时候才会批量删除CommitLog...消息文件过期(默认72小时),且磁盘空间达到了水位线(默认75%),删除过期文件。 磁盘已经达到必须释放上限(85%水位线)时候,则开始批量清理文件(无论是否过期),直到空间充足。

39510
领券