λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
🌟 AI & ML Tech/Prompt Engineering

[ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§] (5) ν”„λ‘¬ν”„νŠΈ λ³΄μ•ˆ : LLM 취약점과 보완 방법

by 뭅즀 2024. 7. 27.
λ°˜μ‘ν˜•

 

μ˜€λŠ˜μ€ ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§ λ³΄μ•ˆμ— λŒ€ν•΄ 이야기해보렀고 ν•΄μš”. LLM을 μ‚¬μš©ν•  λ•Œ λ°œμƒν•  수 μžˆλŠ” λ‹€μ–‘ν•œ 취약점듀과, 이λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•œ 방법듀을 λ‹€λ£° κ²ƒμž…λ‹ˆλ‹€. LLM의 λ³΄μ•ˆμ„ κ°•ν™”ν•˜μ—¬ μ•ˆμ „ν•˜κ³  μ‹ λ’°ν•  수 μžˆλŠ” μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” 방법을 ν•¨κ»˜ μ‚΄νŽ΄λ΄…μ‹œλ‹€.


LLM 취약점

데이터 쀑독(Data Poisoning)

  • κ°œλ…: μ•…μ˜μ μΈ μ‚¬μš©μžκ°€ λͺ¨λΈμ˜ ν•™μŠ΅ 데이터에 μœ ν•΄ν•˜κ±°λ‚˜ μ™œκ³‘λœ 데이터λ₯Ό μ‚½μž…ν•˜μ—¬ λͺ¨λΈμ˜ μ„±λŠ₯을 μ €ν•˜μ‹œν‚€λŠ” 곡격.
  • μ˜ˆμ‹œ: ν•™μŠ΅ 데이터에 νŠΉμ • 편ν–₯된 정보λ₯Ό μ‚½μž…ν•˜μ—¬ λͺ¨λΈμ΄ 잘λͺ»λœ 정보λ₯Ό μƒμ„±ν•˜κ²Œ 함.
  • 보완 방법: 데이터 검증 및 μ •μ œ ν”„λ‘œμ„ΈμŠ€λ₯Ό κ°•ν™”ν•˜κ³ , μ‹ λ’°ν•  수 μžˆλŠ” 데이터 μ†ŒμŠ€λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ ν•™μŠ΅μ‹œμΌœμ•Ό ν•©λ‹ˆλ‹€.

 

ν”„λ‘¬ν”„νŠΈ μ£Όμž…(Prompt Injection)

  • κ°œλ…: κ³΅κ²©μžκ°€ λͺ¨λΈμ˜ 응닡을 μ˜λ„μ μœΌλ‘œ μ™œκ³‘ν•˜κΈ° μœ„ν•΄ μ•…μ˜μ μΈ ν”„λ‘¬ν”„νŠΈλ₯Ό μ‚½μž…ν•˜λŠ” 곡격.
  • μ˜ˆμ‹œ: λͺ¨λΈμ—κ²Œ λΉ„μœ€λ¦¬μ μ΄κ±°λ‚˜ λΆ€μ μ ˆν•œ 응닡을 μƒμ„±ν•˜λ„λ‘ μœ λ„ν•˜λŠ” ν”„λ‘¬ν”„νŠΈ μ‚¬μš©.
  • 보완 방법: ν”„λ‘¬ν”„νŠΈ 검증을 톡해 μž…λ ₯된 ν”„λ‘¬ν”„νŠΈκ°€ μ μ ˆν•œμ§€ ν™•μΈν•˜κ³ , λͺ¨λΈμ˜ 응닡을 ν›„μ²˜λ¦¬ν•˜μ—¬ μœ ν•΄ν•œ λ‚΄μš©μ„ ν•„ν„°λ§ν•©λ‹ˆλ‹€.

 

정보 유좜(Information Leakage)

  • κ°œλ…: λͺ¨λΈμ΄ λ―Όκ°ν•œ μ •λ³΄λ‚˜ 개인 식별 정보λ₯Ό λ…ΈμΆœν•  수 μžˆλŠ” 상황.
  • μ˜ˆμ‹œ: λͺ¨λΈμ΄ ν•™μŠ΅ λ°μ΄ν„°μ—μ„œ 개인 정보λ₯Ό μΆ”μΆœν•˜μ—¬ 응닡에 ν¬ν•¨ν•˜λŠ” 경우.
  • 보완 방법: 데이터 읡λͺ…ν™” κΈ°μˆ μ„ μ‚¬μš©ν•˜μ—¬ ν•™μŠ΅ 데이터λ₯Ό μ²˜λ¦¬ν•˜κ³ , λͺ¨λΈμ˜ 응닡을 λͺ¨λ‹ˆν„°λ§ν•˜μ—¬ λ―Όκ°ν•œ 정보가 ν¬ν•¨λ˜μ§€ μ•Šλ„λ‘ ν•©λ‹ˆλ‹€.

 

 

λͺ¨λΈ νƒˆμ·¨(Model Inversion)

  • κ°œλ…: κ³΅κ²©μžκ°€ λͺ¨λΈμ˜ λ‚΄λΆ€ κ°€μ€‘μΉ˜λ‚˜ ν•™μŠ΅ 데이터λ₯Ό μ—­μœΌλ‘œ μΆ”λ‘ ν•˜μ—¬ λͺ¨λΈμ˜ λΉ„λ°€ 정보λ₯Ό μ–»λŠ” 곡격.
  • μ˜ˆμ‹œ: λͺ¨λΈμ˜ 예츑 κ²°κ³Όλ₯Ό λΆ„μ„ν•˜μ—¬ μ›λž˜μ˜ ν•™μŠ΅ 데이터λ₯Ό λ³΅μ›ν•˜λŠ” 경우.
  • 보완 방법: λͺ¨λΈ 배포 μ‹œ μ ‘κ·Ό μ œμ–΄λ₯Ό κ°•ν™”ν•˜κ³ , Differential Privacy와 같은 기법을 μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ˜ 응닡을 λ³΄ν˜Έν•©λ‹ˆλ‹€.

 

 

μ˜λ„ μ™œκ³‘(Intent Manipulation)

  • κ°œλ…: κ³΅κ²©μžκ°€ λͺ¨λΈμ˜ μ˜λ„λ₯Ό μ™œκ³‘ν•˜μ—¬ μ›λž˜ μ˜λ„μ™€ λ‹€λ₯Έ κ²°κ³Όλ₯Ό μœ λ„ν•˜λŠ” 곡격.
  • μ˜ˆμ‹œ: λͺ¨λΈμ΄ νŠΉμ • μ§ˆλ¬Έμ— λŒ€ν•΄ λΆ€μ •ν™•ν•˜κ±°λ‚˜ μ™œκ³‘λœ 정보λ₯Ό μ œκ³΅ν•˜κ²Œ μœ λ„.
  • 보완 방법: λͺ¨λΈμ˜ 응닡을 닀단계 κ²€μ¦ν•˜μ—¬ μ˜λ„κ°€ μ™œκ³‘λ˜μ§€ μ•Šμ•˜λŠ”μ§€ ν™•μΈν•˜κ³ , μ‚¬μš©μž ν”Όλ“œλ°±μ„ 톡해 μ§€μ†μ μœΌλ‘œ λͺ¨λΈμ„ κ°œμ„ ν•©λ‹ˆλ‹€.

 

LLM 취약점 보완 방법

 

ν”„λ‘¬ν”„νŠΈ ꡬ쑰화

ν”„λ‘¬ν”„νŠΈλ₯Ό κ΅¬μ‘°ν™”ν•˜μ—¬ μ•…μ˜μ μΈ μž…λ ₯으둜 μΈν•œ λͺ¨λΈ μ˜€μž‘λ™μ„ λ°©μ§€ν•˜λŠ” λ°©λ²•μ΄μ—μš”. 이λ₯Ό 톡해 λͺ¨λΈμ΄ μ˜ˆμƒμΉ˜ λͺ»ν•œ μž…λ ₯에 λŒ€ν•΄ 더 μ•ˆμ •μ μœΌλ‘œ λ°˜μ‘ν•˜λ„λ‘ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

  • λͺ…ν™•ν•œ 지침 제곡 : ν”„λ‘¬ν”„νŠΈμ— λͺ…ν™•ν•œ 지침을 ν¬ν•¨ν•˜μ—¬ λͺ¨λΈμ΄ μ˜¬λ°”λ₯Έ μ»¨ν…μŠ€νŠΈλ₯Ό μœ μ§€ν•˜λ„λ‘ 함
  • κ΅¬μ‘°ν™”λœ 포맷 μ‚¬μš© : ν”„λ‘¬ν”„νŠΈλ₯Ό κ΅¬μ‘°ν™”λœ 포맷으둜 μž‘μ„±ν•˜μ—¬ λͺ¨λΈμ˜ 응닡을 예츑 κ°€λŠ₯ν•˜κ²Œ λ§Œλ“¦
  • μΆ”λ‘  경둜 λͺ…μ‹œ : λͺ¨λΈμ΄ 응닡을 μƒμ„±ν•˜λŠ” 과정을 λ‹¨κ³„λ³„λ‘œ μ•ˆλ‚΄ν•˜μ—¬ μ •ν™•ν•œ 좔둠을 μœ λ„

 

μΈμ μ…˜ 체컀

μΈμ μ…˜ μ²΄μ»€λŠ” ν”„λ‘¬ν”„νŠΈμ— ν¬ν•¨λœ μ•…μ˜μ μΈ μ½”λ“œλ‚˜ λͺ…령을 νƒμ§€ν•˜κ³  ν•„ν„°λ§ν•˜λŠ” λ„κ΅¬μΈλ°μš”. 이λ₯Ό 톡해 ν”„λ‘¬ν”„νŠΈ μ£Όμž… κ³΅κ²©μœΌλ‘œλΆ€ν„° λͺ¨λΈμ„ λ³΄ν˜Έν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

  • ν”„λ‘¬ν”„νŠΈ 필터링 : μž…λ ₯된 ν”„λ‘¬ν”„νŠΈλ₯Ό λΆ„μ„ν•˜μ—¬ μ•…μ˜μ μΈ νŒ¨ν„΄μ΄λ‚˜ μ½”λ“œκ°€ ν¬ν•¨λ˜μ–΄ μžˆλŠ”μ§€ 검사
  • λ¬Έλ§₯ κ²€ν†  : ν”„λ‘¬ν”„νŠΈμ˜ λ‚΄μš©μ΄ 주어진 λ¬Έλ§₯에 μ ν•©ν•œμ§€ κ²€ν† ν•˜κ³  λΆ€μ μ ˆν•œ λ‚΄μš©μ„ ν¬ν•¨ν•œ ν”„λ‘¬ν”„νŠΈλŠ” κ±°λΆ€

 

νƒœμŠ€ν¬ 뢄리

νƒœμŠ€ν¬ λΆ„λ¦¬λŠ” 말 κ·ΈλŒ€λ‘œ λ³΅μž‘ν•œ μž‘μ—…μ„ μž‘μ€ λ‹¨μœ„λ‘œ λ‚˜λˆ„μ–΄ μˆ˜ν–‰ν•˜λŠ” λ°©λ²•μ΄μ—μš”. 이λ₯Ό 톡해 λͺ¨λΈμ΄ 각 단계λ₯Ό λͺ…ν™•νžˆ μ΄ν•΄ν•˜κ³ , 곡격 ν‘œλ©΄μ„ 쀄여 λ³΄μ•ˆμ„ κ°•ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • 단계별 μž‘μ—… μ •μ˜ : λ³΅μž‘ν•œ 문제λ₯Ό ν•΄κ²°ν•  λ•Œ, 각 단계λ₯Ό λͺ…ν™•νžˆ μ •μ˜ν•˜κ³  순차적으둜 μˆ˜ν–‰ν•˜λ„λ‘ μœ λ„
  • μ—­ν•  뢄리 : λͺ¨λΈμ΄ μˆ˜ν–‰ν•΄μ•Ό ν•  역할을 λΆ„λ¦¬ν•˜μ—¬ 각 역할에 λ§žλŠ” ν”„λ‘¬ν”„νŠΈλ₯Ό 제곡

 


 

μ•ˆμ „ν•œ μ„œλΉ„μŠ€λ₯Ό κ°œλ°œν•˜κΈ° μœ„ν•΄μ„œλŠ” μ΄λŸ¬ν•œ LLM λ³΄μ•ˆ 취약점을 μΈμ§€ν•˜κ³ , μ μ ˆν•œ 보완 방법을 μ μš©ν•˜λŠ” 것은 맀우 μ€‘μš”ν•΄μš”. ν•˜μ§€λ§Œ ν˜„μž¬λ‘œμ¨λŠ” 100% λ°©μ–΄λŠ” 쉽지 μ•Šμ€λ°μš”. λ•Œλ¬Έμ— λ‹€μ–‘ν•œ 취약점을 계속 νŠΈλž˜ν‚Ήν•˜κ³  μ„œλΉ„μŠ€λ₯Ό μœ μ§€ λ³΄μˆ˜ν•˜κΈ° μœ„ν•΄ λ…Έλ ₯ν•˜λŠ” 것이 ν•„μˆ˜μ μΌ 것 κ°™μ•„μš”. μ„œλΉ„μŠ€λŠ” 99λ²ˆμ„ μž˜ν•΄λ„ 1λ²ˆμ„ μ‹€νŒ¨ν•˜λ©΄ μœ μ €λ“€μ΄ 등을 돌릴 수 μžˆλŠ” 기회λ₯Ό μ£Όλ‹ˆκΉŒμš” γ…Žγ…Ž

λ°˜μ‘ν˜•