前言
一直在做web后端开发,肉体很累,但精神却很贫瘠,感觉没有进步。所以一冲动就报了软考信息安全工程师。因为从高中起就一直很喜欢黑客技术,还为此学了C语言、汇编、数据结构与算法。可惜大学、工作却一直没有接触到这个行业。大学4年、工作5年,感觉离红队的技术越来越远。 想来想去,如果要学点什么,还是选择了信息安全。
准备
教材很厚,只能利用工作之余看书。对于非科班出身,密码学理论、计算机安全概念都非常棘手,只能没事当小说看,来加深印象。顺便买了本5天修炼,看书会有一些侧重点。看说的过程发现,很多理论在我们现在的安全产品开发中会起到帮助。所以便记下了部分知识点。
知识点
###鉴别就是对用户所声明的身份标识的有效性进行校验和测试的过程。 用户有 4 种声 明自己身份的方法: (1)证实自己所知道的,例如密码、身份证号码、最喜欢的歌手、最爱的人的名字 等等。 (2) 出示自己所拥有的,例如智能卡。 (3)证晓自己是谁,例如指纹、语音波纹、视网膜样本、黑片、面部特征扫描等等。 (4) 表现自己的动作,例如签名、键入密码的速度与力量、语速等等。
访问控制的手段包括:
用户识别代码、口令、登录控制、资源授权(例如用户配置文 件、资源配置文件和控制列表)、授权核查、日志和审计。
访问控制的类型包括 6 种:
防御型、探测型、矫正型、管理型、技术型和操作型控 制。 防御型控制用于阻止不良事件的发生:侦测塑控制用于探测己经发生的不良事件: 矫正型控制用于矫正己经发生的不良事件:管理塑控制用于管理系统的开发、维护和使 用,包括针对系统的策略、规程、行为规范、个人的角色和义务、个人职能和人事安全 决策:技术型控制是用于为信息技术系统和应用提供自动保护的程件和软件控制手段,技术型控制应用于技术系统和应用中:操作型控制是用于保护操作系统和应用的吕常规 程和机制。它们主要涉及在人们(相对于系统)使用和操作中使用的安全方法,影响到 系统和应用的环境。
审计系统需要三大功能模块:
审计事件的收集及过滤功能模块, 审计事件的记录及查询功能模块, 审计事件分析及响应报警功能模块。
安全操作系统的设计
优先考虑的是隔离性、完整性和可验证性三个基本原则,而不 是普通操作系统所考虑的灵活性、方便性、性能、开发费用等因素。
###萨尔泽 (Saltzer) 和施罗德 (Schroder) 提出了下列安全操作系统的设计原则: ①最小特权:为使无意或恶意的攻击所造成的损失达到最低限度,每个用户和程 序必须按照"需要"原则,尽可能地使用最小特权。 ②机制的经济性:保护系统的设计应小型化、简单、明确。保护系统应该是经过 完备测试或严格验证的。 ③开放系统设计:保护机制应该是公开的,因为安全性不依赖于保密。 ④完整的存取控制机制J: 对每个存取访问系统必须进行检查。 ⑤基于"允许"的设计原则:应当标识什么资源是应该是可存取的,而非标识什 么资源是不可存取的,也就意味着许可是基于否定背景的,即没有被显式许可标识的都 是不允许存取的。 ⑥权限分离:在理想情况下对实体的存取应该受到多个安全条件的约束,如用户 身份鉴别和密钥等。这样使得侵入保护系统的人将不会轻易拥有对全部资源的存取权限。 ⑦避免信息流的潜在通道:信息流的潜在通道一般是由可共享实体的存在所引起 的,系统为防止这种潜在通道应采取物理或逻辑分离的方法。 ⑧方便使用:友好的用户接口。
数据库安全
就是保证数据岸信息的保密性、完整性、一致性和可用性。