纯个人猜测,背住最基本的,自己上考场适当加词
零日攻击:利用未公开的软件漏洞进行的攻击,成功率高,破坏性大。
软件漏洞:软件设计、编码或运行中的安全缺陷。
恶意代码:未经授权,旨在破坏或窃取信息的软件或代码片段,如病毒、蠕虫等。
软件安全:系统方法识别、分析追踪软件安全风险并控制。
CIA三属性:保密性、完整性、可用性,是信息安全的基本属性。
软件可靠性:软件在规定条件下不引起系统失效的概率。
可信软件:行为和结果可预测,符合预期的软件系统。
软件定义网络(SDN):通过网络软件化提高网络创新能力。
软件定义安全(SDS):通过软件编程实现网络安全防护。
软件安全防护:围绕漏洞消除,从软件开发生命周期早期开始安全考虑。
Web安全漏洞:Web应用中的安全缺陷,如SQL注入、XSS等。
软件生命周期:定义、开发、维护时期,每个时期包括多个阶段。
安全开发生命周期(SDL):将安全活动分散到软件生命周期各阶段。
软件安全需求分析:确定软件安全需求,基于系统客观属性。
软件安全设计:将安全属性融入软件架构,包括架构安全性设计和分析。
软件安全编码:选择安全的编程语言,进行代码检测和安全编译。
软件测试与安全测试:从用户和攻击者角度出发,发现并修复漏洞。
模糊测试:通过非预期输入发现软件问题的技术。
XSS蠕虫Samy:存储型XSS攻击,攻击者上传恶意脚本到服务器。
敏捷SDL:适用于快速迭代开发的SDL模型,与传统SDL的主要区别在于开发模型和发布要求。
一些“方法”及“思想”:
简答可能会涉及到“如何做”或者“什么原理”之类的问题,现在我们来梳理一下“通用模版”,注意:通用不代表可以什么都不管直接套,有时间的话还是自己背背不同的应对措施,这是没有办法的办法。
怎么做:(通过这些方法可以在一定程度上保证软件安全,万金油答案)
- 减少受攻击面:移除或限制不必要的功能、服务和协议,减少潜在的攻击点
- 最小授权原则:仅授予用户或系统执行任务所需的最小权限,减少权限滥用风险
- 权限分离:将关键功能分散至多个条件或角色,避免单一故障点
- 纵深防御:多层次安全措施,确保即使一层防御失败,系统仍受保护
- 完全控制:对所有访问受保护资源的行为进行细粒度的权限检查
- 输入验证:对所有输入进行验证,防止恶意数据导致安全问题。
- 经济性原则(KISS原则):简单设计减少复杂性,降低成本,提高安全性
- 心理可接受原则:安全机制应用户友好,易于接受和使用
- 平衡安全设计:在不同的安全原则之间找到平衡,根据业务需求做出合理折衷
理念类:(将安全活动分散到软件生命周期各阶段,大部分安全设计都采用这个思想,可根据题目灵活变动,同时这也是SDL的核心步骤)
- 培训:进行安全培训,“赛前准备”
- 需求分析:确定安全需求
- 设计:确定设计要求,减少攻击面,威胁建模
- 实施:弃用不安全函数等
- 验证:程序动态分析
- 发布:事件响应计划,最终安全审核
- 响应:执行事件响应计划
“洋文”汇总:
经常会出来英文字母,看见别懵,知道啥意思就好写了
零日漏洞:0 day
CIA:信息安全三大基本属性——保密性、完整性、可用性
SDN:“分离”出来以达到“控制”目的
SDS:底层抽象,顶层统一
/GS:防止栈溢出攻击
DEP:防止恶意代码
ASLR:随机化内存加载位置
SafeSEH:防止攻击者滥用结构化异常处理
版权归原作者 SUGERBOOM 所有, 如有侵权,请联系我们删除。