๐ค๐จ LLM ๊ทธ๊ฑฐ ๋ง์น๋ก ๋ถ์๋ฉด ๊ทธ๋ง ์๋๋?
๊ตฌ๋ ์๋ ์๋ ํ์ธ์. ์์ฆ ์ฌ๊ธฐ์ ๊ธฐ์ AI ๊ด๋ จ ์ด์ผ๊ธฐ๊ฐ ์ ๋ง ๋ง์ด ๋ค๋ฆฌ๋๋ฐ์. ํนํ chatGPT๊ฐ ๋ฑ์ฅํ ์ดํ๋ก LLM์ ํ์ฉํ ์๋น์ค๋ค์ด ์ฐํ์ฃฝ์ ์๊ฒจ๋๊ณ ์์ต๋๋ค. ์๋ก์ด ๊ธฐ์ ์ด ๋ฑ์ฅํ ๋๋ง๋ค ํด์ปค๋ค๋ ๊ทธ๋ฅ ๊ฐ๋งํ ์์ง ์์ฃ . ์ค๋์ ์ด LLM ์๋น์ค๋ฅผ ์ด๋ป๊ฒ ํดํนํ ์ ์๋์ง, ์ค์ ๋ก ๋ฐ์ํ๋ ์ฌ๋ก๋ค์ ํ ๋ฒ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
* LLM(Large Language Model)์ด๋, ๋ง์ ํ ์คํธ๋ฅผ ํ์ตํด์ ์์ฐ์ด ์ฒ๋ฆฌ๋ฅผ ํ์ตํ ๋ชจ๋ธ์ ๋งํฉ๋๋ค.
chatGPT ๋ฅผ ๋น๋กฏํ LLM ์๋น์ค๋ค์ ๋ฑ์ฅ
2022๋ 11์ OpenAI์์ chatGPT๋ฅผ ์ถ์ํ ์ดํ, ์ ๋ง ๋ง์ ๊ธฐ์ ๋ค์ด ๋๋๋๋ LLM ๊ด๋ จ ์๋น์ค๋ฅผ ๋ด๋๊ณ ์๋๋ฐ์. ๋น ๋ฅด๊ฒ ๋ฐ์ ํ๋ ์ ๊ธฐ์ ์ ์ธ์ ๋ ๊ทธ๋ ๋ฏ ์๋ก์ด ์ทจ์ฝ์ ์ ์๋ฐํ๊ธฐ ๋ง๋ จ์ ๋๋ค.
์ค์ ๋ก ์ ๋ chatGPT๋ฅผ ์ ํ์ฉํ๊ณ ์๊ธฐ๋ ํ๋ฐ, ๊ฐ๋์ โ์ด๊ฑฐ ์ ๋ง ์์ ํ๊ฐ? ๋ฏฟ๊ณ ์จ๋ ๋๋? ๐คโ ์ถ์ ์๊ฐ์ด ๋ค ๋๊ฐ ์์ด์. ๊ฒฐ๋ก ๋ถํฐ ๋ง์๋๋ฆฌ์๋ฉด, LLM ์์ฒด๋ฅผ ํดํนํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๊ณ , LLM์ ํ์ฉํ ์๋น์ค(ํต์นญ LLM ์๋น์ค)์ ๋ํ ํดํน๋ ๊ฐ๋ฅํฉ๋๋ค. ๐ ์ค๋์ ๊ทธ ์ค์์๋ LLM ์๋น์ค ํดํน ์ฌ๋ก๋ค์ ์ค์ ์ ์ผ๋ก ์ดํด๋ณด๊ฒ ์ต๋๋ค.
LLM ์์ฒด ํดํน๊ณผ LLM ์๋น์ค ํดํน
LLM ์์ฒด ํดํน๊ณผ LLM ์๋น์ค ํดํน์ ๊ฐ๊ฒ ๋ณด์ด๋ฉด์๋ ์์ฐํ ๋ค๋ฅธ ์๋ฏธ๋ฅผ ์ง๋๊ณ ์์ด์. LLM ์ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ๋ก ๋ค์์ ์ฌ ๋จ์ด๋ฅผ ์์ธกํด์ฃผ๋ ์์ธก ๋จธ์ ์ด์์. ๋ชจ๋ธ ์์ฒด๋ก๋ ํ์ผ์ ์ฝ๊ฑฐ๋, ๋คํธ์ํฌ ํต์ ์ ํ๋ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์์ง ์์์.
๊ทธ๋ฌ๋ฉด LLM ์ ํดํนํ๋ค๋ ๊ฒ์ ๋ฌด์จ ์๋ฏธ์ผ๊น์? LLM ์ ํ์ต์ํค๊ธฐ ์ํด์๋ ํ๋ผ๋ฏธํฐ๋ผ๋๊ฒ ํ์ํด์. LLM ์ ์์ฒญ๋ ์์ ํ๋ผ๋ฏธํฐ๊ฐ ํ์ต์ ์ฌ์ฉ๋์ฃ . ํ์ต์ ์ฌ์ฉ๋ ํ๋ผ๋ฏธํฐ๋ ๋ฐ์ดํฐ์ ์ ํ์ทจํ๋ค๋ฉด ๋ชจ๋ธ์ ๋ณต์ ํ ์๋ ์์ต๋๋ค. ๋๋, ์ด์ํ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์๋ก ํ์ต์์ผ์ ๋ชจ๋ธ์ด ์ถ๋ก ์ ์ ๋๋ก ํ์ง ๋ชปํ๊ฒ ํ๋ ๊ฒฝ์ฐ๋ ์์ด์. ์ด๋ฌํ ๊ณต๊ฒฉ๋ค์ด LLM ์์ฒด ํดํน์ ๋ฒ์ฃผ์ ์ํฉ๋๋ค.
LLM ์๋น์ค ํดํน์ LLM ์ฑ๋ด์ฒ๋ผ LLM ์ ์ด์ฉํด ๋ง๋ ์๋น์ค, ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์์ผ๋ก ํ๋ ํดํน์ ๋งํด์. LLM ์์ฒด ํดํน์ LLM ์ ์ง์ค๋์ด ์๋ค๋ฉด LLM ์๋น์ค ํดํน์ LLM๊ณผ ์ฐ๊ณ๋์ด ์๋ ๊ตฌ์ฑ์์๊น์ง ํดํน์ ๋์์ด ๋๋ ๊ฒ์ด์ฃ .
๋ง์ด ์กฐ๊ธ ์ด๋ ต์ง๋ง, ์์๋ฅผ ๋ค์ด๋ณผ๊ฒ์. chatGPT ์ฒ๋ผ LLM ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉ์์๊ฒ ์นUI๋ก ์ ๊ณตํ๋ ์ฑ๋ด ์๋น์ค๊ฐ ์๋ค๊ณ ํฉ์๋ค. ์ด ์๋น์ค๋ Web UI ๋ฅผ ํตํด ์ฌ์ฉ์์๊ฒ ์ง๋ฌธ์ ๋ฐ๊ณ ๋ฐฑ์ค๋ ์๋ฒ๋ก ๋๊ฒจ์ ธ LLM์ ์ ๋ฌ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ LLM ์ ์ง๋ฌธ์ ๋ํ ๋ต์ ๋ฐฑ์๋ ์๋ฒ๋ฅผ ํตํด ์ฌ์ฉ์์๊ฒ Web UI๋ก ์ ๊ณต์ด ๋ฉ๋๋ค. ์ฌ์ฉ์์ ์ฑํ ์ ๋ํ ์ ๋ณด๊ฐ ๊ตฌ๋ถ์ด ๋์ด์ผ ํ๊ธฐ์ DB๋ ์์ด์ผ ํ๊ฒ ์ง์. ์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ ๋๋ต์ ์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
LLM ์๋น์ค ํดํน์ ์ ๊ตฌ์กฐ์ฒ๋ผ ๊ตฌ์ฑ๋ LLM ์๋น์ค์์ Web UI, ๋ฐฑ์๋, DB ๋ฅผ ์ฃผ๋ก ๊ณต๊ฒฉ ๋์์ผ๋ก ์ผ์ต๋๋ค. ๊ทธ๋ ๋ค๊ณ LLM ์ด ๊ณต๊ฒฉ ๋์์์ ์ ์ธ๋๋ ๊ฒ์ ์๋์์. LLM ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์๋น์ค์ ๋์์ด ๋ฐ๋ ์ ์์ผ๋๊น์.
๊ฐ๋ ์ ์ผ๋ก๋ ์ด๋ ๊ฒ ๋๋์ง๋ง, ๊ฒฐ๊ณผ์ ์ผ๋ก LLM ์ฌ์ฉ ์ค์ ๋ณด์ ์ํ์ด ์๊ฒผ๋ค๋ ์ ์์ ๋ ๋ค ๋ง์ฐฌ๊ฐ์ง๋ก ๊ณจ์น ์ํ ์ผ์ด๊ธด ํฉ๋๋ค. ๐ฃ ์ค๋์ LLM ์๋น์ค ํดํน ์ฌ๋ก๋ฅผ ์ดํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๐จ Case1 - mathGPT ์๊ฒฉ ์ฝ๋ ์คํ ์ทจ์ฝ์
๋จผ์ mathGPT RCE ์ฌ๋ก์ ๋๋ค. mathGPT ๋ ์ํ ๊ด๋ จ๋ ์ง๋ฌธ์ ์ ๋ฌธ์ ์ผ๋ก ๋ต๋ณํด์ฃผ๋ ์๋น์ค์ธ๋ฐ์. ์ฌ๊ธฐ์ RCE ์ทจ์ฝ์ ์ด ๋ฐ์ํ์ต๋๋ค. ์ด๋ LLM์ ๊ฒฐ๊ณผ ์ฝ๋๋ฅผ ์ ์ ํ ๊ฒ์ฆ ์์ด exec๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ์ทจ์ฝ์ ์ด์์ต๋๋ค. ์ทจ์ฝ์ ๋ฐ์ ํ๋ฆ์ ๋๋ต์ ์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
exec ๋ python ์์ ์ฝ๋๋ฅผ ์คํ์ํค๋ ํจ์์ธ๋ฐ์. ๋ชจ๋ธ์ด ๋ง๋ค์ด์ค ์ฝ๋๋ฅผ ๊ทธ๋๋ก ์คํํด๋ฒ๋ฆฌ๋ ๊ตฌ์กฐ๋ผ๋ฉด, ๊ณต๊ฒฉ์๊ฐ ์์๋ก ์ํ๋ ์ฝ๋๋ฅผ ๋ชจ๋ธ์๊ฒ ์์ฑํ๋๋ก ์ ๋ํ ์ ์์ต๋๋ค. ๐จ
์๋๋ mathGPT ์์ ์ทจ์ฝ์ ์ ์ฐพ์ผ์ ๋ถ๊ป์ mathGPT ์๊ฒ /etc/passwd ๋ฅผ ์ฝ๋ ์ฝ๋๋ฅผ ์์ฑํ๋๋ก ์ ๋ํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค ์ฌ์ง์ ๋๋ค. /etc/passwd ๋ ๋ฆฌ๋ ์ค์์ ์ ์ ๋ฅผ ๊ด๋ฆฌํ๋ ํ์ผ ์ค ํ๋์ธ๋ฐ์. ์๊ฒฉ์์ ์์๋ก ์ฝ๋ ์คํ์ด ๊ฐ๋ฅํ๋ค๋ฉด ์ด๋ฌํ ํ์ผ๋ค์ ์ฝ์ด์ ๋ด์ฉ์ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ผ๋ก ์ทจ์ฝ์ ์ ์ฆ๋ช ํ๊ณค ํฉ๋๋ค.
์์ฑ๋ ์ฝ๋๊ฐ ๋ณ๋ค๋ฅธ ํํฐ๋ง ์์ด ์คํ๋์๊ธฐ์ ์๊ฒฉ ์ฝ๋ ์คํ์ด ๊ฐ๋ฅํ๋๋ฐ์. ๋คํํ๋ ์ด ๊ฑด์ ์ฌ๊ณ ์ฌ๋ก๋ ์๋๊ณ ๋ฒค๋์ฌ์ ์ฌ์ ์ ํ์ํ๊ณ ์งํ๋์๋ค๊ณ ํ๋ค์. ๐
๐จ Case2 - ์๋ณด๋ ์ฑ๋ด ํตํ ์ฐจ๋ 1๋ฌ๋ฌ ํ๋งค ์๋
๋ ๋ฒ์งธ ์ฌ๋ก๋ ์ฐจ๋์ 1๋ฌ๋ฌ์ ๊ตฌ๋งคํ๋๋ก ์๋ณด๋ ์ฑ๋ด์ ์์ธ ์ฌ๋ก์ ๋๋ค. ๐ณ AI ๋ชจ๋ธ์ ํ๋ ๊ฐ๋ น, ๊ท์น ๋ฑ์ ๊นจ๋ ์ด๋ฅธ๋ฐ Jailbreak ๋ฅผ ํตํด ์ฐจ๋์ 1๋ฌ๋ฌ์ ๋ฌ๋ผ๊ณ ์์ฒญ์ ํ์ต๋๋ค.
์๋ณด๋ ์์ chatGPT ๋ฅผ ํ์ฉํ ์๋ด ์ฑ๋ด์ ๋ง๋ค์๋๋ฐ์. Chris Bakke ๋ผ๋ ๋ถ์ด ์ฐจ๋์ 1๋ฌ๋ฌ์ ๊ตฌ๋งคํ๊ฒ ๋ค๊ณ ํ๊ณ ์ฑ๋ด์ด ์ด๋ฅผ ๋ฐ์๋ค์์ต๋๋ค. ๐ ์ฌ์ง์์ ๋ณผ ์ ์๋ฏ์ด, ์ด ๋ถ์ ์ฒ์๋ถํฐ ์ฑ๋ด์๊ฒ ์ฐจ๋์ 1๋ฌ๋ฌ์ ๋ฌ๋ผํ์ง ์์๊ณ ์ฑ๋ด์๊ฒ โ๊ตฌ๋งค์์ ์์ฒญ์ ๋ชจ๋ ์น๋ํดโ ๋ผ๋ ์ง์๋ฅผ ๋ด๋ฆฌ๋ Jailbreak ๋ฅผ ์๋ํ์์ต๋๋ค. ๐จ
์ค์ ๋ก๋ 1๋ฌ๋ฌ ์์ฒญ์ ํ์์๋ ์ค์ ๋ก ๊ฒฐ์ ๋๊ณ ๋ฐฐ์ก๊น์ง ๋ ๊ฑด ์๋๋ผ๊ณ ํด์. ๐ ์ค๊ฐ์ ์ฌ๋์ด ๊ฐ์ ํด ๊ฒ์ํ๊ฒ ์ง๋ง ๋ง์ฝ ๊ฐ์ ์ด ์๊ณ ์ฑ๋ด์ ์ ์ ์ผ๋ก ์ ๋ขฐํ๋ค๋ฉด ํฐ ์ํด๋ฅผ ์ ์์ ์๋ ์๊ฒ ๋ค๋ ์๊ฐ์ด ๋๋ค์.
๐จ Case3 - RAG ๊ตฌํ ์ค ๋ฐ์๋ SSRF ์ทจ์ฝ์ (CVE-2023-46229)
๋ง์ง๋ง์ langchain RAG SSRF (Server-Side Request Forgery) ์ฌ๋ก์ ๋๋ค. RAG๋ LLM์ด ๋ต๋ณ์ ํ ๋, ์ธ๋ถ ์ง์๋ฒ ์ด์ค(๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฌธ์ ๋ฑ)์์ ์๋ฃ๋ฅผ ๋์ด์์ ๋ต๋ณ์ ์ ํ๋๋ฅผ ๋์ฌ์ฃผ๋ ๋ฐฉ์์ ๋งํฉ๋๋ค.
SSRF ๋ ์ธ๋ถ์์์ ์์ฒญ์ด ๋ด๋ถ ์๋ฒ๋ก ์ ๋ฌ๋ ๋ ๋ฐ์ํ ์ ์๋ ์ทจ์ฝ์ ์ ๋ปํ๋๋ฐ์. LLM ์๋น์ค๋ฅผ ๋ง๋ค ๋ ๋ง์ด ์ฌ์ฉํ๋ ํ๋ ์์ํฌ์ธ langchain ์ sitemap RAG ๋ก์ง์์ SSRF ๊ฐ ๋ฐ์ํ์์ต๋๋ค. ๐ฎ
์๋ ๊ทธ๋ฆผ์ ์ด ์ทจ์ฝ์ ์ ์ด์ฉํ ๊ณต๊ฒฉ ์๋๋ฆฌ์ค์ธ๋ฐ์. langchain ์ด ๊ณต๊ฒฉ์๊ฐ ์ค๋นํ, ๋ด๋ถ ์ฃผ์๊ฐ ์๋ sitemap ์ ์ฝ์ผ๋ฉด ํด๋น ์ฃผ์๋ก ์์ฒญ์ ํ๊ฒ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ด๋ถ ์๋ฒ์ ์๋ ๋ฏผ๊ฐ ์ ๋ณด๋ ๋ช ๋ น ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ฌ ์ ์์ต๋๋ค.
langchain ์๋ sitemap ์ ๋ก๋ํ๋ ๊ธฐ๋ฅ, ๋ก๋ํ sitemap ๋ด์ ๋งํฌ๋ค์ ํ์ฑํ๋ ๊ธฐ๋ฅ, ํ์ฑํ ๋งํฌ๋ค์ HTTP ์์ฒญ์ ํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์ด ์๋๋ฐ์. ํ์ฑ๋ ๋งํฌ์ ๋ํ ์ ์ ํ ๊ฒ์ฆ์ด ์์ด ๊ณต๊ฒฉ์๊ฐ ์์๋ก ๊ตฌ์ฑํ sitemap ๋ด์ ๋ด๋ถ ์ฃผ์๋ฅผ ๊ธฐ์ฌํ๋ฉด ์ด๋ฅผ langchain ์ด HTTP ์์ฒญ์ ํ๊ฒ ๋์ด SSRF ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด์์ต๋๋ค. ๐จ
LLM ์ด ์ต์ ๊ธฐ์ ์ด๋ผ๊ณ ๋ ํ์ง๋ง LLM ์๋น์ค ๊ฐ๋ฐ์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์์ํฌ๋ค์์ ๊ณผ๊ฑฐ ์ทจ์ฝ์ ๋ค์ด ๊ณ์ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์ ๋ณด์ฌ์ฃผ๋ ์ฌ๋ก์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๐ค
๋ง๋ฌด๋ฆฌ
์ค๋์ LLM ํดํน ์ฌ๋ก ๋ช ๊ฐ์ง๋ฅผ ํ์ด๋ดค์ต๋๋ค.
์ฌ์ค python ์ฝ๋ ์คํ, SSRF ๊ฐ์ ์ทจ์ฝ์ ์ ์์ ๋ถํฐ ํํ ์๋ ค์ ธ ์๋ ๊ฒ๋ค์ด์์. ๋ค๋ง LLM์ ํ์ฉํ๋ ์๋น์ค๋ ํ๋ ์์ํฌ์์๋ ์ด๋ฌํ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋๊ณ ์๋ค๋ ์ ์ด ์ค์ํ๋ค๊ณ ๋ณด์ฌ์ง๋ค์.
์ ๊ธฐ์ ์ด ๋์ ๋๋ฉด ๊ทธ๋งํผ ์๋ก์ด ์ทจ์ฝ์ ์ ์ฐพ์ผ๋ ค๊ณ ํ๋ ๊ณต๊ฒฉ์๊ฐ ๋์ด๋๊ธฐ ๋ง๋ จ์ด์ฃ . ๊ทธ๋ ๊ธฐ์ LLM ๊ด๋ จ ์๋น์ค๋ฅผ ๋ง๋ค๊ฑฐ๋ ์ฌ์ฉํ ๋๋ ๊ณผ๊ฑฐ๋ถํฐ ์๋ ์ทจ์ฝ์ ๋ค์ ์ฃผ์ ๊น๊ฒ ๋ด์ผํ ๊ฒ ๊ฐ๋ค์.
๊ทธ๋ผ ๋ค์ ์ฃผ์ ๋ ์ฌ๋ฏธ์๋ ๋ณด์ ์ด์ผ๊ธฐ๋ฅผ ๋ค๊ณ ์ฐพ์๋ต๊ฒ์!
๊ฐ์ฌํฉ๋๋ค
์๊ฒฌ์ ๋จ๊ฒจ์ฃผ์ธ์