cea-sec/usbsas

GitHub: cea-sec/usbsas

usbsas 是一款用 Rust 编写的 Linux 工具,通过将 USB 协议栈处理迁移至用户空间沙箱进程,实现对不受信任 USB 存储设备的安全读取与文件转存。

Stars: 372 | Forks: 33

Build and Test

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安全, 可视化界面, 子域名枚举, 安全防护, 微服务架构, 数据摆渡, 文件系统, 系统安全, 网络流量审计, 通知系统