vulnerability-analysis

2 개의 포스트

LLM을 이용한 서비스 취약점 분석 자동화 #1 (새 탭에서 열림)

토스 보안 연구팀은 구글의 'Project Naptime'에서 영감을 얻어 LLM 기반의 취약점 분석 자동화 시스템을 구축했습니다. 대용량 코드 처리, 결과의 불확실성, 운영 비용 등 실무 적용 과정에서 마주한 네 가지 핵심 기술적 난제를 단계별로 해결하며 최종적으로 95% 이상의 분석 정확도를 달성했습니다. 기술적 가능성을 넘어 실제 수백 개의 서비스에 지속적으로 적용 가능한 수준의 보안 자동화 환경을 마련했다는 점에 의의가 있습니다. **대용량 소스코드 분석을 위한 MCP 도입** * 단순히 소스코드 전체를 LLM에 입력하는 방식은 토큰 한계와 환각(Hallucination) 문제로 인해 대규모 프로젝트 분석에는 부적합했습니다. * 대안으로 RAG(검색 증강 생성)를 시도했으나 코드 간의 복잡한 연관 관계를 파악하는 데 한계가 있었습니다. * 최종적으로 MCP(Model Context Protocol)를 구축하여 LLM 에이전트가 필요할 때마다 함수 정의나 변수 사용처를 도구 호출(Tool Calling) 방식으로 자유롭게 탐색하도록 설계했습니다. **SAST 결합을 통한 분석 일관성 확보** * 동일한 코드에 대해서도 분석 결과가 매번 달라지는 LLM의 비결정성 문제를 해결하기 위해 정적 분석 도구(SAST)를 결합했습니다. * 빌드 과정이 복잡하고 무거운 CodeQL 대신, 가볍고 빠른 오픈소스 도구인 Semgrep을 활용하여 모든 입력 경로(Source)에서 위험 지점(Sink)까지의 경로를 먼저 수집했습니다. * SAST가 추출한 잠재적 취약 경로를 LLM이 집중 분석하게 함으로써 탐지 누락을 방지하고 분석의 신뢰도를 높였습니다. **멀티 에이전트 체계를 통한 비용 최적화** * 모든 코드 경로를 심층 분석할 경우 발생하는 막대한 토큰 비용을 줄이기 위해 역할을 분담한 세 가지 에이전트를 도입했습니다. * **Discovery 에이전트:** 수집된 경로 중 실제 취약점 가능성이 높은 경로를 1차로 선별하는 거름망 역할을 수행합니다. * **Analysis 에이전트:** 선별된 경로를 심층 분석하여 실제 취약 여부를 판별합니다. * **Review 에이전트:** 최종 결과를 검토하여 오탐(False Positive)을 제거함으로써 분석의 정교함을 더했습니다. **지속 가능한 운영을 위한 오픈 모델 전환** * 상용 클라우드 모델(Claude 등)의 높은 비용 문제를 해결하기 위해 직접 호스팅 가능한 오픈 모델(Open Model)로 전환했습니다. * Qwen3:30B, gpt-oss:20B, llama3.1:8B 등 다양한 모델의 ROI를 비교 분석한 결과, 취약점 분석 정확도와 도구 호출 성능이 가장 우수한 'Qwen3:30B'를 최종 선택했습니다. * 오픈 모델의 성능을 보완하기 위해 프롬프트 엔지니어링과 퓨샷 러닝(Few-shot Learning)을 적용하여 클라우드 모델 못지않은 성능을 구현했습니다. 단순히 최신 기술을 도입하는 것에 그치지 않고, 기업 환경에서 실제 운영 가능한 수준의 '비용 대비 성능'을 확보하는 것이 중요합니다. LLM 취약점 분석 시스템을 구축할 때는 모든 판단을 모델에 맡기기보다 Semgrep과 같은 전통적인 보안 도구로 분석 범위를 좁혀주고, 멀티 에이전트 구조로 단계별 필터링을 거치는 설계가 실무적으로 가장 효과적입니다.

커뮤니티와 함께 성장하는 실무 보안 지식, LINE CTF (새 탭에서 열림)

LINE CTF는 글로벌 보안 전문가들이 최신 공격 및 방어 기법을 공유하며 기술적으로 성장하는 장으로, 2025년 대회는 AI 시대에 맞춘 고도화된 문제 설계와 다국적 협업을 통해 성공적으로 운영되었습니다. LY Corporation은 단순한 경쟁을 넘어 보안 커뮤니티의 발전을 도모하며, 참가자들이 실전적인 취약점 분석 역량을 기를 수 있도록 대회를 매년 정교화하고 있습니다. 올해 대회는 개인정보 보호를 강화한 시스템 운영과 완성도 높은 문제를 통해 아시아를 대표하는 보안 이벤트로서의 입지를 공고히 했습니다. **AI 시대의 공정성을 고려한 문제 설계** * AI 도구(LLM 등)를 이용한 코드 분석이나 자동화 연산이 활발해진 환경을 반영하여, 도구 사용 여부와 관계없이 문제의 핵심 논리를 이해해야만 해결할 수 있도록 설계했습니다. * 일부 문제에는 AI가 의도적으로 잘못된 분석 결과를 내놓도록 유도하는 요소를 포함하여, 참가자의 순수한 분석력과 사고력을 검증했습니다. * 웹(6), 포너블(4), 역공학(3) 등 총 13개의 문제를 통해 최신 기술 트렌드와 실무 보안 상황을 결합한 고난도 콘텐츠를 제공했습니다. **다국적 협업과 체계적인 운영 프로세스** * 한국 보안 팀이 기획을 주도하고, 베트남 엔지니어들이 가장 많은 문제를 출제했으며, 일본 팀이 검수와 자문을 맡는 등 긴밀한 글로벌 협업 구조를 구축했습니다. * LY Corporation 통합 이후 처음으로 적용된 내부 행정 및 승인 프로세스를 통해 출제, 운영, 검토 단계를 세밀하게 관리하며 대회의 안정성을 높였습니다. * CTFtime 평점이 3년 연속 상승(35.0 → 66.5)하며 문제의 깊이와 운영 품질에 대해 글로벌 커뮤니티로부터 높은 신뢰를 얻었습니다. **Jeopardy 형식 기반의 기술적 탐구** * 참가자가 독립된 문제를 자유롭게 선택해 플래그(Flag)를 찾는 Jeopardy 방식을 채택하여 24시간 동안 순수한 문제 해결 능력에 집중할 수 있게 했습니다. * 오픈소스 CTF 프레임워크인 CTFd를 커스터마이징하여 사용했으며, Discord를 통해 전 세계 참가자들과 실시간으로 소통하며 건강한 기술 공유 문화를 형성했습니다. * 한국의 'The Duck' 팀이 3년 연속 우승을 차지한 가운데, 종료 직전까지 2, 3위 순위가 뒤바뀌는 긴박한 경쟁 환경을 제공했습니다. **보안성과 편의성을 모두 잡은 플랫폼 운영** * 개인정보 보호를 최우선으로 하여 이메일 등록 없이 '복구 코드(Recovery Code)'만으로 계정을 관리할 수 있는 시스템을 설계하여 개인정보 유출 리스크를 원천 차단했습니다. * 수백 명의 동시 접속에도 견딜 수 있는 안정적인 서버 인프라를 구축하여 대회 기간 중 기술적 장애 없는 쾌적한 환경을 유지했습니다. * 비정상적인 플래그 거래나 부정행위 없이 성숙한 커뮤니티 매너 속에서 대회가 진행되어 운영 안정성을 확보했습니다. 보안 엔지니어로서 실무 감각을 익히고 취약점 분석 역량을 한 단계 높이고 싶다면, 매년 정교한 난이도와 최신 트렌드를 반영하는 LINE CTF에 도전해 보기를 추천합니다. 직접 문제를 해결하며 얻는 논리적 사고력과 성취감은 실무 현장에서 강력한 자산이 될 것입니다.