usbsas是一个免费开源(GPLv3)的工具和框架,用于安全地读取不可信的USB大容量存储设备。
描述
遵循纵深防御的概念和最小权限原则,usbsas的目标是减少USB协议栈的攻击面。为实现这一目标,大部分通常在(特权)内核空间执行的USB相关任务(解析USB数据包、SCSI命令、文件系统等)已被移至用户空间,并分离到不同的进程中(微内核风格),每个进程都在自己受限的安全计算模式下执行。
这个项目的主要目的是部署为一个信息亭/羊浸站,以安全地将文件从不可信的USB设备传输到可信的设备。
它在GNU/Linux上运行,使用Rust编写。
功能
usbsas可以:
- 从不可信的USB设备读取文件(无需使用像
uas
、usb_storage
这样的内核模块和文件系统模块)。支持的文件系统包括FAT
、exFat
、ext4
、NTFS
和ISO9660
- 使用远程杀毒软件分析文件
- 将文件复制到新的文件系统中的可信USB设备上。支持的文件系统包括
FAT
、exFAT
和NTFS
- 将文件上传到远程服务器
- 制作USB设备的镜像
- 擦除USB设备
应用
基于usbsas构建的应用:
- Web客户端/服务器:这是usbsas的主要应用,用于部署安全的USB到USB文件传输信息亭。
- Fuse实现:使用usbsas挂载USB设备(只读)。
- Python:usbsas也可以与Python一起使用
文档
贡献
欢迎任何形式的贡献,无论是代码、错误报告、打包、文档还是翻译。
许可证
本项目包含的依赖项:
ntfs3g
是GPLv2(参见ntfs3g/src/ntfs-3g/COPYING)。FatFs
具有自定义的BSD风格许可证(参见ff/src/ff/LICENSE.txt)fontawesome
是CC BY 4.0(图标)、SIL OFL 1.1(字体)和MIT(代码)(参见client/web/static/fontawesome/LICENSE.txt)bootstrap
是MIT(参见client/web/static/bs/LICENSE)
usbsas是自由软件:你可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发或修改它,可以选择使用该许可证的第3版,或(由你选择)任何更新的版本。
usbsas的发布是希望它能够有用,但不提供任何保证;甚至不提供对适销性或特定用途适用性的暗示保证。更多详细信息,请参阅GNU通用公共许可证。
你应该已经收到了随usbsas一起提供的 GNU通用公共许可证副本。如果没有,请参阅gnu.org网站。