"设计安全"是一种创建计算机应用程序或系统的方法,其中软件的所有方面本质上都是以一种使恶意用户很难或不可能损坏、攻击或危害系统的方式开发的。在许多情况下,设计安全的软件从概念开始就计划好,以弥补基本功能中最小的安全漏洞,并在编码阶段使用值得信赖的经典技术,以确保成品中不会出现任何缺陷。设计安全工程关注的一些主要领域是用户或客户端输入、安全通信和基本验证,以确保某些类型的攻击不可能发生。尽管没有任何计算机应用程序能够免受所有恶意攻击,但与使用外部安全库或依赖周围环境(例如操作系统)安全性的系统相比,设计安全的系统具有明显的优势,因为设计该软件的签名旨在防止和遏制利用性攻击。
由于其不可预测的性质,任何计算机应用程序中最容易受到攻击的领域之一就是用户输入。未经验证、未经错误检查而使用或从任何来源盲目接受的输入可能会利用系统的内部运作来暴露敏感数据或导致系统崩溃。当应用程序在设计上是安全的时,通常会以某种方式验证用户输入,检查是否存在恶意序列,甚至将其转换为安全格式,以便可以对其进行处理,而不必担心某些字符组合的默认处理可能导致的不可预测的行为。<图 >在许多情况下,设计安全的软件从概念开始就已规划好,以弥补基本功能中最小的安全漏洞ns.
当软件是通过网络接受来自客户端的输入的服务器时,在设计安全的系统中,用户输入的问题变得更加复杂。一些攻击者可以拦截从客户端到服务器的有效消息或完全伪造客户端,因此通常采用专有加密以外的方法,因为拦截消息的攻击者很容易破解加密。程序设计中更有效的安全方法包括限制客户端发送的信息以及限制服务器或模块自行执行或不执行的操作的能力。
通过将软件模块化与最小化原则相结合特权,设计安全的系统可以通过在不一定有能力自行执行单个破坏性操作的模块之间委派任务来防止攻击者完全破坏系统。通过这种方式,可以将防护措施和故障保险装置落实到位,以确保安全允许系统从入侵中安全地恢复。这个概念很难融入到不使用设计安全原则的应用程序中,因为它要求程序的整个架构都面向安全目标。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!