$ `$ P/ }8 {) r& B
% a, |3 Y9 j+ Y- `
6 x$ ]$ w% F9 T8 L ' [: X8 a7 `* E. m b5 i# J, Q
: F9 t- z7 x$ d+ H* U T7 s& c
: b) F* r$ x s* k0 c# o- n1 g
; Y1 y" p+ E1 Q) H: y
" M0 D4 u; v' J' l 1 ^1 e2 }/ \, D1 A. L
1 _1 ^% |2 E6 z) H
# B1 E! F, @6 A* B; _
$ ]; J+ o+ l- F8 y+ X5 X3 K 在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗? # p7 O( j* v, ^. q9 G" [3 ^# b7 S) B
}, f; h% v1 x3 Q @
; [) ]1 ~. Q! i; K. O9 L) @
1 b6 D$ l; @- ^5 w [" B" Q
5 Z$ f+ ~6 ~% p$ g ; N+ ?5 q, m5 S+ T9 q: t
《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。
$ {: R5 F6 Z# X
8 w8 D: M5 p) q# i' l" D
( V. m" S8 u; k+ E4 {; G7 [
( I [+ g6 F8 t3 }& b( W! n
. X3 l2 t% C+ o( q/ a
1 }$ {' b) a' \ 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。 $ v$ `) R9 d# K" \
% f6 E0 S' l2 c8 e8 o( R& f! t' ]
* X% l0 _: Z. i1 ~/ t& d& s( |
- Q: f4 a N' p( L1 Q
: U- H; R1 F% V/ |$ x
8 Z/ X( ?7 k' l5 g* M *文末附《破防了》项目技术分享视频
; w! I; M) C* _( ?
7 \; P. ^! s6 p9 Z
q: J/ X2 {& R+ y
% s$ i" V: F" W: \9 q0 y- b
- d1 q# L1 ~4 j : ^! W! M# a ^4 P; g
( B0 v# x! r" k% y t
# ] m( ~8 k/ s7 h' |' ` 0 ^9 B4 l! c4 P
* v6 K$ m% h1 i6 F. s! }0 b
7 X8 l; l; U8 e4 _3 s: p' r. J
$ m+ h0 L- n, w8 F
& r3 T/ z, D/ G + m: g- C/ ~0 C5 {' I
0 O2 G0 d0 G3 W1 s& @. L0 e
# J1 {/ {& F2 F* A+ ?0 o4 r
6 f3 u5 L: O: L- n4 x) L9 e' ` # ]+ O$ a& s2 e/ e$ q
* U3 s, v4 q- ^- h4 [
$ O) u2 \* q( S# ` 0 {+ C0 T, C- a4 r- U2 @, J$ z
日拱一卒 功不唐捐 $ r# w+ s7 Y* F" {4 Z: { q
3 G4 u5 N& t! }( g
2 l( Q" s8 R* H
, K% J& h" }3 z# C( d2 I
* k. H0 y1 s2 z% U
# X: K3 v/ ?7 i: @& ` - y) G+ Q$ y" s
5 P: V9 f+ F u& H- t" K/ J. H9 N
3 @. A! N1 s3 | g% ?$ [' }
% r' i2 F3 g7 E' r+ X) q) C 6 b) ?& {: l+ c! h
# d' z2 ?5 ?' W! ^9 b7 R# i
' t: Q- y# D7 F. }& q6 r+ C 8 P& h6 i* b( ?& k
, x/ w' d' p3 ~
, o$ W$ N7 d. c! X% l ~( j9 k
6 D/ A3 t3 s) V ~ . h: G7 M8 L8 o" s7 N
8 l2 V) h" t- d' P" X+ a' F
8 m7 p8 w" f1 Y4 T A
8 o2 Q$ H+ R6 z/ m( q, V% q
7 R4 r. C, a; \0 X$ V) \
+ y. m& Z$ _9 ~; c5 X7 t
因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。 : Z. e$ F. i6 ?7 e+ R4 q6 s
5 Y9 P6 j* ]8 d, J" `
& d3 l2 G+ T& j* `& O) ^( A
u$ O# p- p; T* Z% J$ B1 J
: q2 J1 S6 m( R$ t# _8 J
; r- ~+ f4 P/ o9 {
! W( {2 t! r" z: s3 z- b % v- K; h# `, e! Z% @; Z! Z
3 V0 ^5 ?; z1 h1 y
日常研究环境
2 a( d: `9 f0 w G& t% S' a6 Q . T5 Q- `8 V s" k+ w$ w
9 P% s0 M i' z3 w; O4 U( H
1 T- T7 l; h+ b$ F) ]. c
/ F+ a5 n2 l6 l1 B
; O" q A7 |5 E4 @# ~% q) C 市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
- m8 u% q' i9 k) o
' M6 x4 B8 B' z+ l5 ]3 S
" E- V. ]% @ l" c
: l( I* ]0 h8 y: k
0 n5 k( e' X4 D: r2 ~" k& N
4 N$ x8 d8 w3 L
' h8 o' J" H1 |" r3 ]2 a
+ A5 X( `9 t, _
4 w/ x2 C# W3 J0 n6 n8 f; Q Q1 @! W% a, j, I3 P, l7 p9 L% s3 Q
. _) [8 L, f% z
6 |( ^" B' [; o* T3 _6 W* r 发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。
2 P: ]2 z* ~$ F9 i# w) \7 m( G3 Z
, c# h; P3 H" S3 p6 v
2 }- ~' _; m, u* R2 r( o4 t7 q p ; l6 O! F( C! z( d2 v! Y: \
( o1 ~" f7 R R' y
Z6 i G, m6 n
0 l' Q( }7 w2 Q
4 l" r" B# `+ a; r: R- s2 Q* H
( l* \. y+ f- [
) v( [! i0 I5 \" Z- B/ \. S" g
5 N( ^* Z8 D' m4 K/ V% ?6 N, l 3 K J& L+ n+ K( {1 v" q
# C8 T2 Q! @' @. q$ F& q" I
% U3 h2 Y8 o$ \! A# u. J( b4 j
8 z& C( p6 U0 E" k Q# Q6 [
; W* g6 z9 }% S
6 _- {1 Y5 `5 @0 U; m
8 h- q) s& t9 k$ A$ \
2 Z! }2 f* A+ N2 u2 D1 R! o w5 c
$ P, ^5 X4 W5 H+ ~$ @" D
5 S7 R- _0 r8 }1 n 破解加密硬盘
4 f9 k, x9 y) f4 A0 T& J
- n' d. Y5 i+ z5 n! ` c
2 }8 }. t; b( S7 I1 \) t8 _
6 X/ o% m* n7 f* T }
! A8 s, t, y3 o' l# O7 ]
6 V6 H. _9 m7 H8 n3 Y
5 [3 r n% V' G
& F0 O1 C8 _+ i; E2 E7 y : q" M6 S, a, |
0 z" a& C) @" K) e# y
& L4 M: {9 E" M/ j* Y/ l
- i9 q9 J: S F c/ M1 `/ R' u 1 J0 t* C; Q, u/ r$ {8 X3 t
9 p* l6 A" u2 T3 S" p/ b2 I+ N& v & h& {5 N7 p2 M+ ?' C5 f
9 d# i* Y+ i2 a3 C3 w; X) a: _
, v) Z2 n1 n# k, F8 _
7 B5 }. a n0 Q ~ l$ _; F$ C. L
1 h+ V8 a' O! i/ X7 V8 I4 ]; k
! }, A, b& N& v' M+ d
8 L( c2 U: P7 z" s# f6 i
% d4 S" `, d9 ?: N1 o
) D) I) h/ Q* r0 `3 Q0 c
0 _0 z& G9 n, u: C. d
# N. ?2 j+ W/ r& t) X3 Q8 A
! i/ f1 g/ l: [0 W+ t 延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。
; W: l$ E; c( A& B3 G$ z+ `
3 m8 a$ B/ Z2 S2 F* @* L* [
% D `9 Y1 x& U , s. Q8 `* C; Z' L; E( B3 [3 P
" J& M$ H @. J6 M# J% Y2 }$ Y9 {, `
! E* K( A' m9 B- F5 j' X4 I
% o# X# w+ u0 W1 Z5 ]3 ], O
2 \; B4 X; @# w- |* P7 v, b
- T, r! C2 t6 O9 f# z$ `
& g( A9 `3 Z* R% s) J; ^) k
- z' D7 H2 _2 u) a( D, ]
0 c3 b+ D& g! p7 V# S. u- Y
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。 # [2 }4 \1 ?. m, Q6 r
. ^& y& Y: {* D8 s# o, a. B$ l ; {( F3 [; q+ m7 \8 B W7 [. Z
. C9 n9 X* m! g7 p' _' c% y
) `( y( g- X/ X5 ^ 8 l' k: b! j6 O" H& T
; L; d' C( l- {8 x4 |, x, J
: z0 f' S# H) A% m6 S6 t
0 E% Y8 L! t4 ^7 K( Q; i3 I
: I/ L& t$ L6 _& g' J2 q
5 U4 j" }2 @6 z2 @ 3 \$ z, a1 h+ @; N& Z
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
/ f: w5 L% a9 ~" P: V0 c6 c, ]
8 U; N# O2 `; f' x8 w4 V
7 k: \, i( u3 a3 D s
4 d! p4 ^8 j% S9 Z- @. [8 F
: B3 y& n |2 b( n0 z2 T- g6 K) k Your browser does not support the video tag
2 }' q* w% t3 w, O; d" b
# F2 w3 @5 g5 V8 T, M t& x1 ^ ' `$ W) I% K) K9 x- {
) l! K0 ?5 i4 J9 r S# D7 J) w: `5 m4 u