OpenRASP 初探(三)之 IAST

前言

Openrasp 初探系列最后一篇,前两篇文章分别介绍了百度开源 openrasp 项目的一些概况以及 java 项目的应用部署,感兴趣可以移步:OpenRASP 初探(一)之项目介绍、OpenRASP 初探(二)之项目部署。本文将介绍下 Openrasp IAST的一些情况以及部署方法。
OpenRASP 初探(三)之 IAST_第1张图片(2020.5.4 京东通州大运河畔)

一、IAST 简介

其实在第一篇中也介绍过 iast 的一些技术背景,这里再作下补充,以供不了解的朋友参考。IAST交互式安全测试工具是全新一代“灰盒”代码审计。是近年来兴起的一项新技术,被Gartner公司列为信息安全领域的Top10技术之一。融合了SAST和DAST技术的优点,无需源码,支持对字节码的检测。IAST极大的提高了安全测试的效率和准确率,良好的适用于敏捷开发和DevOps,可以在软件的开发和测试阶段无缝集成现有开发流程,让开发人员和测试人员在执行功能测试的同时,无感知的完成安全测试,解决了现有应用安全测试技术面临的挑战。

二、Openrasp-IAST 架构

OpenRASP 初探(三)之 IAST_第2张图片IAST 通过 openrasp 管理后台集中进行插件管理,并通过集中推送的方式将插件推送到全部应用的 agent,但是一个 agent 同时只支持一个 agent,一旦将 iast 推送后,agent 将失去防护插件的功能。所以 IAST 更趋向于集成到测试环境,当进行功能测试时,相关接口被请求到就会自动推送到 IAST 扫描器触发安全扫描任务。

而生产环境则需要单独部署一套 openrasp 使用防护类插件进行攻击的监测和防护。
OpenRASP 初探(三)之 IAST_第3张图片

三、IAST 安装

本工具仅支持 Linux 平台,在开始之前,请先确保安装:

OpenRASP 管理后台 版本 >= 1.2.0,并至少有一台在线主机
Python 3.6 或者更高版本
MySQL 5.5.3, 或者更高版本

备注:IAST 扫描器可安装在任意 Linux 主机上(可以单独的一台服务器,不需要和应用实例或 Openrasp 管理后台部署在一起),通过 Openrasp 管理后台进行扫描任务管理,因此需要网络互通。

扫描器端安装:

  1. 使用 pip3 安装 openrasp-iast,以及依赖的库:
pip3 install --upgrade git+https://github.com/baidu-security/openrasp-iast

安装过程中因为源的问题,可能会导致有些慢,要么挂个代理,要么使用国内的源。(在公司是有的,但是依然很慢,果断用了豆瓣的源)

pip3 install --upgrade git+https://github.com/baidu-security/openrasp-iast -i http://pypi.douban.com/simple/
  1. 配置mysql数据库 (创建rasp账户 和openrasp库)
DROP DATABASE IF EXISTS openrasp;
CREATE DATABASE openrasp default charset utf8mb4 COLLATE utf8mb4_general_ci;
grant all privileges on openrasp.* to 'rasp'@'%' identified by 'rasp123';
grant all privileges on openrasp.* to 'rasp'@'localhost' identified by 'rasp123';

Openrasp 管理后台配置:

  1. 打开管理后台,在「插件管理」tab 页,将 iast 插件(如果没有插件需要到官方下载并上传)推送到 agent。
    OpenRASP 初探(三)之 IAST_第4张图片
  2. 「防护设置」进行扫描器配置,在 fuzz 服务器地址处填写刚安装 iast 扫描器的主机地址,端口、访问目录都是代码中默认的,只要关注访问域名或 ip 即可。
    OpenRASP 初探(三)之 IAST_第5张图片
  3. 点击「添加主机」查看扫描器服务配置参数
    OpenRASP 初探(三)之 IAST_第6张图片根据上图第3步,安装的 iast 服务的配置参数,在 iast 服务器输入命令进行初始化配置。
openrasp-iast config -a
508c865f9f1f4e7614de44e8d365e262fb1cd9fe -b
rAuESGQUtcKNiBLs1q1pZ5rZDbrF01vnDTDTAFJdmZN -c
http://ip:8086/ -m mysql://rasp:[email protected]/openrasp

iast 服务配置和启动:

  1. 服务配置参见上文
  2. 启动服务,输入命令:openrasp-iast start -f //-f 参数为前台运行,不加就是后台运行。
    OpenRASP 初探(三)之 IAST_第7张图片提示服务启动成功后,可以访问 YOUR_IP:18664 ,查看 iast 控制台,如下图:
    OpenRASP 初探(三)之 IAST_第8张图片
    安装完成验证:
    此时全部安装配置工作都已完成,我们请求安装 agent 的应用程序,请求一些接口,此时观察iast控制台出现扫描任务证明安装配置成功。可以开始实时交互扫描了。
    OpenRASP 初探(三)之 IAST_第9张图片

四、IAST 扫描支持漏洞类型

命令注入
目录遍历
PHP eval 代码执行
文件上传
文件包含
任意文件读取
任意文件写入
SQL 注入
SSRF
Java XXE

写在最后: 目前openrasp还在持续不断地维护和更新中,以上的安装步骤主要基于 1.3.1之前的版本,在1.3.2版本已经将扫描的任务管理集成到rasp的管理后台,管理起来更加的方便,大家可以随时关注 openrasp官网的动态。也再次感谢百度安全团队openrasp项目对安全圈的卓越贡献,带领大家共同探索rasp,向前发展。后续我会再更新几篇,在生产环境部署后的一些遇到的小问题和解决方法,欢迎关注。

你可能感兴趣的:(OpenRASP 初探(三)之 IAST)