/ o' A" g( G" p( R
1 R8 f. t3 T' }: `$ y/ d- m8 B' S
1 n# c4 F ]8 g1 A. j: D5 f . H) y3 U9 t' F0 F5 e
2 t! H4 Y5 a# T) a3 q" B1 ?
+ f- a# v7 O0 R; v; b! X: H $ u9 b" o2 u0 U
9 A7 ^4 ]; O: f9 N0 c
+ |' o/ q) ^$ J6 ~) ]( u + w$ e' `8 k9 I, v3 A9 Q6 o
: |) p, ]6 N. ~3 D
! C/ W0 h% |" l }+ s# d- v 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?' n8 p Y7 @5 I8 J/ J0 q
/ s( j5 }) j5 N9 R
7 t- O) y" k+ G3 ^/ j % t, \6 i) f" X- u
, G1 v5 D1 o5 [& K+ t
/ r, p" u N) _! d) J 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 1 `2 I& p e5 ]6 ]
6 H& {, n* { x8 b) p* g. w
: s. ~. P& S8 E3 _% O
& E, W# Z! \+ E' D1 A9 t0 l
; x8 Z+ K. `9 V! [4 u, }! ~ + p) `- J5 i) m# S
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。1 c& {' e4 I4 A$ P7 X; \0 Q
5 F; o1 V, \: G6 h" P
9 s) r0 N+ s: Y1 X* y; G2 e, [
- Q# S0 C" P" [$ j7 a
5 m- o h. [ b% q" M# T 4 I% P/ j0 R+ k( Z! L- j
*文末附《破防了》项目技术分享视频" k5 C2 _9 _6 W0 _8 Z' N4 u" F5 Q
! t% o# g, h3 \ y! o
/ |" _' `" M* p6 t
' o; [; O. i+ s' u8 I ) x# [: F: |/ J! G" S
3 _" ?) [% o8 p; d
4 o- d3 F* G# Q8 b' k1 k) q/ p
& g) S7 I8 o0 z- r7 p; ?6 {( S3 o 0 R' {5 h" H( R7 I2 h' c/ x
9 a' M2 _6 N: r& k
, S4 y4 A" ?% ]. ?% P' n6 p! Z, D1 [' B
1 Q* w9 Y2 y8 @0 p+ U. c3 \3 t. f
8 y: A% D m3 I* P2 [4 L6 _2 c % \! M" p E9 D) s- ~1 N0 [
6 G! V: K) [. w3 _( r, |9 Y
# ?* W6 C+ N P, Q$ R, |2 n
0 O! w' |/ e" |# p$ I
6 m {" g9 M8 b/ O# V
/ r+ W6 J; R/ [, V; j) q . j4 J1 a5 b) R6 u* M6 O
( T$ g: Y& h* g9 n \ {
日拱一卒 功不唐捐/ I8 J. V3 s1 @* ]8 c
. L. Y8 T1 `& m; O( } : W+ Y) K- |/ U6 Z% f
; H6 L; r; T6 C+ t l
5 [: @2 i% b; \! g a$ p
# _# i% s5 \4 _0 H
. c. D% P1 R9 [! H4 A) s4 C7 G
# J' {$ Z1 h+ \& o' l' T8 E3 _" q- K
9 v/ h' Y9 e4 _) Y# D0 R 2 L# \; L1 \3 q& N+ r2 b
5 {6 Q, g" H t& o: O
$ U4 M# x2 G1 x) y1 e
0 D! e8 h2 M# W, U ! ]. p# i2 U9 i; ~
8 p6 i$ \; ^. H
2 u/ @; D5 m) [ 5 `: q& E7 m V+ b5 d6 q& ^' C7 S
; t# k; t- A P. F4 q( r
$ n" | [* F8 y; t% u/ [" w
8 h4 x: u B1 ?; N( h* w
$ v; S" h/ H7 G `- z. O! o% b 7 }8 T( T# Q1 P. B8 P' V6 d
1 y# O* J4 o3 `! |" g: x$ M, s5 T" r
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
8 C' S2 a# n) W . Z8 Q( p6 [; b1 n% q
! q8 M) R0 M* r3 X. D: y) I
* s5 ?% S) }) J9 b2 V7 A
L/ H5 s1 t8 E1 V ) M: f# [3 v2 m3 X, e
( K2 O( i2 S# l8 \, R ' B$ Q! p- N( A7 Q: f
/ i( K. `' F5 K/ C$ k 日常研究环境
. {9 F. H$ C5 R% U ' Y. z, i; R* G6 N. a7 Q
: e7 a" T6 f1 S2 Z9 G4 e
4 B& \* C6 h% P* B( R$ H ) g6 S& n: u6 {9 |$ W3 J2 ^
( S2 N8 D$ s5 `! o
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
+ @. }) V) D) @9 y/ @3 ~ ' z9 N i! N# f {/ Z& Q1 B
/ m- j; k$ a. Z( d, J, K B) U 7 ?. G( Q# j& M: t
w' S2 T9 N$ P0 x
$ s+ U/ f( c. K: g
- h- _& Z, ?, a7 \! X- I7 j6 b . _4 N' z# h6 v1 s6 j, U
& p1 y" s' o0 Q4 Q
* y8 c9 p; P9 O4 W d ; G0 p/ t4 g4 q; e2 v- K: h! @/ G
# X' Y6 e0 T/ ]4 T& i4 D- Y7 h. y 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
% z3 O8 q8 T" H$ [
2 \5 B% M4 b' |9 V
6 e8 M4 C" ], i" [8 P! o) {* k R% g
: r! F% \$ F9 b# A7 j
! \: D5 t& J/ Q( Z- O
; h5 }! {" j& q7 s ( [$ L. H1 v3 R6 a+ R+ l: q
8 s% I* U' u, I8 X/ T
0 L9 j! v( B- ]7 q1 P
. ~9 n$ C% h. @6 V, `: V5 P$ F+ W
% i$ S# W9 d6 l9 _ 4 }, U( l; G. c. c0 a! N
! b# M& m# Z& F2 S" K & v; V& m' P e4 J
8 h" V: [- `4 i! Q7 @; l8 l . H1 ]9 P# x6 U1 a6 D, |6 C
; k7 q7 k8 Q+ t7 o) w
# h' ~" F% a0 {1 u7 X8 E9 w 9 u- r; C! S( t8 e1 d
) M. k) X' f h' C6 z$ P
1 i6 M: n0 T# Q- I* `- P. i ?6 r 破解加密硬盘# b1 c6 N& o7 F Q
- G9 S6 m) Z" I6 _' I # ^; U" H1 M6 G4 g0 o$ |" q, l
# F/ ?* b+ S `' k
- C" Z8 }: ]* S
" N3 D" _7 Q; z" K+ q, ^
4 n# [8 }2 v, u2 M + f C& G Y/ T
5 ]( i# M7 F6 w: y9 a$ p S7 z
# d( u. i: n2 n9 \6 x0 e. @: s
% d$ l0 G. w4 h 4 M: a3 H7 K0 Y+ I- x/ Z1 g
0 `* f& h$ K1 P# P
/ ^ ~' w0 h. u. W/ b* _ t& f- I' C$ j. o7 B0 J$ @
% H- \6 g* ?6 z6 o7 ?( ~
. |! S( C( f1 A+ h% q5 g8 F
% y# _! D3 t# ]: ?+ _' ]4 d + U8 z4 Q8 b# Q( y- z$ g
5 |. n; d$ U! \* G- `$ Q% ~ 6 g7 {1 v& M1 w$ ?7 u7 S
# q7 s/ v! b* }
1 A$ ]5 v; n9 {6 W8 _ , U2 b' a# v. g* O' S, `6 @6 i" w
: K. u4 t# g) G1 x6 f
7 @- p1 X; Y% d9 P- [ 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
4 G# ?6 n9 C* v. B* h! D6 ^& D ( ~( ] P( S: B( r7 Q
% w. T% A6 E) i- m) {( ~
" M( t4 k' }* F K5 x7 l- z 8 z8 h$ i* q! O2 A B
+ L& z! T8 O1 D( ]" C# |
" I# O9 }# t) k& x& y- a% W # y% C: {* V% W8 j; I
( r5 m/ W+ ^; _4 @- i0 ^
: V+ J$ y' w* u& m7 E K; `2 f3 _
Y3 q- _+ y5 u2 C; z" _ - d9 S6 _5 K& J' R' K
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
5 E& y9 J2 n3 H3 m2 ?' }
/ T) d( i* C7 M# ^. U7 j 8 E0 c: S4 ^: ~2 g* _
; ~% s9 k+ E1 V1 T' {3 S8 \- ]6 r/ H
- [( z2 |& {, [ U. X8 \0 l ( b( P0 ?0 l/ C/ Q
3 T$ L) D! @ H
m4 P* x2 l+ `4 v
" K+ O$ m, ]3 c3 I! ? ( k) ^/ D0 ^( K4 K" t0 {* W
8 m$ F( i4 F2 D5 m
( E4 n& q/ Q5 [' n6 A
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。$ e" c9 b, {0 O# V, C3 g) g; K
R7 h" c1 P _: B
. ]; r+ P a: n' k; X
8 A5 e5 ` P( g" @6 C % N( B4 W6 y. z; G1 K
/ ^3 ~ @, ^* ^9 @" @0 C7 d* D ! M; l+ s7 O" J: p/ A# J
) S8 F+ `) y, U/ d) M7 b$ i + L2 M% u+ K8 C
|