- ~4 z2 n3 B1 |. c" K. C# w
- R& `7 I6 I5 F( e 3 c& R) D4 @; z8 v4 w5 l8 b: f
3 C2 z- z5 D2 m, i/ C! Z/ Z
& c6 a- r* w2 i/ _ ! C8 {+ p! L2 p9 c
$ z V' p. ^$ n: |6 T/ {/ d
7 e" W7 ~$ ^- _1 M, |+ `
, ?1 O7 i0 C9 i! ]' X
$ W- t( _2 h4 x, l- L* ?
- R$ d( l; ~+ s0 ~ B 9 Z# h2 L; Y3 b1 R* g* o% u" _
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
8 a L: ]$ y% `! N# \, N5 `5 x ; Q( V3 F7 d O8 T7 k
- ~% `4 e9 |* W1 S
( M$ l0 w! u$ o/ B! X0 M+ Y# ^" m
7 r( {! B5 P$ _ T6 g% D5 c 1 z0 v0 f8 j, E3 P6 x
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 1 O, Z, o+ [: [4 L% b+ Z
% x1 y) X: w- Z# Q' P- y : S$ w, Z2 G2 [, |2 d; N( Z
* F5 i( M- m9 d+ A' G* t# X
4 A& ^8 s7 O% ]/ b$ V1 I$ B 9 P; f. G6 K* [0 E; g
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
, I) W3 V8 k, w, q6 c
9 m% Q6 F* d' L, [% l
* c. `4 F3 p1 |; D! E
. e8 }5 @3 A, ~) z 9 D7 h7 S. l. G& F1 {0 W
% W! D& G1 Q0 |; l% c. N! \
*文末附《破防了》项目技术分享视频
* {1 S! |* B2 x, X1 r3 {) |
0 H3 o" [6 H p5 T `( [
0 K5 a! E6 j$ r- Z - M0 o, G! P R
* Q2 ? x# { F$ V; a: X- @
7 T% G, ~" M& ?% d* x& v 0 v" ~' b% l. t5 E% E6 C5 V
" r$ ^+ G+ B) a- ]9 x9 h 3 i. G; m( ^ q' ~9 H
( _/ ^" F g6 z. z
, T$ B% m: [ o! M9 V
( ]% d9 p5 C, }0 n/ t# m2 R6 @
5 l }$ [9 a- E+ _4 R* G8 _ ) _8 _1 c+ ]. S2 {4 }' r/ J; z
& W4 ]9 `. l3 { 6 F2 O2 M) W0 u/ C( B- S
0 }9 b; y/ g1 A7 f4 J
& h2 ?7 P, b$ n1 }5 @+ `* v' B
8 z# w) d$ S+ M9 U% U6 u & c- d4 |6 v1 E& ^6 r8 s2 E5 w+ U0 O
% u n# L8 I7 H
日拱一卒 功不唐捐0 ^- s2 P; K' `/ ~
, q0 X' O0 H' \: {$ D
6 v7 K! H- V* G# b0 a0 A* e $ m! L! z& V( ] r
' q; s; {/ _$ A" V; v" G6 M
J# f3 H) d( i3 Q( Z4 v/ h/ q 3 Z* x4 R7 b' r) Z. H, V
" d4 I8 k! J& f( @0 n
5 W. S! U- C% W- j* S5 f+ L 4 i/ H9 E$ e% X
& j: {2 F6 ^) h% R! B2 r( r' U$ a
, |; ~! V. l+ [2 A1 t! K
& O5 v7 S8 j- i7 T, { ' T+ Q, G4 V2 A1 Y
T. n* [0 m2 W; x1 ?
) R% S6 p/ o: b: a2 a' r
& ]' T" ~+ c$ @- s9 K ! r# g" g1 e! U0 m
8 H7 X# f5 q* V( P; ?2 h 1 O( y- P+ @+ y# f; j: g8 D4 B
8 ~ I1 C" v. k# V3 u% b5 P9 {/ ^
2 e& X2 w" B) |4 Z/ q
4 f Y/ Z& J' G 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。( `/ n- ~6 m D
* |8 b0 F3 \5 C$ k% b) {
6 f/ n% V6 m; p, {" D( ?
$ B+ c3 Q; v1 b) C- l- A
* h N3 a. U- _: x: ?3 ? r& W ( @) x" d+ p! H: w) h
! a! Y( j& k7 v& e6 _ 9 e$ r. Y9 J0 H+ C6 Y( _! \- ?
. S3 O& P1 c, w7 B+ n) { 日常研究环境- h1 R& l' _" S- | A y8 y
- k! l1 A% T* G
@8 P! Y' z5 {9 E% R2 ?- R" C2 E ^
; ~9 a5 K, l% n6 h( m0 L
* x! L+ y& }# d \
+ q0 ~8 W7 } q. |3 n 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。* [" Q3 z6 B% b, ~' q# I' T5 J
$ O l) M$ h) A M) a0 E( Y2 M ' O% @4 x+ O' a ?( I
! D+ S- _/ d( y2 C- y% M
4 M Z5 q3 L# c7 p! m& G% B
8 O* K) @" o: P3 V- V
0 F( X1 R. t% [ V+ Z3 l7 h & ~9 Q+ {$ E0 Z( s% f8 b
1 B: x& p# R2 {- W: A" i8 E3 O( Y
" K \9 P( a4 Y9 t) E
5 Z5 i4 I: S1 H' y& d
7 ]; f8 s' j5 g6 z( l) w3 A) V 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 ) L$ ?& D) {- j: X; | Q* j. g% U1 O
1 L% G/ Q) f4 N' j' U0 @3 h$ z + ^# }( f9 N E- ]8 c& F
: q$ O$ ?& \# }
) W' R7 U4 |2 V5 r Y; \
* ]6 Q. q+ a6 Q2 t
, o4 s9 H! }: l# x" @( ]2 L# v
' m& ]8 E8 [: H
2 m& b! @1 N& I7 h: H1 w
: W6 W4 P: i, u. U
3 o5 |+ J3 T% l8 _ 8 F2 A& p, Q A4 }
7 ^& [. a: y8 t' B: E , |/ a6 Q/ s9 i% i8 {3 q
! r1 j' \# s, L. d, z1 y
% a5 `5 p' R! N2 H' u7 ~0 \! R. U! g
4 h5 l+ L( Q/ R9 \3 F, [ + E6 ?" { A) Y& O
- Z! \9 g; U3 F# l
! e0 k. h: w3 S" T4 d
8 v0 V Z& I. T( N% v' n 破解加密硬盘
7 ]% ^: L9 U* C+ O
6 |/ O- h( o9 H4 l
$ V4 { O3 b. ^. J- }+ L 2 K V+ F: _) E) |
, O4 L1 H) }' h+ V* g( u/ v
& b5 _$ T( z4 z9 |- ?7 G1 {! {
, T4 }, A. {) J$ @2 z 4 c0 B8 Q" @3 d9 O$ C4 n5 q
3 X E0 ?8 ?1 C" n
3 t# m, T. O- f0 ~+ d% c! A b
* u8 I; W" X$ t u: f7 j) T. q
! o a- M; a, C 4 o$ w, Z# K, j) g/ Y# S
/ t3 t; D) y. H6 d) R
$ P: u/ J$ P% e O
* `) e1 K: H7 _4 P9 I% F2 H. x ; l$ c5 s t, P, F2 T/ N! L
, Z. l$ A% Y( E! ?& _* W' T) Z U$ L+ u. N. C: H, F9 ~/ \
5 K# D0 ` A! w A 0 A# D k& ]1 E
3 ]# o# ^2 D* e& P" b$ p 1 w' m, K4 p# N7 z2 {9 l$ p. @3 N
$ d+ F/ I7 [) }: I- C1 }5 H6 w: t
( X4 n; ?9 p8 `) G( j) Z
. Z* q( c5 _7 g 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。3 v7 I7 E2 p: Y" H
) V2 C* ^* ]+ N C2 ^' M - g0 d: D9 L6 _# @1 _* g
. g( i7 B; e, [5 {9 p) S: k
, s* h6 h4 q; T/ h
1 M% F3 X' Q" K
2 o$ ]' ~$ [$ _5 ?
2 g S0 w* i& ?" S0 t! {4 R
' p2 H1 C) ^% K7 b) `
7 o5 H5 I1 t7 ?( l, N, }+ o
2 ~# E" H, p; Y: G, R " U" u4 l0 g* I; F2 f
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 V( V2 @5 l! ]( f1 g/ C
0 X6 c, A" L0 I( r7 m, Y" k
4 ^' I) P0 G- x' ~/ ~7 [4 R; \
1 r( p! g, w' g: W $ p* {9 A+ ~/ c- _8 U+ X9 D0 x3 z& a- o
4 ~% D- S0 H2 R2 f
3 @+ o8 C( }& `- q
$ v3 ^; \ b7 e, ]1 P% D 9 ?- b7 D3 s9 f x
* |/ B, `: ?- r3 a0 y& F3 Z( A- n
# q. I7 D2 |5 A5 g0 m
/ H; ]+ H& A' i" g* s$ y 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
' U1 f9 d3 E8 \( V
5 ^2 ]+ }1 j( W' h # e$ p( ~% i5 u% [" L, M* z% k
+ G# ?2 |+ J% A/ r, g. s, m
, P" F: i9 i$ H2 f' e/ z* {1 \ 3 h- W8 R! b. J
7 t8 O3 K) A7 [$ C# L% x3 o8 {
% e3 y- t5 S& Y/ i ) ~' q' ~/ y" z6 ]# p1 t& K- ^
|