Hi 游客

更多精彩,请登录!

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

5 N% }; }4 O) x% i& C多家加密货币交易所使用spring boot用以提高开发效率+ z$ L  d6 l( d8 O5 r% _6 P

6 h* [+ s1 u0 S) R现有不少交易所开发者为了更高效快速的部署和监控Web应用,都采用了Spring Boot 框架进行微服务开发,由于该框架使用了特定的方式来进行配置,使开发人员不再需要定义样板化的配置,从而更加高效快速的部署项目。
% ~9 G" R  H) v9 h' \' ^5 D1 L4 ]) O5 _1 u9 N
Spring Boot使用Actuaotr进行更好的健康的监控
% K+ }1 i* t( ~6 A( R$ U; S+ p( I3 p; S8 G* r( p
在Spring Boot当中,Actuaotr是Spring Boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管、审计、收集应用的运行情况,通过Actuator可以在生产环境监控当前应用的健康,虚拟机等信息,通过前端以可视化的界面展示出来,针对微服务而言它是一个必不可少的环节。
  O3 r% S% D" K8 n. o- f
. X# \) |! Q; U! Q3 m行业开发者安全意识的缺乏导致用户信息泄露甚至造成经济损失
0 t1 L: n5 K5 {0 b7 g: L  A5 ?/ S$ D. K+ E! N# o4 [  }
随着区块链3.0的发展,一些开发者的安全意识比较薄弱,在配置Actuaotr监控端点时,配置不当可能导致系统应用配置信息、度量指标信息泄露等严重安全问题,其中trace路径下动态记录了最近的100条请求记录信息,请求信息中包含了用户认证字段数据,可通过更替认证字段任意操作用户数据,由此几乎可威胁所有用户数据安全。
; U2 E! U' m4 J2 ?, s1 P
  s$ X, r5 m# |. ^" W例如在传统行业当中,全球的企业和政府组织每年需要为网络攻击造成的损失支付40亿美元。IBM的资料也显示,全球公司每年因数据泄露造成的平均损失从350万美元上升至380万美元,部分甚至上亿。+ ^# j6 D' i1 `6 `9 b; w

; O1 V2 h3 r7 l  J3 V: N随着数据价值的提高,黑客越来越多地将攻击目标转向企业内部存留的用户、员工数据,当企业发生数据泄露,损失的不仅仅是经济利益。一旦企业发生数据泄露,损失的不仅仅是经济利益,更会给品牌形象带来严重的负面影响5 m7 L, x* \) v8 g, {* ?- Z

8 C2 D& _- _, e" ]DVP案例分解—配置Actuaotr不当造成的漏洞危害
, a3 c$ P9 @1 m' T. q: I& U, z; O0 P0 z) N' C% s
2018年7月30日,DVP漏洞平台已经收到过关于Spring Boot Actuaotr配置不当导致敏感信息泄露的高危漏洞并且第一时间通报厂商。9 T+ y% o, T9 c# l  A+ c

9 q6 L$ `4 ?- u# p- w5 L根据DVP安全研究员介绍:案例当中,攻击者可利用此配置不当,获取到网站的敏感信息和用户个人信息,甚至可通过这些接口控制用户的账号进行一系列的敏感操作。
2 r# j4 S. H2 ~. I% f/ ^- I5 x) v: P2 c+ U% Q9 G, P9 {
以下链接是DVP 漏洞平台公开白帽子发现并演示此漏洞的详情,DVP平台在第一时间向厂商通报了此漏洞。9 Y- |+ l2 l2 T5 ]6 e7 A
8 M2 a% L$ Z% T, L9 k% m
https://dvpnet.io/info/detail/id/653
0 B8 w9 ]% C- s. e8 j6 [( }6 @: a% {) ]# G, z" x+ t: v- `
如果开发人员配置不当,会导致黑客获取敏感数据。如:将接口暴露在公网上或者未配置限制访问,黑客可以使用以下的Actuator监控原生端点获取到一些网站的敏感数据。; f! N, y( U2 d( a* y- p
8 ?+ ~: n! \5 I$ v9 U1 [
Actuator 提供的接口,具体如下表所示:3 A! q+ E& ~! m! D& ?/ J1 [

* ^' [- s  d  J/ j3 p( F  R; V3 S8 Q在黑客眼里这些端点的作用:
. W8 j8 ]0 P3 J9 X# ?9 j- s7 i% H
DVP真实案例:通报后漏洞已修复完成的厂商漏洞拆解& w9 n! `4 p' B! |4 r2 q
* z* k; }% q+ `- A! q- M" n! X9 t
攻击者通过访问 /env 端点获取到泄露的环境配置信息0 m$ G4 J& K) _# p' {
! b! i, [% O; D: }1 |9 Z' d7 Y
通过此接口获取用户请求中携带的认证信息或者cookie来获取用户的敏感信息+ p( T, `1 D7 o1 k% Q; K

: ^3 t# d; _5 L2 V9 `, g( ^5 p还可以通过获取到这些用户敏感信息直接登录用户账号
. |; D( ?& [2 d( @9 _, @( W; P3 A* X2 U, _1 A6 A; z
攻击者通过访问 /configprops 端点获取到应用中配置的属性信息报告- }1 U5 k3 M& \7 d

. o3 E; U* x7 n- F* R; \& t攻击者通过访问 /dump 端点获取到程序运行中的线程信息
" c/ w: ~  _3 g4 H8 F+ F8 L7 h) c# `7 l+ }$ |2 O* S$ o( t
攻击者通过访问 /autoconfig 端点获取到泄露应用的自动化配置报告,包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置的各个先决条件是否满足。
& k8 W. J% _$ g; a0 _1 }
9 Z9 ~, g0 g  F. \攻击者通过访问 /beans 端点获取到泄露的应用上下文中创建的所有Bean
5 d4 @- m. ?5 W, z3 z* J9 C5 F0 g$ S8 ~" @) L, @2 W2 o
漏洞修复% Q# O, F% X1 r# m, l& S0 N( \
' B# ]: b( a9 l' [
通过DVP提供的真实案例可以看出,如果以上请求接口不做任何安全限制暴露在公网上的话, 极有可能引起严重的用户信息泄露问题。
; ?; W/ \8 v, _' D9 g9 w; {) j9 R0 o9 S- u' p( r
不过Spring Boot提供安全限制功能,只要在部署的时候配置好相应的配置即可。
  J! R+ g% W0 v: h1 ?% \; W
! o5 B8 @8 f% _2 y6 i* p8 y1、增加账号密码访问
( i; p* N, s: g0 {! P& u" D% Z* M2 w2 g! q/ ~# @7 O
在application.properties中指定actuator的端口以及开启security功能,配置访问权限验证,这时再访问actuator功能时就会弹出登录窗口,需要输入账号密码验证后才允许访问8 ]% ~4 Q4 p- {# q3 M

5 Z& j; [7 l! w5 I- o; Y- N2、禁用接口# f) Z4 n* S, s
( q: u% U: @9 v8 X
比如要禁用/env接口,则可设置如下:
. h; @0 s+ f. }' a! q
) o- }5 ~1 S4 q" J9 K1 t2 S, cendpoints.env.enabled= false
" k9 B: G3 C( X( V( Z- E( ^
5 c% q9 \- _( V+ Y" L. Q如果只想对外开放部分接口,那就先禁用全部接口,然后启用需要的接口- `2 [# l3 e* L+ f6 [, H
" ~; x$ W" T0 C6 S7 K/ ~/ l! X
endpoints.enabled = false; B/ S& v8 p: D4 |0 w! p+ _! e5 Q

, N( S' r3 H3 w2 ^% [$ e: ~6 E# T8 xendpoints.metrics.enabled = true, w& @  T9 \9 T) d( I8 h
* z8 `2 H$ u3 Q0 N% G- w5 ?
同时可设置单独的Actuator管理端口并配置不对外网开放。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

独孤客 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    2