4 k" E9 R# f' o ( V M$ m4 O b b( i! ~8 u. F
7 U+ X3 k8 V; \" b / v- {6 a1 k9 i7 f* I7 j- T0 _9 f6 {
7 g- L! Y4 G! r3 K; [
k0 a8 i( E' P: _9 c1 M, n 2 t) o L1 @2 h/ `# g
7 M6 m% r$ M2 M# Q8 r % x4 U- K2 P% D3 t4 m/ S c3 G- `
9 p2 s4 q) t& C' l* b8 ]( L% I0 J0 p( B
/ z- d. [2 ^- V* B7 @0 g# K
/ k5 J# ~! ?$ c1 t) x p 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? 3 V+ E% A" O5 S2 C/ j& {5 ?
! j% L0 K; l2 T- `/ S
' X) n+ S% v$ Q& F _+ d! n
8 P0 V4 }4 y: U+ _8 g9 P3 x; _& h
# i# ]. g1 G* D6 G/ V3 y4 o( z
0 I, _" V. k7 }$ c' h* w
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 1 _4 B2 O, c8 v+ B i8 r1 v
8 Q" a* w. o* C' L% F
! @4 L8 p6 Q B) k/ R
1 j' \% E! z. @, w2 ~' N
! o; F* {, `3 y& j; Y 3 Q8 @9 Y" ]% {, w( Z; x4 G: v2 T
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 ( f4 t8 P' S7 P1 a0 k9 e
0 Z9 ]* I: i$ \ 2 }4 x4 {/ k4 ~3 k6 _
. x# R/ f u# M$ T0 |6 S' A$ X
/ p7 g8 W" [& ]" a4 ]" H
& S5 D }0 s$ {- m! Q" M
*文末附《破防了》项目技术分享视频 # E8 p) E# L& S+ v0 O, T
- X- T; j5 k9 A) P: p9 h4 g
# W1 p* z% e4 J. z6 j$ \
/ J6 {. }2 J" O/ r2 @0 q7 ^ + X/ \( J9 ~5 _& s+ q# ^
. M. \" n; _1 n$ Z + o* E3 y0 z- A$ k
4 q7 x: F, J3 T- I/ Y; e! S , A/ R. n5 N- ?2 N p8 A8 p- G# A
0 P4 T6 u4 X8 j+ p: ] c 3 \: z$ v0 Z* o0 B( ^; Z- o
6 u, u0 H' j q2 D1 `, i6 d
; N, m: O# ^, F7 ~0 ]# i: h
% j4 p' ^5 c9 A8 l- p; [3 r o, P
8 `* |% L$ W( d& z+ u: m9 r $ O( `7 ?2 P9 X* ]; I$ W8 n
" y+ q, m* |5 T
f0 A0 I( }, H/ {
7 v' Q+ V8 N: C 5 q: L, y, \. _" w: E, D P- [6 e n
6 b) A* H: p; ^! F' ~5 {
日拱一卒 功不唐捐
: X7 Y2 W9 q2 M2 _+ H
2 h" }3 a5 Q' A$ u" B E! q
8 l3 y2 ~% Y" j# C% u( X+ }/ @
; ?- V) q% K6 ?! g6 `( s6 s
8 Z. c/ U7 P' s# b! v+ M" t
# ^* o) ?( G. _% J2 d 7 z1 v* \7 S0 B
) `" ~; N8 ^$ ?
5 N# [! V3 W$ S6 @2 \
; g; d! M$ b8 k2 q1 J0 {
2 I% l: X" p0 X0 }& q3 z( O% {
# ?7 t8 O3 s2 V( o3 {9 s
2 Y+ {5 j$ C' i4 K. e( T% m$ O, l
7 Q3 b$ `; L0 U% } 0 ~# j5 C: k+ B9 w1 f+ ~+ k' x
% C3 A) u" w. _2 r% c, ~5 W) o l ~+ ~: M: |, }8 n3 f
) I& I2 M7 O; g8 |8 G p @5 [- i, g4 u
: ?; h! r0 A* m1 B$ @. {
: g( J8 a- _, ?0 a
2 S9 N N4 G* V' ?
6 l& L$ P% Q( K" m- i' {- a
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 " o+ E* ^6 U! q, K6 p. B# I$ i( B
* _$ e1 [0 f/ N, a! u2 Y / B7 F# e1 Q- z3 v. B9 [, ~4 M' ]
; n1 L% z! K+ K% {- n6 N/ h* R
" |% I$ x/ H6 _' V
5 k; j( `: a, Z n5 v
1 V2 I7 F X2 t1 n2 e- |
/ m0 r4 p+ c, I4 }% k9 s : s+ y9 Y+ D) U, t z
日常研究环境 ) ~" G' W, o/ r. W
) Y z4 ]: n0 x* i # j; z9 w9 D4 g8 k, q$ L, g$ Q, i
" c' I N2 P9 N* T& r3 Z
# P+ S1 p3 O5 @
2 `7 _5 `) F0 n& b5 E4 x 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。 ; n# i) z* @' v
# A; V* D" {$ b6 \8 Y' P
+ V3 X# _& {4 B- t/ j ~3 I
& P8 b7 L3 S9 d% U% R! i$ d4 o
- u2 w8 u* I& Z5 Z . u2 v, `$ l2 \ W, a1 ]/ m% d
% w0 p& q+ Y2 R$ s3 X
( M6 ?0 c* Q+ p+ u1 }; W7 ? 4 e; p3 y$ e8 T9 Z; _* C
! M+ k. d, o. g) T2 f, j! s: d
# M; \ g0 ], R7 x
: q" l$ M" d& {; K! p' `3 o+ B
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 , | _0 I7 N+ e7 \
0 q0 N) i% } y7 P% f % Y/ P$ j; w* Y6 U% V
1 [9 U# h; q5 t3 `; [" j' i
" A! ~/ W; \7 J8 z$ i
* k% t7 M4 G, m! A& a
# w" q; L2 K/ R7 e& w; o5 q: P5 Z. W
* D0 O. I/ Y* y% n( ]/ s |
1 A# [, z, @. `+ l# O& @" w2 i
7 K- c# M. U7 O+ k
* ~! n, W. L8 |% m2 ` . @: k4 Z# U$ e7 F# W: d
1 h+ g* ` I% R! J3 @ R, S$ W
* {5 D- }: F: V3 g, Q1 R% G- ] ) B1 s) @7 f& I8 V& ]2 ^
2 z) |# n$ u5 H7 c 4 u% S D5 P1 z- s) x: Y
- k) S& o9 n8 o5 Y7 }2 R% q
' Z9 l( y0 B" m+ n* q8 |
: Z1 B/ t. c' Y& v
0 f5 i# U! G8 ]1 w/ J9 s' C
破解加密硬盘
6 o+ w" t2 d+ e$ p$ P
+ f2 W4 Q6 T2 _) i- h' y
. H2 M' ^5 n8 t# A) h2 G2 W+ U' p - o* p1 J$ T3 W. Z0 [4 \
5 x2 E8 V) c% [' I7 A
! S2 g' O' A% `
% K0 a. f) {( s5 w 9 n) J d+ z9 y5 K# Y- E
. F: R9 w2 c+ c; S# @
3 [& @8 Z0 H7 g
5 @$ P1 d! }: O2 x$ D 9 k5 {5 \% o. A0 H* g
" B7 J8 j& E3 {/ y
% m" \) V9 U0 X A; B% c# o
) ~- I0 {! l. W+ |, ~
% j$ U) x$ g; z" i6 d : D' ^: ~" z, s1 X5 X4 b
! i9 _7 | Y4 H6 F! C5 k. B
1 W4 o6 Q4 M/ D/ R+ c; h0 R [
9 w8 l3 _8 p/ P8 f9 _4 D) v
- n) n) m1 g& X2 M& P- D0 e- b + ^8 l( _- T& P1 [" `
$ j' \3 N! `. _0 b, b
6 G; n- ^2 d/ t$ B' ]* {
# M5 ]$ I0 |8 D. P! ~ ; q' N# F3 j2 D1 s
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。 # I* ~% C& }7 {: H5 F' [4 Z3 f# j4 b
! l8 P' w# e4 d8 s/ s+ z0 C! k0 [1 U0 @ f, X( U# c6 x) Z; J/ _
: Q# p0 U* x7 D& P% w9 F: \
3 h5 x0 C2 {2 [8 ]
3 O! v/ U# S5 U# U9 N5 E+ F
/ Q! Q1 B; A2 V2 }* S$ {# _! v* k- g
8 U6 k$ {5 C P& J# V
4 x1 v$ Q2 V, I9 I2 o- q6 y ( D0 O# W; s0 W2 T/ L0 i
5 C# n% h$ m' o Q7 R. C8 `
( T) ?1 r+ ]+ F( S" u B) F 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
8 i0 X# o: M; y3 |
" L& ?. J" ~ q2 S( E
" I5 n- n& U: ?" r. w* \# L7 D, q
( Q9 W" D3 k8 {2 |8 s; G8 a
0 I8 a8 \4 Y: r3 H/ D0 f+ j+ y0 \
; z5 ^9 A3 M Q/ j1 ~
; d/ k6 C8 j7 i7 Y
2 `6 w1 Y& s# ^6 `) P
9 U0 D- j) l; h. N
6 ]7 Y% g6 V2 t" N4 m5 j5 y9 Q4 h
# Z+ T5 t- l3 a- V
[. V! q2 N7 t+ C* R* x" R
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
! n& S* B7 I# r( I0 v
9 R2 q% m- W9 m
4 h* j$ W! `+ u* ?# T( o 6 l r m+ j, X5 |5 C& R, u4 e
( B0 M1 x- o$ j Your browser does not support the video tag
1 b- f. ~0 w2 Z
; l) C8 J+ O& [; Z* _( E
$ N" r% C6 h5 X0 G0 T9 f( B
, \6 {/ a. d- q& @- A" E