์ตœ์†Œํ•œ์˜ ์‹œ์Šคํ…œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ BusyBox 1.35 ์ถœ์‹œ

BusyBox 1.35 ํŒจํ‚ค์ง€ ๋ฆด๋ฆฌ์Šค์—๋Š” ๋‹จ์ผ ์‹คํ–‰ ํŒŒ์ผ๋กœ ์„ค๊ณ„๋˜๊ณ  1MB ๋ฏธ๋งŒ์˜ ํฌ๊ธฐ๋กœ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ์†Œํ•œ์œผ๋กœ ์†Œ๋น„ํ•˜๋„๋ก ์ตœ์ ํ™”๋œ ํ‘œ์ค€ UNIX ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ์˜ ๊ตฌํ˜„์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜ 1.35์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๋Š” ๋ถˆ์•ˆ์ •ํ•œ ๊ฒƒ์œผ๋กœ ์ž๋ฆฌ๋งค๊น€ํ–ˆ์œผ๋ฉฐ, ์™„์ „ํ•œ ์•ˆ์ •ํ™”๋Š” ๋ฒ„์ „ 1.35.1์—์„œ ์ œ๊ณต๋  ์˜ˆ์ •์ด๋ฉฐ ์•ฝ ํ•œ ๋‹ฌ ํ›„์— ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” GPLv2 ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

BusyBox๋Š” ๋ชจ๋“ˆ์‹ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ํŒจํ‚ค์ง€ ๋‚ด์— ๊ตฌํ˜„๋œ ๋ชจ๋“  ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํฌํ•จํ•˜๋Š” ๋‹จ์ผ ํ†ตํ•ฉ ์‹คํ–‰ ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ํŒŒ์ผ์— ๋Œ€ํ•œ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค). ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ชจ์Œ์˜ ํฌ๊ธฐ, ๊ตฌ์„ฑ ๋ฐ ๊ธฐ๋Šฅ์€ ๊ตฌ์ถ• ๋Œ€์ƒ ์ž„๋ฒ ๋””๋“œ ํ”Œ๋žซํผ์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ๊ธฐ๋Šฅ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•˜๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒจํ‚ค์ง€๋Š” ์ž์ฒด์ ์œผ๋กœ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, uclibc์™€ ์ •์ ์œผ๋กœ ๋งํฌํ•˜์—ฌ ์ปค๋„ ์œ„์— ์ž‘๋™ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Linux /dev ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ช‡ ๊ฐœ์˜ ์žฅ์น˜ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ค€๋น„ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์ธ 1.34๊ณผ ๋น„๊ตํ•˜์—ฌ BusyBox 1.35 ๋นŒ๋“œ์˜ ์ผ๋ฐ˜์ ์ธ RAM ์‚ฌ์šฉ๋Ÿ‰์€ 1726๋ฐ”์ดํŠธ(1042344๋ฐ”์ดํŠธ์—์„œ 1044070๋ฐ”์ดํŠธ๋กœ) ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

BusyBox๋Š” ํŽŒ์›จ์–ด์˜ GPL ์œ„๋ฐ˜์— ๋งž์„œ ์‹ธ์šฐ๋Š” ์ฃผ์š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. BusyBox ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ SFC(Software Freedom Conservancy) ๋ฐ SFLC(Software Freedom Law Center)๋Š” ๋ฒ•์›์„ ํ†ตํ•ด ๋˜๋Š” ์™ธ๋ถ€๋ฅผ ํ†ตํ•ด GPL ํ”„๋กœ๊ทธ๋žจ์˜ ์†Œ์Šค ์ฝ”๋“œ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ํšŒ์‚ฌ์— ๋ฐ˜๋ณต์ ์œผ๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค. -๋ฒ•์› ๊ณ„์•ฝ. ๋™์‹œ์— BusyBox์˜ ์ž‘์„ฑ์ž๋Š” ๊ทธ๋Ÿฌํ•œ ๋ณดํ˜ธ๊ฐ€ ์ž์‹ ์˜ ์‚ฌ์—…์„ ๋ง์น  ๊ฒƒ์ด๋ผ๊ณ  ๋ฏฟ๊ณ  ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋ฐ˜๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

BusyBox 1.35์—์„œ๋Š” ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๊ฐ•์กฐ๋ฉ๋‹ˆ๋‹ค.

  • find ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” "-samefile name" ์˜ต์…˜์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ง€์ •๋œ ์ด๋ฆ„์„ ๊ฐ€์ง„ ํŒŒ์ผ๊ณผ ๋™์ผํ•œ inode๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ๋น„๊ต๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ฉํ•˜๊ณ  ํŒŒ์ผ ์ ‘๊ทผ ๋ฐ ์ƒ์„ฑ ์‹œ๊ฐ„์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด "-amin", "-atime", "-cmin" ๋ฐ "-ctime" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • mktemp ์œ ํ‹ธ๋ฆฌํ‹ฐ์—๋Š” ์ž„์‹œ ํŒŒ์ผ๊ณผ ๊ด€๋ จ๋œ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ธฐ์ค€ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ง€์ •ํ•˜๋Š” "--tmpdir" ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • cpio ์œ ํ‹ธ๋ฆฌํ‹ฐ์—๋Š” ์ด์ œ ์‹ค์ œ ์žฅ์น˜ ๋ฒˆํ˜ธ๋ฅผ ๋ฌด์‹œํ•˜๋Š” "--ignore-devno" ์˜ต์…˜(ํ•ญ์ƒ 0์„ ๊ธฐ๋ก)๊ณผ ์•„์นด์ด๋ธŒ์— ๋„ฃ๊ธฐ ์ „์— inode ๋ฒˆํ˜ธ๋ฅผ ๋‹ค์‹œ ๋งค๊ธฐ๋Š” "--renumber-inodes" ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • awk ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ด์ œ "printf %%" ํ‘œํ˜„์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • libbb ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์•ฝ 12๊ฐ€์ง€์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. coreutils ์ œํ’ˆ๊ตฐ์˜ ํ•ด๋‹น ์ œํ’ˆ๊ณผ realpath์˜ ํ˜ธํ™˜์„ฑ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์• ์‰ฌ์™€ ํ—ˆ์‰ฌ ์‰˜์— ๋Œ€ํ•œ ๋งŽ์€ ์ˆ˜์ •์•ˆ์ด ์ œ์•ˆ๋˜์—ˆ๋Š”๋ฐ, ์ด๋Š” ๋‹ค๋ฅธ ์‰˜๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ash๋Š” bash์™€ ์œ ์‚ฌํ•œ ERR ํŠธ๋žฉ, set -E, $FUNCNAME์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ณ  "${s:}" ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ์ถ”์ถœ ์†๋„๋ฅผ ๋†’์ž…๋‹ˆ๋‹ค. ์žฌ์™€ ์นจ๋ฌต ์†์—์„œ "${x//\*/|}" ์ž‘์—…์˜ ์‹คํ–‰์ด ๊ฐ€์†ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • basename ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋‹จ์ผ ํ˜ธ์ถœ์—์„œ ์—ฌ๋Ÿฌ ์ด๋ฆ„์„ ์ „๋‹ฌํ•˜๋Š” "-a" ์˜ต์…˜๊ณผ ๋์— ๋ถ™๋Š” "SUFFIX" ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•˜๋Š” "-s SUFFIX" ์˜ต์…˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • blkdiscard ์œ ํ‹ธ๋ฆฌํ‹ฐ์— "-f"(๊ฐ•์ œ) ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • httpd์—์„œ ์˜ค๋ฅ˜ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ Last-Modified / ETag / Content-Length ํ—ค๋” ์ „์†ก์„ ์ค‘๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.
  • httpd์™€ telnetd๋Š” ๊ธฐ๋ณธ ๋„คํŠธ์›Œํฌ ํฌํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋งค์šฐ ๊ธด ํŒŒ์ผ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์••์ถ• ํŒŒ์ผ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์†Œ๋ชจ๋  ์ˆ˜ ์žˆ๋Š” tar์˜ ์ทจ์•ฝ์ ์ด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • TLS ์ฝ”๋“œ์—์„œ๋Š” P256๊ณผ x25519 ๊ตฌํ˜„์ด ๋‹ค์‹œ ์ž‘์—…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • wget ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ํŒŒ์ผ์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ "--post-file" ์˜ต์…˜์„ ๊ตฌํ˜„ํ•˜๊ณ  "--post-data" ๋ฐ "--post-file" ์˜ต์…˜์— ๋Œ€ํ•œ Content-Type ํ—ค๋”๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • timeout ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์–ด ๋ช…๋ น์ด ์ถ”๊ฐ€ KILL_SECS์ดˆ ๋‚ด์— ์™„๋ฃŒ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ SIGKILL ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๋Š” "-k KILL_SECS" ์˜ต์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ip ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์–ด ์žฅ์น˜์— ๋Œ€ํ•œ netns ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค์ •์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • cal ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” "-m" ์˜ต์…˜์„ ๊ตฌํ˜„ํ•˜์—ฌ ์ง€์ •๋œ ์›”์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๋‚ ์งœ ๋ฐ ํ„ฐ์น˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‚ ์งœ์— ์‹œ๊ฐ„๋Œ€ ์˜คํ”„์…‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • vi ํŽธ์ง‘๊ธฐ๋Š” ~/.exrc ํŒŒ์ผ์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜๊ณ  "-c" ๋ฐ EXINIT์˜ ์ฒ˜๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ed ์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋ช…๋ น์„ ์‹คํ–‰ํ•œ ๊ฒฐ๊ณผ๋Š” POSIX-1.2008 ์‚ฌ์–‘์„ ์ค€์ˆ˜ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "-p" ์˜ต์…˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • cmp ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ "-n N" ์˜ต์…˜์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์–ด ๋น„๊ต ๋ฒ”์œ„๋ฅผ N๋ฐ”์ดํŠธ๋กœ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ, ๋ฉฐ์น  ์ „์—๋Š” BusyBox์˜ ์ „ ๊ด€๋ฆฌ์ž์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜์–ด 0.8.6BSD ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜๋Š” BusyBox ์•„๋‚ ๋กœ๊ทธ์ธ Toybox 0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Toybox์˜ ์ฃผ์š” ๋ชฉ์ ์€ ์ œ์กฐ์—…์ฒด๊ฐ€ ์ˆ˜์ •๋œ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๊ณต๊ฐœํ•˜์ง€ ์•Š๊ณ ๋„ ์ตœ์†Œํ•œ์˜ ํ‘œ์ค€ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ๋ฉด์—์„œ Toybox๋Š” ์—ฌ์ „ํžˆ BusyBox๋ณด๋‹ค ๋’ค์ฒ˜์ง€์ง€๋งŒ, ๊ณ„ํš๋œ 296๊ฐœ ๊ธฐ๋ณธ ๋ช…๋ น ์ค‘ 217๊ฐœ(์ „์ฒด 83๊ฐœ, ๋ถ€๋ถ„ 374๊ฐœ)๊ฐ€ ์ด๋ฏธ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Toybox 0.8.6์˜ ํ˜์‹  ์‚ฌํ•ญ์œผ๋กœ๋Š” ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“œ๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ๊ฐœ์„ , sha256sum, sha224sum, sha384sum, sha512sum, linux32, strace ๋ฐ hexdump ๋ช…๋ น์˜ ์ถ”๊ฐ€๋ฅผ ๋“ค โ€‹โ€‹์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€œdate -sโ€, โ€œpmap -pโ€, โ€œtail -F -sโ€, โ€œkill -0โ€ณ, reboot/halt/poweroff -dโ€, โ€œtail -bytes -linesโ€, โ€œi2cdetect -qโ€, โ€œfind -quit -lname -ilname -dโ€, โ€œcut -d $'\n'โ€, โ€œcut -nbโ€, โ€œcpio -ignore-devno -renumber-inodesโ€, โ€œtar -selinuxโ€, "split -n", "grep -L" ์˜ต์…˜์ด ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster