7 `% n Q7 e5 B: P
! C( H* G5 {5 R ! X" p' I7 i. `7 D
2 p) e% x3 a3 O; @/ v" G
. r6 }# Z8 u5 n3 ]) n$ p' |5 G
$ E( ~9 a! C2 k+ Y# M# X: |3 I % [$ u! o) ~0 \: a
+ Z5 g& ?' \+ Z [4 W
# b* a, K5 T( ?- P1 Z' t& u: q0 L
- L( i9 A7 _, {/ A4 j; X- x' S" ~ 1 v% ` b) }7 K2 Z* {3 t
! Y- Q3 `0 ~& G4 J! g' ^
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? ! u f& H) H( B7 ?& [/ p6 r9 t
5 B# \$ ], D: a
% }4 g1 S J P9 y3 p+ Q $ U3 t) e% y, _* W: K1 O
9 p* _; a/ r* Q , `+ _; V0 p; x+ Z
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
0 `: y$ W; ^+ ?) N" o/ ]
# v) F6 Z% w3 N8 @. a' \4 k 2 `* l$ k/ }+ w0 x4 H
0 x$ E+ i& [+ T5 t7 o
3 i$ c4 g. q" a0 a, }% d3 b' u
; P* y, V6 Q0 U, e8 k 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
5 z1 ^8 ]( E; ?! b
' [& ~) v4 Z8 D7 f# j 0 O2 c6 D3 h1 J6 v' T- l9 D+ h9 o
) ?! l, Q% f! y$ J, u6 B
% s& p. |4 M j' \6 B8 c% B : T5 W' t' h8 x# k( R2 f+ i
*文末附《破防了》项目技术分享视频
# ], ^) Y, R6 I( | b
+ }6 r4 @# B$ l x2 N+ q$ n
5 _3 |) m2 S: z) M! W 0 ^; ~2 M! E# m8 O7 H& g
6 c$ c* j$ [( p/ C
+ `% D j5 x; \ l2 y
& T# S4 X( \& H% C5 {0 b5 g
' i: ], K1 V. C0 Q9 i$ Z
* K4 K3 Z& w! J3 r ( v: s& O0 f- P4 t
I+ ^! B4 P9 Y, r2 @3 @) H7 m
+ x8 T" S0 `- D+ V1 A
" Z7 A M& S' R8 ~! }- P
+ y& ~# P3 z% [) |
" Y8 w9 Z6 v5 S) H6 L ( K5 A- n0 L3 @5 |
D9 @5 B* `& y9 U+ \" E1 P* m5 a
5 |% [- ]2 M' L( d ? + b( I0 d0 Y; O* |- E; u
; L9 E0 B5 g7 I9 l5 l- y
) H& M! p$ k: z+ q$ D9 {1 ] A* r 日拱一卒 功不唐捐
1 R) M0 w5 v) {9 X6 c D+ h
1 n1 J8 \7 Q+ L 2 c5 w- d) e/ y: q8 C1 I9 ^6 g
0 Q8 j& T9 K& `5 B! p. `
( e$ w4 h9 f0 d3 C- ]" o
. g0 U4 P" P g% I- W* f6 [ " R( M: M) y& L+ \. K6 O0 U
/ }+ I! q" }. G+ X7 t/ Y 4 k% L5 d, E" P( L s0 S+ x
+ D* }# a4 n" I( P + j( n! W: n+ K! Q8 ^ b
; G- N ~' H& T9 w5 a5 H
* q. v+ R/ |9 k( q
. b, S! w( L' W) a9 k
' _( I B1 b8 t5 n+ U
. a: N( S. C7 ~ ( i F( c9 L8 M) H1 N" R
& a; x" a3 ]4 o. n6 B
, @' K- U9 d. N% k V g7 e& x ) e$ ~% P: o) L" m+ s, y- g
, c J5 A: O% C. s
) B6 O% N' z, K8 ^ 8 ~ A3 Y: n/ n) [# r: o
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
9 S: E6 X2 P% q9 n
7 q: m( M" Q- N1 J
" v6 c- {* Z+ u S 3 O$ C4 S& C u; v3 s
- A& y2 }6 R8 k% U
7 f- |) \+ I' E
, N5 ]' g0 u I. A- `* u; r 0 E+ i1 Z3 w# e( E' e! y9 ~! }( b# y
7 U" S8 i9 j5 ?
日常研究环境
) h& X: r$ u% L* C8 T : _+ N. A$ l' G$ K$ y- u
& T8 O% t9 z# x$ D % @( _" Q; Y% }; ]9 S" ~# ?, K4 K
4 [& H' A" ^" b$ ]9 C8 M9 J% n
/ H$ _0 p% Q1 P/ T3 P- e- E 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
0 y9 y1 z# V: t! a4 W
4 _5 K2 `/ G2 X' X2 ]3 y1 E3 T' J: m
* e7 ?$ B$ v+ k6 l7 H% p
* I* o* m3 y, j! l8 b9 K) P
9 o5 P& Y8 u: r) l - b0 z: d; P- ]2 t9 |# {3 a3 Z6 a$ _
- f) t' l! @3 W: Z. P
' a' [ I7 T' I7 |9 b/ t I; {9 H3 Q
3 c. x6 A$ r- i. }. H % W& M1 J0 e3 {$ T# ]
# U0 ^8 _( A8 g : Z6 @, O2 W; U O$ J) k
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
^) Q, V4 I0 x
6 y* b3 O& S4 |6 ^
) E$ i1 ^* t V B
8 ?, z* h) {+ M " ]. ]; m0 {, u4 G4 ?7 S& `
$ j. {, K# p) [: J
1 }3 g2 x3 f4 {7 G. ^
5 l% @, R8 E* \2 i* d! z, ]
% k. }5 m6 Z: g! g& f1 T4 s
: B# E! B* i; c9 f8 |- r" u; ~9 n
, I: @, N2 ^' q ; ]$ b' g9 b- C( G
8 L1 q! g& b# _- m/ E 3 U. v0 H4 L+ [1 q8 z
. R F9 ]0 a9 k% P4 J
( I8 j/ S: M7 H8 q, p8 i3 m
z. B) H9 G2 p
, ^' d+ ?1 e6 o: k4 b5 ~* t
6 v; g+ _: v) _. ?" ?3 l
$ {# N& e* u( ~6 T0 p . n* J: |& F4 J0 O8 ~
破解加密硬盘
$ L2 `# y a* Q6 G
( C6 c+ X/ X% z7 Q# z+ S 2 V7 {* c s* s
: A- k* K% ]* ~ k3 N0 f6 @
/ R5 ]% `: \7 w' W" R
5 s. H" m% W3 [( Q( } 5 h* W' s8 I1 b+ o, `. S4 h
- n$ p8 D1 L w0 d, }/ ~) Q L" l; a0 A' h' w) ^
$ g- l) T( t' Z5 L
6 p5 ~, h% w. N0 P) B) \
6 }; `1 n9 x7 |, |6 c2 B 1 o2 y1 Q* ], v8 i3 c7 q" L
8 A4 B4 t9 W% A8 N- c $ i9 B& g2 O. C$ C9 W1 q- }
& d7 I. @2 Z- n) \4 U- ^, q) E1 z
2 N4 q9 _: G9 M1 O7 o; ~
/ b i6 y' A0 d" I. @9 o2 i0 w* m) [
- J+ t9 t5 c5 d& F. a K - P |) T! Z$ [* s5 ^
2 I6 e$ B/ V A$ T; I & t( t+ @: q7 X% K i
1 A( ~ q/ E! ]8 L; [8 q
; e4 k6 R! ~/ V8 [3 d& s
4 }1 t" G6 v- d4 } - T6 J$ F9 n( b1 g2 x
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
r' e2 ~# r) X1 P
7 Z* Y0 S9 k+ I: b2 q+ O7 }# y % G- I5 ~% c2 c" r
' F3 [5 S# v- p. Y j
3 H' q, L' _" Y/ t' f
$ p( g! A: v9 q, l0 \% |, F
c1 `4 T/ \9 W9 \) B g, \4 O
/ q( [: T7 I* w# F5 W3 A1 q$ M
7 Q& k) c/ W$ F! }% F4 M9 T . T0 o3 k5 Y+ B3 I: o
4 u5 B# o8 f4 g B1 G
/ M) g0 e, S3 [" X. b
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
! x; a+ s1 s+ T! g( W) t. L' x
6 L2 z9 x3 `! ^0 M. K. ~/ w
& F. I5 g$ m# ]+ G* j P7 Q
% L& x% t$ p$ i }/ p
% Z {7 { a7 |% Y3 N
# X3 q7 _' m8 c! ~+ @' K# H9 H: Q8 q
* [6 [# _8 q, L1 Y
) q6 \( E: X$ T' m& p' Z
+ z9 Z" V7 L. g4 U* Z
. S. A$ d- }& \" [: R7 l# K
7 C( R0 P" `. ~; u# p
) I7 H" T& ?( S* } 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
6 Z. I% V( A3 q4 ?8 T, S
, n. D0 ~8 p+ W! ~; R0 r
5 ]: ^- w8 _; f0 F
( E6 i/ U9 F% y) r3 y
! S' k) S% w- I
Your browser does not support the video tag . o) G3 T& c# \
: E5 O/ N* Q. n( M
% X, j n2 s# r" H
6 h& C0 i$ v" ?5 n& _2 d