Hi 游客

更多精彩,请登录!

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

6 F. M" j# R' L# Y/ g1 y多家加密货币交易所使用spring boot用以提高开发效率9 q6 o4 l+ ?, Y- \; ~
6 s& P# k! w+ S2 h6 p
现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。
5 n# B: o' c. [5 R
5 F: R. D2 ]; E5 P+ {# e# R( hSpring Boot使用Actuaotr进行更好的健康的监控/ d$ b+ ?( A1 m- y
9 ~* g# c0 j) O* L) V
在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。4 s) Y( O6 e5 h0 |/ |% O6 l8 ~7 \, u
- b1 n( A# {: T8 Q
行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失+ I7 N5 a; C- {1 f% h4 @
0 _8 l- o( ?3 a' D6 i0 u
随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。# a+ N/ x5 F$ @: |
; _1 {% O5 I; n, c5 h* ~* l+ Q" I
例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。* G) d1 Q, t% g2 `$ }* p* v4 w4 V- C9 r
  ?5 ~# f9 }# h* H  B/ j1 H$ [9 g
随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响7 ^, O: M" W9 H% ~/ V7 ]
9 t+ ]1 T$ q) [/ ~- O) L/ Q
DVP案例分解—配置Actuaotr不当造成的漏洞危害
7 h) u7 I$ ~, V5 N, r$ v" D" R; T" o: a3 l2 |* o
2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
# a" q7 R! P  T7 Q/ K% S
0 {9 V( Y# I; k! U根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。1 w9 p# e; X; \2 d

3 t8 B7 S, i2 a以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
2 J3 b# S. H, U! L! E: t# P/ r( x7 \$ d
https://dvpnet.io/info/detail/id/653: n7 W3 q& w* K) ^# L, P9 \
: _  l$ ?& B; c5 ?: o4 [) i
如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。  s& a! J, {) v. K  A- K
6 W. B' X" B4 P- n# ^- |
Actuator 提供的接口,具体如下表所示:* t1 r: ?0 @, ]
7 Z$ V. ^. S$ u: r0 h
在黑客眼里这些端点的作用:% q4 z$ c$ k& U" K
0 n, Z$ W' V" [1 e
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解
6 j2 j: M, O3 X8 r& D! s
' z) I& i: W+ U6 s; K' C攻击者通过访问 /env 端点获取到泄露的环境配置信息) |) a" t) D" W  v7 D0 j
9 c# d1 [( f' p
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息" O0 g' j  S% u0 R7 V/ a# ]

; C) ~8 {  j8 \6 P还可以通过获取到这些用户敏感信息直接登录用户账号
  q3 B/ z* k0 l" ?/ _" w7 w4 |8 q' m' v9 F+ ~4 m3 s
攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告  e& H9 j( \7 |2 a* Y: E

" f) H9 K  P. Q攻击者通过访问 /dump 端点获取到程序运行中的线程信息1 D% a  ~% O# Q* j

0 C% {7 l1 c% b8 E# X4 x攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。
5 x! p6 y5 z$ {: h  [# h7 k0 x1 T
" r* S3 q/ Y+ j攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean- [* y1 [6 e$ N1 v; w. c
* }8 {# M' i$ n$ Q5 Y
漏洞修复
; g) r' j1 E( a! q4 c1 _
) s8 ^# c; a  Q! k# R4 K' V9 `通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
* W0 F! f& r. i2 M& A5 n
9 u' d. e5 l# i  h8 e! B不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
2 \1 ^4 ~- M! H' P3 M4 X
4 y. v: L* M, u  U$ r) ?4 f1、增加账号密码访问2 M# `0 W7 R7 m

2 t5 @# ]8 ^& H/ m在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问
" P. ^4 x' m5 L0 C, J: c( i, C$ i  E6 `6 I
2、禁用接口/ ^& V' b3 L+ Z9 T

  f2 P- |9 A1 t. e( Y3 ?& _比如要禁用/env接口,则可设置如下:$ S  X2 k" K% O3 I
0 [7 Q! H& n4 C8 o
endpoints.env.enabled= false. }  F& K, m! B( R! N% q/ o) I

% A! k$ ^2 Z# h  J- o) R- o( m/ C如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口, K$ }6 o  _( v! q/ B
1 V' K; \4 f, V# B0 r# r; `
endpoints.enabled = false
. _$ W+ q. k5 ]* v, g8 ^% Y
  I0 w4 ?7 j( l7 ?# F& m( `  Tendpoints.metrics.enabled = true8 I: c! o& a; I& O
4 h! @+ ?3 ~$ K9 y0 |  B" c
同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2