## WireGuard 超越 VPN:一个新的 .NET 库 WireGuard 经常被认为是 VPN 应用程序,但其核心是一个现代加密协议,基于 Noise 和 ChaCha20-Poly1305 构建,旨在加密 UDP 数据报。该协议可以在*没有* VPN 的情况下使用,为任何基于 UDP 的应用程序提供精简的加密层。 传统的加密传输依赖于基于 TCP 的 TLS,但 TCP 会引入诸如队头阻塞、移动期间的连接重置以及在丢包链路上的拥塞控制问题等问题——所有这些都会导致延迟和可靠性问题。WireGuard 通过**无状态**设计解决了这些问题:没有复杂的握手,不依赖 PKI,以及自动密钥轮换。 一个新的开源 .NET 库 `WireGuardClient` 简化了该协议的集成。它与 `UdpClient` API 兼容,只需最少的代码更改即可添加加密。这对于物联网、移动和游戏应用程序尤其有价值,在这些应用程序中,可靠的低延迟通信至关重要。 结合 Proxylity 的 UDP 网关等服务,`WireGuardClient` 提供了一种轻量级的 VPN 和复杂 TLS 设置的替代方案,以最小的运营足迹提供安全的 UDP 传输。该库可在 GitHub 和 NuGet 上获得,提供了一个简单且可审计的增强安全解决方案。
## HTTPS 安全的复杂与缺陷
十多年来,推动使用 HTTPS 加密网络流量旨在保护用户免受监控和安全威胁。然而,支撑这种安全性的系统——WebPKI(公钥基础设施)——却出乎意料地脆弱且存在诸多问题。
WebPKI 依赖于证书颁发机构 (CA) 来验证网站身份,但这些 CA 在复杂的政治和经济环境中运作,常常将利润置于安全之上。最近的事件,例如 Entrust 延迟撤销有缺陷的证书以及微软发布数百万个带有无效声明的证书,凸显了系统性问题:响应时间慢、难以准确跟踪证书以及缺乏问责制。
该系统进一步复杂化于不同的证书验证级别(DV、OV、EV)以及证书撤销方法面临的持续挑战。虽然证书透明度和 ACME(自动化证书管理)等解决方案存在,但它们并非万无一失。最终,当前系统往往偏向于证书颁发者和订阅者的便利性,而非普通用户的安全。
需要改进,包括更严格的 CA 法规、增加审计以及转向为内部系统使用私有 CA。虽然个人用户权力有限,但提高意识并要求 CA 和浏览器开发者采取更好的实践对于加强网络安全至关重要。
全球医疗技术公司史赛克(Stryker)正面临一起由伊朗黑客组织Handala发起的重大网络攻击,该组织与伊朗情报机构有关联。该组织声称对史赛克在79个国家/地区的超过20万个系统进行了数据擦除攻击,导致办公室关闭,并使超过5000名爱尔兰员工被遣回家。
Handala声称,此次攻击是通过微软Intune的远程擦除功能执行的,是对近期美国在伊朗的一次导弹袭击的报复。他们篡改了登录页面,并声称拥有被盗数据。虽然史赛克尚未完全详细说明损失程度,但报告显示系统广泛中断和设备被擦除,影响了通信并可能影响供应链。
此次攻击已经造成破坏,一家美国医疗保健提供商报告称无法订购史赛克的 surgical supplies(手术用品)。安全专家警告说,这可能会升级为全国医院更广泛的供应链问题。调查正在进行中,美国医院协会正在监测情况,以评估其对美国医院运营的潜在影响。
## 油价上涨,尽管已释放储备
尽管主要国家协调一致地从战略储备中释放创纪录的4亿桶石油,但周四油价仍大幅上涨,突破每桶100美元。 涨价是由涉及伊朗的紧张局势加剧推动的,包括对霍尔木兹海峡(全球能源供应的关键水道)的船只袭击。
伊朗警告称油价可能达到每桶200美元,并指责美国和以色列造成地区不稳定。 尽管国际能源署的释放具有历史意义,但专家认为,只要供应风险持续存在,这只能是权宜之计。
油价上涨正在影响全球燃料成本,菲律宾、泰国和越南等国正经历加油站排长队的情况。 一些国家正在实施节能措施,例如政府工作居家政策和缩短工作周,以减轻影响。 在美国和以色列最近对伊朗的空袭之后,全球市场仍然动荡。
## 从冻结到快速:性能深度剖析
本文详细介绍了优化 Matrix Rust SDK 中房间列表的过程,最初该列表受到看似随机的冻结和显著性能问题的影响。问题源于使用 `VectorDiff` 表示变更的反应式流处理系统中的低效排序。初步调查显示,排序过程中存在过多的内存分配(322,042 次分配!),导致明显的延迟——在移动设备上高达 5 分钟。
根本原因被确定为排序算法中频繁的锁竞争和内存压力,特别是由于重复访问房间数据。一项关键的优化是采用**数据导向设计 (DoD)** 方法,将频繁访问的房间数据整合到一个 `RoomListItem` 结构体中。这减少了锁获取次数并提高了缓存利用率。
结果非常显著:**执行时间提高了 98.7%,吞吐量提高了 7718.5%**。进一步调查发现了一个在优化过程中引入的微妙错误,涉及浅克隆和 `VectorDiff::Set`,该错误也已解决。本文强调了理解计算机体系结构(CPU 缓存、内存访问)以及在优化之前优先考虑正确性的重要性,展示了 DoD 在实现显著性能提升方面的力量。