๋ ผ๋ฌธ ์ ๋ณด
์ ์: Barton P. Miller, Lars Fredriksen, Bryan So (University of WisconsinโMadison)
๋ฐํ: Communications of the ACM, Vol. 33, No. 12 (1990๋ 12์), pp. 32โ44 โ ์ดํ์ ์์ค์ฝ์ ๋ ์ปดํจํฐ๊ณผํ๊ณผ ๊ธฐ์ ๋ณด๊ณ ์(1989). 1990๋
DOI: 10.1145/96267.96279
๋ถ์ผ: ์ํํธ์จ์ด ์ ๋ขฐ์ฑ ยท ๋๋ค ํ ์คํ ยท ์ทจ์ฝ์ ์๋ ๋ฐ๊ฒฌ โ ํผ์ง(fuzzing)์ด๋ผ๋ ๊ธฐ๋ฒ๊ณผ ์ด๋ฆ์ด ํ์ด๋ ๋ ผ๋ฌธ
์ธ์ฉ: OpenAlex ๊ธฐ์ค 1,279ํ (CACM 1990). ํ์ํธ Fuzz Revisited(1995, TR #1268)๋ ๋ณ๋๋ก 250ํ ์ธ์ฉ๋๋ค.
์์: 2022 Jean-Claude Laprie Award in Dependable Computing (IFIP WG 10.4) โ 30๋ ๋ค ์ ๋ขฐ์ฑยท๋ณด์ ๋ถ์ผ์ ์ด์์ผ๋ก ๊ณต์ธ๋๋ค.
์ฑ๊ฒฉ: ์ด๋ก ๋ ผ๋ฌธ์ด ์๋๋ผ ์ค์ธก ๋ณด๊ณ ์๋ค. "๋๊ตฌ๋ฅผ ๋ง๋ค๊ณ , ์ค์ ์์คํ ์ ๋๋ ค ๋ณด๊ณ , ํฌ๋์์ ์์ธ์ ์ฝ๋ ๋ ๋ฒจ์์ ๋ถ๋ฅํด ์ ๋ถ ๊ณต๊ฐํ๋ค"๋ ํ์ ์์ฒด๊ฐ ์ดํ 30๋ ๋ณด์ ์ฐ๊ตฌ ๋ฐฉ๋ฒ๋ก ์ ํ ํ๋ฆฟ์ด ๋๋ค.
์ฐ๊ตฌ ๋ฐฐ๊ฒฝ โ ํญํ์ฐ ์น๋ ๋ฐค์ ์ ํ์ ์ก์
1988๋ ๊ฐ์, ์์ค์ฝ์ ๋งค๋์จ. ์ ์ ์ค ํ ๋ช ์ด 1200bps ๋ค์ด์ผ์ ๋ชจ๋์ผ๋ก ์ฐ๊ตฌ์ค์ UNIX์ ์ ์ํด ์์๋ค. ๊ทธ๋ ๋ฐค ์ค์๋ถ๋ฅผ ํญํ์ฐ๊ฐ ์ง๋๊ฐ๋ฉด์ ์ ํ์ ์ ์ก์์ด ๋ผ์๊ณ , ๋ช ๋ นํ์ ์๋ฑํ ๋ฌธ์๊ฐ ์์ฌ ๋ค์ด๊ฐ๋ค. ์ก์ ์์ฒด๋ ๋๋ผ์ด ์ผ์ด ์๋์๋ค โ ์ค๋ฅ์ ์ ๋ชจ๋์ด ๋์ค๊ธฐ ์ง์ ์ ์์ ์ด๋ ํํ ์ผ์ด์๋ค.
๋๋ผ์ด ๊ฒ์ ๊ทธ ์ก์์ด ํ๋ก๊ทธ๋จ์ ์ฃฝ์ด๊ณ ์์๋ค๋ ์ ์ด์๋ค. ๊ทธ๊ฒ๋ lsยทgrep๋ฅ์, ๋ชจ๋๊ฐ ๋งค์ผ ์ฐ๋ ๊ธฐ๋ณธ ์ ํธ๋ฆฌํฐ๋ค์ด core dump๋ฅผ ๋ฑ์๋ค. ์ ์๋ค์ ์ฌ๊ธฐ์ "์ด๊ฑด ๊ฒฝํ๋ด์ด๊ณ , ์ฒด๊ณ์ ์ผ๋ก ์กฐ์ฌํด์ผ ํ๋ ๋ฌธ์ "๋ผ๊ณ ํ๋จํ๋ค.
"It started on a dark and stormy night. ... This line noise was not surprising; but we were surprised that these spurious characters were causing programs to crash."
๋ง์นจ ๊ทธ ํ๊ธฐ ๊ทธ๋ ์์ค์ฝ์ ๋ ๋ํ์ ๊ณผ๋ชฉ Advanced Operating Systems(CS736)๋ฅผ ๊ฐ๋ฅด์น๊ณ ์์๊ณ , ๊ทธ๋ ์ ๊ฒฝํ์ ์์ ํ๋ก์ ํธ ๋ชฉ๋ก์ "ํ ์คํธ ํ๋ก์ ํธ"๋ก ์ถ๊ฐํ๋ค. ํ๋ก์ ํธ ์ค๋ช ์ ์ฐ๋ค๊ฐ ์ด๋ฆ์ด ํ์ํด์ก๋ค โ "๋๋คํ๊ณ ๊ตฌ์กฐ ์๋ ๋ฐ์ดํฐ"๋ผ๋ ๋๋์ ์ฃผ๋ ๋จ์ด๋ก fuzz๋ฅผ ์ ํํ๋ค. ํผ์ง(fuzzing)์ด๋ผ๋ ์ฉ์ด๋ ๊ทธ๋ ๊ฒ ์์ ์๋ฃ์ ํ ์ค์์ ํ์ด๋ฌ๋ค.
๊ทธ ํ๊ธฐ 3๊ฐ ํ์ด ์ด ํ๋ก์ ํธ๋ฅผ ์๋ํ๊ณ , ๊ทธ์ค 2๊ฐ ํ์ ํฌ๋์๋ฅผ ํ๋๋ ์ฐพ์ง ๋ชปํ๋ค. ์ฑ๊ณตํ ํ์ Lars Fredriksen๊ณผ Bryan So โ "๋ ์ค๋ ฅ ์๋ ํ๋ก๊ทธ๋๋จธ์ด์ ๋ ๊ผผ๊ผผํ ์คํ์"์๋ ๋ ํ์์ด์๋ค.
๋ฐฉ๋ฒ โ ๋ชจ๋ธ ์์ด, ์ค๋ผํด์ 'ํฌ๋์ ์๋๋ฉด ํต๊ณผ'
์ด ๋ ผ๋ฌธ์ด ๋น์ ํ ์คํ ์ฐ๊ตฌ์ ๊ฐ๋ผ์ง ์ง์ ์ ๋จ์ํจ์ด๋ค. ์ฐ๊ตฌ์ง์ 4๋จ๊ณ๋ก ์งํํ๋ค.
- โ ๋๊ตฌ ์ ์: ๋๋ค ๋ฌธ์๋ฅผ ๋ฑ๋ ์ ๋๋ ์ดํฐ์, ๋ํํ ์ ํธ๋ฆฌํฐ๋ฅผ ์ํ ํ ์คํฐ๋ฅผ ์ง์ ๋ง๋ค์๋ค. ์ ๋ ฅ์ ๋ชจ๋ธ๋ ๋ช ์ธ๋ ์๋ ๊ตฌ์กฐ ์๋ ๋๋ค ASCII ๋ฌธ์ ์คํธ๋ฆผ(๋น์ถ๋ ฅ ๋ฌธ์ ํฌํจ) โ ์์ ๋ธ๋๋ฐ์ค๋ค.
- โก ๋๋ ํฌ์ : ์ฝ 90์ฌ ๊ฐ์ ์ ํธ๋ฆฌํฐ๋ฅผ 7๊ฐ UNIX ๋ฒ์ ์์ ๋๋ค ์ ๋ ฅ์ผ๋ก ๋๋ค๊ฒผ๋ค.
- โข ์๋ณ: ์ด๋ค ๋ฌธ์์ด(๋๋ ๋ฌธ์์ด์ ์ ํ)์ด ํ๋ก๊ทธ๋จ์ ์ฃฝ์ด๋์ง ์ถ๋ ค๋๋ค.
- โฃ ์์ธ ๋ถ์: ํฌ๋์๋ฅผ ์ฝ๋ ๋ ๋ฒจ์์ ์์ธ๋ณ๋ก ๋ถ๋ฅํ๊ณ , ๊ฐ ์ ํ๋ง๋ค ์์ ์ฝ๋ยท์ํฅยท์์ ์์ ํจ๊ป ์ ์ํ๋ค.
ํ์ (oracle)์ ์๋์ ์ผ๋ก ๊ทน๋จ์ ์ผ๋ก ๋จ์ํ๋ค. ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ ์ํ๋ฅผ ์ธ ๊ฐ์ง๋ก๋ง ๋ณธ๋ค โ (1) ํฌ๋์(core dump), (2) ํ(hang, ๋ฌดํ ๋ฃจํ), (3) ์ ์ ์ข ๋ฃ. ์ฃผ๋ชฉํ ์ ์ ์ถ๋ ฅ์ ์ ํ์ฑ์ ์ฑ์ ํ์ง ์๋๋ค๋ ๊ฒ์ด๋ค. ๋ง๋ ์ ๋๋ ๋ต์ ๋ฑ์ด๋ ์ข ๋ฃ๋ง ์ ํ๋ฉด 'ํต๊ณผ'๋ค.
์ด ์ํ๋ ์ค๋ผํด์ด์ผ๋ง๋ก ํผ์ง์ด ํ์ฐ๋ ํต์ฌ ์ด์ ๋ค. ์ ๋ต์ ์์์ผ ์ฑ์ ํ ์ ์๋ ์ผ๋ฐ ํ ์คํ ๊ณผ ๋ฌ๋ฆฌ, "์ ์ฃฝ์ผ๋ฉด ํต๊ณผ"๋ ์ ๋ต ์์ด๋ ์๋ํ๊ฐ ๋๊ณ , ์๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋จยทOSยท๋ฒค๋๋ฅผ ๊ฐ์ ์ฃ๋๋ก ๋น๊ตํ ์ ์๊ฒ ํด์ค๋ค.
ํ ์คํธ ๋์ ์์คํ ๋ ์ฌ๋ฌ ๊ณ์ด์ ์ผ๋ถ๋ฌ ์์๋ค โ 4.2/4.3BSD ๊ณ์ด(์์ค์ฝ์ ๋ก์ปฌ ๋ฒ์ ํฌํจ), SunOS 3.2/4.0, System V ๊ธฐ๋ฐ SCO Xenix, IBM AIX 1.1, HP Bobcat 9000/320ยท330(68020, 4.3BSD+NFS), DEC VAXstation 3200/CVAX(4.3BSD) ๋ฑ. ํ๋์จ์ด ์ํคํ ์ฒ๊ฐ ๋ค๋ฅด๋ฉด ๊ฐ์ ๋ฒ๊ทธ๋ ํ์ชฝ์์๋ ์กฐ์ฉํ ๋์ด๊ฐ๊ณ ๋ค๋ฅธ ์ชฝ์์๋ ํฌ๋์ํ๋ค๋ ์ฌ์ค์ด ์ฌ๊ธฐ์ ํ์ธ๋๋ค.
ํต์ฌ ๊ฒฐ๊ณผ โ ์ซ์๋ก ๋ณธ 1990 โ 1995 โ 2020
๋ ผ๋ฌธ์ ์์ฝ์ ํ ๋ฌธ์ฅ์ผ๋ก ์ถฉ๋ถํ ์ถฉ๊ฒฉ์ ์ด๋ค.
"In our recent experiments, we have been able to crash 25-33% of the utility programs on any version of UNIX that was tested."
- 1990: 7๊ฐ UNIX ๋ฒ์ , ์ฝ 90๊ฐ ์ ํธ๋ฆฌํฐ์์ ๊ฐ ์์คํ ๋ง๋ค 25~33%๊ฐ ํฌ๋์ ๋๋ ํ. ์ ์ฒด๋ก๋ ํ ์คํธํ ํ๋ก๊ทธ๋จ์ 24% ์ด์์ด ์คํจํ๋ค.
- 1995 (Fuzz Revisited): ๋ฒ์๋ฅผ 9๊ฐ UNIX ๋ฒ์ (์์ฉ 7๊ฐ + GNU ์ ํธ๋ฆฌํฐ + Linux)์ผ๋ก ๋ํ๊ณ X-Window ์ ํ๋ฆฌ์ผ์ด์ ยท๋คํธ์ํฌ ์๋น์ค๊น์ง ํ์ฅ. ๊ฒฐ๊ณผ๋ ๊ธฐ๋ณธ ์ ํธ๋ฆฌํฐ๋ ์ต์ ์ ๊ฒฝ์ฐ 40% ์ด์, X-Window ์ ํ๋ฆฌ์ผ์ด์ ์ 25% ์ด์์ด ํฌ๋์/ํ. ๋ฐ๋ฉด ๋คํธ์ํฌ ์๋น์ค์ X ์๋ฒ๋ ๋จ ํ๋๋ ์ฃฝ์ด์ง ๋ชปํ๋ค.
- 1995 ๋ถ์ ์คํ: ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์คํจ๋ฅผ ์๋ฎฌ๋ ์ด์ ํด ๋ฐํ๊ฐ ๊ฒ์ฌ๋ฅผ ์ ๋ํ์ ํ ์คํธ ๋์์ ๊ฑฐ์ ์ ๋ฐ์ด ํฌ๋์ํ๋ค โ "malloc ์คํจ๋ฅผ ํ์ธํ์ง ์๋ ์ฝ๋"๊ฐ ์ผ๋ง๋ ํํ์ง์ ๋ํ ์ค์ธก์ด๋ค.
- 1990 vs 1995: ๋น๊ต ๊ฐ๋ฅํ ๋ชจ๋ ์์คํ ์ด ๋์ ๋๊ฒ ๊ฐ์ ๋๋ค. ๋ค๋ง ์ฌ์ ํ ๋ฌด์ํ ์ ์๋ ์คํจ์จ์ด ๋จ์๋ค. ๊ทธ๋ฆฌ๊ณ GNU/Linux ์ ํธ๋ฆฌํฐ๊ฐ ์์ฉ ์์คํ ๋ค๋ณด๋ค ๋๋ ทํ๊ฒ ๋์๋ค.
- 2020 (The Relevance of Classic Fuzz Testing, IEEE TSE 2022): ๊ฐ์ ํด๋์ ํผ์ฆ ๋๊ตฌ๋ฅผ 30๋ ๋ค LinuxยทFreeBSDยทmacOS์ ๋ค์ ๋๋ ธ๋ค. Linux 74๊ฐ ์ค 9๊ฐ, FreeBSD 78๊ฐ ์ค 15๊ฐ, macOS 76๊ฐ ์ค 12๊ฐ๊ฐ ์ฌ์ ํ ํฌ๋์/ํ. ํฉ๊ณ 24๊ฐ ์ ํธ๋ฆฌํฐ ์คํจ โ ์ ์๋ค ํํ๋๋ก 1995ยท2000ยท2006๋ ์กฐ์ฌ๋ณด๋ค ์คํ๋ ค ๋์ ์คํจ์จ์ด๋ค.
๊ฐ์ฅ ๋ผ์ํ ๊ด์ฐฐ์ ์ด๊ฒ์ด๋ค. ์์ฉ ์ ํ ํ ์คํธ๋ฅผ ํต๊ณผํ IBM AIX 1.1๋ ๋ค๋ฅธ ๋ฒ์ ๋งํผ ์ทจ์ฝํ๋ค. "์์ฉ ์ ํ์ด๋, ์ค๋๋์ผ๋, ์ ํ ์คํธ๋์ผ๋ ์์ ํ๋ค"๋ ๊ฐ์ ์ ๋ฐ์ดํฐ ์์์ ๋ฌด๋์ง๋ค.
ํฌ๋์ ์์ธ 9๊ฐ์ง โ 1990๋ ์ ์ด๋ฏธ ์ ๋ฆฌ๋ '๊ณ ์ ์ ์ค์' ๋ชฉ๋ก
๋ ผ๋ฌธ์ ์ ๋ฐ์ ๋ฐ๊ฒฌ์ด ์๋๋ผ ๋ถ๋ฅ์ ์ฐ์๋ค. ์ฐ๊ตฌ์ง์ด ํฌ๋์ ์์ธ์ ๋ฌถ์ ๋ฒ์ฃผ๋ ์ค๋๋ ์ฝ๋ ๊ฐ์ฌ ์ฒดํฌ๋ฆฌ์คํธ์ ๋๋ ๋งํผ ๊ฒน์น๋ค.
- โ ํฌ์ธํฐ/๋ฐฐ์ด ์ค๋ฅ (pointer/array errors): ๋ ํฌ์ธํฐ ์ญ์ฐธ์กฐ, ๊ฒฝ๊ณ ์ด๊ณผ โ ์ ์ฒด์์ ๊ฐ์ฅ ํฐ ๋น์ค. VAX๋ ๋ ์ฐธ์กฐ๋ฅผ (์๋ชป) ์ฉ์ธํ๊ณ Sun 4๋ ์ฃฝ๋ ์์ผ๋ก, ๊ฐ์ ๋ฒ๊ทธ๊ฐ ์ํคํ ์ฒ์ ๋ฐ๋ผ ๋๋ฌ๋๊ธฐ๋ ์จ๊ธฐ๋ ํ๋ค.
- โก ๋ฐํ๊ฐ ๋ฏธ๊ฒ์ฌ (not checking return codes): ๋ฉ๋ชจ๋ฆฌ ํ ๋นยท์์คํ ์ฝ ์คํจ๋ฅผ ํ์ธํ์ง ์์ ๊ณง๋ฐ๋ก ์ญ์ฐธ์กฐ๋ก ์ด์ด์ง๋ค. 1995๋ ๋ถ์ ์คํ์์ ์ด๊ฒ๋ง์ผ๋ก ์ ๋ฐ์ด ์ฃฝ์๋ค.
- โข ์
๋ ฅ ํจ์ ์ฌ์ฉ ์ค๋ฅ (input functions):
gets/scanf๊ณ์ด์ ๊ฒฝ๊ณ ์๋ ์ ๋ ฅ ์ฒ๋ฆฌ. - โฃ ์๋ธํ๋ก์ธ์ค (sub-processes) ยท โค ์ํธ์์ฉ ํจ๊ณผ (interaction effects): ํ์ดํยท์์ ํ๋ก์ธ์คยทํ๊ฒฝ๋ณ์ ์กฐํฉ์์ ๋ฐ์ํ๋ ๊ฒฐํจ.
- โฅ ์๋ชป๋ ์๋ฌ ํธ๋ค๋ฌ (bad error handler) ยท โฆ ๋ถํธ ์๋ ๋ฌธ์ (signed characters): 8๋นํธ ๋ฌธ์๋ฅผ signed๋ก ๋ค๋ค ์์ ์ธ๋ฑ์ค๊ฐ ๋๋ ๊ณ ์ ์ ํจ์ .
- โง ๊ฒฝ์ ์กฐ๊ฑด (race conditions) ยท โจ ๋ฏธํ์ (undetermined).
์ค์ํ ๋ํ ์ผ ํ๋: ๊ฑฐ์ ๋ชจ๋ ํฌ๋์๊ฐ ์๋ ํ ์คํธ๋ก ๋ฐ๊ฒฌ๋๋ค. ์ฌ๋์ด ๋์ผ๋ก ์ฐพ์ ๊ฒ ์๋๋ผ, ๋๋ค ์ ๋ ฅ์ ๋๋์ผ๋ก ๋ถ์ด ๋ฃ์ด ๊ธฐ๊ณ๊ฐ ์ฐพ์๋ธ ๊ฒ์ด๋ค.
์ ์ ๋ช ํ๊ฐ โ 30๋ ๋ค ํ์ค์ด ๋ '๋ ๋์ ธ ๋ณด๊ธฐ'
1990๋ ๋น์ ์ด ์ ๊ทผ์ ํ์๋ฐ์ง ๋ชปํ๋ค. ํ์ ๋ชจ๋ธ๋, ๋ฐฉ๋ฒ๋ก ๋, ํ์ ์ ์ธ๋ จ๋จ๋ ์๋ค๋ ์ด์ ๋ก ํ ์คํ ยท์ํํธ์จ์ด๊ณตํ ์ปค๋ฎค๋ํฐ์ ๊ฐํ ๋ฐ๋ฐ์ ์๋ค. Miller์ ๋ต์ ํ ์ค์ด์๋ค.
"We're just trying to find bugs." โ ์ฐ๋ฆฌ๋ ๊ทธ๋ฅ ๋ฒ๊ทธ๋ฅผ ์ฐพ์ผ๋ ค๋ ๊ฒ๋ฟ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์กฐ์กํ ์ ๊ทผ์ด ๋ณด์์ ์ฃผ๋ฅ๊ฐ ๋๋ค. ๊ณ๋ณด๋ ์ด๋ ๊ฒ ์ด์ด์ง๋ค.
- 1990/1995/2000/2006: ํด๋์ ํผ์ฆ ๊ณ๋ณด โ UNIX ์ ํธ๋ฆฌํฐ โ X-Window โ Windows NT โ macOS๋ก ํ์ฅ.
- 2013: AFL(American Fuzzy Lop, lcamtuf) โ ์คํ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํผ๋๋ฐฑ์ผ๋ก ์ฐ๋ ์ปค๋ฒ๋ฆฌ์ง ๊ธฐ๋ฐ ํผ์ง์ด ๋์คํ๋๋ฉฐ ๋ฐ๊ฒฌ ํจ์จ์ด ํญ๋ฐ์ ์ผ๋ก ์ฌ๋ผ๊ฐ๋ค.
- 2015: libFuzzer๊ฐ LLVM์ ํตํฉ โ ๊ฐ๋ฐ์๊ฐ ๋น๋์ ํผ์ ๋ฅผ ๋ถ์ด๋ ๊ฒ์ด ์ผ์์ด ๋๋ค.
- 2016~: Google OSS-Fuzz๊ฐ ์์ ๋๊ท๋ชจ ํผ์ง ์ธํ๋ผ๋ฅผ ์คํ์์ค ์ ์ฒด์ ์ ๊ณตํ๊ณ , ์์ฒ ๊ฑด ๋จ์์ ๋ฒ๊ทธ๋ฅผ ์ง์์ ์ผ๋ก ๋ฐ๊ตดํ๋ค. ์ปค๋์๋ syzkaller ๊ฐ์ ์ ์ฉ ํผ์ ๊ฐ ๋ถ๋๋ค.
- 2022: ์ ๋ ผ๋ฌธ์ด Jean-Claude Laprie Award๋ฅผ ์์ํ๋ฉฐ "์ ๋ขฐ์ฑ ๊ณตํ์ ์ด์"์ผ๋ก ๊ณต์ ์ธ์ ๋ฐ๋๋ค.
ํต์ฌ์ "์ ๋ขฐ์ฑ์ด ๋ณด์์ ํ ๋"๋ผ๋ ๋ช ์ ๋ค. ํฌ๋์๋ ๋๊ฐ ๋ฉ๋ชจ๋ฆฌ ์์์ ๊ด์ฐฐ ๊ฐ๋ฅํ ์ฆ์์ด๊ณ , ๋ฉ๋ชจ๋ฆฌ ์์์ ๋๊ฐ ์ต์คํ๋ก์ ๊ฐ๋ฅ์ฑ์ด๋ค. ๊ทธ๋์ "ํฌ๋์๋ฅผ ์๋์ผ๋ก ์ฐพ๋ ๋๊ตฌ"๋ ๊ณง "์ทจ์ฝ์ ์ ์๋์ผ๋ก ์ฐพ๋ ๋๊ตฌ"๊ฐ ๋๋ค. ์ค๋๋ ๋ํ ํ๋ก์ ํธ์ CVE ์๋น์๊ฐ ํผ์ง์์ ๋์ค๋ ๊ฒ์ ์ด ๋ ผ๋ฌธ์ ๋ฐฉ๋ฒ๋ก ์ด ์ฐ์ ํ์ค์ด ๋ ๊ฒฐ๊ณผ๋ค.
2026๋ ์ ์ค๋ฌด ์์ฌ์ โ 30๋ ์ ์ฒดํฌ๋ฆฌ์คํธ๋ ์์ง ์ ํจํ๋ค
- โ ํฌ๋์ยทํ์ ๊ทธ ์์ฒด๋ก ๋ณด์ ์ ํธ๋ก ์ทจ๊ธํ๋ผ: "์ ๋ ฅ์ด ์ด์ํ๋ฉด ์ฃฝ๋ ๊ฑด ์ด์ฉ ์ ์๋ค"๋ ํ๋๊ฐ ์ ํํ 1990๋ ์ 25~33%๋ฅผ ๋ง๋ ์์ธ์ด๋ค. ํฌ๋์ ๋ฆฌํฌํธ๋ฅผ ๋ณด์ ๋ฐฑ๋ก๊ทธ๋ก ์น๊ฒฉ์์ผ์ผ ํ๋ค.
- โก ํ์ ๊ธฐ์ค์ ๋จ์ํ๊ฒ ์ ์งํ๋ผ: ์ ๋ต์ ๋ชจ๋ฅด๋ ๋์(ํ์ยท๋์ฝ๋ยทํ๋กํ ์ฝ ๊ตฌํ)์๋ "์ฃฝ์ผ๋ฉด ์คํจ"๋ผ๋ ์ค๋ผํด์ด ๊ฐ์ฅ ๊ฐ๋ ฅํ๊ณ ๊ฐ์ฅ ์๋ํํ๊ธฐ ์ฝ๋ค. ์๋ฒฝํ ํ ์คํธ๋ณด๋ค ๋์๊ฐ๋ ํ ์คํธ๊ฐ ๋จผ์ ๋ค.
- โข ์ ๋ ฅ ์ฒ๋ฆฌ ๊ฒฝ๊ณ๋ฅผ ์ต์ฐ์ ์ผ๋ก ํผ์งํ๋ผ: ํ์ผ ํฌ๋งท ํ์, ์ด๋ฏธ์งยท์์ถ ๋์ฝ๋, ์ง๋ ฌํยท์ญ์ง๋ ฌํ๊ธฐ, ๋ช ๋ นํ ๋๊ตฌ โ 1990๋ ์ ์ ํธ๋ฆฌํฐ์ ํด๋นํ๋ ์๋ฆฌ๊ฐ ์ค๋์ ์ด๋ค์ด๋ค.
- โฃ "์ค๋๋๊ณ ์ ํ ์คํธ๋๋ค"๋ ๊ฐ์ ์ ๋ฒ๋ ค๋ผ: AIX 1.1์ ๊ตํ๊ณผ 2020๋ ์ ์คํจ์จ ์์น์ด ๊ฐ์ ๋ง์ ํ๋ค. ๋ ๊ฑฐ์์ผ์๋ก ํฌ๋์ ์์ธ 9๋ฒ์ฃผ(ํนํ ๋ฐํ๊ฐ ๋ฏธ๊ฒ์ฌยทsigned charยท๊ฒฝ์ ์กฐ๊ฑด)๋ฅผ ๊ธฐ๊ณ์ ์ผ๋ก ์ ๊ฒํด์ผ ํ๋ค.
- โค ๋๊ตฌยท๊ฒฐ๊ณผยท์์ ์์ ๊ณต๊ฐํ๋ผ: ์ด ๋ ผ๋ฌธ์ ์ํฅ๋ ฅ์ ๋ฐฉ๋ฒ๋ก ๋ง์ด ์๋๋ผ ๋๊ตฌ ์์ค, ์์ ํ ์คํธ ๊ฒฐ๊ณผ, ๋ฒ๊ทธ ๋ฆฌํฌํธ์ ํฝ์ค๋ฅผ ๋ชจ๋ ๊ณต๊ฐํ ๋ฐ์ ์๋ค. ์ค๋๋ ํผ์ง ํฌ๋์ ์ฝํผ์คยท์ํฐํฉํธ ๊ณต๊ฐ๊ฐ ํ์ค์ด ๋ ์ด์ ๋ค. ์ฌํ์ฑ์ ์ ๋ขฐ์ ์ ์ ์กฐ๊ฑด์ด๋ค.
- โฅ ํผ์ง์ ํ๊ณ๋ ๋ถ๋ช ํ ํ๋ผ: ํฌ๋์ํ์ง ์๋ ๊ฒฐํจ โ ์ธ๊ฐ ๋ก์ง ์ค๋ฅ, ์ธ์ฆ ์ฐํ, ๋น์ฆ๋์ค ๋ก์ง ๊ฒฐํจ โ ์ ํด๋์ ํผ์ง์ผ๋ก ์กํ์ง ์๋๋ค. ํผ์ง์ ๋ค๋ฅธ ๊ธฐ๋ฒ์ ๋์ฒดํ๋ ๊ฒ ์๋๋ผ ๊ฐ์ฅ ์ธ๊ฒ ๋ถ์ผ ์ ์๋ ํ ๊ฒน์ด๋ค.
์ถ์ฒ
- ์๋ฌธ (CACM 33(12), 1990, pp. 32โ44 ยท DOI): doi.org/10.1145/96267.96279
- 1990 ์๋ฌธ PDF (์ ๋ฌธ): paradyn.org/papers/fuzz.pdf
- ์ ์ ๊ณต์ ํ๋ก์ ํธ ํ์ด์ง โ ํผ์ฆ ๋ ผ๋ฌธยท๋๊ตฌยท๋ฐ์ดํฐ์ ์ ์ฒด ์์นด์ด๋ธ (Barton Miller, UWโMadison): pages.cs.wisc.edu/~bart/fuzz/
- Fuzz Revisited โ 1995 ํ์ ์ฐ๊ตฌ (TR #1268): paradyn.org/papers/fuzz-revisited.pdf
- The Relevance of Classic Fuzz Testing: Have We Solved This One? (MillerยทZhangยทHeymann, IEEE TSE 48(6), 2022): arxiv.org/abs/2008.06537
- 2022 Jean-Claude Laprie Award ์์ ๋ฐํ (IFIP WG 10.4): dependability.org/wg10.4/news-051422.html
- ํจ๊ป ๋ณด๊ธฐ โ ์ด ์ฌ์ดํธ์ ๋ฒํผ ์ค๋ฒํ๋ก ๊ณ ์ : "Smashing The Stack For Fun And Profit" (1996): security-research-2026-08-30-4.html
- ํจ๊ป ๋ณด๊ธฐ โ ์ด ์ฌ์ดํธ์ ROP ๊ณ ์ : "The Geometry of Innocent Flesh on the Bone" (2007): security-research-2026-09-09.html