; y: T! T# v3 ^) K k
3 m' q0 z! E* O4 g3 F
) K7 [( J1 \" f' `% Y; | W
) `+ J' _! |/ t5 S5 x & F( l r" N) ? p4 v
5 N' G$ z: m" Y1 C6 Y( i
1 \3 H- n9 A1 B$ i* V 7 Y0 n0 V7 r: Z
& A# F9 S, `/ [: W, P# r
. A* w. i G6 o; L
+ P1 A( R$ L7 R `; Q4 h+ D 8 ~- l3 ~# O4 \* B
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
# p2 S5 g" j0 N2 ?8 b8 g 9 S- E2 q S m
5 V% N& R- {3 G' _2 M% w% a1 p6 g
. u8 \: ?+ }; z. j; E& @
, J o5 P, J/ I e
' Q4 ~- ]: F" C. R6 l 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 / i0 m6 `! u/ x
7 d+ T8 E3 \8 s" W- u# z) Y 9 B+ ~( w/ y7 H8 ~) E- L
T0 |+ e- m% n5 K3 u% o . b3 _) R; m( u7 ~7 R2 ?
- A$ S9 f5 L+ J; v |
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。# T. h" h3 W" C
/ U) ]$ n6 C+ l' G1 r2 s( J- A 5 L z: N0 Q q- T6 [
8 }" @2 _/ Q8 T6 H; C
) B( B( x+ [/ g1 p % N. c) E4 f* R4 m, k( ~* ^! \: s
*文末附《破防了》项目技术分享视频
; }3 T0 A# Y3 m& @6 i# ~
_7 X4 t# M; w3 G% v ) u/ O! l+ N, X" ?/ h1 |, ` v s
' a, q" O" Q9 }9 O5 E
o) E4 }7 A+ [0 L+ t
, B1 q X! M% x" s' u8 @6 B+ N
. j i7 M2 [; F! M8 @' j # h' m7 |4 `0 j9 a" L
% \. H: j' F, O1 w# O
# [+ r# i4 _; W* ^; t 6 M+ A; R' p7 f/ t
9 w2 N6 g: O$ w3 D$ P 7 E4 [, C5 k1 e$ j4 E: O4 F
0 B& F3 ` P1 l' H2 x( e* e
+ \& d9 B, b5 B: A& o+ w 3 w/ t: h! c" {, a0 U
2 Q7 _7 B$ B9 @/ ~7 N" B 4 M$ L, B* V9 A
6 P6 v; {8 U- a6 H/ C
5 J; C5 O, M. y. _8 | 5 t4 d& E9 p. C1 Z
日拱一卒 功不唐捐5 E4 T6 c: H2 y* h
/ [( G. z8 j( Z9 f/ r
* J# R4 I; o* w" z% Y) I0 X ! [( R/ [! ]. l3 J
, q- x2 l/ M' B+ ^5 M! E3 b( z7 b
& j S9 x3 i- x& Q* X( ?) f" b
: R8 h% z3 {! ]3 U1 d; E4 ~' f
1 J! Q' r, L |. I# J8 ]5 q, q * l* s- l; s9 H' r
5 W, [5 ^5 q/ M
, r) p% V" s# q) {
# }. f- R. Z' S9 V: F ' V3 P0 t# @! c3 h0 G, {" ?
e( s4 u+ N5 Q4 N1 a7 k! h+ v# f $ ?: q" r6 @9 @1 J
) C, \# i6 d# S- R3 ?8 v
* }8 J0 K ~, { f9 q
0 Q+ p) n8 C7 t' j- ~& c6 I, g" e
& R! ]. v2 j5 A0 f% _, p2 N $ B' R5 q, U, C2 i0 b- j
& T7 |1 [' p$ E, I. T9 H / ^' ]4 l7 O0 ?/ A! {" ^
, ^ C9 Z+ C/ y) j1 \
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
% i, {0 x) i. _. \& M $ i8 z+ w( e S, R) ?% o
( F( Y' G, F1 S7 k( [+ \
2 |1 [. \) g. v4 T
3 }/ ~) H* b. [6 a6 K+ v ( A) F% P2 ^6 \; f1 m
% _- U/ V( v Q: D$ J
' U5 F( t+ t, T( s5 U' q% c 5 M, R; Q& e* B1 ]& J
日常研究环境
5 z: ^ s/ ]+ X
! Y5 u+ Y& d' O/ e( u " M J# G: R0 v9 {# ` ]8 Z
( W0 Q; A$ ~7 z; L' G6 s, N- u/ Y
: M/ T8 _- G% _4 u! h) n 5 k! p3 W/ ^' ^7 ~4 c8 c! k* A) `
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。8 G% e7 ]1 W. ], j# d1 `+ n$ t P* ?
\1 q! p5 H1 i# F& W( n' ^* a7 z
* ?# {+ y3 _7 Z3 z8 P# ?6 S
3 p: r+ i% B& ^/ s, o 1 i h" b F2 @( p
5 Q3 P& k7 b) d9 D0 P8 S
2 k" F1 O5 C; X4 }9 M6 G$ W - o- `2 D: Y4 z- z' {; s+ f
4 f* Z) ]/ ?+ |0 `
6 L9 i% k: r6 `
7 m" |9 C1 ]6 n- b% t" ~" ]
" ]4 b3 R; M; _1 S! f( e
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 5 P0 v6 o- Q0 u) M8 n9 I3 N2 x+ Q
i* N! N) N' B M) @6 t; I
; m/ L% T: |3 w
1 @/ D/ I/ m( K% V) {0 K# y2 x) G
$ s- H% t! [$ z2 S ! X& j' d& Y% ^3 l7 H
- C1 q \% [8 X1 P# z6 s$ b
: `8 y m2 h& Q' N% P+ [& u
8 L# z: g; R8 H! {( r3 H9 f. r; W( _! k : ]' _9 n. E2 f1 i& U3 n
0 N2 h/ e: f8 Q0 m# k
+ _, k* a5 a$ p( m: ^
' E" X6 W" k' R0 P2 u; p, w
: K- n" X6 P& H- o# w" g0 `
; H" q& q0 j7 h1 q & |2 p: i$ D* _, e1 s
/ B' C" ?& c5 V
; v, _0 A% ^4 C# Z( x7 J4 W, H
$ G0 k* ]% O4 X% E. e* P& A
) H% P! b+ M# L1 G3 _4 ]* `
+ q) Q! R; R( g1 P5 }; E 破解加密硬盘2 n/ _+ {5 R- X' R% \7 f
, O0 l: u3 m8 e! @8 T7 a" f - u5 e: ]" O# j2 J( [
& L. G# e9 K% l% Z% ?9 v1 e" G7 w # K; D! d. S! K, R2 A& c# J; m w
1 u% A2 G! a7 ~& b Y7 D" C- o ( x; K1 G- ]0 [- G* u! n) e n
+ q. M; N" v3 ^ ; Z) z I4 U; Y9 E0 h6 Y s
, T3 `- V$ r. ^. Z( N
1 i* B3 C, d4 z9 `6 S# N* z9 s; P & V h5 h) g; m" C
. O( P( t0 ^- n/ E+ k( k
3 ]$ z& @+ @4 k4 q" F
& s$ ^" f" L* G" m9 Q+ p1 d$ `
6 p, p, u3 p3 |' ^9 |) s 0 I2 y# r3 \; l! L3 l9 {
' M7 q/ {4 E5 I1 s _1 J
5 K1 P7 [, p) Z$ \/ H3 l
1 Z9 E- i1 {. w: p0 r- ]* Y
% E" C8 b; ^( S) U2 C. o; j! X O' _' f
$ C5 S* a' L9 i" I
& y4 D/ V+ |3 `- k) t% [. w- K
. F3 w0 f$ G/ C2 y- X2 |, g% M
, X% J& N: Q4 R. p, g
' e+ j. v$ y! u; T" v 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
9 M9 F% I" A( H; ]3 F/ t% `; x / i, n" C% U$ j8 G
: b* F' R, z+ v+ n0 v1 F; l
' Z) v- }$ i' u7 B ]0 @+ t
7 P# B7 e3 x e# Y
7 P: }: Z3 A; ]9 A3 k% }+ F; L
2 ^1 P! _" Z) J2 h G $ ~* k, Y! w$ p2 B
( Q t$ J+ ?, g$ _0 y9 N
/ {# _$ A7 k. `% I3 @4 O1 ` }! O
9 B9 C6 r4 @& x- ? . r8 J: {; y* L3 \' E2 {. ^
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。$ A+ O( W1 M. K3 m) I- o
! O' z: W# w5 J2 Y
4 Q/ m: }. B7 D. v# @0 d
: P y0 N* y- a7 C/ o/ F: ?0 t: U, _ - f. I+ Y# h8 |" x* K
* h: A, a9 S* I
) M1 }4 [! C' J I$ r6 m% c/ a
+ ]. K7 D7 L/ Q: u! w% k- k ; R4 i5 F) i! p
. D" D6 u2 u# `/ z/ C! j* P
! B: f. `$ o7 Y3 O, K! ]3 g
7 m8 E+ j8 o/ b 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。; l8 R) g% H6 N
) P) c0 p- @0 D* M9 @
9 I Q+ J1 o) N; @
0 U" @9 l6 h- [
5 \( M0 p, H6 V # G2 F' C W5 n X
/ G: H, F; ]' F/ h 4 m& U8 n0 E1 c' R- g! p: Q. S
; ~0 M: w; I* R2 X S& ]+ i; [ |