推荐一款颠覆性的安全操作系统接口——Nuxi CloudABI
云ABI(CloudABI)虽已停止维护,但它曾经是一项令人惊叹的实验,其理念在今天仍然具有影响力,尤其是对于那些关注软件设计前沿的开发者来说。如果你对安全运行环境和轻量级应用二进制接口感兴趣,那么了解一下Nuxi CloudABI及其相关的云标准C库cloudlibc是值得的。
1、项目介绍
Nuxi CloudABI是一个以能力为基础的安全系统接口,它设计用于类似UNIX的操作系统,旨在提供一个过程只能与其本地创建的资源交互的环境。这意味着只有当进程拥有允许访问特定资源的令牌时,才能执行如文件操作、网络连接等全局资源的控制。这种模式提高了系统的安全性,即使进程中存在漏洞,攻击者也只能影响到该进程本身,而非整个系统。
2、项目技术分析
CloudABI的核心思想是能力型安全,它的设计深受剑桥大学计算机实验室开发的Capsicum框架的影响。相比传统的UNIX ABI,CloudABI精简了许多系统调用,目前只保留了49个,这使得在不同的操作系统上支持CloudABI变得更加容易。同时,配套的cloudlibc是一个基于CloudABI的标准C库,实现了C11和大部分POSIX.1-2008标准,但针对安全性和云计算环境进行了优化。
3、项目及技术应用场景
CloudABI特别适合于集群和云端计算环境,其中进程间的隔离性更强,对外部环境的依赖更小。通过这个接口,可以构建更加安全的服务,比如网络服务器,它可以只访问启动时提供的资源,而无法随意访问其他文件或创建新端口。这种模式降低了系统管理的复杂性,简化了配置,并降低了潜在的安全风险。
4、项目特点
- 安全优先:删除了可能导致安全问题的函数,如
gets()
、strcpy()
,并避免线程不安全的设计。 - 纯粹的能力型安全:禁止直接访问全局命名空间,鼓励使用如
*at()
这样的安全接口进行文件系统操作。 - 面向云计算:删除了一些在云计算环境中意义不大的概念和功能,如用户凭证处理、TTY处理。
虽然CloudABI项目已经不再维护,但其设计理念和实现方式仍可启发我们思考如何构建更安全、更高效的软件运行环境。如果你正在寻找一种创新的安全解决方案,或者想深入理解能力型安全,不妨研究一下这个项目。
最后,值得注意的是,尽管项目已停更,但相关的社区资源如邮件列表和IRC频道仍然可以作为参考和讨论的平台。商业支持方面,Nuxi公司曾为CloudABI提供服务,如有兴趣,可以联系了解详情。
- CangjieCommunity为仓颉编程语言开发者打造活跃、开放、高质量的社区环境Markdown00
- redis-sdk仓颉语言实现的Redis客户端SDK。已适配仓颉0.53.4 Beta版本。接口设计兼容jedis接口语义,支持RESP2和RESP3协议,支持发布订阅模式,支持哨兵模式和集群模式。Cangjie033
- 每日精选项目🔥🔥 推荐每日行业内最新、增长最快的项目,快速了解行业最新热门项目动态~ 🔥🔥02
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX022
- Yi-CoderYi Coder 编程模型,小而强大的编程助手HTML07
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript085
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09
- CommunityCangjie-TPC(Third Party Components)仓颉编程语言三方库社区资源汇总05
- Bbrew🍺 The missing package manager for macOS (or Linux)Ruby01
- byzer-langByzer(以前的 MLSQL):一种用于数据管道、分析和人工智能的低代码开源编程语言。Scala04