์์ฑ 2026. 6. 12.ยท์์ 2026. 6. 12.
- IoT ๊ธฐ๊ธฐ, ์ค๋งํธ ๊ธฐ๊ธฐ ๋ฑ ์๋ฒ ๋๋ ์์คํ
์ ๋ฐ์ด๋๋ฆฌ ์์ ์ฑ ์ฆ์ง ํ์
- ์ค๋งํธ ๊ฐ์ ๋ฑ IoT ๊ธฐ๊ธฐ ๊ณต๊ฒฉ ์ฆ๊ฐ
- ์๊ฒฉ ๋ฉ๋์ปฌ ํ์จ์ด ๊ณต๊ฒฉ ์ฆ๊ฐ
- ํ์จ์ด ์์ค์ ๋์ด๋ ๋์ ๊ณต๊ฒฉ ์ฆ๊ฐ
- ๊ตญ๊ฐ๊ธฐ๊ฐ๋ง ํ์จ์ด ๊ณต๊ฒฉ ์ฆ๊ฐ
- Weak, Guessable, or Hardcoded Passwords
- Insecure Network Services
- Insecure Ecosystem Interfaces
- Insecure web, backend API, cloud, ...
- Lack of Secure Update Mechanism
- Use of Insecure or Outdated Components
- Insufficient Privacy Protection
- Insecure Data Transfer and Storage
- Lack of Device Management
- Asset management, system monitoring, response, ...
- Insecure Default Settings
- Lack of Physical Hardening
โโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ
โ ํ์จ์ด ํ๋ ๋ฐ ์ถ์ถ โ โ ๊ฒ์ฆ ๋ฒกํฐ ์ ์ โ โ ์ ์ ๋ถ์ โ
โโโโโโโโโโโโฌโโโโโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโโ โโโโโโโฌโโโโโโโโโโโโโโโโ
โ โฒ โ โ
โ โ โ โ
โโโโโโโโโโดโโโโโโโโโ โโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ์ ์กฐ์ฌ ์ ๊ณต โ โ โ
โ ํ์จ์ด โ โโโโโโโโโโโโดโโโโโโโโโโโโ โโโโโโโดโโโโโโโ
โโโโโโโโโโโโโโโโโโโค โ ๊ฒ์ฆ ๋ฒกํฐ ํ์ โ โ ํ์จ์ด โ
โ ํจํท ์ค๋ํ โ โโโโโโโฌโโโโโโโโโโโฌโโโโโโ โ ๊ตฌ์กฐ ๋ถ์ โ
โโโโโโโโโโโโโโโโโโโค โ โ โโโโโโโโโโโโโโค
โ ํ๋์ ๋ฉ๋ชจ๋ฆฌ โ โโโโโโโโโโดโโโโ โโโโโดโโโโโโโโโ โ ํ์ผ์์คํ
โ
โ ๋คํ โ โ ์ธํฐํ์ด์ค โ โ ๋คํธ์ํฌ โ โ ๋ถ์ โ
โโโโโโโโโโโโโโโโโโโค โ ๋ถ์ โ โ ํจํท ๋ถ์ โ โโโโโโโโโโโโโโ
โ JTAG ์ด์ฉ โ โโโโโโโโโโฌโโโโ โโโโโฌโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโค โ โ
โ UART ์ฐ๊ฒฐ โ โโโโโโดโโโโโโโโโโโดโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโ โ ๊ฒ์ฆ ๋ฒกํฐ โ โ ๋์ ๋ถ์ โ
โ ํ๊ฐ ๋ฐ ์ ์ โ โโโโโโโฌโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโ โ
โ
โโโโโโโดโโโโโโโ
โ ๋ถ์ ํ๊ฒฝ โ
โ ์กฐ์ฑ โ
โโโโโโโโโโโโโโค
โ ์์กด์ฑ โ
โ ๋ฌธ์ ํด๊ฒฐ โ
โโโโโโโโโโโโโโค
โ ๋์ ๋ถ์ โ
โ ์ํ โ
โโโโโโโโโโโโโโ
- ์ ์กฐ์ฌ ์ ๊ณต ํ์จ์ด: ์ ์กฐ์ฌ ํํ์ด์ง์์ ์
๋ฐ์ดํธ ๋ฑ์ ์ง์์ ์ํด ์ ๊ณต
- ํจํท ์ค๋ํ: ๋คํธ์ํฌ๋ฅผ ํตํ ํ์จ์ด ์
๋ฐ์ดํธ ์ ์ ์ก๋๋ ์ด๋ฏธ์ง ์ถ์ถ
- ํ๋์ ๋ฉ๋ชจ๋ฆฌ ๋คํ: ์๋ฒ ๋๋ ์ฅ์น์ ํ๋์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ํ์จ์ด ๋คํ (๋๋ฐ์ด์ค ๋ถํด ๋ฐ ๋ฐ์ดํฐ ์ํธ ์ฐธ๊ณ ํ์)
- JTAG (Joint Test Action Group) ์ด์ฉ: ์๋ฒ ๋๋ ๊ธฐ๊ธฐ ๋๋ฒ๊น
ํ์ค ์ฅ๋น. Emulator ์ด์ฉ ๊ฐ๋ฅ. ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ(ํ์จ์ด) ์ถ์ถ ๊ธฐ๋ฅ ์ ๊ณต
- UART (Universal Asynchronous Receiver/Transmitter): ๋ณ๋ ฌ/์ง๋ ฌ ๋ฐ์ดํฐ ์ ์ก ํ๋์จ์ด. JTAG๋ณด๋ค ๊ฐ๋จํ๊ณ ์ ๋ ด. ๋๋ฒ๊น
์ฉ๋๋ก ๋ง์ด ์ด์ฉ. UART ํฌํธ ์กด์ฌ ์ ํ์จ์ด ๋คํ ๊ฐ๋ฅ
- ๋์ ๋ถ์: ์ ์ ๋ถ์๋ง์ผ๋ก๋ ์ค์ ์ฒ๋ฆฌ ๊ณผ์ ๋ฐ ๊ฒฐ๊ณผ ํ์ธ ์ด๋ ค์. ํน์ ์
๋ ฅ์ ๋ํ ์ถ๋ ฅ ๊ณผ์ ๊ณผ ๊ฒฐ๊ณผ ํ์ธ ๊ฐ๋ฅ
- ๋์ ๋ถ์ ํ๊ฒฝ: QEMU์ ๊ฐ์ emulator ์ด์ฉ. ๋์ ๋๋ฐ์ด์ค์ ๋์ผ ํ๊ฒฝ ๊ตฌํ. GDB ๋ฑ ๋๋ฒ๊ฑฐ๋ก ๋์ ๋ถ์ ์ํ. ํ๋์จ์ด ์์กด์ฑ ๋ฌธ์ ํด๊ฒฐ ํ์
โโโโโโโโโโโโ โโโโโโโโโโโโโ โโโโโโโโโโโโ
โ โ โBootloader โ โ โ
โ โ โโโโโโโโโโโโโค โ Linux โ
โ โ โ Kernel โ โ โโโโโโโโ โ
โ Firmware โโโโฌโโบโโโโโโโโโโโโโผโโโฌโโบโ โ Ex2 โ โ
โ Image โ | โFile Systemโ | โ โ File โ โ
โ โ | โโโโโโโโโโโโโค | โ โSystemโ โ
โ โ | โUser Level โ | โ โโโโโโโโ โ
โโโโโโโโโโโโ | โโโโโโโโโโโโโ | โโโโโโโโโโโโ
| |
Image offset analysis File system dump
(signiture based) & mounting
- ํ์จ์ด ๊ตฌ์กฐ ๋ถ์: Bootloader / kernel ์ด๋ฏธ์ง / filesystem ๋ฑ์ offset ํ์
ํ์.
- ๋ํ ๋๊ตฌ: Firmware Mod Kit,
binwalk
- ํ์ผ ์์คํ
์ถ์ถ ๋ฐ ๋ถ์: ํ์จ์ด ์ด๋ฏธ์ง์์ filesystem ๋คํ.
- ์ง์ ์ด์์ฒด์ ์์ mount (์:
sudo mount โv โo loop โt ext2 filesys.img /tmp/fs). Mount๋ ํ์ผ ์์คํ
๋ด ์คํ ์ฝ๋ ํ์ผ ์ถ์ถ ๋ฐ ๋ถ์
- ํ์จ์ด ์ด๋ฏธ์ง ํ์ผ ๊ตฌ์กฐ ๋ถ์
- Bootloader: ์์คํ
ํ๋์จ์ด ์ด๊ธฐํ ๋ฐ kernel์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ
- Kernel: ํ๋์จ์ด์ ์ํํธ์จ์ด ๊ฐ ์ค๊ฐ์
- File system: ํฌ๊ธฐ ๋ฌธ์ ๋ก ์์ถ๋์ด ์์
- ํ์จ์ด ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ ๋ฐฉ๋ฒ
- ํด์ ๊ฐ์ด๋ ์ฒดํฌ์ฌ ๊ฐ ์ด์ฉ
- ๊ฒ์ฆ ๊ณผ์ ๋ณ์กฐ ์ ๋ฌด๋ ฅํ
- Watchdog ์ฌ์ฉ ๊ฐ๋ฅ (์์ฒด ๋ณ์กฐ ๊ฐ๋ฅ์ฑ์ผ๋ก ์ ๋ขฐ๋ ๋ฌธ์ )
- ํ์จ์ด ์์ค์ฝ๋/๋ฐ์ด๋๋ฆฌ ๋ถ์ ์
Buffer overflow ๋ฐ์ ๊ฐ๋ฅ ์ทจ์ฝ ํจ์ ๊ฒ์ฌ (์: strcpy(), sprint())- Debugging code ํฌํจ ์ฌ๋ถ ๊ฒ์ฌ
- ์
๋ฐ์ดํธ ๋ชจ๋ ๋ถ์
- ๋ก๊ทธ์ธ ๋ชจ๋ ๋ถ์
- Password/์ํธํ ํค์ ํ๋์ฝ๋ฉ ์ฌ๋ถ ๋ถ์
- FirmwareModificationKit์ ํตํ ์ถ์ถ ๋ฐ ๋ถ์: ํ์จ์ด ์ด๋ฏธ์ง๋ก๋ถํฐ ํ์ผ ์์คํ
์ถ์ถ. ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ ๋ฃจํด ํฌํจ ํ์ผ ๋ถ์
- ๋ฌธ์์ด ๊ฒ์ ๊ธฐ๋ฐ ๋ถ์: ํค์๋ ๋ฌธ์์ด ๊ฒ์ (์:
Certificate)์ผ๋ก ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ ๋ฐฉ๋ฒ ๋ถ์ - ๋ถํ
๋ก๊ทธ ๋ถ์: ๋ถํ
๋ก๊ทธ ๋ถ์์ ํตํ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ ๊ณผ์ ํ์ธ. (์: 1024 bit RSA ํค ์์ฒด ์์ฑ ํ์ธ)
- ํ์ผ์์คํ
ํ์ผ ๋ถ์: ์ธ์ฆ์ ์ฐ๊ฒฐ ํํ / ์ธ์ฆ์ ํ์ผ ์์ฒด ๋ถ์
- ํ์จ์ด ํ๋: ์ ์กฐ์ฌ ํํ์ด์ง ์ ๊ณต (๋ฒ์ 5592, ๋ฆด๋ฆฌ์ฆ 2015.08.08)
- ๊ธฐ๋ณธ ์ธํฐํ์ด์ค: ๊ธฐ๋ณธ ๊ด๋ฆฌ์ ๊ณ์ ์์. ๋ฆฌ๋
์ค๋ฅผ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ OS๋ก customizing
- ์ ์กฐ์ฌ ์นํ์ด์ง ์ ๊ณต ํ์จ์ด ์ด๋ฏธ์ง ๋ถ์ ์๋
- FMK ์ด์ฉ
- ์๋ฏธ ์๋ filesystem ํ์ ๋ถ๊ฐ๋ฅ
- ์ผ๋ฐ์ ์ธ ํ์จ์ด ๊ตฌ์กฐ๊ฐ ์๋
- UART ์ฐ๊ฒฐ ์ shell: UART ์ฐ๊ฒฐ ์ root ๊ถํ์ ๋ถํธ๋ก๋ ์ ํ๋ ๊ฐ๋ฅ
- ์ทจ์ฝํ ์ธ์ ์ ๋ฌ ๋ฃจํด
- ํ์จ์ด ํ๋: ์ ์กฐ์ฌ ํํ์ด์ง ์ ๊ณต
- ๋๋ฒ๊น
์ฉ ๋ฐฑ๋์ด: ๋ณ๋ ์ธ๊ฐ ๊ณผ์ ์์ด ์ ๊ทผ ๊ฐ๋ฅํ ๋ฐ์ด๋๋ฆฌ์ ์กด์ฌ. ํน์ ์ธ์๊ฐ ์ ๋ฌ ์ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ผ๋ฐ ์ฌ์ฉ์ ๋๋ฒ๊น
์ฉ ๋ฐฑ๋์ด ์ ๊ทผ ๋ฐ ํ์ฉ
help.cgi๋ d ์ธ์๊ฐ 999์ธ์ง ํ์ธ. ์ฐธ์ด๋ฉด ๋๋ฒ๊น
์ฉ ๋ฐฑ๋์ด ๋ฃจํด ์คํ ํ์ฉ- ๋ฐฑ๋์ด ๋ฃจํด์
votmdnjem ์ธ์์ ๊ฐ์ด !@elqjrld&* ์ธ์ง ๋น๊ต. ๋์ผํ๋ฉด ๋ช
๋ น ์คํ ๋ฐ ๊ฒฐ๊ณผ ์ถ๋ ฅ
- ๋๋ฒ๊น
์ฉ ๋ฐฑ๋์ด ํ์ฉ ๋ช
๋ น์ด ์คํ ์์
- ๋ฐฑ๋์ด ์ ์: NAS ์ผ๋ฐ ์ฌ์ฉ์ ๋ก๊ทธ์ธ ํ,
[IP]/help.cgi?d=999 ๋ก ์ ์ id ๋ช
๋ น์ด ์คํ: !@elqjrld&* ์
๋ ฅls ๋ช
๋ น์ด ์คํ: !@elqjrld&* ์
๋ ฅ ๋ฐ Input Box์ ์ด๋ํ html ํ์ผ ์
๋ ฅ (์: logout.html)
- ์คํผ์ปค ์ ์กฐ์ฌ์ ๋ฉ์ธ ์๋ฒ์์ ๋ช
๋ น ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
- ์คํผ์ปค๋ ์ฌ์ฉ์ ์์ฑ ๋ช
๋ น ์
๋ ฅ ๋ฐ ์๋ฒ ๋ช
๋ น ์ถ๋ ฅ ์ญํ
- ์ ํ๋ ๊ณต๊ฒฉ ๊ฒฝ๋ก
- ์ค๋งํธ ์คํผ์ปค์ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ ํ์ธ (NUGU ์คํผ์ปค)
- ์ ๊ทผ ์ฌ์ด ์์น(๊ณ ๋ฌด์ปค๋ฒ ๋ฐ)์ UART, USB ์ถ์ ํ
์คํธ ํฌํธ ๋ฐ๊ฒฌ
- USB ํฌํธ์ D-pair ์ฐ๊ฒฐ ํ์ธ (USB ํตํ ๊ณต๊ฒฉ ๊ฐ๋ฅ)
- ๋ง์ดํฌ๊ฐ ๊ธฐํ ์ฌ์ด์ ์์น (๋ ์ด์ ์ด์ฉ ๊ณต๊ฒฉ ๋ถ๊ฐ๋ฅ)
- ์ค๋งํธ ์คํผ์ปค์ ๋ถํด ์ฌ์ง์๋ฃ (SKT NUGU): (์ฌ์ง ์๋ฃ: USB N.C.๋์ง ์์, ๋ฉ์ธ๋ณด๋ ์ง์ ํ๋ก, ๊ธฐํ ๋ท๋ฉด ๋ง์ดํฌ, ๋ฐ๋ฉด ํ
์คํ
ํฌํธ)
- NUGU candle ํด์ฒด
- ํ๋จ ๋ถ๋ถ ํด์ฒด ์ UART ํ ๋
ธ์ถ
UART_RX, UART_TX, GND, DC_IN_PW ํ ํ์ธ
- UART (Universal Asynchronous Receiver / Transmitter) ํ ์ญํ
TX: ๋ฐ์ดํฐ ์ก์ RX: ๋ฐ์ดํฐ ์์ GND: ๊ทธ๋ผ์ด๋VCC: ์ ์
- ๋ฐฉ๋ฒ 1: ์ผ์ด๋ธ ์ ์ ๊ณต๊ธ ํ ์๋์ด๋
ธ ์ด์ฉ ์ฐ๊ฒฐ
- AI ์คํผ์ปค์ฉ ์ผ์ด๋ธ๋ก ์ ์ ๊ณต๊ธ ํ ์๋์ด๋
ธ๋ก UART ์ฐ๊ฒฐ
- ๊ฒฐ๊ณผ: ์ฝ์ ์ ์๋ ๋ฌธ์์ด๋ง ์ถ๋ ฅ
- ๋ฐฉ๋ฒ 2: ์ผ์ด๋ธ ์ ์ ๊ณต๊ธ ํ UART to USB ์ด์ฉ ์ฐ๊ฒฐ
- AI ์คํผ์ปค์ฉ ์ผ์ด๋ธ๋ก ์ ์ ๊ณต๊ธ ํ UART to USB๋ก ์ฐ๊ฒฐ
- ์ฃผ๋ก ์ฌ์ฉ๋๋ baud rate ๋ชจ๋ ์๋
- ๊ฒฐ๊ณผ: ์ฝ์ ์ ์๋ ๋ฌธ์์ด ์ถ๋ ฅ
- ๋ฐฉ๋ฒ 3: ์ ํธ๋ถ์๊ธฐ๋ฅผ ํตํ UART ํ ๋ถ์
- Baud rate 115200์ผ ๋ ๋ถํ
๋ฉ์์ง ์ถ๋ ฅ ํ์ธ
- Python script ์์ฑ ๋ถ์ ๊ฒฐ๊ณผ, ๋ถํ
๋ฉ์์ง ์ ์ ์ถ๋ ฅ ํ์ธ
- ๋ฐฉ๋ฒ 4: FT232RL USB to UART converter
- Baud rate 115200์ผ๋ก ์ค์
- ์ฐ๊ฒฐ ์ผ์ด๋ธ ์ฌํ์ธ
- ๊ฒฐ๊ณผ: Uboot shell ํ๋ ์ฑ๊ณต
- Uboot๋ ๋๋ฐ์ด์ค ๋ถํ
๊ณผ์ ์ค ํ๋
- Uboot ๋ช
๋ น์ด๋ Kernel ์คํ ์ ์ ์คํ๋จ
- ๋ฉ๋ชจ๋ฆฌ ์ง์ ์์ /์ฝ๊ธฐ ๊ฐ๋ฅ
- ์์ ์ฃผ์ ๋ฉ๋ชจ๋ฆฌ ๋คํ (ํ์จ์ด ๋คํ) ๊ฐ๋ฅ
- NUGU ์คํผ์ปค ํ์จ์ด ์
๋ฐ์ดํธ ํจํท์ ์ํธํ๋์ด ์์
- ํ์จ์ด ํ๋: ์ ์กฐ์ฌ ๋ค์ด๋ก๋, ํจํท ์ค๋ํ, ๋๋ฒ๊น
ํฌํธ ๋คํ ๋ฑ
- ํ์จ์ด ๊ตฌ์กฐ ๋ถ์: ์น์
๋ณ offset ํ์ธ, ํ์ผ ์์คํ
ํ์ธ ๋ฐ ๋ถ์
- ์ ์ /๋์ ๋ถ์: ๋ฐ์ด๋๋ฆฌ ํ์ผ ๋ถ์๊ณผ ์ ์ฌ (๋๋ฒ๊น
์ฝ๋, ํ๋์ฝ๋ฉ๋ ํจ์ค์๋, ์ทจ์ฝ ํจ์ ์ฌ์ฉ ์ฌ๋ถ ๋ฑ)
- ๊ฒ์ฆ ๋ฒกํฐ ์ ์ : ์ฌ์ฉ์ ์ธํฐํ์ด์ค, ๋คํธ์ํฌ ์ฒ๋ฆฌ, ์ธ๋ถ ์
๋ ฅ ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ํ์จ์ด ๋ฌด๊ฒฐ์ฑ ์ฒ๋ฆฌ ๋ถ๋ถ ๋ถ์
strings command options-n: ์ต์ ๊ธ์ ์-e: ์ธ์ฝ๋ฉ ํ์
-tx, -to: ๋ฌธ์์ด์ offset ์ถ๋ ฅ (x: hexadecimal, o: octal)
- ์ค์น ๋ฐฉ๋ฒ (linux):
sudo apt install binwalk - ํ์ผ ํ์๊ธฐ root ๋๋ ํ ๋ฆฌ:
\\wsl$ - WSL ํ์ธ:
wsl โl -v - Ubuntu version ํ์ธ:
lsb_release โa - ๋ฐฑ์
:
wsl โexport Ubuntu-20.04 backup.tar - ๋ณต๊ตฌ:
wsl โimport Ubuntu-20.04 (install location) (file location) - ํ์จ์ด ์ด๋ฏธ์ง ํ์ธ:
binwalk ****.bin (์ปค๋ ์ด๋ฏธ์ง์ ์ฃผ์ ํ์ธ) - ์ปค๋ ์ด๋ฏธ์ง ์ถ์ถ:
dd if=****.bin skip=์์์ฃผ์ bs=1 of=kernel.lzmaif: input filebs: block sizeof: output file
- ์ปค๋ ํ์ผ ํ์ธ
file kernel.lzmaunlzma kernel.lzmafile kernelbinwalk kernel (kernel version ๋ฐ ๋ฐ์ดํฐ ํ์ธ)
sasquatch ์ค์น: git clone https://github.com/devttys0/sasquatch (์ค์น ํ binwalk ์คํ)
- ์ฌ์ดํธ
- ์ค์น (Ubuntu 20.04 and newer)
sudo apt-get install git build-essential zlib1g-dev liblzma-dev python3-magic autoconf python-is-python3 (์๋ฌ ์ sudo apt update ํ ์ฌ์๋)- Git Clone:
git clone https://github.com/rampageX/firmware-mod-kit
- ํ์จ์ด ์ถ์ถ:
./extract-firmware.sh ****.bin