NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

MINIX 3 承诺比 Windows 或 Linux 更安全

  • 2009-05-10
  • 本文字数:1127 字

    阅读完需:约 4 分钟

阿姆斯特丹 Vrije 大学的计算机科学教授 Andrew S. Tanenbaum 正领导着一个开发 MINIX 3 操作系统的项目,MINIX 3 的目标是比 Windows 或 Linux 更安全。

在他那份获得欧盟研究委员会(European Research Council)5 年 250 万欧元资助的研究计划书里,Tanenbaum 解释了为何他认为现有的操作系统不安全:

最严重的可靠性及安全问题是与操作系统相关的那些。核心问题在于现有操作系统都不符合 POLA——最低授权原则(Principle Of Least Authority)。POLA 说的是系统划分组件的方式,应当使必然存在于某个组件中的缺陷,不至于波及其他组件。每个组件仅应该得到完成它本身工作所需的权限,不多不少。具体来说,它应该无权读写属于其他组件的数据,无权读取它自身地址空间之外的任何计算机内存,无权执行与它无关的敏感操作指令,无权访问不该访问的 I/O 设备,诸如此类。现有操作系统完全违反以上原则,结果就是造成众多可靠性及安全问题。

Tanenbaum 认为设备驱动程序是主要的肇事者:

典型的操作系统代码中大约有 70% 属于设备驱动代码。我们知道设备驱动部分的每行缺陷数量是其他部分的 3 到 7 倍。有据可查 63% 到 85% 的 Windows XP 崩溃根源是驱动错误,Linux 的情况也没什么理由会不一样。

MINIX 的操作系统架构稍有不同:

image

Tanenbaum 指出其中的主要区别是令设备驱动运行在用户态能提高安全性:

设备驱动处于内核之上,运行在用户态。每个驱动都作为单独的进程运行,受到内存管理硬件的严格约束,只能访问自己拥有的内存。设备驱动需要执行 I/O 操作的时候向微内核发出调用以获得服务(比如向物理设备发出指令)。微内核在执行任何调用之前,首先会检查该调用是否被许可。因此从声音驱动发出控制声卡的调用会被接受,而从声音驱动发出控制硬盘的调用会被拒绝。

总体目标是:

……将操作系统的结构重新组织为一个运行于内核态的微内核,外加若干用户进程去完成真正的操作系统任务。尽管一个微内核离完整的操作系统还很远,但这样的设计达到了我们的主要目标。我们的目标是将大部分操作系统代码移出到用户空间,这样我们就能将之划分成进程并阻止它们执行“危险”(控制)指令,内存管理硬件也能防止进程访问自身所属以外的内存。

目前 MINIX 3 的版本是 3.1.3a 版,它的主要特性包括:

  • 符合 POSIX
  • TCP/IP 网络
  • X Window 系统
  • 语言支持包括 cc、gcc、g++、perl、python 等等
  • 超过 650 个 UNIX 程序
  • 完全支持多用户和 multiprogramming 多任务
  • 设备驱动作为用户进程运行
  • 高度容错
  • 提供完整的 C 源代码。

由于 MINIX 实现了 POSIX 标准,大多数 UNIX 程序只要细微修改或无需修改就能在上面运行。该项目进入了 Google’s Summer of Code 2008 ,还设立了相应的 MINIX 讨论组

查看英文原文: MINIX 3 Promises to Be More Secure Than Windows or Linux

2009-05-10 00:302783
用户头像

发布了 225 篇内容, 共 60.9 次阅读, 收获喜欢 50 次。

关注

评论

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

飞针测试的流程有哪些?华秋一文告诉你

华秋电子

龙蜥 Node.js/WebAssembly SIG 重磅发布 Node.js/Noslate 性能优化白皮书

OpenAnolis小助手

node.js Web 白皮书 龙蜥社区 sig

看完这份SpringBoot神级文档,面试真的可以为所欲为

三十而立

Java IT java面试

用友BIP智能财务,助力企业构建世界一流预算管理体系

用友BIP

全面预算

利用自动化平台可以做的那亿点事 |得物技术

得物技术

自动化

【3.24-3.31】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

构建云边端一体的分布式云架构,软硬结合驱动边缘计算创新场景

百度Geek说

人工智能 架构 分布式 边缘计算 企业号 3 月 PK 榜

vivo 手机云服务建设之路-平台产品系列04

vivo互联网技术

系统设计 稳定性 数据安全 用户数据 手机云服务

下游需求趋势长期向好,高端产品国产替代空间广阔

华秋电子

都想成为架构师,那架构师需要掌握哪些知识体系呢?

做梦都在改BUG

火山引擎A/B测试产品——DataTester 私有化架构分享

字节跳动数据平台

私有化部署 ab测试 A/B 测试 企业号 3 月 PK 榜

TiDB Operator常见问题和解决步骤(二)

TiDB 社区干货传送门

故障排查/诊断

过亿云资源运维管控难?华为云CloudMap带你喝着咖啡做运维

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

2023年最新美团、字节、阿里、腾讯 Java 面经,已拿 offer(附面经分享)

采菊东篱下

Java 面试

软件测试/测试开发丨利用 pytest 玩转数据驱动测试框架

测试人

软件测试 自动化测试 测试开发 pytest

DTALK直播预约 | 数据资产管理:金融机构数据价值释放的必经之路

袋鼠云数栈

数据资产管理

微服务架构中的链路超时分析

做梦都在改BUG

Java 架构 微服务

ElasticSearch 拼音搜索自定义扩展插件(长拼音序列)

alexgaoyh

中文分词 分词 Elastic Search 自定义插件

数据擘画资产全景 AI诊断故障真因

用友BIP

HummerRisk 使用教程: 多云检测

HummerCloud

云安全

阿里内部进阶学习SpringBoot+Vue全栈开发实战文档

三十而立

华秋一文带你读懂PCB中的“金手指”设计

华秋电子

软件测试丨JavaScript脚本注入,完成Selenium 无法做到的那些事

测试人

JavaScript 软件测试 自动化测试 测试开发 selenium

TiDB 数据库大版本升级-基于TiCDC异机升级

TiDB 社区干货传送门

迁移 版本升级

Hologres技术揭秘:JSON半结构化数据的极致分析性能

阿里技术

json 半结构化数据

TiDB Operator常见问题和解决步骤(一)

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 故障排查/诊断

简述家居物联网体系架构

毛广斌

利用Jackson序列化实现数据脱敏

京东科技开发者

Jackson 数据脱敏 企业号 3 月 PK 榜

软件测试/测试开发丨移动端App自动化之App控件定位

测试人

软件测试 自动化测试 测试开发

重现一条简单SQL的优化过程

GreatSQL

MySQL greatsql greatsql社区

聚焦「就近」与「轻计算」,阿里云边缘云连续3年领跑!

阿里云视频云

云计算 边缘计算 边缘云

MINIX 3承诺比Windows或Linux更安全_安全_Abel Avram_InfoQ精选文章