- u% s! h$ q; i4 ~ V1 p
! M1 L+ r" M( [3 r ; ^& C) W$ h( }0 x- E
3 p- o: E4 @1 B' ], ~' p
3 m) r# V2 W2 o$ D
5 }: j" _- s8 J5 o* R6 W
" R4 X/ z2 G5 ~
8 X3 o( a( {7 T X! y( T/ I * [, O1 g- f1 h4 [2 {* H. q- `
/ k) |1 `- ^* v8 x) k4 L) h0 y
2 Z6 H: D4 O5 c/ E7 M7 B% o. M
( _1 J2 l( y) f0 {3 l 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?; p# w. x7 f/ R
8 W7 U7 W- j. u: c + N' j( r3 i* u4 |% P6 J# ~
8 K5 ^7 |2 q5 X5 A- y# | H4 J# a4 ^3 |
$ G1 J0 I4 V8 h6 d& Q : u* X4 t7 c: y( o5 p
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
( Z2 ]" Y5 i. o0 T+ s+ p/ j2 P4 g- q- r% r
5 a* g. T" B& j) e+ A1 J' c j & ?# n& [4 S/ X/ x: }4 `
5 ?" y6 h- j1 s/ Z 2 E/ g! ~ v* [& @* ~
& b- l( r2 j8 x! q, D j 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。" ^- U$ \& Y" u. C' T
8 y9 n U8 X p
3 \' r8 a3 c2 r/ f& r+ f& J3 Q3 {. W , ?/ p; ?" R4 L* b
; p8 \- `$ p. Q) m+ ]( @* G/ Q" b
8 T2 E, [7 W$ p+ V/ [- B) M a *文末附《破防了》项目技术分享视频8 H, Q2 g5 j Z0 j" }
- R- D: s: l+ Z
8 s& B* }4 h4 f
7 E# r" A! B1 D: _0 [" x, G- H
) ]0 ^. N6 ?6 J9 r' j ' H! V; ?# a& e- F0 y. F" e( J3 j
( X) e% Z* V3 D0 z, c: \
) D- @% a5 }1 B8 c. S* j' e+ m
5 Y* ]& s* V/ X7 N# f
7 k! M, H0 W$ T: A) [
/ j/ ]" T! [5 D/ b" [( [
1 y/ e/ i2 ] F5 Z
7 n2 W+ e# d7 F5 ?8 }0 r* T
6 E# H1 ]' z/ I: `% y4 f! i
5 }4 u6 ?: k2 _5 ~: q5 n/ e
' n2 F8 W! @& N q9 i: ~8 }2 H3 p
7 e% P8 E6 f* s/ f p. c 6 v8 U+ B$ K, H f+ ]9 h
# Z4 W+ V: X3 V- w+ i% {3 Q 6 c- ?1 K$ h% p0 f. y% Q
, H" Z3 p; |# p! `0 D 日拱一卒 功不唐捐/ C8 {" `7 u# u" ^! x7 r" h) {
- L! J8 Z4 O* y; J& ^; J! a
) s; V5 e0 L1 \8 r- N
, |/ `; w, Q7 M/ ^% `# f + H+ B( H7 A' N% _
; F: C y' w9 c8 R g2 F
. G7 ]6 B5 k) O: } ) H6 d! ]: K# U
& K2 T3 n; H- i $ W4 b( @0 u9 f$ l) P
/ p" v9 {/ N {: _
6 P; ?& R* u5 z2 N : q9 p! H( Z+ q9 e6 |
7 T; A% b) I# ]4 J) Y - N( T: S7 ]# f% `6 ~6 W, z. ]
7 w# _% |6 c Y \- ~" |, q- L3 S
3 S8 C. S+ ?0 Z# L. E; O( L $ n4 X V/ l+ N% O+ e2 V
8 x- M0 \* E- \! `1 @& j# [' O# J
5 G( p. {% h) H! t6 e6 ^
/ G3 V! w- R/ m. y2 x8 D! L; a
% V. H8 U# ]0 {/ \# C9 {: N
" X% G# }% w7 K( S; `3 r 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。* J6 Q( U5 [( M% j2 B, d% @* C a, y
( R4 s; l+ I3 n
6 E* u+ F/ `, D8 e. l
& f5 }& n% ]. ~( ^ 2 p1 O) ? v: g o4 e0 u
) ?9 S3 @) @ h* k/ U$ @
3 L* Y1 Y: h2 q. ]( r5 p. U
8 `6 [* Z6 y1 Z5 P6 A8 b0 R5 x' f
7 f2 k K- ] j5 C
日常研究环境, ~% W0 R7 C2 V, G" b( A) j9 _8 A
( W7 ]0 n# \: z& P2 T; p3 v8 H) o
) B( q$ r& p# n6 v& |+ [
1 ^1 w) ~6 z$ o' C$ j( S & ?+ e1 k! c, F& _) k" L
2 F4 `# m' |# \( N) | 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。6 t8 i3 D1 l1 B4 ~/ ^: J4 |2 T% X
3 u1 y2 R1 [' Y3 H6 T( o
5 L+ }8 b( v- `! y# a r4 Y8 C+ y8 ] 3 G: |) P& J6 @" e% }0 p. ~- D
. Y- e, E1 S, ]
! Y* O0 m2 s2 ?& k. T) V
, I1 p) P0 m( ]" l9 W, n7 K% x5 p0 c
5 ~4 o0 C$ u1 O$ C2 d- `
K( r8 B! S4 ? ! q" z3 S. Q, {8 k, I( n
% H0 A, w% N2 o9 T' E
% J) @7 D. h8 p0 Z( g; X 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 1 F1 E$ t# Z5 O/ r5 s
% |3 j8 |5 d3 b4 V, [
" G- x& u U, X. v7 `" j
2 L9 W4 B- p" P6 `% r/ p V . i9 W I5 h d- k# G+ L, O
4 _" \2 ^0 L' N, J9 M
6 m+ B- x/ M" {5 `: m & A7 h3 F! E4 ]+ W2 D4 ~
- y+ I7 v, h1 ]4 |( R0 b
/ O4 k9 {1 f i) A# k z/ d# C2 g
" ]( k/ ^" v4 k$ j" g # g3 {5 j& \* x0 S' C
3 |- D+ }+ [) x / ?% T1 ~: \1 ]. {# a' B$ W7 W
8 X9 u7 P& u) _, _9 f
, u, N% _4 P, u+ J- ? " ?: `( L, L' a* `7 }
; m4 D& k& v# J. j; j7 ~
. o6 o P) ]7 L2 i' s& o5 `0 Q) Z- P
0 j, C2 d4 }1 A. I8 d3 q: }8 Q. }0 @ H
2 E( b& M* I7 u4 i8 j0 R
破解加密硬盘9 s$ z$ C, q7 G; g
( ^( T) E. j# h" U8 @! v" |
; I' g3 d, g# f, O) N5 t
. P1 l! s( h- l: ` 7 c' x5 `7 ^8 m" b6 C
! w. z& I# [! [8 N. A$ H U
Y G! c' X3 Z* N
6 u' E/ ^) P1 K- ?9 W 7 n/ D0 ^$ F* p! Q4 N1 N
4 r; H; l! D* E g( n! o3 s; F- l 9 @" N% l5 f! O" j1 h
4 l; [/ {* b, O2 N
3 G2 s6 U% a5 s: B4 k0 M
0 F$ P0 b, e5 V6 e. ]: v
/ |9 S5 f% v- A3 m3 @
# H$ @/ l' n4 q2 z: |: P" ~
9 ~/ g( k7 W$ m% T 2 f4 I& o, s* E6 y3 }, A- y
7 i6 e% o0 M) i
7 O8 C8 N& I! R) G
! L# ^1 w$ p3 x" C
, f7 G% v: f8 e6 ?4 @
1 ?8 Q* o4 V8 I( g3 v ! [, y+ A' W& m% F
5 |: W9 u2 x% c3 x
4 [4 v8 X, x* F$ V5 p* N7 X3 x i
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
4 `0 V9 o; r1 W0 g( z7 ]' E2 V / N; @5 u' z5 A
t/ k6 w& o3 k; O! Z: P+ j! Z: ^
9 u# S5 J% u$ _1 I2 x" ] 3 N. ?; Z: i4 v4 U+ U' M3 N
2 Y# n; E: k1 p1 Q* b
5 i- D" `* Y/ k% k& r P% F
J: } I# j. _ - \' N$ k8 h! G
4 C' v1 n- z' ~& j# h* w
2 P$ ]1 X8 `2 A% l( [0 T& s4 [4 R: E
) V7 a$ j$ t1 h5 |: u 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。1 D) z% ]& w9 w/ p! C# v
4 }# y7 k4 e5 e, o) U& }
+ _6 e1 W& @! s0 @4 p/ ~
: T w9 n3 a( u" E& }
+ f1 T+ s1 K, f( G& a. l! ^ 6 g2 ]9 i" j* D2 e6 q" }- s5 L7 i, P
; O$ |6 X! E) {! X
+ B0 ^, F" `3 V# H - s/ u7 F; t/ V- U, q( C
4 I' p0 W, C$ Y% W; u
8 L7 O9 G; g4 J( N. K& \
+ J; i7 k. a8 e 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。: _7 X" o! B4 d3 K
' F; q9 m/ T: ~( g
) ?! U# ^% J( K7 J) ~0 V
* z, P$ w! P/ A c4 S- Y5 k* k, X $ l; d* {+ ~3 `4 _: Y0 G5 d2 Y
/ f6 l5 r$ t' G4 P$ R. C' |- K
% l7 t: ~4 h1 A' n
& t4 {0 w. Z5 n6 ?
7 E2 u* P; R6 X9 u* I+ b3 U |