软件脆弱性是指软件中存在的弱点(或缺陷),利用它可以危害系统安全策略,导致信息丢失、系统价值和可用性降低等。分层架构存在…
单选题
软件脆弱性是指软件中存在的弱点(或缺陷),利用它可以危害系统安全策略,导致信息丢失、系统价值和可用性降低等。分层架构存在众多脆弱性问题,以下不属于分层架构脆弱性表现的是( )。
A. 一旦某个底层发生错误,整个程序将无法正常运行
B. 层与层之间引入通信机制,导致性能下降
C. 分层架构具有良好的可扩展性和可维护性
D. 层间传递可能产生数据溢出、空指针等安全问题
答案:C
解析
正确答案:C。
分层架构通过职责分离提升可维护性、可扩展性和可替换性,C 描述的是其设计优点,不属于脆弱性表现。
逐项说明:
A 属于脆弱性表现。分层依赖具有传递性,底层异常可能向上传播,导致整个程序不可用。
B 属于脆弱性表现。层与层之间需要通信、转换和协议交互,会带来性能开销与瓶颈。
C 不属于脆弱性表现。可扩展性和可维护性是分层架构的优点,而非安全弱点。
D 属于脆弱性表现。层间数据传递若校验不足,可能引发数据溢出、空指针、注入等安全问题。
面试延伸:分层架构常见优点是解耦、易维护、易替换;常见缺点是性能损耗、级联故障、层间接口复杂、数据一致性难保证。设计时应关注异常隔离、接口校验、超时熔断和依赖倒置。