+ ] l7 _2 C6 L: K: ~4 T% E* T
% w5 _( s: E5 n3 C5 Z$ X
; e- c0 g- a7 b- W0 g: H* ~
5 A) b# X0 B2 Z8 o4 n & X3 k& L+ v7 \, H
! K5 D# s: C% `( y, i/ \
7 R0 {% Y. n# \/ D$ v
% }# }) N/ U: R5 o. Q. k) D
6 Z( i1 [$ _5 q& p
% Q- r7 w; d3 i+ y & |5 d5 m( E$ a: }
8 o; z7 A5 J! a
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
5 c+ P. s; v4 c: g5 Y" a+ W5 g u, d. u, h0 e
3 D1 ?5 q* I0 m' m+ p0 b( b
8 o: ^1 b4 a) ^+ n
: \7 \6 C2 \+ s! z3 L: |$ ? ?
$ S1 {. _+ b( f! Q0 b 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
; m; L1 n& t' b - \5 E) l# V0 \
: T5 F2 j4 j6 D; ^3 H
4 Y3 ?$ [& m1 ~. x( o # {% I4 K, K4 K
: { A3 [/ K* y) L! e4 ^# _ 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
4 A' a4 j2 J, d# a
' G8 {; R8 F- U% W6 Q
! G) X/ U+ _ d$ W- [4 a9 b
, [4 I% U- {- f2 ^5 W( } 9 W7 H% U# E1 x6 Y. u: z) |. k
+ I2 k9 K6 @8 n9 ]; A
*文末附《破防了》项目技术分享视频. a1 Q1 N# q' F& p$ P
0 Q% ]7 b5 ?( y) X+ A
0 s8 c2 m: L' v
3 J; h/ Q: L/ T {8 E# g5 }
5 K- T6 [1 S: W+ O
?" g7 d' o( m# ^ 5 W! f4 a' K4 U/ K
4 Q L5 |, g$ c+ G, ~: m8 o
# Q! w' `% ]% J# F" k
0 P& \9 E7 k3 v* R3 l
* f* I' t. s0 ^( Q$ S# N- \. m
|% F( M; x7 x+ U% \# R
& }% G* N r; ~' k" v) N
3 i' r8 h5 H7 Y: ~9 N0 ?
2 |' Z6 c3 G/ W4 a; x5 _
# k, E) }3 O, H& ^, a' ~5 M $ `) c$ _- l* C
, |: Y! f7 W3 H* c 4 w( {# @3 v, T5 l/ R
N3 S( v; r+ w( r- w
" P3 j* s9 i; \* r) ~' `9 C 日拱一卒 功不唐捐# V! {& n, ~+ S2 n
( e: T! R) }5 e; N. f b v! H8 F3 ^% \1 M4 G: ?& I' W
. ]/ F/ Z/ Z$ v: X. [) B! s- G' t # N- A8 D4 X/ ?) O) F1 N. `
/ ^- x7 f) l ]7 ~% M
2 n. L- v4 b \2 M5 }
; }) ~0 Z! E u. S
& ~ l7 q2 o3 w4 ~
' L# [- N% q: @
) d D) E& H. |) X s( a
- l7 F) o4 b1 \ 5 d+ z$ P6 H- s9 f& K* C. g" u& L
! [& h. Z5 w$ L' X- F5 B8 H8 D Y
8 a6 \; L' }/ q) W' r1 R
& `0 x% G8 R2 C" Y* u: S. }( O
. g# @1 t$ h- Y/ R
0 t& R3 ^ U9 g" p
2 K( b# C5 |6 A) L3 R/ Q4 j3 @! E
! h* _! Q$ n6 A$ U* R , [1 X9 B. o1 I, N' a
4 h- O; z* o' A _1 v6 X
; t# s) g* L: m
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。2 t, e$ g. d" k7 j' o4 R
0 M& {3 b" @, p3 g' _: U$ n
9 e6 k; u3 B$ s5 Q# L0 k
0 P+ V3 b) s8 X ' A, [. m" Y3 _
- v1 ?0 S. D! Q3 [9 P$ D% I
1 C2 z% C) }- ] A( q* a; B/ P: W
4 X0 {7 t% {! |4 A
5 t# m+ T0 H' l. F+ [ 日常研究环境
) A: w! g+ O, x: J4 z* m; d8 g/ T
0 r4 \' F/ r6 ]. I: l" `5 X' M" ]
/ d7 d3 Z- m/ s ) \5 z ?; m9 o: i) n
$ S* ]4 A2 ?( n* ?) a. r % b6 }) l0 q) o c$ J" `7 i$ V
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。( ^2 Z) P Z" T1 c) O
0 {$ ?6 [ [; r5 T
. Q5 h1 Y- T3 p$ Q" E r' b; m$ f+ [: H: I9 O
4 d, y$ N3 X: e( H" E( ^4 r: I7 s 3 n/ [. b* v! x( v! U! M
9 V- Z! q U. d1 F. P
- w3 s! s) @8 T4 t; W( m4 W' r
# ]+ i! j8 J" ^8 g( @3 M4 F
6 s& W, w3 p5 S' |) I! k
" A o* [& [1 }$ n& u+ T
' F: F0 `' ?. r- w. |3 Q0 e& f 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
1 j2 `: W6 i- Q9 y9 c2 S* S 8 Y+ d1 V$ C6 g0 S2 _
7 A, }& ^$ ^, n8 U5 k z( O ) v% b5 t$ G) B" q
; U6 Q- Z( G0 _
$ M6 z9 l& g. G / A2 D0 a M: L# I
& \0 Q+ t* p1 |! D& v+ T$ \/ b4 k
- Q6 ?0 T5 V/ o6 Y3 M
6 {# }; Z* _2 k& @: V; B
0 o" g6 z- f) m* V% A
( F- o! U; g& K; U1 b
1 a+ t: T& K" X% H9 z' F' p % |$ h. c+ {$ H; E A p) ]
- T; R" s* l6 E) x& r4 B ) O9 p4 H+ r9 ^. V# Z% o
' b2 Y& D4 ?/ ?+ T& Q7 ]
$ D7 M* B, ~" ` ?. W
9 ` f/ v* x* F1 e: v5 J
+ y. ]# r6 o* _
: h! T& o; b) I0 g. p" }8 ^
破解加密硬盘
5 l: h7 @9 x& Z t( k. h7 O. v+ e ( {+ K" c$ B! Z
- }, z5 W* T* }0 U ; ]6 c# n* w7 G+ i4 M( l
7 t+ z! B. v$ m$ S; X8 B8 n3 j
5 Q1 u6 y) L( E s
8 v! T s' j. \: g+ z6 j
1 Q7 v, w9 c x) }* i8 @
, r0 X* F$ ]/ W
( r. S i# d# ?' ]( }6 y% J : [! q0 `7 W. Y5 {2 F" `
. h: l1 u }, c. s7 S, {+ v$ Q * ~, U4 p! _/ ?, w1 [. {' {. Z Y
! B) p& s1 P3 T8 C& U3 Y. u# g
1 c0 W. d& s) A% v: H: V/ j( y% l
2 a! @ }/ U1 l3 c+ b# ]5 g ( D9 X! ^( u% E+ C
% u* Q6 Z! Y$ e6 ^: @! _" g
4 Y7 S* N# e# N+ h1 n" O % ? R! m2 @: X# S2 F2 F0 H
1 v6 @$ [$ K9 n0 h0 ^+ a , u+ g0 T3 k7 B T: M" A
: |% C- ?* ~' A
& ]2 t( d, j$ C; A( Y) _$ `
- A( X `8 F9 p8 P. [* \4 A0 E& m 1 Y& k& F& l! {; C, S
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。0 U. q( _$ C/ C8 I
- [/ ]2 s( I* f. t1 a6 l% q* o
5 E5 H' H" F" S
7 u/ G: E% Y1 E, U
, l# S. U& S% a* Z5 {4 F5 s! y
0 V% d: {) r& ^
; h' B( Y$ t9 u5 t Q: a
/ R" o, U3 o6 d
6 O: P$ I$ ]/ {% l2 a' t
; t) U9 z g' R* k+ T/ b
- D. G7 \. p, v# @; m. Z- x 7 x3 [3 M4 [- F) j6 [) a
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
0 k1 @; \/ t* V H
& [: H* D5 \, I) [
8 \8 i) f+ m6 v# R4 L " ^" g0 Y7 E8 s& Q3 X. `
% G& i+ |- D: {% U" i8 x9 F ; k8 ~, N2 d2 }: }$ g9 A
* `' R' [3 @. ]& J: z
, n( t, t) i- M. G ' T4 N# y! h& A# K2 r6 j
q% ?: Z8 K5 [$ f* ] 1 Q" I, R, |2 w1 ?( m7 \# v
- _( e/ v: u: W2 @; X j 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
5 s0 o1 K. F1 [, q
! b0 m y8 ~3 B. K4 k3 d: n4 @ # x) d: \# v2 U C; p
0 V! c6 [, M4 w' q( v) o
5 h" {, q9 Q! h1 \0 r
" ]! z4 g9 ?7 n; s* C * i( `7 \7 L+ }, f% d# X1 f
: u5 E! `: b& s N8 u1 F# o6 r7 C
2 r6 P. B& W" Z: ` |