安全操作系统 btarmor-os
的命令行工具。
btarmor <command> [options]
btarmor 命令行工具主要的功能包括
- 将原来的 Debian 系统升级成为安全操作系统
btarmor-os
- 将应用程序/动态库/数据文件转换成为加密保护的安全文件
常用的子命令包括:
boot 升级当前系统为安全系统
make 生成各种安全文件
deploy 发布安全系统
运行 btarmor <command> -h
可以查看各个命令的详细使用方法。
子命令 boot
用于安装安全操作系统 btarmor-os
直接运行下面的命令会安装新的安全内核,这个命令需要使用 root
权限,一般用于初 始化安全操作系统:
sudo btarmor boot
安装完成之后需要重启系统。重新启动之后,内核就升级成为安全操作系统 btarmor-os
下面的命令则显示安全系统的相关信息:
btarmor boot --status
子命令 make
用于将可执行文件,动态库和数据文件等,转换成为 Bootarmor 保护的 安全文件,转换后生成的文件是经过加密处理的,只能在 btarmor-os
系统上运行。
btarmor make 可以运行在 btarmor-os
系统,直接将应用程序转换成为安全应 用。
btarmor make 也可以运行在普通的 Linux 系统,将应用程序转换成为安全应用,然后 再把安全应用发布到 btarmor-os
系统中。
btarmor make <options> <PATTERN>
-i, --inplace 生成的文件直接覆盖原来的文件 -O, --output PATH 生成的文件保存在另外一个路径,默认是 dist -sys, --share 使用共享模式进行保护,一般用于保护系统动态库 -sh, --safe-heap 不允许内核访问应用程序申请的堆空间 -ss, --safe-stack 不允许内核访问运行栈(局部变量) -f FILE 从文件里面读取需要处理的文件名称
子命令 make 用于将命令行列出的一个或者多个文件转换成为安全文件,可以使用通配符。
例如:
cd /home/jondy/myapp
btarmor make foo *.so config.txt
还可以把所有需要处理的文件名称都存放到一个文件里面,例如 files.list
:
foo
libtoo.so
config.txt
然后在命令行使用 -f
指定这个文件,例如:
cd /home/jondy/myapp
btarmor make -f files.list
默认情况下生成的新文件会保存在另外一个输出目录 dist
,使用选项 --output
可以指定输出目录。
如果指定了选项 --inplace
,那么输出文件会直接覆盖原来的文件。
选项 -sys
一般用于加密系统动态库,主要是为了保护系统命令不能被修改,并且在高 级模式下面能够执行系统命令。因为专用模式下面,没有加密的任何可执行文件都无法运行。 使用该选项加密的文件允许内核访问,同时这个可执行文件也只能运行在应用程序层,而没 有运行在安全应用层。
选项 --safe-heap
用于保护内存堆,这里面一般是程序使用 malloc
申请的内存 空间,默认情况下是允许内核访问的。如果这些数据不需要被内核访问,使用该选项可以提 高安全性。
选项 --safe-stack
用于保护运行栈,这里面一般是程序的调用框架和局部变量,默认 情况下是允许内核访问的。如果这些数据不需要被内核访问,使用该选项可以提高安全性。
转换目录
foo
下面的所有文件,保存生成的安全文件到到默认输出目录dist
:btarmor make foo/*
只转换两个动态库文件,转换之后直接覆盖原来的文件:
btarmor make -i dist/*.so
没有使用任何内核服务的程序,对内存堆和运行栈也进行保护:
btarmor make -sh -ss myapp
加密保护数据文件到
dist/data.txt
:btarmor make data.txt
使用共享模式加密系统动态库:
sudo btarmor make -i --share /usr/lib/*.so
加密系统命令
ls
:sudo btarmor make -i -sys /usr/bin/ls
用于产品开发完成之后,发布运行安全应用的系统到最终用户。
这个命令仅适用于企业版,社区版没有提供此功能。
btarmor deploy <options>
-s, --senior 安全内核使用高级模式 -e, --exclusive 安全内核使用专用模式
在产品准备交付给用户之前,需要使用该命令把内核功能进行加壳固化,清理开发辅助的文 件等。
选项 --senior
可以启用安全内核的高级模式。启用高级模式之后,Linux内核将不能 访问安全应用的内存,如果需要访问,必须得到安全应用的授权。这样能提高安全性,但是 也需要更多的了解操作系统的内存管理,ELF文件的组成,以及编译器的工作原理等相关知 识。否则,安全应用可能无法正常运行。
选项 --exclusive
可以启用安全内核的专用模式。启用专用模式之后,则普通可执行 文件,包括系统命令都无法执行,只有加密后的安全应用可以运行,这样可以进一步提高安 全行。
下载安全内核的源代码补丁,用于定制自己的安全内核。
btarmor patch <options> [VERSION]
-O, --output PATH 保存到指定目录,默认是 patches -l, --list 列出所有可用版本的补丁名称
直接下载和当前系统内核版本相同的补丁,保存到目录 `patches/`:
btarmor patch
下载应用于内核版本 5.10.73 的补丁:
btarmor patch 5.10.73
查看所有支持的内核版本的补丁:
btarmor patch --list
也可以从下面的链接查看和下载对应版本的 btarmor-os
补丁