知识卡片
交互式会话审计的局限
内容
记录bash命令历史或用script(1)包装交互式会话看似加上了审计能力,但只防君子不防小人:攻击者可在vim里执行:!/bin/evilcmd绕开bash历史,还会因可视化控制字符扰乱script(1)输出使其难以解读。审计能力的可靠程度取决于被审计系统的接口粒度——面向开放式大接口做审计天生存在绕过空间,可靠审计需建立在[[API最小化就是最小特权]]已把操作拆解为明确原语的基础上。
参考来源
- 位置:《Google系统架构解密:构建安全可靠的系统》第5章《最小特权设计》5.3.1节(源文件:`../OREILY动物书合辑 图灵新版/_epub-src/text/part0014_split_049.html`)
- 结论依据:原文举例说明交互式OpenSSH会话开放整个POSIX API,攻击者可通过vim内执行命令绕开bash历史记录,且vim和ncurses的可视控制字符会扰乱script(1)的打字记录输出,直接支持"简单审计手段可被绕过"的结论。
- 原始内容:举个简单的例子,攻击者可以通过打开vim之类的编辑器,并在交互式会话中执行命令……的打字记录输出的能力,因为vim和ncurses中用来可视化编辑环境的可视控制字符会扰乱输出内容。