Upload
naver-d2
View
5.080
Download
4
Embed Size (px)
DESCRIPTION
DEVIEW 2014 [1D2]아이비컨과 공유기 해킹을 통한 인도어 IOT 삽질기
Citation preview
최시원 ZOYI Corporation
아이비컨과 공유기 해킹을 통한 인도어 IoT 삽질기
2
• 1985년생 (만 29세)
• 컴퓨터 공학 전공 & 최적화 알고리즘 연구
• 구글, 애드바이미등 에서 온라인 통계 분석
• ZOYI Corporation CEO & Co-founder
최시원 (슈주아님)
백그라운드대부분의 삽질은 불현듯 시작된다
CES 2014, January
http://www.itproportal.com/2014/01/06/ces-2014-nvidia-stirs-things-up-with-triple-announcement/
에서 가장 많이 언급된 단어
IoT (Internet of Things)
http://commons.wikimedia.org/wiki/File:Internet_of_things_signed_by_the_author.jpg
7
The Size of IoT
0B
3B
6B
8B
11B
14B
2003 2013
12.5B
0.5B
6.8B6.3B
People IoT
IoT - 2020년 사람당 26개 디바이스가 있을 것으로 예상
9
손목에 시계는 3개쯤 차줘야…
10
2013
11
인천공항 이야기
문제에 빠져들기 시작정신차렸을 때는 이미 늦어있었다
13
이 문제가 마음에 든 이유
1. 기술 문제, 내가 고생하면 됨
2. 시장과 고객이 명확함, 돈 벌 수 있음
3. 도움 받을 곳이 있음, 온라인
14
파보기 시작함
http://www.fungesteuert.com/picture-249-typisch-auf-deutschen-baustellen-einer-arbeitet-der-rest-guckt-zu-herbert-bau-fail.html
15
사람이 수동으로 계수
KWtrio 계수기 / 2430
16
적외선 동작 감지기를 통한 휴먼 카운팅
http://ora24.cafe24.com/Science/IR.htm
19
기존 방식의 문제
✓ 정확한 오브젝트 식별 불가능
✓ 중첩된 오브젝트 파악 불가능
✓ 유니크한 오브젝트 식별 불가능
✓ 퍼널 측정 불가능
20
퍼널 측정의 중요성
어디가 문제인지 알아야 개선할 수 있어요
21
음… 좋은게 없을까?
로댕 / 생각하는 사람
22
아핫!
23
핸드폰에서 나오는 무선 신호에 주목!
• 2014년 기준 스마트폰 보급률 90 퍼센트
• 와이파이, 블루투스 신호
• 무선 신호를 발생하는 디바이스를 분석 할 수 있다면…
24
0:26:45
무선 신호를 분석하면,
✓ 매장 밖 유동 인구 파악
✓ 동신 및 체류 시간 파악
✓ 퍼널 분석 가능
25
오프라인 매장의 퍼널 분석
1,000 800 200
매장밖유동인구 매장방문객 체류고객 구매고객
10,000
방문률
10%
체류전환율
80%
구매전환율
25%
이탈율
20%
26
Wi-Fi
• 2.4 GHz / 5 GHz
• AP / Client
• Passive Mode / Active Mode
• Management Packet / Data Packet
• 최대 50m 까지 신호 전달
• RSSI 로 거리 추정 가능
• 대기화면에 있어도 최소 5분에 한 번은 시그널
• 실험에 의하면 최소 50% 는 키고 다님
2014년 2월 글로벌 리서치 조사, N=2,614
27
Wi-Fi 패킷 구조
28
Wi-Fi 이야기
29
어떻게 디텍트 할 수 있을까?
30
공유기가 요기있네~
Linksys WRT54G
공유기의 재발견늘 보던 녀석이 달라 보임
32
일단 호기롭게 개봉!
Linksys WRT54G
33
뭐가 뭔지 모르겠다 일단 덮어둬야 겠다…
모를땐 역시 뱅쿄 시마시따!!!
35
공유기 생태계
Wireless
칩 생산 업체
공유기 생산 업체
Private SDK 제공다량 발주
36
OpenWRT
• 2004년 Linksys사의 WRT54G를 성능 강화하기 위해 개발 시작
• 현재 약 50여개의 플랫폼 지원 (ARM, MIPS, x86, Power PC)
• Writable File System
• 패키지 관리자 있음 (opkg)
• 최신 기능 지원
• 풀 커스터마이징 가능
37
OpenWRT - Supported Devices
• OpenWRT가 지윈되는 하드웨어 스팩을 만들어진 공유기만 적용 가능
• 현재 91개의 공유기 제조 회사의 제품이 지원됨
• ipTIME 지원 불가
30%
70%
ipTIMEETC
39
TP-Link WR703N
✓ Tiny form factor: 5.7cm x 5.7cm x 1.8cm
✓ OpenWRT 생태계에서 매우 흥한 제품
✓ 다양한 사례 있음
40
TP-Link WR703N
41
TP-Link WR703N : Motion Capture
42
TP-Link WR703N : Motion Capture
http://piie.net/?section=tplink-radio
43
TP-Link WR703N : Radio(…)
http://piie.net/?section=tplink-radio
44
45
46
TP-Link WR703N : Hardware Overview
47
TP-Link WR703N : Open Source Artwork
2050500187Rev:1.1
CA-F12102002
U1
U2
T1
R92
R104
R103
R98
R106
R23R27R31R35
R21R25R29R33
R50 R52
R54R56
R82
R12
R11
R4
R58 R17
R16
R15
R57R6
0 R63R
62
R101
R102
R18
R20R79R78
R77R76
R83R9
1 C62
C30 C7
C26C27
C25
C19
C55
C48 C49C50C53
C115
C92
C52
C51
C22C2
3
C33
C34C2
0C21
C28
C35C36 C60C61
C57
L11
L4L2
L5
L8L6
L9L7
L3
TP_IN TP_OUT
TPDDR
Y1
J1
C37
USB1
C103
C113
Q2LE
D3
LED2
USB2
SW2
J3
D1
L
Licensed under a Creative CommonsAttribution-Share-Alike Unported License.See creativecommons.org/licenses/by-sa/3.0/
© 2012, Michel Stempin. All rights reserved.
TL-WR703N150M 802.11n Wi-Fi RouterReverse Engineering Work
Based on teardown performed by Keanon the OpenWRT forums, see:http://www.kean.com.au/oshw/WR703N/teardown/
http://squonk42.github.com/TL-WR703N/
CC-BY-SA
TPGND
TP3V3
TP2V0
TP2V5
TP1V2
R68
R65
R71
R64R100
R45
R53R51R37
R48
R41 R39R43R47R49
R22
R42R24
R96
R93
Q1
C13
C12
C9C14
R99C106
C82C67C78C81C86
C77
C98
C97
C2
C72
C65C73C74
C46
C47
C111 C7
0
C101
C95
C94
C76
C75 C9
3
C83
C87
C5
C100
C99
C64
C71
C8C15
C102
C96 C105
C18
C4
C109C84
C38
C104
C85C16
C45
C114
C63
R84
C24
C91
C90
C89
C88
C29C3
1
C32
C66
R55C6
C10
C79
C80 C1
R97
R7
R14
R3 R2
R13 R32
R36R40R46
R30R34R38R44
R26
R28L1R59
R61C17
C108
R112
R109
R111
R110
R108
R107
U6
U5
L14
U3
AN1
C119
C107
C112
C110
C3
R113 NP
R95
R94
L13
C11
D2
L
Licensed under a Creative CommonsAttribution-Share-Alike Unported License.See creativecommons.org/licenses/by-sa/3.0/
© 2012, Michel Stempin. All rights reserved.
TL-WR703N150M 802.11n Wi-Fi RouterReverse Engineering Work
Based on teardown performed by Keanon the OpenWRT forums, see:http://www.kean.com.au/oshw/WR703N/teardown/
http://squonk42.github.com/TL-WR703N/
CC-BY-SA
TL-WR703N150M 802.11n Wi-Fi RouterReverse Engineering Work
Based on teardown performed by Keanon the OpenWRT forums, see:http://www.kean.com.au/oshw/WR703N/teardown/
http://squonk42.github.com/TL-WR703N/
© 2012, Michel Stempin. All rights reserved.
CC-BY-SA
GPI
O28
RESET_SW
RESET_SW
AR9331-AL1A
A3S56F40FTP
ETH10_100_TRANSFO
3k
NP NP
NP 0R
22R
22R
22R
22R
22R
22R
22R
22R
22R
10k
22R22R
10k
10k
10k
10k
10k
10k0R10k
1k
3kNP
10k
0R0R
0R
2k4
50R
50R 50R
50R
3k8
1k 100p
low ind
100n
2p41p6 12p
12p
NP
12p
12p 12p
12p
100n
10n
100n 100n
2p4NP
2p42p4
1p21p2
12p
100n50R
12p 12pNP
50R
low ind
low ind
low ind
low ind
low ind
low ind
low ind
low ind
25.00 MHz
JUMPER
1n 1206
USB-MICROB
10u 0805
10u 0805
S8550M
Blue LED NP
USB-A_TH
TACT_SWITCH_SPST
RJ45_2SH
75R
75R
75R
75R
66k4
22R
10k
22R22R
22R
22R22R
22R
22R
22R
22R22R
22R
0R
NP
S8550M
10n
10n
10n
10n
299k22p
10n
10n
10n
10n
10n
10n
10n
10n
10n
10n
10n
10n
10n
100n10n
100n
10n
10n
100n
10n
10n
10n
10n
10n
10n
100n
100n 10n
10n
10n
10n
10n
10n
100n
100n
12p
10u 0805
10u 0805
10u 0805
10u 0805
22u 0805
22u 0805
10u 0805
1n 1206
1n 1206
10n
10k
10p
10n
10n
10n
10n
0n0p5 NP
10n
100RNP
10n
10n
10n
1n
0R 6k2
10k
10k
10k
10k
22R
22R
22R
22R
22R
22R
22R
22R
22R
22R
0R
6k2
6k21n
100n
0R
1k
3k 3k
1k 0R
TPS2041BDBV
UNKNOWN_BUCK
4u
S25FL032P0XMFI01
WIFI_ANTENNA
GND_3CONTACTS
1u 06034u7 0603
4u7 0603 NP
1u 0603
NP
10R 0603
0R 0
603 1u
10n
GND
GND
GND
GND
GND
GNDGND
GND
GND
GNDGND
GND
GND GND
GND
GND
GND
GND
GND GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GNDGND
GND
GND
GND
GND
GND
GN
D
GN
D
GND
GND
GND
GNDGND
GND
GND
GND
GND
GND
GND
GNDGND
GND
GND
GND
GND
GND
GND
GND
GND
GND
GNDGND GND
GND
GND
MMBD7000
MMBD7000
SHIELDSHIELD SHIELD
SHIELD
SHIELD
GND
GND
+2V5
+2V0
+3V3
VDD
VDD
+2V5+2V5
+3V3
+3V3
+3V3
+3V3
+3V3
+3V3
+3V3
+3V3
+3V3
+3V3
+3V3
+3V3
+3V3
A3 A3
A4 A4
A5 A5
A6 A6
A7 A7
A8 A8
A9 A9
A10 A10
A11 A11
A12 A12
A13 A13
A14 A14
A15 A15
A16 A16
A17 A17
A18 A18
A19 A19
A20 A20
A25
A25
A26
A26
A27
A27
A28
A28
A29
A29
A30
A30
A31
A31
A32
A32
A33
A33
A34
A34
A35
A35
A36
A36
A37
A37
A38
A38
A39
A39
A40
A40
A41
A41
A42
A42
A47A47
A48A48
A49A49
A50A50
A51A51
A52A52
A53A53
A54A54
A55A55
A56A56
A57A57
A58A58
A59A59
A60A60
A61A61
A62A62
A63A63
A64A64
A65A65
A68
A68
A69
A69
A70
A70
A71
A71
A72
A72
A73
A73
A74
A74
A75
A75
A76
A76
A77
A77
A78
A78
A79
A79
A80
A80
A81
A81
A82
A82
A83
A83
A84
A84
A85
A85
A86
A86
B1 B1
B2 B2
B3 B3
B4 B4
B5 B5
B6 B6
B7 B7
B8 B8
B9 B9
B10 B10
B11 B11
B12 B12
B13 B13
B14 B14
B15 B15
B16 B16
B17 B17
B18 B18
B19 B19B20
B20
B21
B21
B22
B22
B23
B23
B24
B24
B25
B25
B26
B26
B27
B27
B28
B28
B29
B29
B30
B30
B31
B31
B32
B32
B33
B33
B34
B34
B35
B35
B36
B36
B37
B37
B38
B38
B39B39
B40B40
B41B41
B42B42
B43B43
B44B44
B45B45
B46B46
B47B47
B48B48
B49B49
B50B50
B51B51
B52B52
B53B53
B54B54
B55B55
B56B56
B59
B59
B60
B60
B61
B61
B62
B62
B63
B63
B64
B64
B65
B65
B66
B66
B67
B67
B68
B68
B69
B69
B70
B70
B71
B71
B72
B72
B73
B73
B74
B74
B75
B75
B76
B76 PADPAD
U1
VDD1DQ02VDDQ3DQ14DQ25VSSQ6DQ37DQ48VDDQ9DQ510DQ611VSSQ12DQ713NC14VDDQ15LDQS16NC17VDD18NC19LDM20WE21CAS22RAS23CS24NC25BA026BA127A10/AP28A029A130A231A332VDD33 VSS 34A4 35A5 36A6 37A7 38A8 39A9 40A11 41A12 42NC 43CKE 44CLK 45CLK 46UDM 47VSS 48VREF 49NC 50UDQS 51VSSQ 52NC 53DQ8 54VDDQ 55DQ9 56DQ10 57VSSQ 58DQ11 59DQ12 60VDDQ 61DQ13 62DQ14 63VSSQ 64DQ15 65VSS 66
U2
TD+
1TC
T2
TD-
3
RD
+6
RC
T7
RD
-8
GN
D15
GN
D10
TX+
16
TX-
14
RX+
11
RX-
9
NC
4N
C5
NC
13N
C12
T1
R92
R104 R103
R98 R106
R23
R27
R31
R35
R21
R25
R29
R33
R50
R52
R54R56
R82
R12 R11 R4
R58
R17R16R15
R57
R60R63
R62
R101R102
R18
R20
R79
R78 R77
R76
R83
R91C62
C30
C7
C26C27 C25
C19
C55
C48
C49 C50
C53
C115
C92
C52 C51
C22C23
C33C34
C20C21
C28
C35
C36
C60 C61C57
L11
L4
L2
L5
L8
L6
L9
L7
L3
TP_INTP_OUT
TPDDR
GND
3 1
4 2
Y1
J1
C37
1 2 3 4 5
USB1
C103
C113
Q2
LED3 LED2
1234
USB2
2 31SW2
11
22
33
44
55
66
77
88
J3
TPGND
TP3V3
TP2V0
TP2V5TP1V2
R68
R65
R71
R64
R100
R45
R53
R51R37
R48
R41R39
R43
R47
R49
R22R42
R24
R96
R93
Q1
C13
C12
C9
C14
R99C106
C82
C67
C78
C81
C86
C77
C98
C97
C2
C72
C65
C73
C74
C46C47
C111
C70
C10
1
C95
C94
C76
C75
C93 C
83
C87
C5
C100 C99
C64
C71
C8
C15
C102
C96
C105
C18
C4
C109
C84
C38
C104
C85
C16
C45
C114
C63
R84
C24
C91
C90
C89
C88
C29C31
C32
C66
R55C6
C10
C79
C80
C1
R97 R7
R14 R3
R2
R13
R32
R36
R40
R46
R30
R34
R38
R44
R26
R28
L1
R59
R61C17
C108
R112
R109
R111 R110
R108 R107
OUT 1GND 2
OC 3EN4
IN5
U6
EN 1GND 2LX 3IN4
FB5
U5
L14
CS 1SO/IO1 2
W/ACC/IO2 3GND 4SI/IO05 SCK6 HOLD/IO37 VCC8
U3
RF
GN
DG
ND
AN1
GND_CONTACTS
C119C107
C112 C110
C3
R113
R95
R94
L13
C11
D1
D2
A3_BA2_BA1_BA0_BA10_B/AP_B
A11_B
A7_BA6_B
A4_BA5_B
A8_BA9_B
A12_BCKE
CKE
CKE
A2
A0
RX_
GN
DR
X+
TX_G
ND
TX-
CLK_B
A3
A3
A1
A10/AP
CLK_B
A11
A11
A8
A8
A6
A6
A5
A5
A7
A7
A9
A9
A4
A4
GPI
O1
GPI
O13
A12
A12
TP_I
N
GPI
O17
GPI
O15
XIN
GPI
O16
GPIO6
USB_DP
USB_DP
GPIO7
ANT1_OUTN
SPI_CS_0
SPI_CS_0
ANT1_INT
SPI_CLK
SPI_CLK SPI_WSPI_SO
LDO
LED3
LED3
+3V3
TX+
USB_POWER
VBUS
VBUS
+5V0
UDM UDM
DQ8_B
DQ10_B
DQ12_B
DQ14_BDQ15_B
DQ13_B
DQ11_BDQ11DQ12
DQ9DQ10
UDQS UDQS_B
CAS
CAS
WE
WE
RAS
RAS
CS
CS
BA0
BA0
BA1
BA1
+1V2
DQ15
DQ8
DQ14DQ13
DQ4
SPI_MOSI
SPI_MOSIGPIO29
TP_O
UT
DQ0_BDQ1_BDQ2_B
DQ3_BDQ4B
DQ5_BDQ6_B
DQ7_B
LDQS_B
DQ0DQ1DQ2
DQ3
DQ5DQ6DQ7LDQS
CLK
CLK
CLK
CLK
GPI
O0
XOU
T
GPI
O14
LDM
LDM
RD
+TD
-TD
+
RD
-
ANT1_INN
ANT1_INP
ANT1_OUTP
SPI_MISO
GPIO8
USB_DM
USB_DMD-
GPIO11
DQ9_B
D+
ANT1
ETH_GND
LX
FB
Licensed under a Creative Commons Attribution-Share-Alike
See creativecommons.org/licenses/by-sa/3.0/Unported License. Rev. B
U6 USB current-limited power-distribution switch
Populate R113 to bypass the
(Allows supplying the device from USB2)
Remove J1 to solder an external antennabetween J1/C30/C28and the nearby GNDpad
SPI Flash
Wi-Fi Antenna
USB 2.0
RESETPower Input
Ethernet LED
3.3 V DC/DC
USBPowerSwitch
AR9331 MIPS24kc SoC
Switch
SDRAMDDR
10/100 MB
Host
Micro-USB
UART
Converter
TL-WR703N14/10/2012 20:42:45
1/1Sheet:
A
B
C
D
E
F
G
H
1 2 3 4 5 6 7 8 9 10
A
B
C
D
E
F
G
H
1 2 3 4 5 6 7 8 9 10
L
49
TP-Link WR703N : Hardware Spec
✓ Atheros AR7240 CPU (400Mhz)
✓ Atheros AR9331 Chipset (integrated wireless)
✓ 802.11 b/g/n 150Mbps (130Mbps real)
✓ wireless power output 20dBm - 100mW
✓ 4 MB flash memory (can be modified for 16MB)
✓ 32 MB RAM (can be modified for 64MB)
✓ USB 2.0 port (High-Speed)
50
TP-Link WR703N Performance
0
15
30
45
60
1억번 곱셈 연산
51
3.5
Macbook Air i5 WR703N
x 14
51
TP-Link WR703N
12,000 원
52
TP-Link WR703N
104 =
53
TP-Link WR703N ROI Performance
0
2
4
6
8
Macbook Air i5 WR703N
x 7.4
임베디드 개발자 되기원시인들이나 하는 줄 알았는데…
55
임베디드 시스템 프로그래밍 배워 둘껄…
56
u-boot 128 KB
kernel 896 KB
rootfs data 2048 KB
ART (Atheros Radio Test)
ART 64 KB
0x020000
0x000000
0x100000
0x300000
0x3f0000
0x400000
overlay 960 KB
rootfs
firmware
OpenWRT File System Layout
57
OpenWRT 크로스 컴파일
58
OpenWRT 빌드
1. OpenWRT 소스 다운로드
2. 빌드 (약 2시간)
3. 생성된 펌웨어로 업그레이드
59
OpenWRT를 올리는 것에도 여러 방법이 있으나…
UART 포트로 플레시에 라이팅 하거나
메모리 라이터로 강제 라이팅 해야 하는 경우가 있어요
60
OpenWRT - Telnet 접속
61
OpenWRT - File Tree
62
OpenWRT - OPKG
63
OpenWRT - OPKG
64
OpenWRT - Web GUI
65
OpenWRT - Web GUI
66
OpenWRT - Web GUI
67
최적화 싸움
✓ Boost (400kb)
✓ Thrift 통신 (200kb)
✓ stdlibc (600kb)
✓ 안씀 (0kb)
✓ 직접 소켓 통신 (1kb)
✓ uClibc (80kb)
• 아무것도 안했는데 100kb 밖에 안 남음
• 첫 빌드 결과 라이브러리 포함 1.2 MB
• 혹독한 플레시 메모리와의 싸움
• 최종 85kb까지 줄임
69
70
음 그런데 천장에 랜선이 없네?!
71
다시 요구조건 정리
✓ 무엇보다 2 Wireless
✓ Wi-Fi중 하나는 미래를 위해 5GHz AC 모드 지원
✓ 무엇보다 이쁠 것
✓ 16MB Flash Memory / 64MB DRAM
✓ USB 3.0
✓ Bluetooth 4.0
✓ OpenWRT
만족하는 공유기 없음
하드웨어 만들기어디까지 가는거냐?!
73
공유기 회사들을 쫒아다님
74
PCBA 설계
75
Prototype 완성
76
GXX\U[G
GXX\U[G
GY\U^G
GXZU[G
GYG
G`U[G GX\U]G GX\U]G GX[U`G
G^U\G
GXXU`G
G`[G
G^_G
케이스 설계
77
케이스 기구설계
79
ZOYI Square 완성
80
ZOYI Square - 외관
85
회고 - 아쉬움과 교훈
✓ 장비 만드려면 확실히 돈이 많이 필요하구나
✓ 금형 약 2천만원
✓ 전파인증 국내 약 2천 만원 / 일본 약 4천만원
✓ RF는 함부로 하는게 아니구나
86
✓ 무엇보다 2 Wireless
✓ Wi-Fi중 하나는 미래를 위해 5GHz AC 모드 지원
✓ 무엇보다 이쁠 것
✓ 16MB Flash Memory / 64MB DRAM
✓ USB 3.0
✓ Bluetooth 4.0
✓ OpenWRT
Bluetooth Low Energya.k.a iBeacon
88
BLE 특징
• 260 kbps maximum data
• Master - Phone, Computer
• Slave - Tracker
• Low power / Low cost
89
아이비컨 패킷
90
아이비컨 인도어 네비게이션
Q&A
One more thing
선물을 준비했어요