+ ]6 \8 C( w, N3 h
" y" ^; O9 Z' u$ |, A
% G1 D6 ]+ t# t) F' N3 ?+ e ! `6 O& [; E3 u) H
- u$ s, J5 H, V0 |6 P( g- L
- n1 J) E4 j( K0 U. @2 Z
1 X# V* J. H( F: b2 N2 C3 O
+ ]! ^/ H# m& t3 T8 ~
/ v. @# K+ ]( A+ W1 Z( Z
- B! G. v- A k) ^5 ^ 3 b1 U5 l0 N: N6 a: ^
9 m9 y, p! X( o8 [2 ]
在中世纪的绘画作品中,偶尔会出现一种盛放金银珠宝的木制橱柜,这被认为是现代保险柜的雏形。整个十九世纪,欧洲与美国一直致力于保险柜的研发以及防火性、安全性(保险柜用锁具)的提升。到二十世纪六七十年代,电子密码锁开始广泛应用于不同类型的保险柜。随着科技的发展,如今不少保险柜也与时俱进,接入了互联网,以期实现远程控制、联网报警等功能,让保险柜更“保险”。但这意味着100%的安全吗?
8 ^ c1 J7 f; z2 D+ E8 ]
- K7 ~0 W$ p8 S* i, d9 O
' X. ^, `# g/ M" p5 s5 H* O" m
- e- L* c! ]+ c( O6 p" x, @ 2 e$ d0 j& u4 F0 L2 Q. J7 C
- I/ w0 G% E9 l* p% M 《我是极客》第一集第一组挑战项目的选手,在舞台上给出了答案:利用部分联网的保险箱存在的安全问题,不用破解密码,几分钟就能打开这些保险箱。现场的挑战一度让嘉宾惊呼“鸡皮疙瘩都起来了。”此外,他们还现场拆解智能硬盘并破解、获取了其中的加密信息。挑战突破物理、数字的双重防御。 . C: v! Q# p! }& N; |5 h& g& t8 ~
& |! {! K i0 V7 ~
/ N% l: E" n* H; ]5 p 4 Y6 L% u# B1 }4 r
1 d9 j; G8 F/ C5 C0 j# [
( y W0 u v% d3 P5 ` 在“1024极棒之夜现场”,这个项目的选手分享了研究过程中的一些心得与经验。本文为现场实录(摘要),供读者参考。
& V1 S7 \+ B: L Q# [' m ) j" P9 \1 |0 ?
3 r+ i( {& B( c6 U* `
; @( T4 t; N! B
! B) \0 @$ d2 k; h! i
2 A1 g% j% U# T- N2 Q *文末附《破防了》项目技术分享视频$ K: a4 E/ {; c3 M' z* ?
- _7 {. W& P0 M5 A- m/ P ) z2 s5 v9 L C, E3 ^/ ^
- h+ p3 ^2 u7 J% l- S" \/ }2 I
' v, V- P7 T! b1 J" b
f; q6 W- I& P0 g ; W1 f. k- c) Y) R
/ Q) v+ Y7 [! w0 t. V4 ~6 q' ^; L
: q1 x: D O' Q6 e
+ c( K8 K, i" ?# i, n' E $ r4 q) d) ?) p/ x) b* N' e
$ C% \' {4 U+ R% A$ T( ^3 H8 r
: t5 }- b+ l6 E0 O# l/ y
# C; @5 d+ I" n) A / a+ }. o/ l( }* }9 P/ m. @. E% t7 y
9 z7 J0 ]' W. j
: p. D2 ^5 e0 x, @; Z
, U! F8 h8 w9 Z# Y4 r! [ * r0 ?+ u9 M0 }# ^ m% A& n# Q
. Q8 T/ D @9 ?. U9 S/ V4 | - V5 W9 H8 ]/ F0 s
日拱一卒 功不唐捐7 b1 `% D* ^4 I: {' V+ y& E4 u
6 @7 J/ H" [# R4 e }* L$ M# q
& a( U/ K7 U+ z# z
3 ^4 G9 Z+ g" T c+ T" v / \1 F2 L* W/ S
) J( }$ ]* q( @- q6 e; b
# U* s' j: |1 p) S * n- g5 ?, w: \ h E- K
M9 k) \0 z, \$ n( X5 d+ W
/ g4 z6 x9 V6 E$ \
: J1 e% m* |7 ~& L' y h" I+ z1 Y0 ]% \% S$ I3 X
* }; h3 \- i: ?7 G" e5 @2 T3 t) H 8 p3 d, p1 W% _* @& o0 s0 q% A
8 p% q" b# E( `9 X# A
y9 w' V8 x( d2 H6 l6 L
# T+ ~3 ]: L3 ~( [8 u- C9 e ' q/ l5 \; B( [( O/ C+ S
. k4 s- t( S! ]& O$ G. d. F8 M
6 m: }# W" d! A! F0 [ 7 w- {5 ~, l% L1 p9 o
* g- O; I1 H+ u3 }$ p8 h+ U
2 \7 P3 a- D+ S0 l) u' h/ _ 因为团队专注于芯片底层安全研究,在研究 ESP8266 芯片时,发现其广泛使用的一个 SDK 通信协议的 AES256 加密算法存在漏洞。因此灵光一现,想到利用这个漏洞无损破解应用这款芯片方案的智能保险柜。
; l& E3 T f5 r R8 z% ? - s" T/ U1 L' A, R
1 m, b% P1 Y& d7 @. i$ g# [
! X* k! z2 N: O7 _/ E
9 o) X' j* a1 z$ {$ J3 }+ x
; B3 R. w/ M. N0 R1 k: ]
5 g$ F; }5 k/ R' o2 O# \2 m
+ }. N: u/ r/ I* e! J, w* Z
' k! t. I8 l4 h& L! O 日常研究环境, I- l) B/ F e
. u4 n+ p# p$ E( u2 J# J/ ]/ d1 d : J4 ^. X% y5 v) a( f% f# \
D2 C$ I7 w5 J M) R, o- l
/ h2 j7 \7 ]- p) m4 Z0 A7 Q + Y E4 ]; I. p. G6 o
市面上有很多销量比较高且应用这款芯片方案的智能保险柜。当合理的开锁请求发到与保险柜连接的手机上后,就可以远程打开保险柜。比赛中挑战的保险柜号称采用的是银行密钥管理系统,在行业内具有一定的代表性。
: A5 ]: [) N2 c; X0 K
7 P8 D7 x) }0 u; l5 F3 |2 ?
! m t& E2 g% F: R f* C) G ! {& @4 w2 W! T, {1 z4 l# {
+ l$ O: {$ M2 c" X9 T& j- O
5 ]# q/ f2 {# _* O2 B6 \
; ~" i8 d" M8 k% Z4 N; ]2 m. E* H
/ @" T) u4 H1 y# | ^4 x) _$ j y% i. a6 X" T/ _9 R. j
+ B: I/ l4 L. P& R' J1 |$ s1 H
/ w5 Z6 w6 t+ H3 b! [
. p$ }" V2 v- Y: @2 F, j L
发现SDK加密协议漏洞之后,我们又分析了智能保险柜的通信协议,然后劫持保险柜的网络,伪造了一个服务器。当保险柜发开锁的请求给服务器的时候,我们可以把请求给拦截下来,然后伪造一个开门的数据下发给保险柜,然后就可以成功开门。 + N# v) `. s, L% d Y+ d
: G% S% ~# [2 A6 k1 W
4 t/ c: K0 r! e: M1 s( n" t
( c1 @+ U7 C1 }2 `4 Y$ [/ A # r2 R. p1 ?0 A* M2 r3 q! V% h
6 t9 C- H5 T. D1 W5 ]4 I+ d
) {, z/ B% W$ P7 a& l( v" l ) g: D/ l2 D0 w5 P/ `1 t1 H9 m# L3 i% D
/ R* h2 r3 v; J i. o
& Z2 ^7 V3 }1 ?- q3 j8 v! S3 R
+ ^* E( X7 a, ]5 t. h
" U5 k8 S& O( L6 l! y
/ l5 V# K* D3 t+ Q0 P! C 8 k3 E3 ?. Y/ H" b3 b* I
( P+ T9 d9 a% a% ]9 `/ u
# M8 G; g! a" o% d
# P$ T5 M! Q' R- [
" o1 b1 Y' j" |
/ P3 e4 e" I( i4 ^) Y% W 6 n# M8 i/ j% D2 i/ I
( _2 t2 K" [9 ?' g8 g 破解加密硬盘
1 q) B, C% g9 L, V @$ L
& { m. b3 P! b6 @' s4 \
! O6 C' \+ e9 z; {! R
$ M0 v' b; Y# N : `! g: P( O3 M
+ }, a a! ?6 {0 T1 B
8 ^7 y7 b% x5 Z% {7 C9 F
' f; Y" f1 O- a: C. J3 B
! g) a$ ]: H: C9 t
& \1 r; G' e/ B+ O; u4 F- I" O
1 ? \2 h) u) D
* |5 s( A K3 m# T8 y; B' j * h, [: d! B) Q; x5 l$ A# J; X; |
# F: I* s2 `( b; q( t9 z
3 @( f; W1 S { 7 W- r" U' R% {0 W
( `# e* [. ~. t5 \
: j ?' v% t1 N4 D% u0 Y! \" C 4 V w% n. _, y0 k
' A; n0 C0 H- ]. ~) }
! T. \. @6 c( b
" A3 U% R0 p3 S% g6 C
- Q& w2 [: o" m. u) S& C' p" m! p " X# l0 `0 I; E6 K* K9 L% a
* ~# e$ l& W1 ?& T6 B; R , O6 F8 ~ m Q1 t2 \5 I# C
延续破解保险柜的思路,我们还研究破解了大量智能硬盘。这次的挑战目标也是一款较有代表性的产品——利用生物独特性,打造支付级高精密指纹识别技术的智能加密硬盘。保险柜如果算作物理防御,硬盘就是数字防御。, M& t: k, v) |2 G
. x. b5 `* \9 c+ Y5 T " D- ?2 e. Q {/ T9 y2 U2 i
, }$ t( ^' z+ z6 E$ `: M/ i) k 0 n5 u4 ?) E/ A) s$ M# D! X& ?7 ?
0 b# L( i/ i0 u- T. n' F7 \4 v
' P% b/ d3 ~& |3 i% k2 ], o
/ ?: m% I" [6 u" O$ i: v) ^
$ w- C& T4 ?. V
' a6 {8 n+ `# N0 `
" s- T3 ]/ `0 e+ _; l 1 u' O9 ^5 { v: c0 V9 X7 T
在实际操作中,先把硬盘主控的固件提取出来,去分析它的解密算法。然后用侧信道把指纹模块上面的固件也提取出来,分析协议就可以得到指纹模块的ID。因为这类硬盘的验证先会请求指纹的ID,如果ID不匹配,就不会正常启动硬盘。所以要先把硬盘拆开拿到ID,然后伪造这个ID发给硬盘。待硬盘验证这个ID为正确之后,就会建立连接。下一步就是伪造指纹的数据发给硬盘,让硬盘的主控校验这个数据。如果验证认为指纹数据正确,电脑上就会出现一个盘符,里面就是加密后的数据了。
+ W3 ? s3 ~9 f8 h, o W& [1 r2 n 2 R4 q5 S1 t7 B, J) }0 _
9 ^! s# P, b! F! B( X
1 c& A4 d' F; }5 ~& ?, v
7 e* I. _, w: Y9 m; U + R5 X- D" t ~! V
# S+ J. p9 }% Z ! a3 Q4 l( G: u( Z# }5 p* _
. _9 t, e+ S( r+ e; d( M0 T' a: O
8 y. i+ @; I7 Q: V2 {
5 g& k: b: O* }) i; H 5 k: B& c P- D, b$ n
在极棒之夜上,除了分享项目技术细节并再次展示破解保险柜的过程。这个史上队名最长的团队还分享了一枚彩蛋,与这两天不退押金反而套路用户的ofo有关。具体是什么,直接戳视频观看。
- `& N1 v5 I4 ~) z2 B, O f7 y, s9 Y& D. B% t
2 [* ^% R- k _1 W5 e * y* B4 S0 b# N7 N8 j8 A
2 |* ]6 x4 H. d |
% W) i8 _. ?% ^+ ~0 e6 j5 @ $ E( O$ Z( h6 X
& X% @! r% F" ?* ?
- o) U5 j' y4 Y
|