• Mindscape ๐Ÿ”ฅ
    • Playlist ๐ŸŽง
  • Algorithm

    • 1018๋ฒˆ: ์ฒด์ŠคํŒ ๋‹ค์‹œ ์น ํ•˜๊ธฐ
    • 1966๋ฒˆ: ํ”„๋ฆฐํ„ฐ ํ
    • Python ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ํŒ
    • C++ std::vector ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ
    • Vim ์‚ฌ์šฉ ๋งค๋‰ด์–ผ
  • Ubuntu

    • ๋ฆฌ๋ˆ…์Šค ์šฐ๋ถ„ํˆฌ GRUB ํฐํŠธ ๋ณ€๊ฒฝ
    • ์šฐ๋ถ„ํˆฌ ์ด๋ฏธ์ง€ ๋น„๋””์˜ค ์ธ๋„ค์ผ(๋ฏธ๋ฆฌ๋ณด๊ธฐ) ์•ˆ ๋ณด์ž„ ๋ฌธ์ œ ํ•ด๊ฒฐ
    • Wine ํ™˜๊ฒฝ์—์„œ ์นด์นด์˜คํ†ก ์‹คํ–‰ ์‹œ explorer.exe ๋œจ์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๋ฒ•
    • ์šฐ๋ถ„ํˆฌ Wine ์นด์นด์˜คํ†ก ์‚ฌ์ง„ ์ด๋ฏธ์ง€ ์Šคํฌ๋ฆฐ์ƒท ๋ถ™์—ฌ๋„ฃ๊ธฐ
    • Wine ์นด์นด์˜คํ†ก ์ด๋ชจ์ง€ ๊นจ์ง ๋ฌธ์ œ ํ•ด๊ฒฐ
    • Ubuntu ์œˆ๋„์šฐ ์• ๋‹ˆ๋ฉ”์ด์…˜ ๋„๊ธฐ
  • Wellness

    • ์ฐจ์ „์žํ”ผ (Psyllium Husk)
    • ์—‘์ŠคํŠธ๋ผ ๋ฒ„์ง„ ์˜ฌ๋ฆฌ๋ธŒ์œ  (Extra Virgin Olive Oil)
    • ์ž๊ฐ€๋น„๊ฐ•์„ธ์ฒ™ (Nasal Irrigation)
    • QCY HT08 (MeloBuds Pro Plus)
    • ์ฝ˜์„œํƒ€ (Concerta)
    • ์ธ๋ฐ๋†€ (Inderal)
    • ์„คํŠธ๋ž„๋ฆฐ (Sertraline)
    • ๋ฉœ๋ผํ† ๋‹Œ (Melatonin)
    • ์น˜๊ฒฝ๋ถ€ ๋งˆ๋ชจ์ฆ
    • ๋ฐ”๋ฒจ ์Šค์ฟผํŠธ (Barbell Squat)
  • Humanities

    • Nordvik, Russia
    • North Sentinel Island
    • ๋กฑ๊ณ ๋กฑ๊ณ (Rongorongo)
    • ๋ฐ”๋กœํฌ ์Œ์•… (Baroque Music)
  • Design

    • ๊ตฌ๊ธ€์˜ ์•„์ด์ฝ˜ ๋Œ€๊ฐœํŽธ โ€” 6๋…„ ๋งŒ์˜ ์‹ค์ˆ˜ ์ธ์ •
    • ์ œ๋Ÿด๋“œ ์  ํƒ€ โ€” ๋Ÿญ์…”๋ฆฌ ์Šคํฌ์ธ  ์›Œ์น˜์˜ ์ฐฝ์‹œ์ž
    • ๋ฐ”์šฐํ•˜์šฐ์Šค โ€” ํ˜„๋Œ€ ๋””์ž์ธ์˜ ์›์ 
  • Brands

    • NOMOS Glashรผtte
    • Frรฉdรฉrique Constant
    • KZ (Knowledge Zenith)
    • ์—์ŠคํŠธ๋ผ (AESTURA)
    • JINHAO (้‡‘่ฑช)
    • Herman Miller
    • ๋ฐ์Šค์ปค (DESKER)
    • ๋ฌด์‹ ์‚ฌ ์Šคํƒ ๋‹ค๋“œ (Musinsa Standard)
  • Finance

    • ํ˜„๋Œ€์นด๋“œ ZERO โ€” Edition2 vs Edition3 ๋น„๊ต
    • ์‹ ํ•œ์นด๋“œ ์ฒ˜์Œ
    • S&P 500 ETF ํˆฌ์ž ๊ฐ€์ด๋“œ
    • ํŒŒํ‚นํ†ต์žฅ vs CMA ํ†ต์žฅ
    • ๋ฒ„ํฌ์…” ํ•ด์„œ์›จ์ด (Berkshire Hathaway)
    • ๋น„ํŠธ์ฝ”์ธ(Bitcoin)
  • Products

    • ์˜ค๋””์˜ค ์ธํ„ฐํŽ˜์ด์Šค (Audio Interface)
    • ์ฟ ๋ฃจํ† ๊ฐ€ (KURUTOGA)
    • CX31993 DAC ๋™๊ธ€
    • ํด๋ Œ์ง• ๋ฐ€ํฌ (Cleansing Milk)
    • ํ”ผ์ ฏ ํ† ์ด (Fidget Toy)
    • ThinkPad
  • Programming Languages

    • 8.0. Statement Level Control Structures
    • 8. Subprogram
    • 9. Implementing Subprogram
    • 10.1. Abstract Data Types and Encapsulation Constructs
    • 10.2. Support for Object Oriented Programming
    • 11. Concurrency
    • 12. FPL (1)
    • 13. FPL (2)
    • 14. Exception Handling and Event Handling
    • Final Exam

08. Firmware Analysis

์ž‘์„ฑ 2026. 6. 12.ยท์ˆ˜์ • 2026. 6. 12.

ํŽŒ์›จ์–ด ๋ถ„์„์˜ ํ•„์š”์„ฑ

  • IoT ๊ธฐ๊ธฐ, ์Šค๋งˆํŠธ ๊ธฐ๊ธฐ ๋“ฑ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ์•ˆ์ „์„ฑ ์ฆ์ง„ ํ•„์š”
  • ์Šค๋งˆํŠธ ๊ฐ€์ „ ๋“ฑ IoT ๊ธฐ๊ธฐ ๊ณต๊ฒฉ ์ฆ๊ฐ€
  • ์›๊ฒฉ ๋ฉ”๋””์ปฌ ํŽŒ์›จ์–ด ๊ณต๊ฒฉ ์ฆ๊ฐ€
  • ํŽŒ์›จ์–ด ์ˆ˜์ค€์˜ ๋‚œ์ด๋„ ๋†’์€ ๊ณต๊ฒฉ ์ฆ๊ฐ€
  • ๊ตญ๊ฐ€๊ธฐ๊ฐ„๋ง ํŽŒ์›จ์–ด ๊ณต๊ฒฉ ์ฆ๊ฐ€

OWASP IoT Top 10

  1. Weak, Guessable, or Hardcoded Passwords
  2. Insecure Network Services
  3. Insecure Ecosystem Interfaces
  • Insecure web, backend API, cloud, ...
  1. Lack of Secure Update Mechanism
  2. Use of Insecure or Outdated Components
  3. Insufficient Privacy Protection
  4. Insecure Data Transfer and Storage
  5. Lack of Device Management
  • Asset management, system monitoring, response, ...
  1. Insecure Default Settings
  2. 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 ํ‚ค ์ž์ฒด ์ƒ์„ฑ ํ™•์ธ)
  • ํŒŒ์ผ์‹œ์Šคํ…œ ํŒŒ์ผ ๋ถ„์„: ์ธ์ฆ์„œ ์—ฐ๊ฒฐ ํ˜•ํƒœ / ์ธ์ฆ์„œ ํŒŒ์ผ ์ž์ฒด ๋ถ„์„

NAS ์ทจ์•ฝ์  ๋ถ„์„ ์‚ฌ๋ก€ 1 ์ทจ์•ฝ์  ๋ถ„์„ ์‚ฌ๋ก€

  • ํŽŒ์›จ์–ด ํš๋“: ์ œ์กฐ์‚ฌ ํ™ˆํŽ˜์ด์ง€ ์ œ๊ณต (๋ฒ„์ „ 5592, ๋ฆด๋ฆฌ์ฆˆ 2015.08.08)
  • ๊ธฐ๋ณธ ์ธํ„ฐํŽ˜์ด์Šค: ๊ธฐ๋ณธ ๊ด€๋ฆฌ์ž ๊ณ„์ • ์—†์Œ. ๋ฆฌ๋ˆ…์Šค๋ฅผ ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ OS๋กœ customizing
  • ์ œ์กฐ์‚ฌ ์›นํŽ˜์ด์ง€ ์ œ๊ณต ํŽŒ์›จ์–ด ์ด๋ฏธ์ง€ ๋ถ„์„ ์‹œ๋„
    • FMK ์ด์šฉ
    • ์˜๋ฏธ ์žˆ๋Š” filesystem ํƒ์ƒ‰ ๋ถˆ๊ฐ€๋Šฅ
    • ์ผ๋ฐ˜์ ์ธ ํŽŒ์›จ์–ด ๊ตฌ์กฐ๊ฐ€ ์•„๋‹˜

NAS ์ทจ์•ฝ์  ๋ถ„์„ ์‚ฌ๋ก€ 2 ์ทจ์•ฝ์  ๋ถ„์„ ์‚ฌ๋ก€

  • UART ์—ฐ๊ฒฐ ์‹œ shell: UART ์—ฐ๊ฒฐ ์‹œ root ๊ถŒํ•œ์˜ ๋ถ€ํŠธ๋กœ๋” ์‰˜ ํš๋“ ๊ฐ€๋Šฅ
  • ์ทจ์•ฝํ•œ ์ธ์ž ์ „๋‹ฌ ๋ฃจํ‹ด
  • ํŽŒ์›จ์–ด ํš๋“: ์ œ์กฐ์‚ฌ ํ™ˆํŽ˜์ด์ง€ ์ œ๊ณต
  • ๋””๋ฒ„๊น…์šฉ ๋ฐฑ๋„์–ด: ๋ณ„๋„ ์ธ๊ฐ€ ๊ณผ์ • ์—†์ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ์กด์žฌ. ํŠน์ • ์ธ์ž๊ฐ’ ์ „๋‹ฌ ์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

NAS ํŽŒ์›จ์–ด ๋ถ„์„ ๊ฒฐ๊ณผ ์ทจ์•ฝ์  ๋ถ„์„ ์‚ฌ๋ก€

  • ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๋””๋ฒ„๊น…์šฉ ๋ฐฑ๋„์–ด ์ ‘๊ทผ ๋ฐ ํ™œ์šฉ
    1. help.cgi๋Š” d ์ธ์ž๊ฐ€ 999์ธ์ง€ ํ™•์ธ. ์ฐธ์ด๋ฉด ๋””๋ฒ„๊น…์šฉ ๋ฐฑ๋„์–ด ๋ฃจํ‹ด ์‹คํ–‰ ํ—ˆ์šฉ
    2. ๋ฐฑ๋„์–ด ๋ฃจํ‹ด์€ votmdnjem ์ธ์ž์˜ ๊ฐ’์ด !@elqjrld&* ์ธ์ง€ ๋น„๊ต. ๋™์ผํ•˜๋ฉด ๋ช…๋ น ์‹คํ–‰ ๋ฐ ๊ฒฐ๊ณผ ์ถœ๋ ฅ
  • ๋””๋ฒ„๊น…์šฉ ๋ฐฑ๋„์–ด ํ™œ์šฉ ๋ช…๋ น์–ด ์‹คํ–‰ ์˜ˆ์‹œ
    1. ๋ฐฑ๋„์–ด ์ ‘์†: NAS ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ํ›„, [IP]/help.cgi?d=999 ๋กœ ์ ‘์†
    2. id ๋ช…๋ น์–ด ์‹คํ–‰: !@elqjrld&* ์ž…๋ ฅ
    3. 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: ์ „์••

UART ํฌํŠธ ์ ‘์† ๋ฐ ๋ถ„์„ ์Šค๋งˆํŠธ ์Šคํ”ผ์ปค ๋ถ„์„

  • ๋ฐฉ๋ฒ• 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 Shell ์Šค๋งˆํŠธ ์Šคํ”ผ์ปค ๋ถ„์„

  • Uboot๋Š” ๋””๋ฐ”์ด์Šค ๋ถ€ํŒ… ๊ณผ์ • ์ค‘ ํ•˜๋‚˜
  • Uboot ๋ช…๋ น์–ด๋Š” Kernel ์‹คํ–‰ ์ „์— ์‹คํ–‰๋จ
  • ๋ฉ”๋ชจ๋ฆฌ ์ง์ ‘ ์ˆ˜์ •/์ฝ๊ธฐ ๊ฐ€๋Šฅ
  • ์ž„์˜ ์ฃผ์†Œ ๋ฉ”๋ชจ๋ฆฌ ๋คํ”„ (ํŽŒ์›จ์–ด ๋คํ”„) ๊ฐ€๋Šฅ

ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ ํŒจํ‚ท ๋ถ„์„ ์Šค๋งˆํŠธ ์Šคํ”ผ์ปค ๋ถ„์„

  • NUGU ์Šคํ”ผ์ปค ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ ํŒจํ‚ท์€ ์•”ํ˜ธํ™”๋˜์–ด ์žˆ์Œ

ํŽŒ์›จ์–ด ๋ถ„์„ ์š”์•ฝ

  • ํŽŒ์›จ์–ด ํš๋“: ์ œ์กฐ์‚ฌ ๋‹ค์šด๋กœ๋“œ, ํŒจํ‚ท ์Šค๋‹ˆํ•‘, ๋””๋ฒ„๊น… ํฌํŠธ ๋คํ”„ ๋“ฑ
  • ํŽŒ์›จ์–ด ๊ตฌ์กฐ ๋ถ„์„: ์„น์…˜ ๋ณ„ offset ํ™•์ธ, ํŒŒ์ผ ์‹œ์Šคํ…œ ํ™•์ธ ๋ฐ ๋ถ„์„
  • ์ •์ /๋™์  ๋ถ„์„: ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ ๋ถ„์„๊ณผ ์œ ์‚ฌ (๋””๋ฒ„๊น… ์ฝ”๋“œ, ํ•˜๋“œ์ฝ”๋”ฉ๋œ ํŒจ์Šค์›Œ๋“œ, ์ทจ์•ฝ ํ•จ์ˆ˜ ์‚ฌ์šฉ ์—ฌ๋ถ€ ๋“ฑ)
  • ๊ฒ€์ฆ ๋ฒกํ„ฐ ์„ ์ •: ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค, ๋„คํŠธ์›Œํฌ ์ฒ˜๋ฆฌ, ์™ธ๋ถ€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, ํŽŒ์›จ์–ด ๋ฌด๊ฒฐ์„ฑ ์ฒ˜๋ฆฌ ๋ถ€๋ถ„ ๋ถ„์„

Firmware Analysis

  • strings command options
    • -n: ์ตœ์†Œ ๊ธ€์ž ์ˆ˜
    • -e: ์ธ์ฝ”๋”ฉ ํƒ€์ž…
    • -tx, -to: ๋ฌธ์ž์—ด์˜ offset ์ถœ๋ ฅ (x: hexadecimal, o: octal)

binwalk

  • ์„ค์น˜ ๋ฐฉ๋ฒ• (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.lzma
    • if: input file
    • bs: block size
    • of: output file
  • ์ปค๋„ ํŒŒ์ผ ํ™•์ธ
    • file kernel.lzma
    • unlzma kernel.lzma
    • file kernel
    • binwalk kernel (kernel version ๋ฐ ๋ฐ์ดํ„ฐ ํ™•์ธ)
  • sasquatch ์„ค์น˜: git clone https://github.com/devttys0/sasquatch (์„ค์น˜ ํ›„ binwalk ์‹คํ–‰)

firmware modification kit (FMK)

  • ์‚ฌ์ดํŠธ
    • https://www.kali.org/tools/firmware-mod-kit/#firmware-mod-kit
    • https://github.com/rampageX/firmware-mod-kit
  • ์„ค์น˜ (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
์ตœ๊ทผ ์ˆ˜์ •: 26. 6. 12. ์˜คํ›„ 3:28
Contributors: kmbzn, Claude Sonnet 4.6

BUILT WITH

CloudflareNode.jsGitHubGitVue.jsJavaScriptVSCodenpm

All trademarks and logos are property of their respective owners.
ยฉ 2026 kmbzn ยท MIT License