CrashCourseComputerScience31计算机安全

56 阅读1分钟

计算机安全

cyber security 用来保护虚拟世界的秩序和安全,主要包括系统和数据的保密性、完整性和可用性 (secrecy, integrity and availability)。

从 threat model 入手,描绘攻击者的模型,能力如何、攻击目标是什么、可能用什么手段 attack vector。如何保护系统和数据安全要基于攻击者特点调整。

身份认证 authentication 是计算机识别使用者很重要的一环,一种是基于你知道的信息,比如用户名和密码;一种基于用户特定物体,比如指纹、虹膜、声纹等。任何认证都有优劣,而且都不是绝对防御,two-factor 甚至 mutl-factor authentication 被推荐广泛使用,从概率学上来讲多种方式的组合会极大提升破解的难度。

基于身份认证系统会相应做 access control 访问控制,一种方式是通过 ACL (access control list) 列表,另一种是通过 RBAC (role-based access control) 角色控制。

上述的身份认证和权限控制都建立在硬件可信的前提下,但如果系统被植入了恶意软件 MALWARE,那么这些措施都是无效的。所以开发者尽量要做安全预案,处理在安全被打破情况下的处理方式,比如隔离(沙盒 sandbox)、数据备份、系统恢复等。