Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。
9 f- B5 Y8 H  Y" U; T3 p! @& U9 K3 |% R& m0 u4 ?3 a
多家加密货币交易所使用spring boot用以提高开发效率
  f% V$ t0 m; d9 a; i* O
8 O/ A0 Q( ]+ y现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。! ?& g+ }6 }8 ?( x! \5 V

) S+ y% t/ n# L0 j. h7 ?( U8 v+ FSpring Boot使用Actuaotr进行更好的健康的监控
4 I8 t6 J7 h2 Z5 S9 I% L+ L
  ]0 n( ], U6 j0 f% M! E8 w' r! ~在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。
, C7 C8 i! m& [% S
$ k5 q+ j  W$ X! B( B6 c3 e* ]行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
1 e+ _, a. r) o5 g$ s5 c# g* X) Q, y* \8 R
随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。: F( z3 c3 F7 F

. _+ d1 W0 i1 H' V例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。
& f  q. m; X- q) M; F, E! v( ^
  B( Q" W. t! b3 \随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响" j: X$ j' S/ Y* c, N' G
! }  [6 ]0 t5 _0 O5 n2 H, I+ a
DVP案例分解—配置Actuaotr不当造成的漏洞危害: \& \& E1 U* I8 Y

9 A( k% h. t* E5 @* y2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。' a' `% s0 C9 }3 O8 t
5 f% l- f! T% N# t7 S
根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。$ B  @$ j- ]* f; J5 l( H

* y/ T  g* G6 w4 \) k0 c# ^5 L以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。
2 F. ^9 b% O2 ?) \$ g  J% q% [' ~5 B- P: B5 k
https://dvpnet.io/info/detail/id/653$ D5 Q, o) I' y! v% v' u
6 O! Z5 o5 q$ p& I& f
如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。* C5 o7 q! n5 U" u& d
2 S- e1 T  s# W$ h! X# O
Actuator 提供的接口,具体如下表所示:
0 P2 ?2 b! L4 s7 P0 J& M+ @
6 a7 U4 i6 b# }- o1 u4 F2 ]! ]& I在黑客眼里这些端点的作用:
2 j9 F% Q) y' s1 E+ O/ ?- }8 ?/ j' \) ~8 {& h1 L& q" N! J
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解1 V. _- G4 i0 S! p" |( E( N$ ~

  Q) e' v9 v" _9 Q攻击者通过访问 /env 端点获取到泄露的环境配置信息
* ?& q, e* y3 Z# e4 n5 h- c: O" u. g5 a" a2 d3 Q- c
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息
$ q5 s% \9 l6 \3 S- S; i% K6 Q' x# Z5 l6 n. _3 C5 L: h* y
还可以通过获取到这些用户敏感信息直接登录用户账号2 A; X" b0 y8 S, }) M* b
5 x/ A* U- F  X0 {
攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告
/ q) E0 Y' t% |. {- i( a7 B1 l, i* x4 i4 f5 f) i2 }) G
攻击者通过访问 /dump 端点获取到程序运行中的线程信息
2 j  }& g- r$ n3 W8 {! b* C0 q' Q; r5 W' k1 q
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。
: m7 v) R; B- K  H% r) q3 z. x
4 {- B1 ]$ P: H: m攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean/ L1 d3 y7 f, g, Z% X6 t( F

9 a0 h6 `7 I. f5 ^8 `漏洞修复/ |# c  ^& o9 p

: ]5 G8 x- B1 [3 k- Y+ ~4 |1 a通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
' L# z) D" k6 Y7 I. z
( Z. o/ i9 d8 e  ^/ Z, r/ X) U3 `不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
; x  }  Q7 w- K. x9 X' m* V/ C: X+ @3 `* B
1、增加账号密码访问
) I5 M0 y0 N: H* _* d
" u: `3 f' ^$ S6 r# M在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问- y( ~) ]3 C: A2 i0 B' b" d- p
$ S. f7 z0 r' J  y! u
2、禁用接口
9 w* Y3 k+ y0 g. n* @- n7 l$ f: t' Y0 H1 i' o' y
比如要禁用/env接口,则可设置如下:
/ H0 v* _* L5 K/ N0 |& H' d, l8 }' m' k4 A6 L" U0 p- Q
endpoints.env.enabled= false# X1 a4 L! K# R' t7 Y3 X1 Q2 ^% X% N

) B; p7 u+ d1 h( C/ h) e* R$ h如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口
! K8 N6 I1 q$ s, K
# n$ h5 [" [( E1 q" H" v- ^+ Z4 yendpoints.enabled = false, b0 |2 O+ ~7 C+ P% R- X8 o

! I* i4 N5 T$ F( \# _* Eendpoints.metrics.enabled = true
* E  ]2 I6 Q  ?5 T' C. b* t
0 y9 c9 B' o& Q/ I同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2