; u/ q- u. {* z( J
$ W- z4 }8 F7 U0 I3 j
( a# T) @; n8 ~# ]3 {
. ~! q8 X* j9 V- V: Q( | Y 1 o" n" U+ B1 X2 c5 Q
* V4 y8 l( J2 Z( ^
$ ]7 @; D0 E0 X) {' F
& ~- W$ A) _0 |) R # U; u3 H# m5 w
' X3 l- I+ U( e6 C
0 f W% {& `7 L2 V7 `4 v/ u
; L) j# l4 L: o
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?0 {$ c+ v* z- w$ b9 K: {
8 L2 a! r7 c7 w
1 f! Q# G, j* J' ^+ S5 l
9 ?& P8 i$ z& y* [+ ~: Q
# K2 P& _6 Y+ @0 w- o% p4 W 2 [! I/ T4 B( U6 W1 W1 l1 I
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
) L/ D# X: s% ]- F. q
* Q- {' N. l8 v. L2 |/ z
G; A" X5 Y4 a2 ], n2 C0 w
/ N! S; B5 a% Q1 q: g2 ~
9 F R6 |6 M3 S h: c6 f3 x
' T" N) n8 P" z/ }: X* @ 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
& R0 M3 d6 M" S W K
( b/ N- j# C; Y3 `2 Z
/ x4 [+ O9 d' c' L9 T4 K
7 L2 ]9 i5 F5 b
a' |1 o, i5 T) ]1 M3 d2 _ P' s1 ^ 4 D1 V. L9 j3 @1 X% z( x' ]) c, d
*文末附《破防了》项目技术分享视频& `3 V5 U2 Q5 i7 O: V$ _
; }! g3 F7 ~$ Q* ~4 w. F
% W" b0 M9 X& B- b4 Q# i# G. s ( f: k& F+ i2 e
) z. a! j- S- F* ~
. k& ]) j2 X$ I& H ' Z& N9 S( x0 q! ?, Y
! G8 g- X$ J' m- }6 W- u % |+ F( k& X6 e$ \; n1 [0 M
# |) M( `0 a1 x0 h7 J; a3 Q / {8 w( _6 ?- @9 a
) V, ?+ @1 v4 }$ _1 B. w
1 L. R9 ?, o8 K7 ?; v3 T & V- J1 m I3 l' A/ ~; u
5 P; z6 K8 P. X ?5 F2 H ! v0 S9 e+ p& [
1 D" u2 f7 `6 b$ K! ~
9 P/ g6 Q) A: w4 t8 P2 q7 V : q* Y/ i" j: L6 k% V4 {" W, P
u7 e6 P$ ?, B' G9 ~9 |. _0 W $ E2 e+ G2 J) g3 _$ u
日拱一卒 功不唐捐# Q& X" j; m; j6 }" u- T% X
& |8 @5 A9 g6 q2 u
- o( a; ^) l6 e. N
! h; t; q2 j0 M4 I9 y I; n8 S5 q
" c% w, P) k) |
; N. b' l5 s# c 9 d! L" H0 d; g. P9 t3 s
# M" r* i' ^$ z* _3 s* C9 Q" k' m
' b6 a( I4 R/ Q. x; e' H
7 O- w2 e' r* q' p& O8 @! j k
' y+ {! ~9 w- k& l$ ]
7 E* A. v- h) Z. J. n
4 }9 _% V/ S2 _' r' b2 d% N+ O# O " C. C% V. Y7 D5 e4 Z4 i3 ? z
h. [2 x8 J0 K3 H2 w" X 9 R* |' R7 s* Y
, b' y% a* U6 u, T0 I8 @/ x
: H T- Q: V( ?5 R6 G " A+ |1 D2 u) H: ~8 I: `; P
) K5 D& n8 V8 F* i
! n* B' J7 h) D
/ D3 J5 P0 [$ q5 w
2 u/ q0 H0 Y. _% q9 j) c( n
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。$ ?9 d+ R! u1 t! b
c% D, |# ~7 W4 u
- z+ C7 p5 w( K" Y! O% @' U: ~: b 4 y; t2 `; V* j7 r
# n. b7 r4 C8 f: N! S% e8 _& a. {
' q: k% n, }: l D* d
7 f1 P, h Q% g" j, O* I7 ?
/ n/ y# T! |- X
( d* C" W+ R. C7 F 日常研究环境
1 B: S* K8 K1 j* l7 K' Y
_: n0 g/ q0 Q$ j+ y
* f3 C$ c; D( E" o% {; _# ~ ) h" D. o+ j4 x0 T* p' T
- H2 X R0 C6 N6 |. m' ~0 K
, @( P3 K5 u/ {: i& Z 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。3 ?- U/ ^& T0 y! J( s
1 a7 b, t& Q2 ^6 `* b
0 x$ I+ Z, ~8 n9 g3 f 7 O4 n ?9 [5 k7 U: e% B
+ _5 j- T, B6 u F$ |
9 Y! `, X* n, X& Z0 J! {' M
8 B# y8 c9 p, A# ] 3 I3 e6 D. J( d! L# ^! T
9 L1 A+ X- _3 Y: ~5 Y( U
' s+ y- G3 }1 U2 R# _
$ c: @& I0 X/ q 4 O# j5 F7 d$ h$ [+ J$ |' _
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
0 h; I- F7 C! W/ ` ]$ N, D $ L5 ?/ q! c- f/ {
$ P v9 D7 u. ]0 H A3 P9 e6 c3 Z% t
1 d# B+ O& m, s3 A
) M+ E- Z# i; `- r* S 0 i8 s- x. A' L- h
( p" P1 q1 A' y3 R3 b
6 a4 P& a+ w9 N% }8 t
+ B, z: Z! X, c! D/ J" [) c
/ U* o6 ]4 y' Q5 S: C& W
b# K+ }7 Q% E $ V! u5 _. y" r$ O
5 @( [) @5 G9 K D
* t B# A: F! p" G7 R , l5 `9 L* X$ j. S
! b+ @2 p6 f7 ]+ r% n& l" T, ~
+ D7 r) n/ ~* f* T9 { [& `3 q
+ k1 _7 _. t6 \+ a * Y- {$ z# W( j: x6 n. a, T7 f/ Z
, `# A2 D; h6 w) [ 8 }9 L/ W! F5 D' x) n! o! {3 ~! [
破解加密硬盘- m/ ]5 i! {" h( y C c
& O# s: V; D( u' L$ g
" A2 o) S1 F. h8 k
3 ^1 r# U; Z J' c
# s2 \ I- P D( w/ E , Q" r9 G0 N+ K- \# t4 L
7 @1 J" X6 S7 ~/ c, B) [
' _2 u4 I0 x0 d7 Q4 N/ N( g
T8 D& r* K- n
& a# v7 ^$ k5 ~* Q3 L2 W! k
! p0 |0 w* d" ^8 k9 A8 O% k7 J 0 Y2 S6 J2 A4 x1 V
, b: A z* s5 o( ^
0 g, F2 a, |& `
& z% X: |$ K$ B 5 _2 S J% W8 q H5 T
" \# f' A+ L9 n: F3 D" \: }
& B/ s R$ K) ^( g) L/ I+ |6 Z) H
# a/ T% p6 c- w ?* K+ Q
' D: Y) e1 `8 a6 t + B# b4 j) I# C7 F6 u
' }# l% o) P0 g8 n6 L, d& w' f) M
3 @5 z$ t" f6 B0 L- d, G
- j' l1 [, f! x& i6 m- G1 F
) a( j) \ n7 H) H7 a. ?+ l6 ~* c
6 {! N9 l& T& z( U# d a9 a 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
- v( ^( m9 s% N$ r) k7 @+ y0 c ( M1 Z. w- h+ G' m1 I
: P( O, U% V- V9 o
; I* }" t( c2 x) H1 \2 } p ; `) H$ V$ e( s, S+ T
+ ]/ [- H. F+ @5 N
8 K' e7 v2 I0 v2 P. Y, O* S
0 ]/ j2 F- `( c# G
0 ^6 E0 _0 Y: d1 q( s
$ D6 p/ w2 k+ b; x & U8 G! r3 _( ^- m- A
! A- i* T& u/ M! |2 j 在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
1 Z4 L: D/ I6 ]: i s, E8 U : q+ z* D. e) c6 A$ }$ F
. g( s) Y$ q8 u! m& S
' P$ |0 e% L) L8 x% Y* L0 L
5 h9 ^( X; a& K' |# v& [- K. ]
* d. R" _7 }4 _$ q" u; l
5 f( O2 O5 L" U4 ^6 y
$ Q6 S8 C# y% [: b# a , Q: [5 u- z1 [- q, \" Y
' M, w6 c+ u9 b/ z+ L
# ]' _. m; [; M8 d T4 Z: p
" Q( a( J( V/ E ~! i& r( J( ^ 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。# E6 K! e% I" o, s4 @
" k, I( K/ u; W& N$ A
( E; A1 k, i! w& K* b! O
" ^ y0 }, A0 L) F X( Y 0 L# U Z1 X) g6 U
, a: @7 \2 b3 u v5 G4 H6 U/ {0 ] , O' Q$ j1 M+ b2 l
$ U8 {. }, } X( B; O2 i
- I) _: l' o+ l9 X& G0 O
|