자바 애플리케이션의 보안 검수 방법 살펴보기

안녕하세요. LINE에서 보안 업무를 담당하고 있는 최하늘입니다. LINE은 메신저 이외에도 많은 서비스를 론칭하고 있고 각 서비스는 새로운 기능이 추가되거나 버그가 수정될 때마다 수시로 업데이트됩니다. 보안 팀에선 새로 출시한 서비스나 업데이트한 서비스에 보안 상 문제가 없는지 확인하는데요. 이때 기존 코드에 이미 수행했던 동일한 보안 평가를 서비스에 새로 추가된 코드에 반복적으로 수행해야 하는 경우가 많았습니다. 그래서 보안 팀에선 자주 발견되는 보안 취약점 패턴을 정의하는 등 취약점을 자동으로 탐지해내기 위해 끊임없이 노력하고 있는데요. 이와 더불어 개발자들이 개발 과정에서 취약점을 자동으로 발견할 수 있는 도구를 사용한다면 보안 평가 과정에서 발견되는 보안 이슈가 훨씬 줄어들 수 있을 것입니다. 실제로 이를 위한 오픈소스나 상용 제품이 존재하며 LINE에서도 이를 적용하여 애플리케이션의 보안 이슈를 사전에 제거하려고 노력하고 있습니다. 이번 글에서는 보안 취약점을 자동으로 찾아내는 방법 중의 하나인 정적 분석에 대해서 알아보고, 자바(Java)용 오픈소스 정적 분석 도구인 SpotBugs를 보안 평가에 어떻게 활용할 수 있는지 알아보겠습니다.