名词解释
1. Data Integrity
- 翻译:数据完整性
- 含义/核心定义:指保证数据在传输、存储或处理过程中,不被未经授权地篡改、删除、伪造或插入的特性。
- 得分要点:
- 它是信息安全三要素(CIA三元组)之一。
- 常用的技术手段包括:密码学单向哈希函数(如 SHA-256)、消息鉴别码(MAC)和数字签名。
2. Non-repudiation
- 翻译:不可否认性 / 抗抵赖性
- 含义/核心定义:确保通信的发送方或接收方在完成信息发送或接收行为后,无法否认该行为曾经发生过的特性。
- 得分要点:
- 分为“发送抗抵赖”(发送方无法否认发过)和“接收抗抵赖”(接收方无法否认收到过)。
- 核心技术支撑:数字签名(发送方用自己的私钥签名,由于私钥具有独占性,因此无法抵赖)。
3. Availability
- 翻译:可用性
- 含义/核心定义:确保得到授权的合法实体,在需要时可以及时、可靠地访问和使用系统资源、信息或服务的特性。
- 得分要点:
- 信息安全三要素(CIA三元组)之一。
- 典型威胁是拒绝服务(DoS/DDoS)攻击或硬件故障。
- 保障手段包括:系统冗余、负载均衡、灾难备份和流量过滤。
4. Block Ciphers
- 翻译:分组密码
- 含义/核心定义:对称加密的一种形式。它将明文序列划分为固定长度的数据块(如 64 位或 128 位),然后使用相同的密钥对每个数据块进行加密,输出等长的密文块。
- 得分要点:
- 典型算法:AES、DES、3DES。
- 通常需要配合工作模式(如 ECB、CBC、CTR 等)使用,以解决重复明文块加密后密文相同的问题。
5. Stream Ciphers
- 翻译:流密码 / 序列密码
- 含义/核心定义:对称加密的一种形式。它利用密钥产生一串无限长的伪随机密钥流,并将其与明文流进行逐位(bit)或逐字节(byte)的逻辑异或(XOR)运算以生成密文。
- 得分要点:
- 典型算法:RC4、ChaCha20。
- 优点:加密速度极快、延迟低、无误码扩散(即一个密文位出错不会影响后续解密)。
6. Symmetric Encryption
- 翻译:对称加密
- 含义/核心定义:加密和解密过程中使用相同密钥(或彼此之间极易推导出来)的加密体制。
- 得分要点:
- 优点:计算开销小、加密速度极快,适合加密大量业务数据。
- 缺点:存在密钥分发困难和密钥管理数量庞大(
个用户两两通信需要 个密钥)的问题。
7. Master Key
- 翻译:主密钥 / 主键
- 含义/核心定义:在多级密钥管理架构(Key Hierarchy)中处于最顶层、寿命较长且高度机密的密钥。
- 得分要点:
- 它不直接用于加密普通业务数据。
- 其主要功能是保护、加密或推导下层密钥(如加密工作密钥、会话密钥)。通常保存在极其安全的硬件(如 HSM,硬件安全模块)中。
8. Session Key
- 翻译:会话密钥
- 含义/核心定义:两个通信实体在单次特定通信会话期间使用的临时性、一次性对称密钥。
- 得分要点:
- 在会话开始时动态协商生成(例如通过 Diffie-Hellman 或数字证书),会话结束或超时后立即销毁。
- 其目的是限制受损密钥的影响范围(即使当前会话密钥泄露,也不会影响历史或未来的通信安全)。
9. Known-Plaintext Attack
- 翻译:已知明文攻击
- 含义/核心定义:密码分析(破译)的一种攻击类型。攻击者不仅能够获取截获的密文,还事先掌握了部分或全部密文所对应的明文内容。
- 得分要点:
- 攻击者的目标是通过已知的“明文-密文对”来推导出加密算法的密钥,或者推导出用于解密后续密文的转换规律。
10. Message Authentication Code
- 翻译:消息鉴别码 / 消息认证码
- 含义/核心定义:一种利用共享密钥对消息进行加密转换而产生的数据块(通常附在消息末尾),用于确保消息的完整性和来源真实性。
- 得分要点:
- 它防范的是数据篡改和伪造攻击(不能防范发送方抵赖,因为密钥是共享的)。
- 接收方使用相同的共享密钥对消息重新计算 MAC,若一致则证明消息未被篡改且确由对方发送。
11. Hashed Message Authentication Code (HMAC)
- 翻译:基于哈希的消息鉴别码
- 含义/核心定义:消息鉴别码(MAC)的一种具体实现形式。它将密码学哈希函数(如 SHA-256)与一个共享密钥结合,通过特定的两次哈希处理来保证消息的完整性。
- 得分要点:
- 比单纯对消息进行哈希更安全,因为加入密钥作为输入,攻击者即使拦截了消息也无法在不知道密钥的情况下伪造合法的哈希值。
12. Digital Certificate
- 翻译:数字证书
- 含义/核心定义:由权威的第三方机构——证书颁发机构(CA)签发的、用以证明某个公钥所有者身份的电子文档。
- 得分要点:
- 它实现了“公钥与实体身份(如域名、人名)的绑定”,解决了公钥分发中的防伪装和信任问题。
- 证书中包含:所有者的公钥、身份信息、CA的名称以及CA对该证书的数字签名。
13. Intrusion Detection System (与后文 IDS 相同)
- 翻译:入侵检测系统
- 含义/核心定义:一种对网络或系统传输进行实时监控,以发现并报告违反安全策略的行为、异常流量或非法入侵迹象的软硬件系统。
- 得分要点:
- 它被视为防火墙之后的“第二道安全防线”,不阻断流量,只进行报警和记录。
- 主要分类:基于主机的(HIDS)和基于网络的(NIDS)。
- 主要检测方法:特征检测(基于签名,准确率高但无法发现未知攻击)和异常检测(基于统计,可发现未知攻击但误报率高)。
14. Denial of Service (DoS)
- 翻译:拒绝服务
- 含义/核心定义:一种旨在破坏系统可用性的攻击。攻击者通过发送海量垃圾流量、消耗系统资源(如 CPU、内存、带宽)或利用系统漏洞,导致合法用户无法正常获得服务。
- 得分要点:
- 当攻击由分布在不同地理位置的多个受控傀儡机(肉鸡)共同发起时,称为分布式拒绝服务(DDoS)。
15. Trojan Horse
- 翻译:特洛伊木马
- 含义/核心定义:一类伪装成合法、有用程序的恶意软件。它引诱用户下载并运行,一旦激活,便会在后台秘密执行破坏性任务或为黑客开启后门。
- 得分要点:
- 木马与蠕虫(Worm)和病毒(Virus)最大的不同在于:木马自身不具备主动自我复制和传染的能力,必须依赖用户的误操作来传播。
16. Role Based Access Control (RBAC)
- 翻译:基于角色的访问控制
- 含义/核心定义:一种将系统访问权限分配给特定的“角色”,再将用户关联到相应角色的访问控制机制。
- 得分要点:
- 它实现了“用户 - 角色 - 权限”的间接映射,解耦了用户与权限。
- 极大简化了权限管理,降低了配置错误导致的安全风险,非常适合组织结构频繁变动的企业环境。
17. AES (Advanced Encryption Standard)
- 翻译:高级加密标准
- 含义/核心定义:美国国家标准与技术研究院(NIST)于2001年确立的对称分组密码标准(源自 Rijndael 算法),用于替代已不安全的 DES 算法。
- 得分要点:
- 其分组长度固定为 128位;支持的密钥长度有 128位、192位和256位。
- 特点:具有极高的安全性、运算速度快,且在硬件和软件实现上都非常高效。
18. Access Control
- 翻译:访问控制
- 含义/核心定义:限制和允许主体(用户、进程)对客体(文件、设备、网络资源)进行特定方式访问(读、写、执行等)的安全机制。
- 得分要点:
- 其核心三要素是:主体(Subject)、客体(Object)和安全控制策略。
- 主要流程包括:身份鉴别(Authentication)、授权(Authorization)和审计(Audit)。
19. Message Digest
- 翻译:消息摘要
- 含义/核心定义:将任意长度的输入数据(消息)通过密码学单向哈希函数计算后,得到的固定长度的二进制(或十六进制)字符串。
- 得分要点:
- 具有“单向性”(已知摘要无法还原出原消息)和“抗碰撞性”(不同消息极难产生相同摘要)。
- 通常用于验证数据是否被篡改(完整性验证)。
20. Triple DES (3DES)
- 翻译:三重数据加密算法
- 含义/核心定义:DES 加密算法的增强版。为了应对 DES 密钥过短(56位)极易被暴力破译的问题,3DES 通过对每个数据块重复应用三次 DES 算法来进行加密。
- 得分要点:
- 其工作过程通常是“加密-解密-加密”(EDE 模式),可以兼容普通 DES。
- 虽然安全性大幅提升,但由于要进行三次处理,其计算效率和速度较低。
21. VPN (Virtual Private Network)
- 翻译:虚拟专用网络
- 含义/核心定义:利用公共网络(如互联网)架设逻辑上的安全、专用数据通道的技术。
- 得分要点:
- 虚拟:没有专属的物理线路。
- 专用:通过隧道技术、加密技术和身份验证技术(如 IPsec、SSL/TLS)来确保数据在公网上传输时不被截获和篡改,具有与私有专线同等的安全性。
简答
1. 什么是主动攻击?什么是被动攻击?主动攻击被动攻击区别是什么?
- 被动攻击(Passive Attack):指攻击者在不干扰系统正常运行的前提下,截获、监测或窃听传输中的信息。其目的在于获取正在传送的信息流或进行流量分析。典型例子有:窃听、流量分析。
- 主动攻击(Active Attack):指攻击者篡改数据流或创建虚假数据流,直接对系统状态、通信内容或系统资源进行修改、破坏或中断。典型例子有:伪装、重放、篡改消息、拒绝服务(DoS)。
- 核心区别:
- 对系统和数据状态的影响不同:被动攻击不改变系统和数据状态,不留下明显痕迹;主动攻击则会直接修改数据、伪造身份或瘫痪系统。
- 防御和检测重心不同:由于被动攻击极难被检测,其防范重心在“预防”(如通过强加密使窃听者无法解密);主动攻击虽然容易被系统或管理员检测到,但难以绝对阻止其发生,其防范重心在于“检测和恢复”(如通过数字签名发现篡改并进行数据恢复)。
2. 安全服务是什么?安全机制是什么?他们之间有什么关系?
- 安全服务(Security Service):指网络协议各层提供的一种旨在加强数据处理系统和信息传输安全的保护服务(如:认证、访问控制、数据保密性、数据完整性、抗抵赖)。它回答了“我们要达到什么安全目的”。
- 安全机制(Security Mechanism):用来实现一个或多个安全服务的具体技术、算法、管理制度或物理过程(如:对称/非对称加密、数字签名、访问控制机制、数据完整性机制、路由控制)。它回答了“我们用什么手段去实现上述目的”。
- 它们之间的关系:
- 服务是目的,机制是手段。安全服务是通过一种或多种安全机制的组合来实现的。
- 多对多映射:一种安全机制可以支撑多种安全服务(例如,“加密机制”既可以提供“保密性服务”,也能用于“认证服务”);同时,一种安全服务也可以由多种机制共同保障(例如,“数据完整性服务”可以通过“哈希机制”或“数字签名机制”实现)。
3. 什么是认证(Authentication)?什么是授权(Authorization)?它们之间有什么关系?
- 认证(Authentication):确认声明者身份是否真实的过程,主要解决“声明者是否真的是他所声称的那个人”(回答 “你是谁?”)。
- 授权(Authorization):确定一个已通过认证的实体被允许拥有哪些权限、访问哪些资源或执行哪些操作的过程(回答 “你能干什么?”)。
- 它们之间的关系:
- 认证是授权的前提和基础。系统必须首先确认并确认用户的真实身份(认证),然后才能根据该身份绑定的权限策略赋予相应的操作权力(授权)。没有认证,授权将失去依附的对象。
4. 什么是数据完整性?完整性被破坏有哪些后果?
- 数据完整性(Data Integrity):指保证信息在存储、传输或处理过程中,不被未经授权地篡改、伪造、删除、插入或乱序的特性。
- 被破坏的后果:
- 信息失真与决策失误:若医疗数据、银行交易金额或商业报表被篡改,会导致系统做出错误反应,造成重大财务损失甚至生命危险。
- 指令被篡改(中间人攻击):传输中的控制命令(如工业控制指令、网银转账指令)被修改,会导致接收方执行危害性操作或把资金转移给黑客。
- 系统失控:关键配置文件、系统代码完整性被破坏,可能导致服务器崩溃或被植入后门。
5. 什么是真随机数和伪随机数?计算机可以基于哪些原理产生真随机数?
- 真随机数(True Random Number):基于物理世界中真正随机、不可预测且无法重现的自然物理现象(如热噪声、量子效应等)所产生的随机数。
- 伪随机数(Pseudo-random Number):基于确定性的数学算法(如线性同余法),通过输入一个初始的“种子(Seed)”所计算出的数字序列。如果种子相同,生成的序列就完全一致。
- 计算机产生真随机数的物理原理:
- 热噪声(Thermal Noise):利用半导体或电阻器内部电子无规则热运动产生的微小电压起伏作为随机源。
- 光电效应/量子不确定性:利用量子物理中光子打在分光镜上的反射/透射路径的天然随机性。
- 放射性衰变:检测放射性同位素在时间轴上衰变释放粒子的无规则时间间隔。
- 时钟抖动(Jitter):利用计算机芯片内部多个相互独立的振荡器在极短时间尺度上的微小相位差和抖动。
6. 什么是序列密码和分组密码?
- 序列密码(流密码,Stream Cipher):每次加密一位(bit)或一字节(byte)。它利用密钥产生一个无限长的伪随机密钥流,将其与明文流进行简单的异或(XOR)等逐位运算(典型算法如 RC4)。
- 分组密码(Block Cipher):将明文划分为固定长度的数据块(分组)(如 64 位、128 位)。它将一个明文分组作为整体输入,在密钥控制下通过置换和代替网络进行多轮数学迭代转换输出密文分组(典型算法如 AES、3DES)。
7. ECB(Electronic Codebook,电码本)模式是分组密码的一种最基本的工作模式。在该模式下,待处理信息被分为大小合适的分组,然后分别对每一分组独立进行加密或解密处理。这种方法对某些信息并不能达到很好的加密效果,为什么?
- 原因:在 ECB 模式下,相同的明文分组在相同的密钥下,必然会被加密成完全相同的密文分组。
- 为什么效果不好:
- 暴露数据结构和统计规律:如果待加密数据中包含大量重复或规律性的数据块(例如一张包含大面积单一背景颜色的图像,或者结构化的格式文件),加密后的密文依然会保留原本图像的轮廓或数据的统计分布特征。
- 容易遭受重放攻击和剪切替换攻击:由于各个分组的加密和解密完全独立,攻击者可以在不知道密钥的情况下,调换、插入或删除特定的密文分组,直接改变明文的语义。
8. 2003 年,我国科学家王小云宣告了对md5系列算法的破解,从此md系列算法正式退出历史舞台。请说明,为什么md5算法被破解,会导致md5RSA数字签名失效?
- MD5-RSA 数字签名的原理:发送方对明文
计算 MD5 散列值,然后用私钥进行 RSA 加密: S = RSA_PrivateKey(MD5(M))。接收方用公钥解密签名并比对哈希值。 - MD5 被破解的本质:王小云教授团队实现了高效的强抗冲突性破译(强碰撞攻击)。这意味着能够在极短时间内主动构造出两个内容完全不同、但 MD5 摘要一模一样的明文文件
和 (即 )。 - 数字签名失效的原因:
- 攻击者精心构造两个 MD5 相同的合同:合法合同
(写着欠款 100 元)和恶意合同 (写着欠款 100 万元)。 - 攻击者诱骗受害者对合法合同
进行数字签名,得到签名值 。 - 因为
,所以这个签名 在验证恶意合同 时,也能够完美通过验证。 - 这使得攻击者可以成功地将受害者的合法签名套用到虚假文件上,签名的防伪造和抗抵赖性彻底失效。
- 攻击者精心构造两个 MD5 相同的合同:合法合同
9. RSA 数字签名、验证签名原理和流程。
- 核心原理:利用非对称密码体制中“私钥加密(只有私钥持有者能做,具有独占性)、公钥解密”的原理来实现防伪和抗抵赖。
- 详细流程:
- 签名流程(发送方 A):
- A 对明文消息
进行散列运算,得到固定长度的消息摘要 。 - A 使用自己的 RSA 私钥 对摘要
进行加密,得到数字签名 。 - A 将明文
和数字签名 一起发送给 B。
- A 对明文消息
- 验证签名流程(接收方 B):
- B 收到消息
和签名 。 - B 使用 A 的 RSA 公钥 对签名
进行解密,恢复出原始摘要 。 - B 对收到的明文消息
重新进行相同的散列运算,得到新摘要 。 - B 比较
和 。若 ,说明消息确实由 A 发送,且中途未被任何篡改,签名验证通过;否则验证失败。
- B 收到消息
- 签名流程(发送方 A):
10. 公开密钥密码体制概念、原理?
- 基本概念:又称非对称密码体制。加密和解密使用两个不同的密钥(公钥和私钥)的密码体制。公钥(Public Key)完全公开,任何人都可以获取;私钥(Private Key)由所有者严格保密。
- 基本原理:基于数学上的单向陷门函数(One-way Trapdoor Function)。
- 正向计算容易:已知
,计算 很容易(如:两个大素数相乘很容易)。 - 反向计算极难:在不知道额外信息(陷门)的情况下,已知
,逆推 在数学计算上是绝对不可行的(如对两个大素数的乘积进行大数因数分解极其困难)。 - 特殊路径(陷门):如果知道特定信息(即私钥,作为陷门),那么反向逆推
的计算就变得极容易。
- 正向计算容易:已知
11. 哈希算法原理?弱抗冲突性?强抗冲突性?
- 哈希算法原理:输入任意长度的数据,通过一系列复杂的代数迭代、置换和混淆运算,压缩并映射为一个固定长度的二进制输出(称为散列值或摘要)。具有单向性(无法逆向还原明文)和雪崩效应(输入改变一个比特,输出大相击庭)。
- 弱抗冲突性(Weak Collision Resistance / 第二原像抗性):对于一个给定的明文
,要在计算上寻找另一个不同的明文 ( )使得它们具有相同的哈希值(即 ),是不可行的。 - 强抗冲突性(Strong Collision Resistance / 冲突抗性):在计算上,要在所有的可能输入中,寻找任意两个不同的明文
和 使得它们的哈希值相同(即 ),是不可行的。
12. 什么是强制访问控制?采取“不上读、不下写”策略的意义是什么?
- 强制访问控制(MAC):系统为每个主体(用户/进程)分配一个安全级别(如:秘密、机密、绝密),为每个客体(文件/资源)分配一个敏感标记。系统根据这两种固定的安全属性强制进行访问限制,用户个人无权更改或转让这些权限。
- “不上读、不下写”策略(Bell-LaPadula 模型)的意义:
- 不上读(No Read Up):低安全级别的主体不能读取高安全级别的客体。
- 意义:防止低密级实体跨越权限窃取高密级机密,保障机密性(防泄露)。
- 不下写(No Write Down):高安全级别的主体不能向低安全级别的客体写入数据。
- 意义:防止拥有高密级权限的主体(由于疏忽、恶意或被木马控制)将高密级的信息写入到低密级的文件中,从而导致高密级信息流向低密级区域(防止“高密低流”导致的泄露)。
- 不上读(No Read Up):低安全级别的主体不能读取高安全级别的客体。
13. 什么是基于角色的访问控制?其主要优点是什么?
- 基本概念:不将访问权限直接赋给具体的用户,而是将权限分配给逻辑上的“角色”(如:财务、管理员、研发等),然后再将用户指派到对应的角色上。用户通过扮演角色来获得与之对应的操作权限。
- 主要优点:
- 简化权限管理:当组织规模庞大时,管理员无需为成千上万个用户逐一配置权限,只需管理少量的“角色”,极大降低了维护成本。
- 符合最小特权原则:根据岗位职责精细划分角色权限,避免不必要的越权行为。
- 解耦性好,易于调整:当员工调岗、晋升或离职时,只需变更其绑定的“角色”,而无需重写底层的权限关系,降低了配置出错的安全风险。
14. 什么是身份验证?常见的用户的身份认证有几种方法?
- 基本概念:确认某个声明者(人或实体)是否就是其所声称的那个人或实体的过程,是建立网络信任关系的第一步。
- 常见的三大类(因素)认证方法:
- 所知所记(Something you know):基于用户知道的信息。如:密码、口令、Pin码。
- 所有所持(Something you have):基于用户拥有的物理凭证。如:手机短信验证码、动态令牌、硬件U盾、智能卡。
- 生物特征(Something you are):基于用户独一无二的生理或行为特征。如:指纹、人脸识别、虹膜、声音、笔迹。
- (目前广泛采用结合上述两种或三种方法共同进行验证的多因素认证 MFA)。
15. 什么是自主访问控制?其主要优缺点是什么?
- 自主访问控制(DAC):客体(如文件)的创建者或所有者可以自主地决定将该客体的哪些访问权限(读、写、执行等)分配、转让给其他用户。
- 主要优点:
- 灵活性极高:权限变更非常方便自由,用户能够自主进行文档共享和协作,极适合日常办公环境。
- 实现简单:目前几乎所有商用操作系统(Windows、Linux 等)都原生支持基于 DAC 的访问控制列表(ACL)。
- 主要缺点:
- 安全性较差(易受木马攻击):如果用户运行了一个恶意木马程序,由于木马会继承运行者的所有权限,它就可以自主地篡改、删除该用户拥有的所有敏感文件,绕过系统防护。
- 权限扩散失控:被赋予权限的其他用户可以将权限进一步转授给第三方,导致管理员无法追踪信息最终流向。
16. 什么是防火墙?防火墙主要功能作用?
- 基本概念:部署在不同安全信任网络域之间(如企业局域网与公共互联网之间)的隔离屏障(可以是硬件、软件或其组合),它根据设定的安全策略对进出网络的数据流量进行监控、审查和过滤。
- 主要功能作用:
- 访问控制:根据规则(源/目的IP、端口等)放行合法流量,阻挡非法的外来流量访问内网。
- 安全域隔离:将网络划分为不同安全级别的区域(如内网 Trust、外网 Untrust、隔离区 DMZ)。
- 防范网络攻击:通过过滤异常包,检测并阻止常见的端口扫描、IP 欺骗和部分流量洪泛攻击。
- 安全审计与日志记录:记录所有进出网络的会话信息,为后续的安全事故追溯提供证据。
- 网络地址转换(NAT):隐藏内网主机的真实私有 IP,保护内网拓扑不外泄。
17. 简述包过滤防火墙基本原理,并说明包过滤防火墙的优缺点。
- 基本原理:工作在 网络层 和 传输层。它通过提取并检查每一个经过的数据包的报头信息(如:源IP、目的IP、源端口、目的端口、协议类型、TCP标志位等),并将其与预设的访问控制列表(ACL)规则进行匹配,决定是将该包放行(Accept)还是丢弃(Drop)。
- 主要优点:
- 处理速度极快、延迟极低:因为它只解析、检查数据包的头部,不拆包读取应用层数据。
- 对用户透明:工作在低层,不需要客户端和应用层做任何额外配置。
- 成本低:大多直接内置在网络设备(如路由器、交换机)的芯片和操作系统中。
- 主要缺点:
- 安全性较低:无法检测、过滤隐藏在应用层报文数据(如 HTTP、FTP 的数据载荷)内部的恶意代码、木马或病毒。
- 难以防御高级攻击(无状态检测):传统的包过滤不分析上下文会话状态,容易被伪造的 IP 欺骗包绕过。
- 管理规则复杂:当规则越来越多时,ACL 表变得极难维护且容易产生规则冲突漏洞。
18. 针对仿射密码的破解采用频率分析法,其破解基本流程是怎样的?
- 前置原理:仿射密码
属于单表代换密码,它没有改变英文字母固有的出现概率分布(例如,英文中出现频率最高的字母通常是 E,次高是 T)。 - 破解基本流程:
- 统计密文频率:统计截获的密文段中每个字母出现的频率,找出出现次数最多的前两个字母,假设为
和 。 - 映射明文字母:根据英文先验概率,将
映射到英文最常用的字母(如 (代表数字 4)),将 映射到次常用字母(如 (代表数字 19))。 - 列出同余方程组:代入仿射密码公式,建立以加密因子
和 为未知数的一元一次方程组: - 求解密钥:在模 26 意义下求解该方程组,计算出可能的
和 的值(注意 必须与 26 互素)。 - 解密验证:利用求得的
解密一小段密文。若解出的明文具有可读语义,则破解成功;若语义混乱,则尝试将 映射到其他高频英文字母,重新计算,直到成功。
- 统计密文频率:统计截获的密文段中每个字母出现的频率,找出出现次数最多的前两个字母,假设为
19. 什么是消息认证码?散列函数和消息认证码有什么区别?各自可以提供什么功能?
- 什么是消息认证码(MAC):是一种利用共享密钥对消息进行特殊密码学运算生成的数据块(附在消息末尾),用于证明消息的真实来源并保障消息在传输过程中的完整性 [1.1]。
- 主要区别:
- 输入要素不同:散列函数只需要消息作为输入;而 MAC 必须同时输入消息和共享密钥 [1.1]。
- 防篡改能力不同:攻击者可以篡改消息并重新计算一个新的哈希值发给接收方。但在没有共享密钥的前提下,攻击者根本无法伪造出与篡改后消息相匹配的合法 MAC [1.1]。
- 各自提供的安全功能:
- 散列(哈希)函数:仅能提供数据完整性校验(只有在哈希值本身通过安全渠道传输时才有效)。
- 消息认证码(MAC):能够同时提供数据完整性校验和发送方身份认证(消息源真实性验证) [1.1]。
20. 网络监听的原理是什么如何防范?
- 监听原理:
- 在共享式网络中(如 HUB),所有数据包本身就是广播发送的;在交换式网络(如 Switch)中,攻击者通过 ARP 欺骗、MAC 地址洪泛或端口镜像,将原本不属于自己主机的网络流量引流至自己的网卡。
- 攻击者利用软件将自己的网卡设置为“混杂模式”(Promiscuous Mode),此时网卡不再过滤掉目的 MAC 不同的包,而是将通过网卡的所有数据全部接收并交给嗅探软件(如 Wireshark)进行协议拆包和明文截获。
- 主要防范措施:
- 全网应用加密传输:广泛采用 HTTPS、SSH、VPN、IPsec 等加密传输协议,使得监听者抓到的数据包全是无法解密的乱码。
- 网络安全加固:绑定静态 ARP 表(防 ARP 欺骗),开启交换机端口安全策略以防止 MAC 洪泛。
- 网络结构优化:利用划分 VLAN 限制广播域,降低监听危害范围。
- 部署入侵检测:检测网络中是否存在处于“混杂模式”的异常网卡。
21. 什么是拒绝服务攻击?什么是分布式拒绝服务?基本原理?
- 拒绝服务攻击(DoS):单个攻击源向目标发起大量恶意请求,耗尽目标系统资源,使其无法响应正常服务。
- 分布式拒绝服务(DDoS):攻击者通过控制分布在世界各地的成百上千台傀儡机(肉鸡/僵尸网络 Botnet),从四面八方同时向一个或多个目标服务器发起大量的 DoS 流量攻击。
- 基本原理:利用资源的不对称性。服务器的带宽、CPU 处理能力、内存缓冲区、系统最大连接数都是有限的。攻击者源源不断地向目标服务器发送大量无用的垃圾请求,逼迫服务器在这些请求上分配、消耗宝贵的资源,直至服务器网络带宽被堵死、连接表溢出、CPU 耗尽或直接死机,导致正常用户的合法请求被拒绝。
22. 什么是端口扫描,对服务器有何安全威胁?
- 基本概念:攻击者利用扫描工具向目标主机的多个端口发送特定的 TCP/UDP 探测数据包,通过观察目标主机对这些探测包的响应状态,来判断目标主机开放了哪些端口、运行着什么服务及具体的操作系统版本。
- 对服务器的安全威胁:
- 信息泄露(黑客攻击的踩点阶段):暴露了服务器的软件架构和网络接口。例如,扫出 80 代表开着 Web 服务,21 代表开着 FTP,这极易暴露服务器的内部信息。
- 暴露攻击面:一旦确定了服务器运行的具体服务和版本,黑客就可以针对已知版本对应的公开漏洞(CVE 漏洞),精准发起远程代码溢出攻击,从而夺取服务器控制权。
23. 什么是公钥基础设施?核心是什么?CA主要功能?
- 公钥基础设施(PKI):是一套利用非对称密码理论、对称密码技术以及数字证书来保障网络信息安全的系统。它的核心目的就是在非安全的互联网环境中建立一个标准化的信任体系。
- PKI 的核心:数字证书(Digital Certificate)。
- CA(证书颁发机构)的主要功能:
- 证书签发:严格验证申请者身份,将其身份信息与公钥进行绑定,用 CA 的私钥签名并制作成数字证书颁发给用户。
- 证书注销与维护:管理已吊销或过期的证书,发布证书撤销列表(CRL)或提供在线证书状态查询服务(OCSP),防止废弃证书被冒用。
- 证书分发与查询:提供公用的目录查询服务,方便公众下载、核验证书。
24. SYN DoS 泛洪攻击原理?
- 原理(基于 TCP 三次握手协议的固有缺陷):
- 正常握手流程:客户端发
SYN服务端回应 SYN-ACK并为该连接分配内存资源客户端回应 ACK完成连接。 - 发起攻击:攻击者向目标服务器发送海量的
SYN建立连接请求,但这些请求的源 IP 地址全部是伪造的、不存在的。 - 制造半连接:服务器收到
SYN后,会向这些不存在的 IP 回应SYN-ACK,并处于等待应答的状态。由于源 IP 并不存在,服务器将永远等不到最后一步客户端回应的ACK。 - 耗尽连接表:这些在服务器连接队列中等待超时的连接被称为“半连接”(Half-Open Connection),它们会持续占用服务器的连接队列缓冲区。
- 系统拒绝服务:当服务器的半连接队列(Backlog Queue)被垃圾请求完全填满时,服务器将无法再接收并处理任何新的、正常用户的 TCP 握手请求。
- 正常握手流程:客户端发
25. 加盐哈希简单应用,理解原理。
- 基本原理:
- 传统的哈希直接对密码取哈希(如
MD5("123")),黑客拿到数据库后可以通过查“彩虹表”秒级反查出原密码。 - 加盐哈希是在用户创建/修改密码时,随机生成一段随机字符串——“盐”(Salt),将密码与“盐”拼接在一起再算哈希:
Hash(密码 + 盐),并把哈希值和“盐”一并存入数据库 [1.1]。
- 传统的哈希直接对密码取哈希(如
- 简单应用流程(登录密码验证):
- 用户登录,在登录界面输入用户名和密码。
- 系统接收到用户名后,从数据库找到该用户,取出对应的随机“盐” [1.1]。
- 系统将用户刚刚输入的密码和“盐”进行拼接并重新计算哈希值:
计算结果 = Hash(输入密码 + 数据库中的盐)[1.1]。 - 比对这个“计算结果”与数据库中存储的密码密文。如果一致,则允许登录 [1.1]。
- 优点:即使两个用户密码完全相同,因为各自随机生成的“盐”不同,最终在数据库中存的密文也是完全不一样的,导致黑客的彩虹表彻底失效。
26. 网络安全协议?SSL主要提供哪些服务?
- 网络安全协议:是指在计算机网络通信协议的各层中(如 IPsec 处于网络层,SSL/TLS 处于传输层,HTTPS 处于应用层),加入了加密、完整性校验、身份验证等安全机制,以保障通信安全的一类规范和协议。
- SSL 主要提供的安全服务:
- 数据保密性服务:在握手阶段商量好对称加密密钥,利用对称加密算法(如 AES)在传输层加密所有数据包,防止被窃听。
- 数据完整性服务:利用消息鉴别码机制(MAC/HMAC),检测并防止传输中的数据包被中途篡改。
- 身份认证服务:利用数字证书技术,在握手阶段对服务器的身份进行严格校验,防范中间人欺骗。
27. 什么是病毒、木马(几部分?主要危害)?常见的Web安全威胁主要有哪些?基本原理是什么?
- 计算机病毒(Virus):一段编制或插在计算机程序中,具有强自我复制能力和传染性、旨在破坏计算机功能或毁坏数据的恶意代码。
- 特洛伊木马(Trojan Horse):
- 构成部分:通常由控制端(客户端)、被控端(服务端,即植入目标机的木马程序)和信息反馈/传输通道三部分组成。
- 主要危害:秘密监控屏幕及键盘敲击、窃取用户的账号密码等敏感隐私、开启后门远程执行恶意代码、使目标机沦为僵尸主机发起 DDoS 攻击。
- 常见的 Web 安全威胁及基本原理:
- SQL 注入(SQL Injection):
- 基本原理:由于 Web 应用程序对用户在表单或 URL 中输入的数据没有进行严格过滤或参数化绑定,直接将输入拼接到后台的 SQL 查询语句中。攻击者利用恶意构造的 SQL 命令改变查询逻辑,实现越权登录、窃取、修改或删除整个数据库。
- 跨站脚本攻击(XSS):
- 基本原理:攻击者在网页的表单、评论区等输入框内注入恶意 JavaScript 代码。当其他正常用户浏览该网页时,这些恶意脚本会在用户的浏览器中被自动执行,从而窃取用户的 Session Cookie、劫持用户账号或进行恶意跳转。
- 文件上传漏洞:
- 基本原理:由于 Web 网站提供了上传文件的功能,但由于开发逻辑缺陷,没有对上传的文件后缀名和内容类型进行严格审查。攻击者可以直接上传带有网页后门控制台的脚本文件(如
WebShell,如 PHP、JSP 脚本),然后通过浏览器直接访问并运行该上传文件,直接获取服务器最高权限。
- 基本原理:由于 Web 网站提供了上传文件的功能,但由于开发逻辑缺陷,没有对上传的文件后缀名和内容类型进行严格审查。攻击者可以直接上传带有网页后门控制台的脚本文件(如
- SQL 注入(SQL Injection):