$ T: ?' h+ V1 F& b
5 X+ r! ^4 L7 s1 e1 R& F . g3 K( G `7 G6 z- |
& a4 J: [9 {6 ], Z : h, c. ^( ?3 ~3 s, |
" ]8 ]7 B! Z0 n* `
& H4 X4 }7 T( H; Y" }0 t. |8 V
f- x" a- @, G$ M2 P. Z
q* j( G* t% c9 E$ x
; {# n' \ e) }) a; [. O
. p4 h, m( _- \/ q4 w% ~
; V3 l3 |8 k, d 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?. s, n: S& d8 y. m7 Z6 v5 Y
2 U2 g2 L1 h7 o+ V- |
8 f8 [5 s& w* c3 P9 C% E5 W! h
( a* Q! P0 H) h9 `% H7 O8 J# U
L9 @! ^2 d7 \
4 T# T$ F& l+ O: t
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 8 a; B( }3 \8 Y# k2 c
/ k% d M+ z' v$ @
9 @8 u/ A: q% w
- @: l& f s8 W: \ p) v) s0 b. e8 c
8 t/ w* o' u6 F8 a
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。4 F! q1 s2 n) z$ ~2 g* S
/ k/ S7 `; B. V3 h! o# O
4 q% B( E2 m$ ^* w3 A: t + d: ?/ |9 `1 |
3 A9 E ]6 O' h3 b
1 F1 s/ x/ H; p) z5 \' A
*文末附《破防了》项目技术分享视频
" W3 }# q" u" h ' z, K9 T4 b; `
! D, b+ k; o) _* m( u- _( q - ], w1 c3 m$ B; Y4 f
% U2 R; I' J ^/ F. e 9 b6 x) W M( u+ n
5 g5 ]4 ~" E1 Y! S" b' h- k
8 f. S' A$ L6 A2 [5 h: E ' R7 ~' A" `- W5 c0 ?
/ |" h+ q4 E/ f& b & S5 u7 ?' J8 h, c/ j& _* b0 B
$ V+ ~, Y/ [- h9 k ! u7 {$ P {1 X# y" o2 ^
0 y3 U ~& e% A ' [/ |% l! T1 q# \. Y
2 t- R, q) n2 C! l$ ~* B$ _1 ] ' \' ~$ c2 \( o: u) [
: n w1 b1 G) d* k, k/ f3 P
! {: r5 R: ~( o/ K' c# d5 N# p n1 t
% r' d* b& Q. w# h v, @+ E) a+ Y + k2 z! L) J) n5 Q3 c
日拱一卒 功不唐捐
; [/ i0 v+ b% b% B " t$ H( r1 E) s# ~# h
8 h$ O6 j; ]! r2 A ( a7 ~' J7 D7 ~9 t6 e6 _' j' W
B/ T- Y$ h- n0 _! f3 z
1 E2 Y( o% l2 t7 M- k* i2 y# {" D0 ? 2 Y& k0 J2 ^) J' U/ m
2 ^7 x" H n/ i5 E& Z2 B
. y/ _( Z: D& @) H; C% O
+ h/ y |* T6 u) S+ P
. X0 k9 [* y4 E/ B# Z- ~
& K9 J# N' y' P6 ` # h, k8 z' Q [6 I h
& d; y* n1 k, I6 Y; g2 } V, [: O: T3 A
6 G J1 l' l' k+ e0 h, I$ e ' ]7 \! Y# L2 U0 M
# X+ r* A( Y L 7 t5 L+ i# K7 [& w1 n% ~
1 [ Z# A0 _6 _1 i# \/ J
3 }' J7 N5 P% Z/ u3 O7 _
! w+ k7 b/ w: w8 X& Q7 ? ; j/ M) b9 k3 k! V
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。! o- W% q' C- r$ r# Q
' s6 u# v* d- B- K ?
# A9 H! \# {5 Y/ L# b" I , w2 {! a, p- L" k. Y7 u4 O
" D1 C' D. v" I6 ~ $ M& u( n/ @% g3 U. y1 A
4 F; E' V& X' o2 o7 D
8 y9 V+ T4 G+ }+ O! g" _1 m+ n9 u9 W ' c$ Z9 ?3 t) x8 h
日常研究环境
4 d. q. u' ^8 ^4 B C1 |# L: \
/ C7 B) C- c; m! H! {) c
: `% B. I6 t& F: w. A5 n
' Q" E3 n6 Z# z6 g. |. d5 R; z3 L
5 ^$ ~/ c/ e0 S ?
; F# S' n$ e9 }# \ 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
& H0 X8 [2 ?; ?5 e, P5 W; ]) S
2 A, i6 S6 `0 d' R - [9 z" b2 o* n8 z. y! }9 k
9 E( H7 o$ i0 p
: y) A7 V3 e$ E1 L# P1 E* c
' x; e: m0 e9 Z9 q1 f* f
; }7 s3 }. }6 L9 A+ O0 K* L1 _
* ^% C; y8 T/ p1 }' \" E; R 9 t7 |6 i2 R' n( O2 k) I4 G, J
: H6 i: I% Z5 _0 z0 e8 W- U6 C 6 q) a; H" }7 U1 E
$ x& ?9 e6 e: E2 Z5 D) _
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
4 P: s( @+ f* V
6 D5 V9 C( n8 W! G9 x/ N% z. O
+ C; }8 B- M5 U
7 ]2 v! W; z$ \- @" l4 | 1 K) @: f. t( V7 R+ C1 _0 x
3 j [1 S/ n1 f5 Z! y
+ O) t' a" G k# g) R9 ^
+ r+ Z+ v; F3 Q# x+ `, Y6 m" K
1 x/ n' U" G8 n
! X/ H# f3 @+ a% Q2 i! v
8 A6 s' d0 k0 c9 t" a" I. @, v 6 a- p: \0 Y @# X/ O" W- q
' x+ }( y: y: g
9 l& T! {, ^) ~* E # e* H# @" _5 |+ T; I3 F
1 a* B* f" B m
- A- c% S" m6 a; F9 q) K
3 M1 U7 q r2 `# H9 O ! I7 | j1 R5 l+ l/ [1 C1 W8 F
: I' T+ Y. d6 H/ I1 C 5 B; Z$ V( B3 o) }8 l" z
破解加密硬盘
2 c: t/ o) Y8 \3 H* W- p . C6 s/ w) [( o; ~9 s
% C; ~" v& S8 x ' O& o% V7 e$ z
3 d% \ d. [- O. {7 X* b0 R$ G
: `6 E! I1 f4 |6 x
3 _6 m& Q9 m$ {, Z: f
; y/ m+ S& g r/ W( k, n
/ [6 g6 E0 E& B
9 ~* y3 H' D% f! d! f0 {! V
" \! i* T0 z3 {1 ~7 ]8 V 1 Q2 W& B2 E3 W
}. @. Z4 W% P1 Q9 Z
* O% {! g3 } T" i
: z4 ^# s9 s% }1 R. O7 s: m
c# w6 C! \9 p9 h0 r. }3 x- M # S, `/ A) b$ i1 c9 d/ N' Q3 b) Z
* y" U# A d( g
3 g# J! H4 N" A o7 Z6 L ! ~% q% }$ \' M* |
' D4 E: g' c9 ~9 u
+ z" { U' F8 P& x
1 B2 a$ h1 y8 U3 G5 i* E6 O: S L! `8 C. X4 d2 Q- s$ w
0 i. u% B+ T& v. y9 t4 H1 B
+ K l. W2 e6 R9 q i 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。, V% X" P* S; q; Y5 O, B
) }. m# l5 v; v5 f) K8 D( c) P1 G
, X3 W. ^( ]5 ? ' ?, Q$ r2 ?$ I2 z
' W+ C& u- [. V: a7 w0 w
+ Z% w" c8 t' N$ @& ]! V
, b4 n& i$ n3 d" v7 w
: m, Y/ K4 u0 C5 o) |
& M# H9 [8 B) g. }. j2 b3 J
5 N& r5 }3 S; w0 W2 H1 D3 Z( x
" z% M6 q6 Q1 f* l1 {2 Z0 Q" }5 _
: }& t% v4 @( ~6 V+ ~; g 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
* W" U. m9 S1 r9 c2 k" E# P9 v 7 a* A. i( ~9 D6 y+ w, P* _
: N0 V# Z# i- h" u. n0 z7 W
/ G: b1 A& P3 F* M* p' c9 l
. l: L6 c' I/ ]- b0 T
3 u: m8 O" {; T. B8 y# R0 C. ~# h: x
+ w) R* a" w& v
$ |* ~% ]. o5 ~$ z0 }0 t4 ?8 Q, c
& ?* P' e/ _; h' m6 Q3 ^! \1 q 5 g7 B* A& T7 r! t. ~
) q9 `) M) i9 k2 G& c, e" w
2 u4 E% k/ N9 @# _& W) q ^. I2 S4 l) ^
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
1 s A- R; v+ t4 d
! C0 G' V( o# H4 h 4 p$ ~* V. N" j- [& N
! k; \8 F! j. i! }: [% l 3 G0 S+ u# t* I( T
7 F" E& h& g5 C9 j$ I+ b
9 a% P9 _; ?3 M
) C0 v3 `4 f. D8 v j! v
; f7 T/ ^- B. m( z8 y1 X& ?+ z- J
|