pusheax 最近的时间轴更新
pusheax

pusheax

V2EX 第 489500 号会员,加入于 2020-05-14 15:33:14 +08:00
今日活跃度排名 2111
根据 pusheax 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
pusheax 最近回复了
内存出现比特翻转的概率会比硬盘高很多,尤其是内存的 ECC 一般作为高级功能,只在 Xeon 这种专业级 CPU 上支持。
对于没有 ECC 的内存,甚至可以通过反复擦写某一 bit ,来人为地让周围的 bit 翻转,也就是 Rowhammer 。
楼上正解,硬盘主控都有 ECC 功能,所以硬盘出现比特翻转的概率不高。
或者说出现单个比特错误的概率不高。更常见的是固件设计缺陷或 Flash 本身有问题,造成的大面积数据丢失。例如 QLC 硬盘的冷数据问题。
当然如果是没有 ECC 的储存设备,比如 NOR Flash 或者 NAND Flash ,这种情况就很常见,焊 Flash 芯片时风枪温度给高了,都有可能会丢数据。
8 天前
回复了 Geekerstar 创建的主题 游戏 最近痴迷于玩三角洲行动有些技术疑问
刚好最近在研究 DMA 安全,可以回答一下问题 4 。
DMA 实际上是个非常常用的技术,如火线、PCIE 设备(包含走 PCIE 协议的 USB4 、雷电),可以不经 CPU 直接访问内存。
在很多场景下这个功能非常实用。例如网卡:如果所有流量都要经过 CPU ,很容易就会把 CPU 打满,而有 DMA 的网卡就可以直接把数据写进内存,基本不占用 CPU 。
但是这种不受限制读写内存的技术,也会造成安全问题,比如那种插个 USB 线就能提取电脑数据的数字取证设备,很多都用了 DMA 技术,从内存中提取密钥、Patch 登陆认证等等。
DMA 攻击计算机的研究,大概在 04 年就出现了,直到 16 年的 DEFCON 24 ,ufrisk 发布了一个非常完善的 DMA 攻击框架,叫 pcileech.
同年,有挂哥想到可以用 DMA 技术来读取游戏的内存,于是用 pcileech 改了个 CSGO 的透视挂出来。直到现在的 DMA 挂,基本都是在 pcileech 基础上改的。
透视挂的原理,就是通过读取内存中存储的敌方坐标实现的,所以多年来反外挂策略,都集中在监控这个读内存的操作上。
即使游戏的加密措施再强,但是只要动态跑起来,终究是要在内存中解密的。对于分秒必争的 FPS 游戏而言,把敌方坐标什么全部放在服务器上延迟过大,并不现实。
通过硬件读取内存,那就可以省略掉传统软件外挂所有读内存的行为(例如打开进程、HOOK 、加载驱动等等),绕过了所有传统反外挂措施。从此游戏攻防的主场转移到 DMA 上。
早期的 DMA 外挂,虽然不存在软件读内存的特征,但 DMA 板子本身还是有特征的,毕竟有一个不常见的设备挂在 PCIE 总线上。
因此,21-23 年的反外挂主要依靠检测 PCIE 设备的 VID 、PID ,还有检测针对某些特殊的 PCIE 请求包的响应实现,这个过程有点类似反外挂查设备名,外挂改设备名。
23 年的时候,Ekknod 发布了一个项目,把 DMA 板子的固件,伪造成一个正常的无线网卡,可以打网卡的驱动,在操作系统中看起来完全就是网卡。
这个方法直到现在都非常有效,大家研究出了伪装成网卡、声卡、采集卡等等设备。只要伪装固件做的足够真、伪装的原设备没有被黑名单,几乎无法被检测。
很多游戏厂商觉得这种你追我赶的循环无穷无尽,于是开始强制要求玩家开启 IOMMU (也就是 vt-d 或者 AMD-vi ),这个技术会让 DMA 设备跑在虚拟化上,这样 CPU 可以检测 DMA 请求的地址是否合法。可以很好的阻止 DMA 读写敏感内存,当然也可以检测是否读取游戏内存。
其实 IOMMU 这个技术在 09 年的 Intel Xeon E5500 系列就已经实装,但是虚拟化技术在消费级主板上默认是不开启的,所以去年三角洲刚强制要求 IOMMU 的时候,很多人都得去 BIOS 里面手工开启。
目前来说 IOMMU 技术可以完全防御 DMA 外挂,即使的确有技术可以解除 IOMMU ,但这也要求软件层面的修改,会留下特征,比之前纯 DMA 好检测的多。
这大概就是 DMA 外挂的整个生命周期了。
14 天前
回复了 vanillaxxx 创建的主题 问与答 如何将 USB 模拟为任意设备
可以的。
任何跑 Linux ,又有 USB Device 外设的设备都可以(如树莓派 Zero ),通过 usb gadget 可以自定义枚举信息。
若想更低成本,很多 51 单片机也有 USB Deivce (如 ch552 ,一颗大概 1.5 元),也可以从很底层自定义枚举信息。
不过 USB 是一个极其复杂的协议,学这种底层的开发可不简单。
学到一个新词:Shed
n.
棚,小屋;;分水岭,高地山脊;
vt.
流;去除,摆脱;摆脱,去除; (股票)下跌;流出,溢出;
除开 IS903 ,很多主控也支持添加 CD-ROM 分区,但大多也是至多两个分区。
貌似更多的 CD-ROM 分区会造成兼容性问题?
或者去闲鱼上多捡几个 IS903 的 U 盘(不贵,这算低端主控),每个盘独自装一份 CD-ROM 镜像也是不错的方法。
淘宝上可添加 CD-ROM 分区的 U 盘,大多是银灿 IS903 主控的。(所以直接买 IS903 的 U 盘还可以便宜点)。
IS903 的量产工具支持添加至多两个 CD-ROM 分区,买回来自己用量产工具烧一遍即可。
但如果要更多分区的话,就得找其它主控了。
@AlvaMu #2 不知道是不是协议不支持,不过若是协议不支持应当完全不能用?我现在是改一下设置,能管两天,过几天又反复。头都大了。
@pusheax #5 前几年王者出了个 BUG ,人机和真人的头像不在一台服务器上,路由器上禁掉人机头像的服务器域名,就可以很清楚的看到当前对局有几个人机。平均每阵营都有 1-3 个是人机。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3925 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 00:54 · PVG 08:54 · LAX 16:54 · JFK 19:54
♥ Do have faith in what you're doing.