前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RiotPot:一个针对IoT和OT的弹性蜜罐安全系统

RiotPot:一个针对IoT和OT的弹性蜜罐安全系统

作者头像
FB客服
发布2022-02-24 13:59:50
8040
发布2022-02-24 13:59:50
举报
文章被收录于专栏:FreeBuf

关于RiotPot

RiotPot是一个功能强大的弹性蜜罐系统,RiotPot主要针对的是IoT和OT协议,并且支持用户交互操作。

RiotPot支持插件机制,这些服务能够以插件的形式加载到蜜罐中,并使RIoTPot成为一个模块化的、可移植的蜜罐系统。服务是在运行时加载的,这意味着蜜罐的提及将根据情况而变化,并且加载的服务(例如HTTP)仅会在需要时使用。因此,我们强烈建议广大研究人员根据自己的需要定制自己的二进制文件。

系统架构

RiotPot有一个模块化的体系结构,用于支撑RiotPot蜜罐的可扩展性。除此之外,蜜罐还提供了混合交互功能,用户可以为模拟的协议选择所需的交互级别。下图显示的是RIoTPot的高级架构体系:

噪音过滤

RiotPot的噪音过滤模块可以过滤来自互联网扫描引擎的攻击,以降低噪音和误报。在该模块的帮助下,但系统遭到了来源于Shodan等源的攻击时,会被标记为“良性”。

工具安装

我们的理念是使RIoTPot具有高度的可移植性,我们强烈建议使用Docker在一个虚拟化的自包含网络中运行RiotPot。

RiotPot基于Golang开发,因此我们首先需要在环境中安装并配置好Go环境。

首先,在本地文件系统中创建一个文件夹:

代码语言:javascript
复制
$ mkdir -p $GOPATH/src/github.com

在命令行终端内切换至项目目录:

代码语言:javascript
复制
$ mkdir -p $GOPATH/src/github.com

使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
$ git clone git@github.com:aau-network-security/riotpot.git

然后切换至riotpot目录中:

代码语言:javascript
复制
$ cd riotpot

Docker使用

在RiotPot的开发目录下,有一个docker-compose文件:

代码语言:javascript
复制
$ cd ~/riotpot/deployments | ls -al

...

-rw-r--r--  docker-compose.yml

...

这个文件对应于相应的软件开发环境。

docker-compose.yml文件会在一个私有虚拟网络中构建该项目,其中有三台主机:riotpot、postgres和tcpdump。ostgres包含一个Postgres数据库,tcpdump包含一个数据包捕获器,riotpot包含应用程序本身,并且三者之间可以进行交互。在终端内输入下列命令,可以直接在本地开发和测试RiotPot:

代码语言:javascript
复制
$ docker-compose -f docker-compose.yml up -d --build

蜜罐使用完毕后,可以使用下列命令来关闭容器:

代码语言:javascript
复制
$ docker-compose down -v

Docker Hub镜像

代码语言:javascript
复制
# Grab and run the latest release of the riotpot consumer image

# detached from the console with -d.

$ docker run -d riotpot-docker:latest

本地使用

我们也可以通过项目源代码构建自己的代码,导航至项目目录中,然后使用命令行工具生成代码并存储至.bin/目录中:

代码语言:javascript
复制
# build the binary in the ./bin folder

$ go build -o riotpot cmd/riotpot/main.go

或者,我们也可以直接使用下列命令在本地系统中直接安装RiotPot:

代码语言:javascript
复制
# installs riotpot at $GOPATH/bin

$ go install

然后直接运行RiotPot即可:

代码语言:javascript
复制
$ ./riotpot

项目地址

RiotPot:【GitHub传送门】

地址:https://github.com/aau-network-security/riotpot

参考资料:

https://golang.org/

https://docs.docker.com/

https://pkg.go.dev/

https://pkg.go.dev/golang.org/x/tools/cmd/godoc

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker使用
  • 本地使用
  • 项目地址
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档