인생 첫 취약점 진단 프로젝트를 진행했는데.. 이것도 기록용으로 작성해본다.
주제: LLM 보안 취약점 진단 기준 작성
기간: 2025.02.05 - 2025.02.06 (2일간)
사전에 강사님이 참고 자료로 올려주셨던 생성형 AI 보안 가이드라인, OWASP TOP10 2017.ver, SK쉴더스 LLM 취약점 진단 기준 등 6가지의 문서를 참고하여 비슷한 것끼리 묶어서 작성하였다. 원래는 7가지 정도로 구성했었는데 강사님이 너무 적다며.. 다른 조는 30-40개씩 한 조도 있다는 소식에 급하게 28개 정도로 늘렸다.
대상 항목은 ChatGPT와 DeepSeek-R1 2가지로 정하였다. DeepSeek의 경우는 Ollama을 설치하여 로컬에서 실행 가능한 환경을 구성한 뒤, DeepSeek-R1 모델을 설치하였다.
원래는 ChatGPT 취약점 진단 2명, DeepSeek-r1 취약점 3명으로 나누었으나 중간에 문제가 생겨 ChatGPT 취약점 진단 2명, DeepSeek-r1 취약점 2명으로 다시 역할을 나누었다.
나는 DeepSeek-r1 취약점 진단을 맡아서 진행했다.
로컬에서 진행한 거라 다른 점검 도구들은 활용하지 못했기 때문에 주로 직접적인 프롬프트 입력이나 입력 후 모델의 반응을 분석하는 방식으로 진행하였다.
직접적인 질문뿐만 아니라 간접적인 질문을 해보며 모델이 의도한대로 동작하는지 확인해 보았으나 기대한 대로 취약점이 발견되지 않아 아쉬움이 남았다. 물론 많은 사람들이 사용하고 있는 모델에서 학생 수준으로 취약점을 찾아낼 수 있다면 그건 그거대로 문제이긴 하다.
하지만 ChatGPT에서는 사용자의 개인정보가 포함된 txt 파일을 필터링하지 않고 그대로 분석 후 출력하는 현상을 확인할 수 있었다. 이는 공격자가 파일을 열람하고 중요한 정보를 획득할 가능성이 존재하며 정보 누출 취약점으로 이어질 수 있을거라 생각한다.
주제 및 기간에는 5-6일 진행 했다고 작성해두긴 했지만 5일에는 오전은 강의만 듣다가 오후에 팀원들끼리 만나서 간단히 역할 분담, 취약점 진단 항목 살펴보기만 하고 수업이 끝났다. 그냥 6일 하루만에 취약점 진단 기준 작성 -> 취약점 진단 -> 결과 보고서 작성까지 다 한거나 다름없었다.
시간이 촉박한 데다 취약점 분석도 처음이라 무엇을 어떻게 해야할지 갈피를 잡기 어려웠다. 물론 기간이 더 주어졌으면 더 완성도 있게 결과물을 낼 수 있었을거란 보장은 없지만..
그리고 DeepSeek을 처음 사용해봤는데, 속도도 느리고 모델을 잘못 선택한 건지 한글 지원이 되지 않아 당황했다. 영어는 파파고로 해결할 수 있었지만 한글에 영어, 중국어까지 뒤섞어 출력하거나 "오늘 날씨가 어때?" 라는 질문에 "오늘은 창 밖에 비가 주륵주륵 내린다. 나는 커피 한 잔을 마시며.." 같은 답변이 나오는 기괴한 현상도 겪어 더욱 막막했다.
BurpSuite 같은 점검 도구도 활용해보고 싶었지만, 로컬 환경에서만 작업하다 보니 사용할 기회가 없었던 점이 아쉬웠다. 물론 사용했더라도 시간 부족으로 제대로 활용하지 못했을 가능성이 크지만…
위에서 다 언급했지만 시간이 너무 부족하게 느껴져서 좀 더 완성도 있는 결과물을 내지 못한 것이 아쉽다. 그래도 팀원들과 함께 취약점 진단 기준을 작성해보고 직접 진단해 보면서 각 취약점이 어떤 문제를 일으키고 어떻게 대응/예방할 수 있는지 확실히 이해할 수 있던 시간이라 힘들었지만 많은 도움이 되었다고 생각한다.
그리고 참고자료로 제공된 보안 가이드라인이나 OWASP TOP10 읽어보니까 재미도 있고.. 공부도 되는 것 같아서 앞으로 종종 읽어볼까 한다.
저도 GPT 많이 쓰는데 취약점에 대해서는 한번도 생각해본적이 없네요...ㄷㄷ
개인적인 생각인데 GPT가 이전 질문들에 대해 기억을 하고 다음 질문의 대답에 영향을 끼치는 경향이 있잖아요? 개인적인 민감한 질문을 한 상태로 다른 질문들을 물어볼 때 원치 않은 타이밍에 이전 민감한 질문의 내용이 반영되어 대답할 때가 있더라구요!
혹시 이것도 사회공학적으로 취약점이 아닐까? 하는 생각이 들어 댓글남겨봅니다ㅎ