+ d% f& Y" _# w* J9 c, f 2 W5 x$ @. c) c& n- f
, C8 M0 }+ s' }& l, r- d3 Y5 J2 L
+ V" M/ ^. b* u2 G9 J6 O. R - X; d( ~. R9 _+ ?9 u9 `6 s3 t
2 Z$ u5 N( O0 }# K% T0 B
6 K, b( ?3 V- F; v# n4 x. |) L* J
+ y/ O5 A6 Q& V/ _ v8 J
; y. P- j T9 t5 U
! b6 `9 s" m: w
4 E! k0 ?7 I0 B) f
) O+ j2 t/ f0 t" @8 T 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?4 A$ s; `% G% k
( G2 |3 k8 H$ P( a2 z( f 1 Q2 d3 A0 R, n" q. x3 t. O6 U
, l& u) K$ c" o& s3 T
& W3 m2 g) K! c- M 0 z" e' A6 Z6 T2 m) H
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
6 V8 r9 l8 d* D8 \
# K$ v- |- n3 A0 a# j0 Z- V5 j
" ]$ M3 j2 y% [8 O& C
) N; u4 t8 M2 I" B( r 4 [* o, n- Z! _4 @& A5 @
3 y& s/ q- d0 o; V* ^
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
, x: [# B6 [6 @! t9 h f4 L) Q
$ [/ U( ^6 x' ^1 b( |$ l) e
) ]& v+ X, H) l7 m! O
7 X% @( I% k# m; ? ; p% q% v! b3 b; U0 S
; { r" v; V$ S' L6 A *文末附《破防了》项目技术分享视频
# ^! P% L2 _6 o3 }: F" n 4 R) C# b: m+ ]& Z
5 l g" ?. v- [: s; m4 v$ ]' A
" R7 F* M! F* t, `) Q * l- }2 [' s: }
1 Q; C+ P$ k6 Y4 X8 t- V4 o 0 h" E( _# i- M2 N$ @
2 E6 H9 N z) ^& ` ; ~" L+ A7 A" q+ m5 M
+ L& o5 @9 ], p: d% R
/ |' J0 D+ v4 j! y# Q4 y2 [5 Z) P
# S$ m+ ~# U. r! S4 Y- |: d' C
( u" ~1 b' H) R- B$ S% H: b & R9 f# f8 V# ]( `. C# r4 v
, z; m( d0 R- r& K; A: c& X5 N
; T3 `/ T1 o* k3 a' T3 n . [ }. V( ~' Y/ s1 i
: ^# \5 @$ o+ \$ l
. w7 W: V& Z) {" w# C
, m! b9 b9 a7 U% _" z1 R 7 F" F$ D5 N7 z
日拱一卒 功不唐捐
6 Z- s0 H' |6 B# l9 U: [! D2 { ; z) I4 s7 Q( g5 x! i9 x8 o
8 ?! Y6 r0 M: l6 W3 B5 m& I
* O( |, R( ~. V' B9 R2 _
9 Q4 l. [3 J* \7 T; S
. }" q. a) Z2 e7 l- t
9 w2 M! L) p) {& O0 C2 Y Z H0 p5 ^1 A; ]) J" g% q
9 f2 j- q" W, `0 U- Z& q4 H
3 d; |% P" x& R
7 L+ }3 E1 G! w" Q' f
0 I. v; y3 o, r 8 W; T2 S, F: Y
/ k; n) T- O# x G: y* _$ S9 a
1 ~0 Y8 i2 _* R# b+ t
) t3 g) j! i* i7 ~& _, {) I0 m, x5 n y
- B. h" |. }8 [2 h J E+ c 5 r3 I' g$ Z8 b- q$ v# T1 v* i
- y: _7 Z# V- O$ ] P* [1 }/ I
7 g E! ` N, o : `$ B$ x V" D+ f9 q5 o- ^# u
. o7 g% w- g8 Q7 F& |
/ B7 J0 |: c' f7 ^9 X4 @
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
; a; j4 N; C) R! F3 z 5 N* G. w$ k2 c5 @* M X
+ Q( y3 o+ p1 A+ F: O- H, T
: b! |* Y* J5 y, t1 }! w
* b- m" _% ~0 T& F& H4 v# p; D ' v* L& h4 A: g/ Y7 m) g6 L8 p
8 ]: y- p: R( r& ?, M- ?$ t
" J! p4 `8 R% b3 q, [
0 W, {% N4 G( _/ b7 F
日常研究环境
. M( ?8 n0 M: H9 i
( b; ^1 k H( z0 g' X) ]
8 {9 M0 z$ f+ q0 D1 g, G; d: ? ( V" V- M8 v$ F& w$ M5 b4 C, g
/ g* o; [: T f4 W! ?
) c9 k5 E, a* [7 [9 E 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。+ s. p7 m6 K5 c- R- f7 N/ l
& X. s0 _( O+ J/ a7 }
% s* H9 \$ @+ ^: }6 _ . o7 w( X, ~/ E# Y
8 J5 b; ] U( X8 B 2 d4 b5 }: K; P: s( B/ Y
3 ~) V4 O4 k9 d h, w
n" g5 X) `0 w7 B
! \0 W' B p9 X$ s5 e# o
" x C- H. {1 b6 B3 b 3 ? c+ @" K2 W- B; N3 m, i
5 b" Z: i. h! R- |) h8 A
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 ( O9 T: v% t+ r6 N: I
- C: g- C2 I$ [& e
/ l2 E) ^; n: U; g4 c
8 g/ [, g5 h& c2 _( b1 l, [/ N
- e7 w1 H, e" b# B: S) S' C 9 O2 W/ n6 ~3 e
6 p& b L' f% j( P( k
1 K! J# X( Y' Q% @2 Y
8 p7 I" ^5 d* d3 S0 C+ ~% I% i% r
) o8 s' U0 p+ h; P( ]( `0 l) `- D ) u0 N: I5 D: o2 `% C
+ w' R4 B `6 b( c3 \1 L+ m
3 U- p9 s) S' d ! P2 y. Y7 X8 S7 o6 C
+ g) z+ V/ K( Z5 V9 H
; u' u! S: l, a, A
; L! L z( g0 q4 H! s6 D % P' e% S! ]) I% p
* D& D' u, J4 M2 P0 H
2 r0 v9 K0 _5 r, N, l/ w
+ T( G0 }; Y# S7 e) T7 U 破解加密硬盘 r5 @4 s5 a6 O; B
. V$ q! M! i( y) J* y; [- {
2 E' H1 }3 `; x6 D/ f* O/ S& w
% A4 ]1 a4 z. q 6 }) w! P( |9 ?. g
1 W% t9 v8 m& f8 c
' t) {' u4 e3 n. F2 d$ C / b3 C" C e7 d- o' x6 t
. _8 j6 e" _# i# Q. \( v- |
2 X5 }2 a! a% G
: Y" P' E- M- ^$ t ( Z9 f3 @; p4 y; |% W
) Q& h" i5 w. l5 d& \) N- {
. Q# ~) X: S5 _6 e! O4 ]" K
0 y0 V5 ]' F1 b) d5 Q% J7 d# m
3 w! h! q9 r; h
5 f# |: T3 j: m& H 7 c! q$ B2 b8 \0 R {. t/ ^: c
* b* b4 Z( j u# } 9 A9 d7 _: a' s& v# M8 Y6 H6 G
5 j% E! u' p4 c" d
: Q0 a" g3 d: G8 b# t+ C
6 E/ i: D1 @3 r & L- B K3 E) F" r& c1 S
. N D \4 l s
6 E8 ]4 P+ s' i( F# u& M: I
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。" r; s5 c1 x& Z- E9 X! w0 ^0 E% u
3 [* h; }2 f# l* y ( H; J: Y, A- b# N: j1 [
' D/ v- z: l3 J+ z# S( V& p0 X ( d& f c( u2 K( J
$ r P, b0 c- Z$ A- a
+ Z4 \8 r6 s8 b, l0 i( ~
' ~+ K3 W2 T$ D: c
0 _) ]1 P! V! B" L. D 1 O: Q4 O( `5 \
1 S9 ^2 ]: q, P8 \
( h5 r" K! h( \5 }% T+ d 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
* } \' o, z. u* ?
9 L0 }/ {+ |3 M; I % T. ]) }& G3 t. O/ H
) _9 Z4 x4 L I, O
4 |5 e: h" P- y! f: F: W0 X( F6 x
a8 l0 ?- o( W0 [' s
# N# |# `6 U6 M W" g: o
, P( n% V6 g. |, S6 m , w* i. d! Q$ P0 V+ N
( i! m* ?* a4 H+ G/ n ( A* n- k4 C3 P" \3 \$ H; _9 N% X: G
7 n$ M& P7 v1 P j. b) N3 @
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。5 P: A& S& J5 ~0 b3 |% Q( G
9 G# c1 x- K+ r" @$ m" [( L 4 T& |$ V8 k2 J7 c( k6 h
. k2 x1 W0 R5 u2 V7 d" r& V; p
" z* _1 {+ ]* k* C$ T" W m$ `' p, O- A4 k
' Q9 S- a8 G, p3 M
, h0 k* n# Q W3 p! ^+ C: X9 f
" D: G8 A2 g" j. t
|