• Mindscape ๐Ÿ”ฅ
    • Playlist ๐ŸŽง
  • ๐Ÿค– Artifical Intelligence

    • 1. Basics; Linear Algebra
    • 2. Basics; Linear Algebra (2), Search (1)
    • 3. Search (2)
    • 4. Knowledge and Logic (1)
    • 5. Knowledge and Logic (2)
    • 6. Probability
    • 7. Information Theory
    • 8. Probabilitc Reasoning (2)
    • 9. Probabilitc Reasoning (3)
    • 10. Machine Learning (1)
    • 11. Machine Learning (2)
    • 12. Machine Learning (3)
    • 13. Linear Models
    • 14. Other Classic ML Models (1)
    • 15. Other Classic ML Models (2)
  • ๐Ÿ”’ Computer Security

    • 01. Overview
    • 02. ์ •๋ณด๋ณด์•ˆ์ •์ฑ… ๋ฐ ๋ฒ•๊ทœ
    • 03. Cryptographic Tools
    • 04. User Authentication
    • 05. Access Control
    • 06. Database Security
    • 07. Malicious Software
    • 08. Firmware Analysis
  • ๐Ÿ—„๏ธ Database System

    • 1. Introduction
    • 2. Relational Model
    • 3. SQL
    • 6. E-R Model
    • 7. Relational Database Design (1)
    • 7. Relational Database Design (2)
    • 13. Data Storage Structures
    • 14. Indexing
    • 15. Query Processing
  • ๐Ÿ“ Software Engineering

    • 2. Introduction to Software Engineering
    • 3. Process
    • 4. Process Models
    • 5. Agile
    • 6. Requirements
    • 7. Requirements Elicitation and Documentation
    • 8. Architecture
    • 9. Unified Modelling Language
    • 10. Object-Oriented Analysis
    • Object-Oriented Design
  • ๐Ÿง  Algorithm

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

08. Firmware Analysis

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

  • 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 ์—ฐ๊ฒฐ
  • ์ •์  ๋ถ„์„: ํŽŒ์›จ์–ด ๊ตฌ์กฐ ๋ถ„์„, ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ถ„์„
  • ๋™์  ๋ถ„์„:
    • ๊ฒ€์ฆ vector ์„ ์ •: ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„์„, ๋„คํŠธ์›Œํฌ ํŒจํ‚ท ๋ถ„์„
    • ๊ฒ€์ฆ vector ํƒ์ƒ‰
    • ๊ฒ€์ฆ vector ํ‰๊ฐ€ ๋ฐ ์„ ์ •
  • ๋ถ„์„ ํ™˜๊ฒฝ ์กฐ์„ฑ: ์˜์กด์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ, ๋™์  ๋ถ„์„ ์ˆ˜ํ–‰

ํŽŒ์›จ์–ด ์ด๋ฏธ์ง€ ํš๋“

  • ์ œ์กฐ์‚ฌ ์ œ๊ณต ํŽŒ์›จ์–ด: ์ œ์กฐ์‚ฌ ํ™ˆํŽ˜์ด์ง€์—์„œ ์—…๋ฐ์ดํŠธ ๋“ฑ์˜ ์ง€์›์„ ์œ„ํ•ด ์ œ๊ณต
  • ํŒจํ‚ท ์Šค๋‹ˆํ•‘: ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ ์‹œ ์ „์†ก๋˜๋Š” ์ด๋ฏธ์ง€ ์ถ”์ถœ
  • ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ๋คํ”„: ์ž„๋ฒ ๋””๋“œ ์žฅ์น˜์˜ ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋œ ํŽŒ์›จ์–ด ๋คํ”„ (๋””๋ฐ”์ด์Šค ๋ถ„ํ•ด ๋ฐ ๋ฐ์ดํ„ฐ ์‹œํŠธ ์ฐธ๊ณ  ํ•„์š”)
  • JTAG (Joint Test Action Group) ์ด์šฉ: ์ž„๋ฒ ๋””๋“œ ๊ธฐ๊ธฐ ๋””๋ฒ„๊น… ํ‘œ์ค€ ์žฅ๋น„. Emulator ์ด์šฉ ๊ฐ€๋Šฅ. ๋น„ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ(ํŽŒ์›จ์–ด) ์ถ”์ถœ ๊ธฐ๋Šฅ ์ œ๊ณต
  • UART (Universal Asynchronous Receiver/Transmitter): ๋ณ‘๋ ฌ/์ง๋ ฌ ๋ฐ์ดํ„ฐ ์ „์†ก ํ•˜๋“œ์›จ์–ด. JTAG๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๊ณ  ์ €๋ ด. ๋””๋ฒ„๊น… ์šฉ๋„๋กœ ๋งŽ์ด ์ด์šฉ. UART ํฌํŠธ ์กด์žฌ ์‹œ ํŽŒ์›จ์–ด ๋คํ”„ ๊ฐ€๋Šฅ

๋™์  ๋ถ„์„ ํŽŒ์›จ์–ด ๋ถ„์„

  • ๋™์  ๋ถ„์„: ์ •์  ๋ถ„์„๋งŒ์œผ๋กœ๋Š” ์‹ค์ œ ์ฒ˜๋ฆฌ ๊ณผ์ • ๋ฐ ๊ฒฐ๊ณผ ํ™•์ธ ์–ด๋ ค์›€. ํŠน์ • ์ž…๋ ฅ์— ๋Œ€ํ•œ ์ถœ๋ ฅ ๊ณผ์ •๊ณผ ๊ฒฐ๊ณผ ํ™•์ธ ๊ฐ€๋Šฅ
  • ๋™์  ๋ถ„์„ ํ™˜๊ฒฝ: QEMU์™€ ๊ฐ™์€ emulator ์ด์šฉ. ๋Œ€์ƒ ๋””๋ฐ”์ด์Šค์™€ ๋™์ผ ํ™˜๊ฒฝ ๊ตฌํ˜„. GDB ๋“ฑ ๋””๋ฒ„๊ฑฐ๋กœ ๋™์  ๋ถ„์„ ์ˆ˜ํ–‰. ํ•˜๋“œ์›จ์–ด ์˜์กด์„ฑ ๋ฌธ์ œ ํ•ด๊ฒฐ ํ•„์š”

ํŽŒ์›จ์–ด ๊ตฌ์กฐ ๋ถ„์„ ํŽŒ์›จ์–ด ๋ถ„์„

  • ํŽŒ์›จ์–ด ๊ตฌ์กฐ ๋ถ„์„: 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

Firmware analysis ๊ณผ์ œ

  • Procedure:
    • Download ํŽŒ์›จ์–ด from the Internet
    • Try to find hardcoded passwords
    • Extract the file system of the firmware
    • Analyze the file system (Directory hierarchy, Analyze important files)
  • Your report must include:
    • Where/how you download the firmware
    • Screenshots of the above procedure steps
    • Detailed explanation of the screenshots
์ตœ๊ทผ ์ˆ˜์ •: 25. 11. 6. ์˜คํ›„ 12:07
Contributors: kmbzn
Prev
07. Malicious Software

BUILT WITH

CloudflareNode.jsGitHubGitVue.jsJavaScriptVSCodenpm

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