Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
Spring boot的优势为很多开发者所知悉:轻量级、代码量减少、模块化等等,因此被区块链行业中的许多交易所使用。然而match,如果开发配置不当,可能会存在系统高危漏洞,一个小小的细节出错都会导致重大的安全事故。
& B' X6 b0 f+ j! o) V( j6 m
) m, g( k; V4 K多家加密货币交易所使用spring boot用以提高开发效率
+ Y4 n/ N4 b8 }# q1 s* v0 G3 {. b. I8 }, f3 D- N% X8 m- T6 H( `+ r6 `
现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。
: {' c! E$ c& C* c8 |  u# D9 `
  X! r: w, w2 C' T, B- f- z/ A1 vSpring Boot使用Actuaotr进行更好的健康的监控  z% `- R1 G& t" g
4 X  D1 `0 M' K" Q. V$ }1 c7 ]( }& L+ w
在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。8 I% t0 ^8 s) m& c  F

3 ?3 l1 ], i" T1 `4 \" [行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
; U1 ], Z! Z, r: T, _" F
- Z! k4 p1 ]2 U+ m# o* F, Y随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。- e2 F( J6 ~: _* k
2 V# l4 G  ^, \& l  e
例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。, x( Y. k, ]# _/ w

3 y% N. o% a% Z随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响5 l0 ^2 J7 E: T# i; E" J/ q1 W* j

* r# p" s0 h4 v; R, }. `9 kDVP案例分解—配置Actuaotr不当造成的漏洞危害  x3 M  Z$ X6 z" x

: a4 }% P( x6 ]2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。
/ F: S3 d! ?5 o- w5 c1 E6 i5 P  M, n, Q% n6 }2 E" T
根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。1 K+ R$ A, Q# c
) N  u. S2 u$ s! S/ L! k  q
以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。/ f! u: ^0 ^: g  N2 y+ O  C& K

  B2 b7 a0 P* R6 f. b8 x2 M, ]https://dvpnet.io/info/detail/id/653
, M& M- ?$ s7 ]1 l% e" y4 j7 l2 D5 v6 v$ B5 R
如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。! ?5 T0 v# l) ?7 N3 ]6 ^
8 j% D. w! q2 S$ G" r
Actuator 提供的接口,具体如下表所示:4 |& G6 S$ N* h, J
% T' e4 g. F0 }* b* L, f' h
在黑客眼里这些端点的作用:. v3 w" c, y8 v- \; L

, j2 ]0 V& I9 ]DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解
5 G" Z. E: ]- ?: Y! ~' g
' |% m! a1 e& T4 r攻击者通过访问 /env 端点获取到泄露的环境配置信息
+ ^9 v$ n# A; q" b, _: A
/ |. y/ A0 V) \7 A6 L8 J4 l; U3 [通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息8 P/ I  J9 a; d; b, J
& N6 d2 q5 Y1 {
还可以通过获取到这些用户敏感信息直接登录用户账号, w7 U5 k; d8 t5 M  H% a
/ j9 @% ?5 f# H- ?
攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告
  i7 {  {$ a4 a% S% ^9 }" y: B& m7 c( g
攻击者通过访问 /dump 端点获取到程序运行中的线程信息, V& v* }$ G* h3 H: y
( s0 G1 w; D# A
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。+ ^% c+ V: p+ k5 V8 F
7 m& i$ ?0 T. |3 e
攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
9 ^( U! @* `+ G0 B( u
1 ]1 N) {. x) y* `# \9 [" E漏洞修复' t8 W, S& E) v/ p- i( }. d! A

' ?% W9 U* {& N; ?; X0 R2 h  h# Z通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。/ F$ V* }# \$ Q

& p5 @7 i# v' S; E! u不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
( _3 }: i% j0 U( g
$ `4 J( ?# J; f  H+ ]# _/ ^1、增加账号密码访问0 D; m: F' x0 n' w+ M0 R) ~; y( X

) N4 g2 J( L- x$ x( L( F在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问& {0 X' X8 l# w2 f. K9 K3 h' p1 t

- @) ~* ^" j( A  O2、禁用接口: ]) d$ s7 ?# ~+ v; e

( a1 e: J9 D- W4 f比如要禁用/env接口,则可设置如下:
6 V5 p% g& G8 H) K$ d
6 M+ n7 D/ w! }" x6 fendpoints.env.enabled= false
& t- n3 f& \( ~, \5 z: Y$ W& s, j+ b/ p
如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口; f; h( l. G* L9 G! [

( n* |7 A  b' V9 v! Cendpoints.enabled = false5 b% I8 a$ V8 a) J: H) C, j1 w
4 }  t5 r7 q- o8 o
endpoints.metrics.enabled = true
& N' Y. q: H" J) _. Z! V0 t( F; q* N. P. H
同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2