9 e7 @. j' d. ~8 z) E0 a 8 Y; U; O2 \* l
, ^7 M5 D7 l7 r) \, L
4 K+ ^9 b) i. q) X
/ g! [: O' U) e: P2 p5 b / a5 L ?, t9 g0 K
. L$ G ]- @5 g4 P 6 H* B& a0 |. G6 y: A% A
/ {- g& U& P& d) j2 ~4 p& s
( p) l! Q$ a8 f x: n! T) [0 ^
2 z h0 ?; `1 d% v( ]6 Q, p - W( h* S4 [% F, w8 O/ R. d- r
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?5 D- Q* v: F3 M
5 h& a+ ? N5 \+ S) k9 X 3 S+ g2 U8 d/ t' X
" u/ M( u% T. U& H
' Q9 [; V3 E" Y$ g
! Z" ^1 ] e5 p/ k9 b. q1 J! ? 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 % Z' L! ]0 W U$ T
2 z1 ]1 _1 J: K3 m/ f$ G
/ }+ Y+ d5 I8 m: i1 B7 Q! q
( H, f" Y# A* F5 F
6 ?4 e+ z- m8 j S- k0 E $ W$ a( T% L1 e9 s; y
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
1 H; M. A! x# r+ J, I
3 \$ j/ G' W# E0 k" h( h
& F. y0 f: `8 v* R+ K1 o
4 s: M _9 m! @; d8 ] ) H3 Z5 X: o4 {# [
0 D. m8 I" [3 G, `' j! } B, i *文末附《破防了》项目技术分享视频9 e p, k# S8 d1 x H5 d
. U- {0 i/ Z- j3 d3 q3 X: k2 g$ ~
1 x# a6 D D4 }% p% X5 x' h) F0 Z 4 |! s6 D o9 o% m2 P' X1 X
: ]1 J, O. u: @$ E1 Q: N) `2 ^
6 Q3 {/ A$ ?2 `2 h- F" c : Q6 ^9 j9 B* ~+ t. W5 H7 V
! n8 |, n4 n: b* U3 m4 k6 E
/ M9 V9 W; z* g7 o
/ L/ _/ f9 H) Y/ k ) h8 T- I/ S7 b+ s% h w
7 k6 X: a% p4 n& i
3 o7 y G* Q7 f$ f G! I# t G " C9 O% f0 Q& v9 d9 _
. L& ?6 b7 J+ _. @- M: ~$ E
; i1 V/ @2 O6 m/ E 4 X2 _! I) Q1 t% ]4 W' P
' _( G% _; l6 s0 _; Q8 W7 V& I
; @8 }* ]% \9 H4 l& Z
K9 B; M5 x, D* o 9 V$ M1 c; s$ Z9 Q
日拱一卒 功不唐捐
, D8 A/ Z8 m6 V4 m & T l5 Q0 S' T4 b. F' ?, n! W; p
8 v, V7 O) T3 ^" N% O1 y
4 |6 B' ~& @7 G2 f9 v8 }' A
: ^8 d3 V! S1 \% t7 Y - j0 N: K9 g6 ~3 W3 D% M" S
) X, c! {: C' [% i+ I2 x. r2 \
6 v& u ?( o9 l/ c$ R / G3 M% }( v, B; l
6 V. ?- R9 H* `
' k2 Y, a. ^' g$ r# B7 N! ?3 o
5 e/ o0 T0 _: i) M
3 L* t2 y' P, K2 S- s0 J! U
- ]4 E/ A- k! T# V 4 l5 O) l7 Z( r* a
) f! I+ D$ @% w
( d |, C; n* Z2 F 6 g2 c# q& k1 P1 j- @& e
# w" A- U2 D5 u& h X
; V7 ^* \+ \+ O* Y
@6 @* S( p! V5 @+ ]
, X8 X- t" ?/ B, o
' \1 t! g" C# r7 D+ Q: n' \% H* I4 _ 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。2 \4 V- D F; V: R
: p/ D4 E Y3 H: V" L8 L * u: k. Z# U) v0 N( c! \% j
4 R& ~$ H1 Y4 s" V' _
, U5 I- y8 c, u, t
6 p% n( A( s+ ?5 p" r* z% V
4 Q2 c9 X0 C0 `" S5 t. s - t _( p& u6 {6 J, c9 v- J
! V$ V& I& R2 t8 Y' Z 日常研究环境
8 y. j) ^/ h h4 ? k& v2 A7 i C7 B6 c3 B% _6 Q/ o
" e6 g/ ]% C! ~/ p
' P' w' P# ^& c1 r# E+ F
9 V( }* M) [( [! o/ ?% S
8 o8 `% y3 {. t) H0 a 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
2 f# v6 p3 r( G: D
, h8 D+ u+ A+ O$ o$ K" I( a
, D8 K3 w: r$ i/ u0 B$ M # V# f% n- a) p( d# D
3 J! S3 X' q( v. @8 g
& n! w3 J: p$ X. K6 H
0 Y. u V3 u9 M d
8 H" |( O: S: w' x4 ^
# {" V3 U7 X5 A; J
' |2 J m4 G$ m( W9 I) `7 j% U* r
* t) O+ x7 S2 A' S' T
" g; b* K9 [7 U5 K5 [' @ 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
1 w( i- x( N, x6 G' d$ f
6 l7 @& _9 R: U {
! V0 E* E" g1 `; E2 g9 d( @ 8 w7 H0 J4 r: ~) n, Q9 t
6 l3 q& ~' P( L1 P# O0 _% `! h3 Q
9 K; N& I, G' [1 {' i3 o1 O
1 T6 Z" g4 C4 l* M* W1 _ ! q5 o! R7 f0 c; q6 o) F- Q
# c$ F6 {+ B% c. D" d4 Z: o
5 O! M5 t L! r
% H; S# d' K3 j$ y# R$ t# d
, [) P1 W; T& ~- E
0 [2 D2 Y$ z. a: d8 K: P. F: p
9 Q0 s$ y& D2 q . v0 [9 w/ u# T& G
9 K9 `6 R- \! U4 `3 O2 [
$ t0 s& O( Y6 ?' _ : j) [ R9 B: G3 ^7 l0 S) C
6 _2 z! p1 ~6 v
) _8 k( P2 k& L$ u8 R 3 X/ b, p* m; Z3 m0 E) e
破解加密硬盘
, @ `$ H, H& L$ w& C& P& t 1 E3 K F4 O" k
2 c: ^$ j4 ]2 ?, ?
1 C f) e. D, t$ M + {+ O5 H8 t0 v
. m$ s, ?3 i. ^# y% }
9 g! C2 P- o+ ^* s" {9 I
3 W" Q. R7 C6 F, ?$ [* s" U: \ ( X1 p2 G3 B- o6 W% m( f2 i
- G' _5 R3 S/ D0 t7 C
3 x! U$ Q' F% h c+ N+ {; O- |, D- E
3 s: ~% v- |6 J4 b ( {" W9 G; k; R1 Q2 h1 E
/ d$ m/ ~7 G G3 i4 @* r
( ~6 D& h8 V/ ^$ k: c" {
) Q; s, L1 n2 \0 W. B % R4 ?7 Y' ^2 @2 m( z
6 s2 S( x3 Z& J
0 K, I% B, [2 Z! p1 f
}; F' V2 Y+ f! z- S: r( @( o4 R
( j" w- L% h3 E5 ~6 ~& n* h
& u+ ?% P# i$ E& l( {# Q
}" B5 Z# V% R9 }2 ]) f7 Q : X1 v+ L8 Y9 o5 ~
% m/ t `& }/ r O* J2 H
) j- u o0 G7 d2 L 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
5 n; Z7 `3 H( v$ l* |! q : D; R0 r9 ]5 l6 q, N
/ b( j$ s; i; v
/ d: i9 O2 U- k5 G; p) o% z& A" v
, d$ A& j! P& _2 {9 U G8 D, L# f+ @ % {! G! n- B4 v+ u$ K& K" ^6 X
w) i. k7 S2 w/ G$ O' e. z
2 o {% _1 O* G, v( o, h4 D7 s6 L) E
( q+ i- X5 |5 ~) h
2 C' i$ L2 \# d) B9 N' n$ @ 5 e# P3 x9 j7 b- d- F
4 b% C4 z) X$ q0 z" x( ?% ^
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
3 `; z* z* D- u1 \3 r; O$ n
7 J2 g3 d* _: l8 x: } A- t 8 v4 v! K7 Y6 x
+ P/ F2 ^% v9 z% f: n$ u( L5 L
% h$ ~; b H1 y
$ e' T. W6 C/ k0 i
( {2 \7 E4 [; B3 [
8 H7 ^$ U1 W y2 M7 e
# E ^% R% A! J0 E7 h1 B4 [3 q: T
- h+ X1 T; X% h 9 X6 O$ s0 l9 x5 M% f
% z. h% _: f, }% |: M; c4 z$ l4 `! }8 ] 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
* X% V, o- j! x+ u( k
% c* g8 [) r. {* |3 U 0 @4 h! P6 V7 b5 x- |; b
3 U1 D9 F$ V. ?7 V8 l( r( Z
& C. I. l5 E; w4 g+ Y7 p7 B ( \2 ~: i5 g9 H' B
2 d8 E" C8 u: |0 U : p/ c# s+ L4 k+ v
; r2 ^' Y8 j2 v. |. ~% C" P |