3 S- K0 ]9 N1 S
5 O! z" h9 c# ?+ A : }, Z8 D' J7 C
% L4 `0 O6 n& A2 d, |$ A4 u
2 E' `2 E1 q; V: u; ~7 q) T8 N6 [: J 5 z2 k7 t# j# o5 m9 L" \' x
# ^7 k' U; m/ a2 m ! |! j! }3 N0 }% N. Y
- W. C: x% U& J9 t% c & c; p: p8 _+ |/ n7 ^4 g2 c
7 i* V5 J$ ?+ {0 K; N) p, A* K; T
. x' |% O k! a) \' ` 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? ' ~" {$ ?7 S5 Z) ~; u4 a, n
5 {! M3 B/ x% @) ~" p! C . o. h" l4 q" g' i- _# ~
2 _6 G f3 y0 Y' X5 {
# g, d/ B4 g7 ]7 X3 n0 D
7 }$ h1 i( o' b- c+ K$ B( f 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 ) ~9 E; K6 ?; a, K' o0 V& Q2 l k! j
: L4 `( H$ D# J2 H
& ?1 _0 F0 m" g0 W. @ E
+ j/ A2 N* M; T! x3 Y }/ K
0 H3 i! J& d5 q) I
# S! T! c2 G9 z2 E3 a3 h
在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 n# y/ o% R, _2 _
) H) j/ C- |& z- g" j; \: H
4 b5 }& [9 x7 T
- k! c* s( n4 | @# T: {# t( z k8 n
4 L0 @1 [+ I0 P
% Y' | W% u5 K: V' p* N *文末附《破防了》项目技术分享视频 ) D* k# ]& t3 O h
! Q& q, q" t9 o5 p& w7 f7 U! k. Q # m, r+ v% j4 i- c
- v; a* d9 u, K; V - l4 G0 h4 C, u$ O9 v' `# e% C
, ^2 s- y3 @+ b5 M X. k; o8 b1 ~
, n& c1 _; V/ P: P+ v( {0 I4 V 6 t9 J- `% e" s: n+ V
. \ G% a* W% e( I
3 f- j1 U- [6 [7 Q: _4 K. Z
5 K0 t2 A/ ~8 @+ i" |
6 N2 U4 q) s y$ j
7 _# R0 R/ i6 a3 ?
/ ?( _9 p% l; A$ W- y9 g: u
4 ?0 [& O5 P- y7 I+ D
3 i$ H8 v! r R- [3 \0 n
6 `* F3 h* L2 c$ r0 f( o$ t8 j
6 j4 }; z ~+ B* A. P! B & F# C6 f2 q# v' R% ]5 C
/ u" c* z' @+ j' E( Q 日拱一卒 功不唐捐
2 O& O& x0 J0 ]( B/ b( g
/ T( C t6 L; Q2 K: ]& {; F: G% k
' _ K0 V& Z( K. s1 i
# I9 p' M+ a% a+ e/ `4 Y : ^0 T, p* m; O8 C/ h% L
# c8 u- N7 ~& l! c. c1 D
' R9 a2 n+ G3 M# Q
5 v: s2 K ]8 @) f& g* S+ c/ s& l: V
. Q$ N8 ]3 K8 Q" Q8 X; ]! ~& h, r
' J0 _* @& e( b7 D s0 n
! W7 w$ s y$ y n8 ]
9 ~5 `: d1 H6 Q* `* @& V5 o
1 z/ |; N# U" F7 x% i, N % U' M) I9 @/ {+ p0 a
- B" E" c. H1 L$ b* E$ R1 ~" K 3 v0 w9 \- h8 n! ~8 F8 f; n$ N9 y
" L! d; k+ m% L* _; O
; a% R! g& D% l2 W, K A : R! N% U8 m2 P1 i+ U# h) @
: ~$ e% J' L5 `( a9 ]/ V2 w
( N; N) v+ b/ y! c
" N L6 U( R4 O
- ^4 ?) G& p. A* m
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
h9 n; O- O# x- R5 f1 G1 n
# R% K0 @4 R% S% u6 {, {
/ Q9 i; P4 K, G) n, s. ?9 Y
* d) W- U6 L. v3 ]$ t
+ F. l# |8 P5 B3 Q! K6 W. a* W: h
9 B2 x/ V! z: k; k- M! g
0 G5 J' d( [" G+ x9 |
, h3 S' r) n# S: X2 w
% l( l; {9 e- Z. t5 k! J 日常研究环境
' ^+ k2 X# q8 {* z4 G
# I, o @6 z3 w5 v
+ E# ~6 |3 [. m, ` ! n i' x# D& p
( w3 Z- j- s1 m
- q% j" w/ P, `
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
! n) N4 w- A2 s" U! E$ B
/ @) y/ C I4 g5 m; U9 c 9 K' T. w3 w2 v) c* G' ]
! m" F5 o! C: h0 m
* n8 n- A. t6 t4 _. R$ \
& Q9 r: l4 L5 F) q
. G. n9 S2 w2 M
9 e8 F% S+ h' ^$ K ' g4 K. F3 V6 F" ]* N
; q; B: x( V" @1 M# R
! Y0 a% a) R3 d9 O
( ]/ J7 K5 p; t( [+ ?2 `
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
, P5 u9 X4 X% L8 o- s% }
. q* o) N" K( X1 D" o# ~9 f
3 N- i0 k1 V. Y+ k. Z; v7 G6 Q
& U, \% a. G3 p! D
) B3 r6 @6 U$ W, _$ B9 a$ E' @+ q
5 H- Q8 o9 p8 Q6 m4 T( S
: ]! x4 ]. k( H8 i
, f& a% |. Y5 L
% }; }3 z5 s. i! W
4 f; H# G' U! R
8 s. A4 w6 z. a6 }! z/ P 7 Y& \- y9 x/ e5 _
$ i4 A4 g9 V7 l% A: x$ K: }& M
$ G7 x- [5 F% f/ ]& h# o 2 ~1 j% |8 i4 v8 G3 `5 z
: T0 ?. r- P. k- g
. V3 l, P$ V- B @0 X) c$ u7 Q# j% U
# H! f. T, C8 \/ _
) D: d3 b5 y* ^1 w+ t/ z* o [
% H. l5 t R: c9 J1 O 9 m" q! g. U/ w1 S4 s% Y/ n- {
破解加密硬盘 2 N6 }: J, b1 w' ?" _/ u* O
% [: _, \7 T- ^
( j5 b5 }4 H) x# R6 a( S " q! y3 Q* q1 O9 P% |- v& y, g' {3 M
" W3 T. c& b$ [
6 G0 \4 O" f; j1 Z6 A3 w3 d& P5 M 7 a2 u1 z) o8 f# w# m: S7 `. w4 ]
% O1 i2 x+ y; W% n! X
+ {6 ~6 F0 B" G0 T7 O3 C 1 X, S2 h9 @' S( O( F
3 o0 c1 {+ T% }1 S; x# N: v2 q4 v 3 s' D- Q% g. D+ _: M! [
5 Q4 @) E4 Z: m) {1 k( m8 E: F' `
0 M( z. m( s% z6 S: q" ]
" z. T3 w0 s# _/ ~
9 }; W8 C& Q3 Q+ L0 B' O8 Z 3 H2 |/ w' y# V( a1 M3 s
+ P+ Q" j- r' Y0 M; g% E9 O ; c* y/ q5 r' }
( f. d% H4 I$ L8 w* B4 s- _3 Y
2 ^: M$ a3 c) X
' z" J% x# F. A h
- i2 k1 B+ P8 M% Z
; b. [$ x3 `3 j8 w9 _9 Q6 q$ Q
* N& L9 w" x! z; d1 X 7 R! E* o* s5 i+ X
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
8 a, n% k3 v, p2 e1 ^
1 H4 x2 T+ @( |' O, F1 }
$ V& m! }8 h: L# f$ w0 A% T7 _ 4 ^7 U+ ~9 N% a% i" a6 b' X6 S
1 h1 y8 `% |7 ]7 Q" z; [0 x2 B
* x$ ^ }* C! _3 R7 h6 G
1 B; r7 M8 h4 M/ _
4 a* L* O A A; p3 x( }
, O% r9 S5 ^4 F( E; j; n / h9 S1 Y- \* F2 o5 }* W
3 _4 \2 w; \2 O m6 \% D
" x' Y( p0 `/ K" G4 m
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
% N: k* q( w' z! }3 d
" J$ s0 B8 x0 b* h. n5 _* t7 g
4 V; i/ j' K7 Q5 e& @- q 9 K6 S X8 X8 }3 m
: J, W& j& v8 a) y; m
. {5 k6 ^) T# i3 e+ D
- f7 S( p0 E, v2 m& J, o
3 u1 S! @( P; l9 N2 r6 i" U# [" T
( l+ O+ j& G9 P
7 \) b! w- |1 O0 j8 l8 R
/ `8 w! j; ~* i7 q
/ l# f9 V, Z' @# r( [ 在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
4 [5 O& k0 }. u- W6 W$ {
# `% Y" T+ B1 F6 N2 `, L, `
) n( M8 G9 t/ }! E7 A# h
& o% T9 z" i* n2 S- [$ q. |' T
- v, ~% b3 y" s+ e9 h& } Your browser does not support the video tag
9 P( V0 c: l# O- L
4 N K0 _- N( C( x/ G3 V) k
$ S. y6 b9 w9 q/ l( v. I ! B7 w8 m' }% B, y( g5 m+ U7 @0 k