rost反剽窃检测系统_Docker容器环境检测方法【代码】

此文章为转载文章,因为写的非常不错,故此想转载一下,如有冒犯请联系我删除。

Docker容器环境检测方法【代码】

参考资料:

Determining if a process runs inside lxc/Docker

http://stackoverflow.com/questions/20010199/determining-if-a-process-runs-inside-lxc-docker

第1章 背景

现在有研究表明,人们目前有使用Docker进行恶意代码重现工作的倾向。Docker的反检测可分为三部分:CPU反检测,内存反检测和存储数据反检测。该技术利用了AUFS的层叠镜像技术,使得我们的Docker反检测技术可以很容易地实现在镜像的一层中——反检测层。这样,只需要将反检测层动态地部署到Docker容器中,即可实现对Container环境的CPU、内存和存储的封装,从而遮蔽掉Container特征。这样的话,该容器中的恶意代码也就无法检测其自身是否在Container中运行了。

第2章 cgroup方法

在Host和Container中执行cat /proc/1/cgroup命令的结果是不同的,可以利用这一点进行判断。(或者cat /proc/self/cgroup命令也行)

在Host中执行cat /proc/1/cgroup命令的结果:

836fe62cad7740c6f1d5bfd864fb5b4d.png

在Container中执行cat /proc/1/cgroup命令的结果:

319237f409fb4f342bce943fd91634c8.png

第3章 find docker方法(原创)

在Host和Container中的文件系统中,有关于docker的文件、目录有很大差别。因此可以通过枚举文件系统中关于docker的文件,进行判断。

在Host中执行find / -name docker命令的结果:

0eb6493aa0e2059b5ca56e3646b8a45d.png

在Container中执行find / -name docker命令的结果:

f1334381108a3fea3875aabd53a798bd.png

第4章 环境变量方法(原创)

在Host和Container中执行env命令查看环境变量的结果是不同的,可以利用这一点进行判断。(或者cat /proc/1/environ命令也可)

在Host中执行env命令的结果:

fb517a47121d7353419afc3ade7daefe.png

10ac6c07cc73993c17bec2e0f7a9bb4d.png

847c8d86320137f5c0c2f6539b903cf7.png

在Container中执行env命令的结果:

8b304f763d0eae225fcb66c1ce4b3337.png

第5章 Dropped capabilities方法

帖子上提到了:”Otherwise, if you are root, you can try to perform mknod or mount operation, if it fails, you are most likely in a container with dropped capabilities.”

第6章 Mount方法(原创)

在Host和Container中执行mount命令的结果是不同的,可以利用这一点进行判断。

在Host中执行mount命令的结果:

ee8bdad93c611418cdf3dd7a5cec6a9c.png

b070fae553459f6162f6e36102460851.png

在Container中执行mount命令的结果:

f409b4afce186eb0b4f2d06cf654111f.png

第7章 设备文件方法(不成功)

在Host和Container中执行ls /dev命令的结果是不同的,可以利用这一点进行判断。

但是目前还没发现本质的不同点。

第8章 文件系统方法(原创)

在Host和Container中执行df -h命令的结果是不同的,可以利用这一点进行判断。

在Host中执行df -h命令的结果:

c7ef335999026bb8d452b19e10de24dc.png

其中,cgmanager是cgroup的管理器daemon,运行于root下。

在Container中执行df -h命令的结果:

8b46874a072b89b8b4b5f0023bf8f023.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值