* U2 w0 v9 R [/ h8 s
]! ~* b# ^5 V9 ^; m1 Y+ X X
9 n r/ y4 K( e" |
2 P1 W+ u2 G/ M. E F $ ^0 n' U7 }8 X+ K; J' u, [
7 K( c2 D8 B; Z6 O% n
2 j% }: A: }, }, \2 s4 w ( b9 O1 @) }/ R3 e* I$ `0 v
. I& Q, }1 J5 x" S6 Q% Y
2 b0 O" D$ Y4 d. I
! G/ U) n3 ^3 W. r& t
, z+ \4 ^1 T# R X$ s! Q 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? ) ?+ b9 ]9 q4 J$ h1 g9 @
- m# K1 F3 j" l* o* C$ J" ? 4 k! t# Q5 d) G
5 m1 U r9 M0 X2 _( Z7 i# Z( M
# I# u0 Q3 t* D/ A
, {0 B0 o7 } w Q 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
% n9 B; c0 u2 e9 I+ D
+ O/ M. U4 K3 t
( t5 x( U9 N- g8 K8 O
( n; A1 d# f; `1 r0 n
* O% ]9 j) [- F. g
& V. v+ K/ ?2 ?7 G( { 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 ; _3 H, I$ l/ }7 n; l7 |
' [# P6 Q: ^, E3 K6 @5 Q 0 Z9 p1 @* K4 C
+ _9 T* A& E1 _6 ^
$ x& P% | ^9 Z) Y
3 Y+ q$ ?" R( ?! E5 k+ W! J/ i: R2 Q
*文末附《破防了》项目技术分享视频 " Q* d1 s8 y" P, L2 }/ g" S
) r- t7 F; j4 S" R6 b ^" G 4 O3 S2 J+ ~& @. Y
" E: g2 i5 q @
$ L! A) h% C& S: \* d
4 S- q T8 {$ o8 Q6 | , @' g2 c& A0 D# ~& D
) Q0 Z1 l' U, W9 [& N
8 F2 @0 }. U' M
3 l/ g9 `( D9 x& u6 \ 7 @: e) @2 j' x2 ?
$ W$ Z5 N% b. N* e5 H$ k/ k
3 z/ N4 f# o/ ^
5 p ~* V# a& U4 v6 a & X! z, Y$ U6 G8 S l0 b' Z
8 c0 }. r, X& Q- M3 ?7 {* I3 m8 e3 m5 X
$ d+ a& T8 r2 \7 X- L1 Y) V
( y- I0 L, U" P& P* E3 K
' X: ~2 S \, o 3 r2 j7 X' u0 s% E4 P/ @
+ O; o% g" J3 Y 日拱一卒 功不唐捐 5 _2 ]1 R9 r: s4 Y% a
& T( H% O* Z0 H" W& z% L
, L- x+ Q: |# V, `1 Y$ V7 z * l# r5 u1 v! i8 ~
- t. `1 U' p6 ~( _
! m0 g- h0 ~9 `+ x, H
4 ?& T1 j) F! x8 q* P; e 5 m9 ]% ]- P6 m& Y, u% n& l- f
# t/ z, Q# y0 K/ E8 g
- |/ ^% m6 o4 E+ T
! c. o& ~9 ^6 t* m N- C
) `# q. f6 h0 |+ p/ F( G* } 1 m" A! h: q' C7 e. @+ N) V
) y, U7 J4 `# m7 y3 `. }( q) E % S8 D: [6 @ D, ~+ n
3 n& A2 R3 j. _0 F - H( o- G# `; p, Q6 t0 V" P
; n7 T# L/ _' c# n$ M! x6 _# G, }
/ K# P% l+ n9 K
" U- S# X3 ~& M, I0 s
* t2 n2 U$ U: i' W9 m
! x) x$ R* z! A $ o& d) s: w( y! H5 q
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 + h& h9 y* G# Z* P) [
2 n! S: _2 W k. [. j
5 `4 Q; v# v4 H0 w # U" x& Z2 H; W. P, @
8 {( z" a& p) v- l/ P0 a5 j
; R/ {1 x: ?5 Z3 y( e4 T
4 b) F* S4 K- ~6 d7 `7 M 3 x1 O, G0 h+ f5 ^1 z' l
7 }+ m7 F8 S% M
日常研究环境 1 s% \0 b5 U7 ?" W
2 s, v G$ m; M
2 a4 I- G9 w- S6 J2 e* b4 m - N0 G! q$ l1 `- s$ b6 }# u2 }
l. F! @. m# |! I; T4 m: k 2 K: t! M0 ]4 z( N; w0 w
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
2 G& M% Y* @& w
6 Y5 W" v! O3 ] - p$ k' A( P5 b) v# W- L/ P0 |
. S; l! L8 q) n% C. ?
) w3 ?6 u- i& Z( u
# J6 A* R+ Z% T$ W: n3 l- k) n
2 b0 _7 B4 A3 v( B5 H6 M# a* {: W
0 T% M k5 Q( j: `9 {
6 q( q- b& T5 C' a! l: n2 y
) Z4 h0 h. B+ N( {
7 `& P" t6 _6 ?5 K/ T) r
* _- T/ c% I6 M# r0 b" [ 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
) |/ Z& D! w8 F% \) N ~/ y
* ~* w! n% r+ r" H" [0 a
1 z e# i! Q% M+ \$ c h# X! @ - e( Z2 T0 u! K5 m! F
, [' v# |' Q7 W: C( k, y, x+ m
0 y t: X$ ?5 T
: k$ O9 ^2 m, O* m- @) G& C, X
& C6 L( V9 R; y. ^" S- i: N d: g
4 i% d% z# f& ~: W9 u/ r3 c8 i2 d
9 V: H: r5 [$ T; u9 [
4 C* R6 G! U/ a " E6 }0 Z" E7 h. a3 l! X
3 @- o7 a3 Y, L1 N4 O+ w4 j% n
: q" H! l7 R& T+ Q X- p
( u4 O; r5 T( g$ D, }7 u! b
5 `- r3 G' e9 R* T0 \
2 ^; s1 B; V; L" {$ I' O, @3 A 4 R6 a4 y: @, ~# X' j9 H( O. c
! Y( B! \; C, a2 ]
! U# D/ x" M8 M$ G) [& k; D# u) n1 a4 {' E & T( `) Y6 F' m- u. x, |
破解加密硬盘
, `/ U! I6 N+ R' X- f1 I6 P: S2 c
! Q& g* \+ a" ]9 q8 B6 G& c4 F% j
( Y9 s% k4 ~+ n# s- d4 L 8 N; f9 R5 d2 \
9 v" Y! A- N' {0 t \ . U7 F! h. ]$ e4 i6 N- F, Z
! e3 t$ s K' f5 N* i
9 H1 T! M# D1 X
- [$ b6 P0 z7 \% w0 s" n. A % G7 I: `! W5 F4 w) p/ F5 l6 |
8 J/ e2 o% i. i6 r# y2 O
2 g8 e; U' c' E6 s% c2 H
$ }4 v$ U% A* o+ M# W8 v ) m. u1 J( s* R+ I) i+ l% ^
9 D: G& [! `3 P! H+ f) D
/ i: c: h2 F! d
- p- S7 H4 e, U' |2 y( K- M % \/ n. e! H% T Y" d. b
* t: M; _- j" g , e& r3 H, T* t! F
2 j+ E, J- r1 d7 N( Z
0 H: ]( W% O, U" Q5 S
+ E9 R. X" P# ], s! q- v2 | & {3 j; s7 R8 M3 @3 R7 b& g
! j+ H* j: ^3 l" o7 X$ A6 t - Y" } L2 ]) _
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 9 j- U$ A8 I) |1 }: |6 u. e- f4 s- N& d/ T
& T8 j [3 c, y4 J6 P; i0 @) A " i, c& r0 F5 D$ ]
0 z3 v+ c' k) q1 N% @/ {
1 ?* f: n5 X, c9 {! r3 `
, R! y+ o% |& e) M
- v L* \6 T5 e8 u5 b
6 I! c& Z) k: D
6 e9 f1 b4 h3 ?$ ^# w$ L+ p1 W * g* ]5 B0 `* u0 V1 _/ \9 o. ]& A
' G" ]; w: u& q6 i# o
]* F) M9 R- @, l' E7 u
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 - A8 l$ S5 N5 o/ x& Z5 f5 b* C
" o( c) n' G( Q8 w8 n
F* P4 v+ U" |+ R: S+ W ; k0 Z! Y6 |4 g
$ S0 d; d4 L% k: a/ j9 i7 m
( z6 y/ F+ M! G. ?/ Q% D
, F. R3 x6 Y7 h7 U3 v7 Z4 y
c$ a, B: p- h$ a' P/ p5 S# O
* g5 Z4 }2 ^6 W4 `. m4 N $ d' _/ @! }+ J1 O6 ^
8 U0 E6 e- e/ x5 t2 d! }9 h
9 G2 d8 i/ T/ F 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
( g2 D9 E$ v& t1 Z' @
/ c, w# a0 D) V; ]/ z7 A4 ^" ^ m
. @8 Q0 V: b* S: P3 P% x
' O3 s0 B4 n. |0 L
" g s+ t) e' h, N0 T" F4 J7 W Your browser does not support the video tag
* a* f: q# ]* o* |! t' d. L
) e/ S* V. {! W- X6 w/ ]% q- ^
" O2 G0 y" \+ p0 ?% ] - V. u; o$ d1 S! S