Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。/ U+ c5 j; w' J3 X& z- A

4 ~2 U, k4 }& D9 G# Z多家加密货币交易所使用spring boot用以提高开发效率6 h, U# o, o3 x9 g1 ^

: d# k8 z/ A. d8 x现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。; z1 X: |; O  o
" \# r: d9 q8 S) o, }9 q3 y4 ?
Spring Boot使用Actuaotr进行更好的健康的监控! h( _1 c5 g7 r) _9 `

1 r+ C( W. U; c9 H0 O. i! S5 {- P在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。
& N$ f& o8 c5 [3 C  Y) m
4 E4 @& w, O' z# q行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
3 e0 q7 }+ Q& {
6 u* c. ^6 ^  ~5 f随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。8 Y  I" L# V% @- L+ |
! y, Q% Z: m# \4 [0 s
例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。+ Z& S- N( F5 z
! d& s) e+ x" V4 S0 C
随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响7 z+ s3 v* }+ u' ^8 Z# P# Y, E7 N

3 b$ P9 s! b3 m- L+ w! Y4 lDVP案例分解—配置Actuaotr不当造成的漏洞危害
( o' ^+ V; v. }  L
. A; R6 U3 ?' H% b  ?/ k2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
/ l4 O' {4 @* J; Y; J$ R
% v) r0 J/ O! {3 {: u2 S: U2 N/ W根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。, \( c5 W- Y8 O/ K9 C

' Z7 p0 W3 F2 a' T7 E" H  R; l以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
) u' n. Y# n4 n3 V" H) D6 x1 W" f6 c6 g, q
https://dvpnet.io/info/detail/id/653
, r6 b( H( _! J' ]4 l
( _4 _! E8 t8 Z$ ^2 Q/ N! f如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。
. H) V0 K$ ?. E# X* t' Y+ j
  m5 u: L+ E; ?% dActuator 提供的接口,具体如下表所示:
& }6 B$ c9 L( Z$ l  ?/ R% v  G
8 Y2 |: {6 V1 r, O0 S, Y# N在黑客眼里这些端点的作用:
: L& {, E7 s" [! F/ }) ~) Z2 M. L6 Q- n' e! L1 R8 W
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解4 D) g" E+ S$ D5 o
0 B: w; r( s' N3 ^4 t/ p
攻击者通过访问 /env 端点获取到泄露的环境配置信息# I( I1 r  I& D& p; g2 y4 }

1 e9 R) s% _( x5 E# q% b通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息
, i$ H" a5 ~2 v( h: I; o0 y& p. x6 u7 m  c8 Q& t/ U
还可以通过获取到这些用户敏感信息直接登录用户账号* o% n+ m2 p5 l0 o2 |

4 J7 ?6 h- `7 o8 ~& }) a6 r攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告1 S9 D1 u4 X9 d" ]! Z0 r# k
* L! j7 ~6 [* e
攻击者通过访问 /dump 端点获取到程序运行中的线程信息2 E6 g4 m9 Y. x8 S, G
( p& t& }! V# I2 H9 D
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。" D( {* H- ~- V2 w/ @
/ e4 f! B& K7 O. f/ a3 `$ @. z
攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean% a5 m( Y, R, ^- D5 v/ t

& q$ `" x3 |0 d$ d9 l3 j) x漏洞修复
+ A0 @) c! i  z1 L5 ?
/ R7 J# {, p9 v; X! S8 W4 w通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。8 Z8 u  T$ r, D1 v  s

. ~1 U4 V9 I# T/ W& j% e! [不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
2 P& _$ q1 P7 r, q9 }
: Q" d5 V! r& Y! I. R$ D1、增加账号密码访问
  l6 @& X) C- ^3 L9 o. P& \  d! V! u, I
在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问
( I$ M+ n' E5 l4 t4 L2 |7 \( f6 {
2、禁用接口
1 C+ n; k$ v+ o. H& m3 h
9 Z5 P5 \. c' ^! p: N比如要禁用/env接口,则可设置如下:! @; B# k* p+ e! C& P3 G3 ^6 |) K
9 |" i; Y# U: q. ]. d+ d: e; I# {: R
endpoints.env.enabled= false
4 C" T: T- O# E$ h
6 D' l% |/ M2 G+ Z( K% L" G如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口
' ?2 n" a! w9 l
/ o& ~0 i! {) i4 ]+ Wendpoints.enabled = false" |% X. F! K* _) j

2 G: P; o& J  S/ R% z$ ~$ `endpoints.metrics.enabled = true" N5 k! P' H3 ~' J

- [6 U$ V! T. }; ~" P同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2