openrasp 拖库检测与数据安全——使用当单个SELECT语句读取行数超过预先定义的阈值,OpenRASP就会产生报警,提示管理员检查应用是否异常
拖库检测与数据安全
同时,OpenRASP也是OASES智能终端安全生态联盟(Open AI System Security Alliance,简称OASES联盟)的核心开放技术之一。OASES联盟是国内首个致力于AI时代提升智能终端生态安全的联盟组织,联盟秉承“技术赋能、标准驱动、生态共建、产业共赢”的宗旨,对外提供多项安全服务。OASES联盟是一个开放的组织,欢迎更多合作伙伴的加入,共建安全生态。
据上一个版本发布相隔约1个月,百度安全实验室此次发布为OpenRASP v0.21版本。
What's New
首先,该版本进一步加强了SQL注入的检测能力。在v0.21里,我们公开了SQL注入检测算法#2,即根据语句规范来判定是否存在SQL注入攻击。目前我们一共支持5种规范:
禁止多语句执行,e.g select 123; select 456
禁止16进制字符串,e.g load_file(0x41424344)
禁止MySQL版本号注释,e.g /*!12345
禁止数字常量比较操作,e.g SELECT 1 FROM dual WHERE 8778 8778
禁止使用黑名单里的函数,e.g load_file,benchmark,pg_sleep, ...
我们挑选了包括Discuz 等十几种开源应用,提取了他们的SQL语句进行测试,目前没有发现误报的情况。具体要开启哪些检测逻辑,请结合业务来进行配置。
其次,该版本引入了数据库拖库检测功能。通常,黑客会先尝试上传WebShell,一旦成功,就可以利用数据库管理功能,进行拖库操作。当单个SELECT语句读取行数超过预先定义的阈值,OpenRASP就会产生报警,提示管理员检查应用是否异常。这个条数默认是500,可以在 rasp.properties 里配置。
然后,在安全基线检查上,我们增加了对数据库连接账号审计的功能。使用管理员账号链接数据库的Web应用,通常会带来更多安全隐患。当发生SQL注入攻击,或者当黑客拿到Web服务器控制权限时,结合一系列技巧,黑客可以进一步拿下数据库服务器,获取更多机密数据。
目前我们会检测的管理账号如下:
SQL Server: sa、administrator
MySQL: root
Oracle: sys、system
另外,为了减轻运维压力,相同的Web应用,每天只会报警一次。
最后值得一提的是,在v0.21里,我们增加了对DB2数据库的支持。 DB2在金融行业广泛应用,然而商业RASP产品均不支持。由于授权原因,我们仅测试了DB2 9.7、10.5等几个版本。
新增功能
检测 JSTL 方式的文件包含漏洞,或者SSRF漏洞利用
支持 DB2 数据库,我们仅测试了免费版本,9.7 和 10.5
服务器安全基线
新增数据库连接账号审计功能,e.g 使用 root 连接 mysql、使用 sa 连接 mssql 等等
增加慢查询审计功能
使用 SELECT 语句读取超过500行数据(可配置)
支持 Syslog TCP 方式传输报警日志