题目
你们在做安全加固。有人提出:「如果恶意脚本把页面里的钱包对象替换成自己的实现,用户的请求都会经过它,我们能不能检测出来?」
请分析这种攻击的可行性、可检测程度,以及在没有理想方案时应当把资源投到哪里。
考察目标
- 能否说明对象劫持为何难以彻底防御。
- 是否理解规范对此类威胁的定位。
- 能否在难以彻底防御时给出优先级合理的方案。
考察运行期对象劫持的检测思路,以及多钱包发现机制提供的可核对信息。
你们在做安全加固。有人提出:「如果恶意脚本把页面里的钱包对象替换成自己的实现,用户的请求都会经过它,我们能不能检测出来?」
请分析这种攻击的可行性、可检测程度,以及在没有理想方案时应当把资源投到哪里。
页面内的钱包对象可以被同环境脚本替换;EIP-1193 把 Provider 描述为不受信环境中的对象,其属性可被读取或覆盖,因此页面内的自检不构成可靠防线,能观察到的只是能力缺失、声明不一致一类迹象。资源更适合投入到减少注入面与构建治理。
request 方法与相关事件,消费方按这套接口形状调用(依据:EIP-1193 §request、§Events)。request 或事件接口、与钱包发现机制声明的信息出现无法解释的差异(依据:工程经验,无规范依据)。eth_call 模拟可以验证调用结果,但模拟请求同样经过待验证的 Provider,因此模拟结果不能作为防替换的保证(依据:EIP-1474 §Methods 的 eth_call;能力边界属于工程判断)。发现这道题有问题? 反馈此题