系统安全原则:最小特权
最小特权原则是系统安全中最基本的原则之一。具体来说,指的是“在完成某种操作时,赋予系统主体(用户或进程)所必须的最小特权,确保系统由于事故、错误、篡改等原因造成的损失最小”。
最小特权原则一方面需要系统提供主体必要的特权,以确保操作能够正常、正确地执行;另一方面需要系统“仅仅”提供所必须的特权,限制主体完成计划之外的操作。
很多时候,我们不经意的习惯,恰恰违反了最小特权原则。这些习惯会在一定程度上带来安全风险。例如,在linux系统中,不少用户为了方便,习惯在日常使用时就用Root登录。一旦Root密码泄露,系统就很有可能受到严重的破坏。比较好的做法是,正常操作时使用普通用户,当需要Root权限时,再调用sudo来实现。
最小特权原则在Android系统中同样有所体现。Android为不同的角色创建了很多用户,例如,system, radio, shell, wifi, media等等。不同的用户仅仅赋予了其所必须的系统权限。更有甚者,Android为每一个安装的app都创建了一个单独的用户。这样可以保证app之间无法相互干扰。目前很多Android用户会去Root手机。这样虽然会使系统更加灵活,用户能够更加方便地订制系统;安全软件也能更加方便地对系统进行监控和保护。但是,无形之中,这种做法却违反了最小特权原则,给系统留下了极大的安全隐患。一旦手机被Root,每一个用户都有可能拥有Root权限。一旦某些恶意app拥有了Root权限,就可以肆意地对系统以及正常的app进行注入,篡改,获取其内部数据。轻则系统出错重启,重则隐私数据(例如银行卡密码等)丢失,系统彻底崩溃。
怎样才能在系统不root的情况下,还能够使安全软件正常工作呢?首先我们来分析一下,普通的安全软件有哪些功能。目前市面上的安全软件功能主要有以下几种.
- 电话拦截、短信拦截
- 设置呼叫转移
- 安装、扫描、卸载软件
- 监控、拦截软件的启动
- 广播拦截
- 进程、内存、缓存清理
- 通知管理
- 数据、wifi连接管理
- 网络防火墙
- Android权限管理
要实现这些功能的确需要root权限。在不root的条件下如何满足需求呢?目前市面上有一种做法:将安全软件做为内置应用订制在系统中,并设置用户为root。这样安全软件在运行时就可以获得足够的权限。这种做法一定程度上满足了最小特权的原则。但是仍存在着一些问题:首先,系统一但绑定了安全软件,用户就无法卸载,也无法更换其他品牌的安全软件;其次,安全软件获得root权限后,有可能利用权限上的优势,完成非必要的,甚至而已的功能。例如,可以在用户不知情的情况下搜集其它应用的数据,威胁用户隐私安全;修改系统文件,威胁系统安全和稳定性。
因此,从系统安全性和稳定性上出发,我们提出系统安全SDK的概念.
如图所示,在系统之上增加安全SDK模块,该模块拥有root权限,并提供了安全相关的功能模块。例如,应用管理、通信管理、网络管理等。安全软件在工作时,首先在安全SDK中注册自己,经过授权之后,可以通过调用安全SDK中的API来完成相应的功能。除了安全SDK提供的API外,安全软件无法完成其他操作。这就使得即使是安全软件也无法对系统进行不必要的修改。从而保证了系统的安全与稳定。此外,用户还可以通过安全SDK的UI界面安装、卸载、激活安全软件。
安全SDK满足了最小权限原则,防止root权限不必要的扩散,能够在满足安全软件正常功能的情况下,进一步提高系统的安全性和稳定性。
系统安全原则:最小特权相关推荐
- 系统安全的最小特权原则
1.前言 系统安全的根本目标是数据资料的安全,而数据资料是由它的使用者进行存取和维护的.传统的数据存取和维护,都是以新的数据覆盖旧的数据,对于数据的无心错误,或有心的更改数据,一个管理者并无法有效地查 ...
- 【转】系统安全的最小特权原则
朱涛江 (quepy@sohu.com), 装备指挥技术学院研究生 简介: 最小特权原则是系统安全中最基本的原则之一,它限制了使用者对系统及数据进行存取所需要的最小权限,既保证了用户能够完成所操作的任 ...
- 系统安全知识之系统安全的最小特权原则
1.前言 系统安全的根本目标是数据资料的安全,而数据资料是由它的使用者进行存取和维护的.传统的数据存取和维护,都是以新的数据覆盖旧的数据,对于数据的无心错误,或有心的更改数据,一个管理者并无法有效地查 ...
- 系统结构设计原则、聚合与耦合
目录 一.系统结构设计原则 1.分解-协调原则 2.自顶向下的原则 3.信息隐蔽.抽象的原则 4.一致性原则 5.明确性原则 6.模块的扇入系统和扇出系数要合理 7.模块的规模适当 8.考点:系统结构 ...
- OA办公系统选型原则
目前,OA市场产品类别虽然繁多,但是也面临着功能单一等各种问题.此外,选型关系着企业的各个方面,必须慎重.如果OA系统选型失败,会影响OA的正常使用和企业面临的组织管理问题被搁置.所以,OA办公系统选 ...
- 构建可靠系统的原则与实践
随着阿里技术的发展,我们的技术系统越来越成为社会的基础设施,对于这些系统的可靠性要求也就越来越高.但是实际上很多的基础的产品和系统确仍然会出现一些稳定性问题,那么如何才能构建可靠的系统呢?是不是制定非 ...
- 架构方案(17) 分布式架构系统拆分原则、缘由、以及实战如何拆分步骤
分布式架构率先开始的就是应用工程拆分,如何拆分,什么情况拆分,拆分的原则是什么,能否实战详解拆分步骤?让我一一娓娓道来. 为什么需要应用拆分 我以淘宝技术架构演进为例,淘宝从一个大系统工程向分布式架构 ...
- 分布式架构系统拆分原则、需求、微服务拆分步骤
为什么需要应用拆分 我以淘宝技术架构演进为例,淘宝从一个大系统工程向分布式架构演变过程,你就能很清楚的知道为什么要需要进行应用拆分. 1 人员的角度 维护一个代名工程Denali的百万级代码怪兽(虽然 ...
- 秒杀系统的设计五大原则
最近订阅了 极客时间 | 如何设计一个秒杀系统,这里是每章的学习笔记. 链接:如何设计一个秒杀系统 架构原则:4要 1 不要! 1.数据要尽量少. 2.请求数要尽量少. 3.请求路径要短. 4.依赖要 ...
最新文章
- 基于Springboot实现共享自习室管理系统
- oracle 大字段clob检索
- X.509 数字证书结构和实例
- hdu 3635(并查集+路径压缩变形)
- python图标的演变_Python3 生成icon图标
- android tag 快捷_Android Studio快捷键使用
- Edge好用么?几条你不知道的Edge小技巧
- 解决pip2安装不成功的问题
- 多GPU环境运行实验的一点经验
- 【C++】指针遍历二维数组若干种方法小结
- 数据采集与清洗基础习题(四)Pandas初体验,头歌参考答案
- 【机器人学导论】第四章.传感器
- 内网中使用TeamViewer进行远程操作
- 开发那点事(六)php抓取北京实时公交数据
- 浅谈督查督办管理系统在企业管理中起到的作用
- 15年研发经验博士手把手教学:从零开始搭建智能客服
- 主动雷达和被动雷达的区别
- 淘宝标题怎么写?写标题营销词怎么应用恰当?
- USB HOST与 USB OTG的区别及工作原理
- 解决Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven