security安全性入门


备注

本节概述了安全性以及开发人员可能希望使用它的原因。

它还应该提到安全性内的任何大型主题,并链接到相关主题。由于安全性文档是新的,您可能需要创建这些相关主题的初始版本。

一开始

在设计过程中,架构师应该查看系统的哪些部分需要限制访问,哪些部分可以受到较少的保护。例如,每个人都可以对公司的公共网页具有读取权限,但只有经过授权的个人才能编辑内容。

为了帮助做出决策并检测设计中的弱点,应该创建威胁模型,如OWASP中所示 。在设计安全应用程序时,这种威胁模型非常宝贵,因为它可以揭示正在开发的系统的不同视角,例如所讨论的资产,信任级别,入口点和数据流。因此,您可以轻松发现应用程序的弱点和可能的攻击情形。

在测试或攻击的第一阶段,严重的测试者和黑客也会使用威胁模型:收集信息并将其全部放在一起以检测可能的弱点。

信息安全高级别介绍

评估风险并接受或采取某种行动来评估风险是人类的基本本能。这是安全的本质,安全是提供围绕这种本能的框架的知识体。

安全性在三角范例中定义了三个关键概念 - 机密性,完整性和可用性(CIA范例)。

虽然社会普遍认为安全只是保护机密性,但作为一名开发人员,没有任何事情可以在安全的旗帜下落空。例如,编写代码是为了向软件添加功能(可用性),保证凭证安全(机密性),或确保最简单的功能产生一致和正确的输出(完整性)。

这三个概念经常因其性质而不一致。想象一下,通过外联网提供公司的信息。这种可用性打开了可能危及数据机密性的攻击媒介。同样,具有繁重保密要求的公司将妨碍公司向客户和合作伙伴提供数据的愿望。或者他们可能希望数据快速可用,网站的开发匆忙并导致用户之间的数据泄露 - 缺乏数据完整性。

继此之后,开发软件的任何人或任何人都有不同的CIA值。想象一下,零售网站可能会重视可用性而不是完整性或机密性,而银行可能会对可用性和完整性进行保密。这并不是说在每种情况下都不重视所有情况,而是每种情景根据潜在风险对这些值进行不同的权重。

在现实世界中,CIA三元组通常会添加最多3个其他因素,构成Parkerian hexad:占有或控制,真实性和效用,以及交易模型,不可否认性。因此,您可以看到没有适合所有场景的简单模型。

作为开发人员,“良好的安全性”是关于知道正在保护的内容以及如何保护它的正确平衡,并且根据所涉及的数据类型和软件解决的问题,这是非常不同的。

介绍

安全性是一个非常普遍,广泛的领域,涉及开发,部署,支持等各个方面。根据(ISC)2,除了“软件”方面之外,还有10个域,包括物理安全性。信息安全的目的是保护信息的机密性,完整性和可用性。各种安全专业人员也为这些属性添加了其他方面,但总的来说,这些似乎是最受欢迎的。安全性的另一个方面是保护某些信息的措施的成本不应超过受保护信息的价值。