cea-sec/usbsas
GitHub: cea-sec/usbsas
usbsas 是一款用 Rust 编写的 Linux 工具,通过将 USB 协议栈处理迁移至用户空间沙箱进程,实现对不受信任 USB 存储设备的安全读取与文件转存。
Stars: 372 | Forks: 33
usbsas 是一个免费开源 (GPLv3) 的工具和框架,用于安全读取
不受信任的 USB 大容量存储设备。
## 概述
遵循纵深防御和最小权限原则,
usbsas 的目标是减少 USB 协议栈的攻击面。为了实现这一点,
通常在(特权)内核空间中执行的大多数与 USB 相关的任务(解析 USB 数据包、SCSI 命令、文件系统
等)已被移至用户空间,
并分隔到不同的进程中(微内核风格),每个进程都在
其自身受限的[安全计算
模式](https://en.wikipedia.org/wiki/Seccomp)下执行。它在 GNU/Linux 上运行,并
使用 Rust 编写。
## 使用场景
- 自助服务终端 / [清洗站](https://en.wikipedia.org/wiki/Sheep_dip_(computing))
将文件从不信任的 USB 设备安全传输到受信任的
设备
- 对不受信任的 USB 设备进行取证分析
## 核心功能
- 从不受信任的 USB 设备读取文件(无需使用 `uas`、
`usb_storage` 和文件系统等内核模块)
- 使用远程防病毒平台分析文件
- 将文件复制到新文件系统并存入受信任的 USB 设备
- 将文件上传到远程服务器
- 对 USB 设备制作镜像
- 彻底擦除 USB 设备
- (只读)挂载 USB 设备
## 文档
- [架构](doc/architecture.md)
- [功能与用法](doc/usage.md)
- [构建](doc/build.md)
- [配置](doc/configuration.md)
- [终端部署](doc/kiosk.md)
## 许可证
本项目包含的依赖项:
- `ntfs3g` 采用 GPLv2 许可证(详见 usbsas-fsrw/ntfs3g/src/ntfs-3g/COPYING)。
- `FatFs` 采用自定义的 BSD 风格许可证(详见 usbsas-fsrw/ff/src/ff/LICENSE.txt)
usbsas 是免费软件:您可以根据自由软件基金会发布的
GNU 通用公共许可证条款重新分发和/或修改它,
无论是许可证的第 3 版,还是(由您选择的)任何更高
版本。
usbsas 分发的初衷是希望它能够发挥作用,但不提供任何
保证;甚至不包含对适销性或特定用途
适用性的默示保证。详见 GNU 通用公共许可证以获取更多细节。
您应该已经[随 usbsas 一起](LICENSE)收到了一份 GNU 通用公共许可证的副本。如果没有,请访问 [gnu.org 网站](http://www.gnu.org/licenses/)。
标签:Rust, USB安全, 可视化界面, 子域名枚举, 安全防护, 微服务架构, 数据摆渡, 文件系统, 系统安全, 网络流量审计, 通知系统