btarmor
安全操作系统 btarmor-os 的命令行工具。
语法
btarmor <command> [options]
描述
btarmor 命令行工具主要的功能包括
将原来的 Debian 系统升级成为安全操作系统 btarmor-os
将应用程序/动态库/数据文件转换成为加密保护的安全文件
常用的子命令包括:
boot 升级当前系统为安全系统
make 生成各种安全文件
deploy 发布安全系统
运行 btarmor <command> -h
可以查看各个命令的详细使用方法。
btarmor boot
子命令 boot
用于安装安全操作系统 btarmor-os
直接运行下面的命令会安装新的安全内核,这个命令需要使用 root
权限,一般用于初
始化安全操作系统:
sudo btarmor boot
安装完成之后需要重启系统。重新启动之后,内核就升级成为安全操作系统 btarmor-os
下面的命令则显示安全系统的相关信息:
btarmor boot --status
btarmor make
子命令 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
用于产品开发完成之后,发布运行安全应用的系统到最终用户。
这个命令仅适用于企业版,社区版没有提供此功能。
语法
btarmor deploy <options>
选项
- -s, --senior
安全内核使用高级模式
- -e, --exclusive
安全内核使用专用模式
描述
在产品准备交付给用户之前,需要使用该命令把内核功能进行加壳固化,清理开发辅助的文 件等。
选项 --senior
可以启用安全内核的高级模式。启用高级模式之后,Linux内核将不能
访问安全应用的内存,如果需要访问,必须得到安全应用的授权。这样能提高安全性,但是
也需要更多的了解操作系统的内存管理,ELF文件的组成,以及编译器的工作原理等相关知
识。否则,安全应用可能无法正常运行。
选项 --exclusive
可以启用安全内核的专用模式。启用专用模式之后,则普通可执行
文件,包括系统命令都无法执行,只有加密后的安全应用可以运行,这样可以进一步提高安
全行。
btarmor patch
下载安全内核的源代码补丁,用于定制自己的安全内核。
语法
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 补丁