最小特权原则是系统安全中最基本的原则之一。具体来说,指的是“在完成某种操作时,赋予系统主体(用户或进程)所必须的最小特权,确保系统由于事故、错误、篡改等原因造成的损失最小”。

最小特权原则一方面需要系统提供主体必要的特权,以确保操作能够正常、正确地执行;另一方面需要系统“仅仅”提供所必须的特权,限制主体完成计划之外的操作。

很多时候,我们不经意的习惯,恰恰违反了最小特权原则。这些习惯会在一定程度上带来安全风险。例如,在linux系统中,不少用户为了方便,习惯在日常使用时就用Root登录。一旦Root密码泄露,系统就很有可能受到严重的破坏。比较好的做法是,正常操作时使用普通用户,当需要Root权限时,再调用sudo来实现。

最小特权原则在Android系统中同样有所体现。Android为不同的角色创建了很多用户,例如,system, radio, shell, wifi, media等等。不同的用户仅仅赋予了其所必须的系统权限。更有甚者,Android为每一个安装的app都创建了一个单独的用户。这样可以保证app之间无法相互干扰。目前很多Android用户会去Root手机。这样虽然会使系统更加灵活,用户能够更加方便地订制系统;安全软件也能更加方便地对系统进行监控和保护。但是,无形之中,这种做法却违反了最小特权原则,给系统留下了极大的安全隐患。一旦手机被Root,每一个用户都有可能拥有Root权限。一旦某些恶意app拥有了Root权限,就可以肆意地对系统以及正常的app进行注入,篡改,获取其内部数据。轻则系统出错重启,重则隐私数据(例如银行卡密码等)丢失,系统彻底崩溃。

怎样才能在系统不root的情况下,还能够使安全软件正常工作呢?首先我们来分析一下,普通的安全软件有哪些功能。目前市面上的安全软件功能主要有以下几种.

  1. 电话拦截、短信拦截
  2. 设置呼叫转移
  3. 安装、扫描、卸载软件
  4. 监控、拦截软件的启动
  5. 广播拦截
  6. 进程、内存、缓存清理
  7. 通知管理
  8. 数据、wifi连接管理
  9. 网络防火墙
  10. Android权限管理

要实现这些功能的确需要root权限。在不root的条件下如何满足需求呢?目前市面上有一种做法:将安全软件做为内置应用订制在系统中,并设置用户为root。这样安全软件在运行时就可以获得足够的权限。这种做法一定程度上满足了最小特权的原则。但是仍存在着一些问题:首先,系统一但绑定了安全软件,用户就无法卸载,也无法更换其他品牌的安全软件;其次,安全软件获得root权限后,有可能利用权限上的优势,完成非必要的,甚至而已的功能。例如,可以在用户不知情的情况下搜集其它应用的数据,威胁用户隐私安全;修改系统文件,威胁系统安全和稳定性。

因此,从系统安全性和稳定性上出发,我们提出系统安全SDK的概念.

如图所示,在系统之上增加安全SDK模块,该模块拥有root权限,并提供了安全相关的功能模块。例如,应用管理、通信管理、网络管理等。安全软件在工作时,首先在安全SDK中注册自己,经过授权之后,可以通过调用安全SDK中的API来完成相应的功能。除了安全SDK提供的API外,安全软件无法完成其他操作。这就使得即使是安全软件也无法对系统进行不必要的修改。从而保证了系统的安全与稳定。此外,用户还可以通过安全SDK的UI界面安装、卸载、激活安全软件。

安全SDK满足了最小权限原则,防止root权限不必要的扩散,能够在满足安全软件正常功能的情况下,进一步提高系统的安全性和稳定性。

系统安全原则:最小特权相关推荐

  1. 系统安全的最小特权原则

    1.前言 系统安全的根本目标是数据资料的安全,而数据资料是由它的使用者进行存取和维护的.传统的数据存取和维护,都是以新的数据覆盖旧的数据,对于数据的无心错误,或有心的更改数据,一个管理者并无法有效地查 ...

  2. 【转】系统安全的最小特权原则

    朱涛江 (quepy@sohu.com), 装备指挥技术学院研究生 简介: 最小特权原则是系统安全中最基本的原则之一,它限制了使用者对系统及数据进行存取所需要的最小权限,既保证了用户能够完成所操作的任 ...

  3. 系统安全知识之系统安全的最小特权原则

    1.前言 系统安全的根本目标是数据资料的安全,而数据资料是由它的使用者进行存取和维护的.传统的数据存取和维护,都是以新的数据覆盖旧的数据,对于数据的无心错误,或有心的更改数据,一个管理者并无法有效地查 ...

  4. 系统结构设计原则、聚合与耦合

    目录 一.系统结构设计原则 1.分解-协调原则 2.自顶向下的原则 3.信息隐蔽.抽象的原则 4.一致性原则 5.明确性原则 6.模块的扇入系统和扇出系数要合理 7.模块的规模适当 8.考点:系统结构 ...

  5. OA办公系统选型原则

    目前,OA市场产品类别虽然繁多,但是也面临着功能单一等各种问题.此外,选型关系着企业的各个方面,必须慎重.如果OA系统选型失败,会影响OA的正常使用和企业面临的组织管理问题被搁置.所以,OA办公系统选 ...

  6. 构建可靠系统的原则与实践

    随着阿里技术的发展,我们的技术系统越来越成为社会的基础设施,对于这些系统的可靠性要求也就越来越高.但是实际上很多的基础的产品和系统确仍然会出现一些稳定性问题,那么如何才能构建可靠的系统呢?是不是制定非 ...

  7. 架构方案(17) 分布式架构系统拆分原则、缘由、以及实战如何拆分步骤

    分布式架构率先开始的就是应用工程拆分,如何拆分,什么情况拆分,拆分的原则是什么,能否实战详解拆分步骤?让我一一娓娓道来. 为什么需要应用拆分 我以淘宝技术架构演进为例,淘宝从一个大系统工程向分布式架构 ...

  8. 分布式架构系统拆分原则、需求、微服务拆分步骤

    为什么需要应用拆分 我以淘宝技术架构演进为例,淘宝从一个大系统工程向分布式架构演变过程,你就能很清楚的知道为什么要需要进行应用拆分. 1 人员的角度 维护一个代名工程Denali的百万级代码怪兽(虽然 ...

  9. 秒杀系统的设计五大原则

    最近订阅了 极客时间 | 如何设计一个秒杀系统,这里是每章的学习笔记. 链接:如何设计一个秒杀系统 架构原则:4要 1 不要! 1.数据要尽量少. 2.请求数要尽量少. 3.请求路径要短. 4.依赖要 ...

最新文章

  1. 基于Springboot实现共享自习室管理系统
  2. oracle 大字段clob检索
  3. X.509 数字证书结构和实例
  4. hdu 3635(并查集+路径压缩变形)
  5. python图标的演变_Python3 生成icon图标
  6. android tag 快捷_Android Studio快捷键使用
  7. Edge好用么?几条你不知道的Edge小技巧
  8. 解决pip2安装不成功的问题
  9. 多GPU环境运行实验的一点经验
  10. 【C++】指针遍历二维数组若干种方法小结
  11. 数据采集与清洗基础习题(四)Pandas初体验,头歌参考答案
  12. 【机器人学导论】第四章.传感器
  13. 内网中使用TeamViewer进行远程操作
  14. 开发那点事(六)php抓取北京实时公交数据
  15. 浅谈督查督办管理系统在企业管理中起到的作用
  16. 15年研发经验博士手把手教学:从零开始搭建智能客服
  17. 主动雷达和被动雷达的区别
  18. 淘宝标题怎么写?写标题营销词怎么应用恰当?
  19. USB HOST与 USB OTG的区别及工作原理
  20. 解决Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven

热门文章

  1. 高层次人才申报,山东省专利奖
  2. ORACLE农历(阴历)解决方案
  3. 弄清楚CSS单位px、em、rem、vh、vw、vmin、vmax的应用场景
  4. 什么是转化医学(转化研究)?
  5. 如何直接打开AutoCAD的DXF文件
  6. 微信电脑端-退出的群、删除的人,仍然可以查找或看到问题的解决方法
  7. Qt-QMake官方使用手册(翻译)
  8. 微小说,藏在花语中的爱。感动到心疼!
  9. 第三章 多级放大电路
  10. Ubuntu 16.04 LTS(Xenial Xerus)中文版安装教程(附下载地址)