逐风923
开心就笑,不开心就过会儿再笑。
  • 注册会员
circle-image
文章总计
0 篇文章
circle-image
获赞数
赞
circle-image
总阅读量
0 阅读
circle-image
主页人气
674 人气
文章 动态 帖子
看起来这里没有任何东西。

加载中...

加载中...

  • NSA 这波建议我看就是甩锅加标题党 原文说鼓励转向内存安全语言 媒体标题写成停止使用 C 和 C 加加 这差别大了去了 你说 NSA 真敢禁止 C 吗 它自己家一堆老代码怕不是还在用 C 跑 先把自己五角大楼的旧系统换了我再信 别天天发个 PDF 就让全世界程序员连夜重写 真当大家不用交房租啊 文章里 Neal Ziring 说所有程序员都在犯简单错误 这话我认 我年轻时候写 C 字符串复制忘了长度 服务器直接崩 老板站我背后骂了半小时 后来用 snprintf 加 review 加测试 就没再出过那种事 你说这是语言问题还是人的问题 都有 但你不能说用了 Rust 人就突然变圣人了 新手写 Rust 一样 unwrap 乱飞 unsafe 块乱塞 clone 到处复制 编译过了逻辑一坨 照样出漏洞 还有那个百分之七十 微软谷歌说内存问题导致百分之七十漏洞 这个数我信 但样本是他们的代码库 微软谷歌底层一堆 C 和 C 加加 攻击面最大的就是那些 你拿医院病人多就说医院危险 这统计不能直接推到所有行业 银行核心很多 Java 和 COBOL 漏洞多是反序列化和业务逻辑 网页前端漏洞多是 XSS 和供应链 你全换 Rust 那些洞就不存在了吗 想得美 我朋友做医疗设备 代码十年前写的 全是 C 跑得稳稳的 结果现在审查要他们写内存安全计划 还要评估换 Rust 的可行性 老板脸都绿了 换语言可以 钱呢 人没加 工期不加 认证还要重新做 飞机汽车医疗这些行业不是 Hacker News 上发个帖子就能换的 适航局车规认证 DO 178C 这些流程能把人拖死 你 Rust 工具链认证在哪 编译器认证在哪 出问题谁背锅 政府发指南的人背吗 文章里 Mark Russinovich 那个例子笑死 发推说停止新项目用 C 和 C 加加 前一晚自己给 85000 行 Sysinternals 代码加 C 和 C 加加 这不是虚伪 这是现实 他自己管那摊东西 要兼容老 Windows 要小要快要直接调 Win32 Rust 那套运行时和二进制大小当时不一定合适 所以嘴上说主义 心里是生意 大厂都这样 谷歌推 Go 推 Rust 自己还有巨量 C 加加 微软推 C Sharp 推 Rust Windows 内核还是 C 苹果推 Swift 底层 Darwin 还是 C 和 C 加加 听其言观其行 C 加加 标准委员会那些人发 P2687 说要停止说 C 和 C 加加 不安全 我理解他们护盘 毕竟被 NSA 点名谁都不爽 但这话有点掩耳盗铃 C 是真不安全 C 加加 看你怎么写 现代 C 加加 用 RAII 智能指针容器 能避免很多释放后使用 但历史包袱重 老代码多 新手乱用裸指针 一样死 你把 C 和 C 加加 绑一起骂 C 加加 社区当然跳脚 但 NSA 也没全错 它说 C 和 C 加加 特别成问题 这是断言 不是法律 谁对看代码看场景看团队 Rust 是好东西 我学了一点 借用检查器让我骂人 但编译过了确实放心 可它不是银弹 它有 unsafe 标准库也有洞 编译器也有 bug 依赖 crate 供应链更吓人 一个 build rs 就能跑任意代码 你信 crates io 吗 我反正不全信 大厂有审计小厂只能闭眼用 到时候出了事 又怪开发者 开发者又不是神仙 还有人说 Rust 用户从 2020 到 2022 增加两倍 增加两倍听着猛 基数多少 从十万到三十万 和 C 程序员比还是零头 而且很多 Rust 开发者搞区块链搞 Web 后端 真正嵌入式工控操作系统内核有多少 文章说 Linux 内核团队一些人用 Rust 对 但只是部分 主要是驱动和基础设施 Linus 也没说把 C 踢出去 内核核心还是 C 汇编 ABI 编译器架构绑得死死的 换语言不是换键盘 我表哥在汽车电子 他们代码全是 C 和 Simulink 生成 你让他换 Rust 车规 MCU 供应商不支持 AUTOSAR 全是 C 你换一个试试 老板直接让你滚 还有银行核心 很多 COBOL 老员工快退休了 新员工学 Python JavaScript 谁学 COBOL 更别说 Rust 现实世界不是 HN 评论区 现实是 Excel 加 C 加一堆祖传脚本 我不是说别用 Rust 新项目能用就用 云服务浏览器操作系统新组件用 Rust 挺好 Android 用 Rust 减少内存漏洞是真的 但那是综合因素 他们还有 Java Kotlin 大量代码 漏洞减少不能全归 Rust 而且 Android 团队有钱有人 小公司学不来 你让三个人的创业公司用 Rust 重写 招不到人 生态不熟 进度爆炸 最后公司死了 安全不安全还有啥意义 真正的安全是纵深防御 不是换语言就完事 文章也说了 ASLR DEP 能被绕过 那你还只靠语言吗 沙箱 最小权限 代码审计 模糊测试 静态分析 CI 加固编译器 硬件内存标记 CHERI MTE 这些都要上 C 也能加 AddressSanitizer UBSan Fuzzing 危险函数替换 严格 review OpenBSD 用 C 写得就很安全 靠的是审计和默认加固 所以关键在工程文化 不在语言标签 一个团队没测试没 review 没 CI 换 Rust 也会把逻辑写错 一个团队有严格流程 C 也能安全 当然 Rust 帮你拦内存错误 这很好 减少一类大风险 我支持关键模块用 Rust 但别搞语言宗教 别看见 C 就喊老古董 别看见 Rust 就喊救世主 工具是工具 菜刀能切菜也能切手 带护手的刀也会切手 只是少点 你不能因为有人拿菜刀砍人就禁菜刀 应该教人怎么用 还要监控 NSA 说简单错误依然完全非常普遍 这句话我信 但解决简单错误靠培训 工具 责任 不是发指南 如果 NSA 真想让大家都用内存安全语言 先出钱把 GCC LLVM 的 Rust 后端认证做了 把 crates 供应链管好 把培训教材翻译成中文 把嵌入式支持补全 光发信息表 然后媒体标题党 除了制造焦虑和流量 没啥用 政府项目最后变成打勾 安全审查问你们用不用内存安全语言 答 Java 可以 但 native 库还是 C 审查不管 这他妈就是形式主义 我朋友做政府项目就遇到过 主语言 Java 过审 底层 native 库 C 写的 漏洞照样在 审查只认标签 你说这指南到了基层会变成啥 变成采购要求 变成供应商合规负担 最后成本转嫁给纳税人 大厂有资源重写 小厂只能涨价或者倒闭 开源维护者本来就穷 你让他学 Rust 重写 谁付钱 NSA 付吗 不付就别说风凉话 再说内存安全语言也不是都安全 Java 有反序列化漏洞 C Sharp 有 unsafe Go 有数据竞争 Ruby 有 C 扩展 Swift 有 unowned 指针 所谓内存安全只是默认帮你管内存 边界还在 你乱来一样出事 而且逻辑漏洞 越权 支付漏洞 SSRF 权限配置错误 这些跟内存没关系 你全用 Rust 也挡不住 Equifax 是 Apache Struts 漏洞 SolarWinds 是供应链 不是内存 Log4j 不是内存 Shellshock 是解析 脏牛是竞争 Spectre 是硬件 换 Rust 解决不了 文章里说 C 和 C 加加 提供自由度和灵活性 又严重依赖程序员检查 对 这就是双刃剑 底层编程需要这种自由 你写操作系统分配器驱动数据库游戏引擎编译器运行时 很多时候就得直接碰内存 你用 Rust 也要 unsafe 只是把不安全集中起来 这比到处撒要好 但不是说 C 就该死 很多场景 C 还是最合适 资源少 芯片怪 工具链老 你 Rust 跑不起来 客户不等你 我修过一个 use after free 对象释放后日志还在打 指针悬空 随机崩 查了三天 换 Rust 确实编译不过 这个我认 但那个项目根因是生命周期设计乱 不是语言 C 加加 的 unique ptr shared ptr 也能帮忙 但 shared ptr 循环引用又泄漏 工具都有坑 所以别把任何一个语言吹成神 C 加加 委员会不想被骂不安全 可以理解 但 P2687 这种文件有点公关味 与其改说法 不如推广指南和工具 C 加加 Core Guidelines 说了很多

加载中...

来跟我聊聊吧~