/ u1 x7 L1 E) J. m 0 I/ y8 A: L: H: Q+ O8 ^# U6 K
' V r6 l( p: h2 ^9 D! l 8 t, w {4 X5 r2 ]6 u
& d2 {8 D- i2 N6 F$ E
9 G" R- {. [% K* L
& u! A7 ~& K+ F, |
" E# U5 n6 A9 L5 R& h: A # Y* H4 h5 L4 @! A! N& r p* ?
5 [! x3 _/ `( Z
, @: @1 \! l* ]5 R3 C. Y0 R. C 3 d- s9 [2 j4 h" H& |
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? * Q, Q# O! ~6 P* `( u% N9 r, h6 w' J( U
6 y& X8 s9 l) u/ r0 E % A8 U$ H; ]( X2 t$ Y6 v$ |
* s3 u3 |5 H4 A- M" ^! A) r% X( [# F
$ i C9 ]" J7 g$ m5 D& I
" L6 c4 l& T" \4 C+ N 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
7 e8 y# J. ]" d o ^: H
8 M( f8 S2 H# e
8 l2 |# I& S* N$ S: }2 H4 p5 F) y3 `
5 M/ b. h4 A. `# Y8 _0 @
* X% T, O. M. j8 B; q! T1 ]
( S2 H6 P" r$ K2 E s! u
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 D$ g: h( C" _
% K1 N: G; e# R/ R
" h8 G, N. p s* M2 A& B" j
4 m5 c1 F8 o. K! J2 t
5 S5 K \7 s4 V9 D
T% O! {& E0 I! H0 u *文末附《破防了》项目技术分享视频
! L' o( {* N) K1 r! e* R' _
: c0 U( X' u5 C- u3 F1 G, Z3 Y , T% V+ a. s8 v
1 Z! ]3 U* F! Q0 @2 r C- g; A6 s/ d! U- Z$ b/ W
/ }2 R0 H1 Q: H$ v! b+ G
& V4 ?) f/ ~: d! T) N
! F4 {7 V! j, R0 Y& ^- m
5 F0 ]; j5 ^1 ?4 s" s$ ^
4 C1 X: w$ n, u5 ^: H5 q7 g
5 n; w6 }% y4 S' X4 z# m4 R( b
2 n7 }; K) B1 ^8 |+ k
9 ^, a& G. B+ Z
5 ^4 J4 q* L$ o/ N9 R$ L) i: K4 W
7 x; w/ C8 `8 U2 `
" [* _! z6 {/ z- H9 V0 H( E% a/ x; w
- C& U5 C2 ]+ ? n6 Y L. g" z- J
/ j' ^; l2 g3 d! e: G C
; q9 m F/ n1 ^! O. X6 R1 `
+ R& H: r; @/ Y
& R2 D& ]& h9 [. ?9 u& a
日拱一卒 功不唐捐 # n$ w* F, X" x( b& j" J, h$ b
$ R1 [ K# u7 Z! v( r* K ) g, w& x+ H+ q B; x K
& a1 E' X8 I! S2 {- K$ i
: c. N1 f- @& z4 Q& K 7 C" p: c" U) C# p. H: `) j8 v) M
/ U, M$ q, f% g5 X* v2 d
5 N5 _0 n3 L# ~" \2 o8 C. R' t% o
" ^3 a4 x9 K; e! y! o0 L/ N6 p $ I% Y9 J* N1 V$ a
& z5 Y, N" ^" w3 m, }
4 W8 s X, K; P' J. \& m0 r. d* }
) P( B) W! E& j : T J6 }7 u0 n
6 D" m* ?. g* t- M
$ k# ]0 I. x) R; @6 R: g( a* I: h . k7 P2 N7 c$ Y7 e5 {
1 ^9 B% T( X0 v- _6 v; c 6 y$ h" c/ q0 L* c' w- _
5 i' y+ H: o/ g0 Y
4 O7 F( g7 I4 D8 z! V" H# Z0 B
3 r& a. W1 J# x- E+ | 6 E; e4 H' S& l0 q. M
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
( h4 A1 L7 m: U
: R4 V9 z3 H2 O. T2 f & z4 f) ` O/ E, |0 H
7 k6 y$ b# @* Y. {
5 j/ ?. l5 Y/ u. d# R% z
# K$ [" N6 T" D( I% x* d/ {" S
( S. @# l6 p- E( s
7 u1 J0 c* w: ]; a% i4 ~9 G9 k3 B
3 b( I. h" V" M% q1 b 日常研究环境
. |' T9 u4 q0 W6 O* y3 z ! @6 f; y* i! [$ `
. R( m8 I/ g( ^
8 y0 d9 {- r7 l4 n
. _7 J* a& D7 i- R. V: Y% c
$ j, F! k9 p+ _ 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
" O$ l- M/ G+ w( ~4 u( j: y
; V& Y2 U$ G) m
* Q$ V4 z2 v, H) ~: g7 P( w7 v
, F4 J! K) @9 Y- Y& e$ t
) K. t7 H! l2 Z3 l5 j6 E
" s9 b/ g+ Z" i# {% ? o Z
6 A, f; M2 n. E, P5 e7 G2 b
0 C2 w6 V1 l5 ?5 Y+ D7 R- L
% f: @0 f P I9 U# F 0 T; O; A H1 x+ `2 c. p1 v3 W
# Q/ n. L3 L! k5 `+ Q , a V- W& {' | T9 _7 }# V
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 1 {# @; U8 U& L4 T; F' e- ~& j. }
" a5 t" u) V2 {4 g& Z: S9 D! E ; j/ Y8 N; p5 \7 w8 s
* Y" D4 t5 f$ E. D8 P8 v
. X1 w5 T. ?& [ n 0 P g/ p$ k# M
* A Z/ g# { y1 m5 Y, r( m# j- l
" s4 N4 r- z0 ~: E: z
/ O" I5 u2 ?6 I* @
7 G5 o! \7 ?6 z
- h+ a6 z8 g& t
5 ^) a8 O) _; f* L) R . W1 K" g8 f9 E3 ?2 {3 i+ H, S7 E
0 r6 t; F" G" p) l) D- N- I
, d1 l6 c( U( p' c1 R @0 J
" \% E" q* w, _7 s: I( @ 7 i# j: l! g5 [* [
) O" c! Z2 V8 ^" Y# R+ l+ N9 X
% a5 L" \7 ]3 C( o% s, @3 a8 _7 l 8 _+ g2 T0 h+ a& i+ p0 G
) N' `& R! Y* c) D7 d6 Y; `+ x 破解加密硬盘 8 N$ o7 ]0 a1 k8 @- j$ d, L
5 a- F: {; C1 y' ~2 ~( a: L0 q9 c
: n, y3 u+ o" d' m: m7 I& `1 c' { 2 _# U. [1 D' l% m- `) B
0 f% F! u& l( N+ X7 ]
! _* m5 i- p/ ^2 z v
# f. Y8 M% v0 h1 ^. E# X
~6 F( z# X6 S1 p7 C5 R
3 M+ W- g3 w9 c- ]2 a t
4 v0 P. j" _/ L5 h
7 w' t3 a' M$ E/ u ) n, \6 W$ D7 d
& j$ w+ z% x/ u& d
2 t# t( d+ v3 s2 k ' B) u. y z; c9 A1 O& i6 b
5 ?8 K3 X$ z& K! ^- v # ?+ H/ i7 C/ @$ ]( z' E
Y/ l3 P/ ], A! Z7 L! i3 ]* w + g7 Q' z- k4 G# i
) d/ H$ ~+ V& o d' L2 i / u: W) | w. m( V! V% o" j% n9 O
# u" s) y. o# H% p9 ^6 w
g# R N3 M D! r$ `
; m- n5 y& q1 f1 x- c+ m4 I
- @' u: F) C, u) a8 s. F1 S4 |0 |1 S' B0 x - W, t- I9 _2 o& u# J
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
+ z1 z* S2 x# V, X8 u
6 o& l ?' S0 o t; M: e
' _+ {% S* I5 [- s k
2 \2 j" w$ L k4 w" @4 p
0 g" @9 m/ L) ^7 y& [* i* e
$ `! N5 J' r5 K$ |9 m6 w! `
A( Z( r' y7 X& C2 g/ l
( F2 |: A: h% v J
0 _$ `+ J) v o$ d* K: g
# V$ Z" F) A, O4 c
- N- X" {% a# [
8 [: Y+ [: N/ F* J- c( h7 u& x
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 0 r, f7 X) v0 F- x+ ]5 T
0 y) j; ?5 g3 e) U9 Y/ @9 c
0 R7 ]8 U; z# w) n% l( n! a, M
3 R' U0 }7 {7 A* h) s
+ b7 O+ W) [9 F3 s I; |0 ^7 ^
" I1 x" ^/ t4 v- i2 n1 y$ F
! o& i8 a( H# l
$ X# y( | c# d* p
5 o, F- c7 h# J T5 G
$ `$ r8 I: a7 L. t
' M$ |* p. D _& f
1 Y) W2 B0 A; Q+ j# ` 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
2 Y( G6 E O: x' t9 D1 L0 Y
6 O5 {# G+ S' M# r. g( p2 A7 j
5 `+ r2 W7 p- V& `5 ?
' `7 a6 h1 @7 X: X
2 c2 w' [2 E% s+ h2 G6 N- J4 `( `' O Your browser does not support the video tag " U7 G8 o! u- D4 I
) g+ ?( K$ q! |' _4 W
2 ~8 v; g' o$ l' q- B
* g. ]/ q* R1 h5 C2 a- e