#SECPR015. SEC-PR-015 跨用户缓存访问审计
SEC-PR-015 跨用户缓存访问审计
SEC-PR-015 · 数据安全技术人员 · 综合 · 满分 25 分 · 基础进阶综合
可提交 C、C++、Java、Python 3 和 Node.js。评测机没有安装 Kotlin、PyPy,也没有支持大整数的 GNU awk,因此不开放 Kotlin、PyPy 和 Bash。
业务与规则
1. PUBLIC允许任何requester读取;PRIVATE只允许requester=cache_owner。输出id OK或LEAK_RISK,保持顺序。
2. n=0时只输出EMPTY(即使其他常规约束要求非空,空输入为本题明示例外)。
3. 输入保证满足给定字段与类型,无需推断未给定的业务规则。
输入
第一行:n。随后n行,每行:request_id requester cache_owner scope(PUBLIC或PRIVATE)。字段以空格分隔。
输出
PUBLIC允许任何requester读取;PRIVATE只允许requester=cache_owner。输出id OK或LEAK_RISK,保持顺序。 n=0只输出EMPTY。
范围
0≤n≤10000;编号与枚举为ASCII;编号长度≤30;整数绝对值≤1e9;金额合计用64位。浮点输入小数位≤6,绝对值≤1e6;实际列约束优先于本通用范围。滑动均值window≤100,近邻k≤100;建议3秒、256MB,按平台语言校准。
样例输入
3
R1 A A PRIVATE
R2 B A PRIVATE
R3 B A PUBLIC
样例输出
R1 OK
R2 LEAK_RISK
R3 OK
附件中的 sample.in、sample.out 与上面样例一致,不计入 25 分。计分点见测试配置,按点给分。
整数和文本按空白分隔后的 token 精确比较;小数允许绝对误差或相对误差 1e-6。时限 2 秒、内存 256MB;Java、Python 3 和 Node.js 时限按 2 倍,Java 内存按 2 倍。
题族:SEC-PR-015。状态:内部待专家复核。组卷:待专家复核及平台试测。公开:否。