跳转至

Adv3:安全机制

本模块要求:所有评测任务必须在 Docker 容器中运行,利用 Docker 实现沙箱隔离和安全机制。不得使用其他沙箱技术(如 seccomp、resource、cgroups 等)替代 Docker。所有安全隔离、资源限制、命令校验等均需依托 Docker 实现。


模块目标

  • 所有评测任务在 Docker 容器中运行,实现系统调用、资源、网络等的隔离和限制,防止恶意代码危害系统。

前置知识要求

技术点 推荐学习内容
Docker 容器 Docker 基础、命令
资源限制 Docker --memory, --cpus
命令过滤 黑名单/白名单策略

任务分解

任务 1:沙箱隔离(Docker 强制)

  • 目标:所有评测任务在 Docker 容器中运行。
  • 要点:通过 Docker 限制系统调用、文件访问、网络等。

任务 2:内存/时间限制

  • 目标:对评测进程设置严格的内存和时间限制。
  • 要点:通过 Docker 参数(如 --memory、--cpus)实现,超限时自动终止进程,返回相应状态。

任务 3:命令过滤与校验

  • 目标:对用户提交的命令进行安全校验,防止注入攻击。
  • 要点:实现黑名单/白名单机制。

评分细则

功能/接口 分值 评分说明
Docker 沙箱与资源限制 2 评测任务全部在 Docker 容器中运行,内存/时间限制依托 Docker 实现
命令过滤与安全校验 2 命令校验、黑白名单
超限/异常安全响应 1 TLE/MLE 等安全响应
小计 5
作者:Haoran Wang