zoukankan      html  css  js  c++  java
  • 安全原则

    安全原则:我们应该如何上手解决安全问题?

    什么是“黄金法则”?

    黄金法则主要包含三部分:认证(Authentication)、授权(Authorization)、审计(Audit)。

    给黄金法则加上问责(Accounting)这一部分,组成“4A 法则”;还有的会加上身份识别(Identification),组成“IAAAA 法则”。不管被划分为几个部分,这些法则的中心内容都是相似的,都是围绕着识别、认证、授权、审计、问责这五个部分展开的。因此,黄金法则其实就是 IAAAA 法则更高一层的概括,它将识别和认证、审计和问责归纳到了一起,更加强调了这两两之间的协同性质。

    先进行登录、再进行操作、最后留下记录。

    1. 身份识别和认证

    身份识别和认证通常是同时出现的一个过程。身份识别强调的是主体如何声明自己的身份,而身份认证强调的是,主体如何证明自己所声明的身份是合法的。

    依据具体的认证场景,对安全等级、易用性等的综合考量,认证形式可以大致分为三种。按照认证强度由弱到强排序,分别是:

    • 你知道什么(密码、密保问题等);
    • 你拥有什么(门禁卡、安全令牌等);
    • 你是什么(生物特征,指纹、人脸、虹膜等)。

    2. 授权

    毫无疑问,在系统或者应用中,我们的操作都会受到一定的限制。比如,某些文件不可读,某些数据不可修改。这就是授权机制。除了对“你能做什么”进行限制,授权机制还会对“你能做多少”进行限制。比如,手机流量授权了你能够使用多少的移动网络数据。

    在安全领域中,也有很多成熟的授权策略,如:自主访问控制、强制访问控制等。

    3. 审计和问责

    当你在授权下完成操作后,安全需要检查一下“你做了什么”,这个检查的过程就是审计。当发现你做了某些异常操作时,安全还会提供你做了这些操作的“证据”,让你无法抵赖,这个过程就是问责。

    审计和问责通常也是共同出现的一个过程,因为它们都需要共同的基础:日志。

    所谓审计,就是去通过日志还原出用户的操作历史,从而判断是否出现违规的操作。而问责则是通过日志的完整性,来确保日志还原出来的操作是可信的。

    安全不存在“银弹”,不可能达到 100% 的安全。即使是 1% 的漏洞,也可能造成 100% 的损伤。

    在授权中,我们需要平衡可用性和安全性,很多时候都会选择牺牲部分的安全保障,来降低使用成本。而审计是事后的策略,它做的任何操作,理论上都不会直接影响用户,因此,能够做到更全面更严格,也能发现更多的问题。所以,审计这一环节,对于发现安全问题、回溯产生的攻击、完善安全保护体系来说,非常重要。
    而问责,是对审计结果的一个保障,有的时候我们也称之为“不可否认性”。一方面,它保证了黑客无法通过篡改日志或者仿造身份,来隐藏自己的行为;另一方面它也保证了,当审计中发现了恶意的行为,需要寻求法律保护时,我们能够提供充分的证据。

    在授权中,我们需要平衡可用性和安全性,很多时候都会选择牺牲部分的安全保障,来降低使用成本。而审计是事后的策略,它做的任何操作,理论上都不会直接影响用户,因此,能够做到更全面更严格,也能发现更多的问题。所以,审计这一环节,对于发现安全问题、回溯产生的攻击、完善安全保护体系来说,非常重要。
    而问责,是对审计结果的一个保障,有的时候我们也称之为“不可否认性”。一方面,它保证了黑客无法通过篡改日志或者仿造身份,来隐藏自己的行为;另一方面它也保证了,当审计中发现了恶意的行为,需要寻求法律保护时,我们能够提供充分的证据。

    大部分情况下,事前防御属于认证,事中防御属于授权,事后防御属于审计。

    企业安全建设管理

    安全是一个很浩大的工程,涉及各个方面的投入建设。对于任何一个公司来说,建立安全体系都是一个长期过程,因此,我们需要一个有效的管理方案来进行推动。

    安全问题需要自上而下的方式去进行管理和推动

    我们会根据周期的不同,制定三种安全规划,在这里,我举个简单的例子,比方说,可以制定 5 年左右的战略计划、1 年左右的战术计划、3 个月左右的操作计划。

    • 战略计划是一个较长期的安全目标,它和企业的长期发展目标相结合,保证安全的发展能够符合企业的长期发展方向。
    • 战术计划会基于长期的安全目标,拆解出详细的任务计划,比如:项目列表、安全预算、人员扩张等。
    • 操作计划则是对战术计划的具体实现,包括人员的分配、资源的投入、进度的安排等。

    挖掘安全问题,明确安全计划,对于企业建立安全体系来说,至关重要。

    总结

    黄金法则描述的是,在用户操作的各个环节中,我们所需要采取的安全策略。黄金法则的核心内容包括三部分:认证、授权、审计。大部分情况下,事前防御属于认证,事中防御属于授权,事后防御属于审计。

    安全没有“银弹”。只有当可用性接近 0 时,我们才有可能接近 100% 的安全。比如,将电脑关闭电源并深埋地下。所以,在实际进行安全防御的时候,不要过分追求完美,先有基本的保障就可以了。

  • 相关阅读:
    NDK开发一
    【转】Android NDK学习(2)Windows下NDK开发环境配置
    【转】Android NDK学习(3)使用Javah命令生成JNI头文件 .
    IDA 动态调试so
    Scrapy下载中间件的优先级(神踏马值越小优先级越高)
    二、深入asyncio协程(任务对象,协程调用原理,协程并发)
    python 可迭代对象,迭代器,生成器的区别及使用
    一、初识asyncio协程
    python多进程,进程池,数据共享,进程通信,分布式进程
    Scrapy的Request和Response对象
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/12657828.html
Copyright © 2011-2022 走看看