[기고] 금융과 오픈소스 그리고 카카오뱅크의 오픈소스 활용 및 보안 관리
[기고] 금융과 오픈소스 그리고 카카오뱅크의 오픈소스 활용 및 보안 관리
-카카오뱅크 하헌관
-카카오뱅크 이민애
-카카오뱅크 한지연
-카카오뱅크 박규남
1. 개요
최근 몇 년 동안, 금융 산업은 디지털 전환과 함께 오픈소스 기술에 대한 투자와 관심이 지속적으로 확대되고 있다. 금융권은 전통적으로 보수적이고 철저한 보안이 요구되는 관계로 혁신에 대한 진입 장벽이 높았으나, 기술 변화에 발맞추기 위해 오픈소스 역할이 대폭 강화되고 있다.
다양한 산업 분야에서 오픈소스 활용의 중요성이 부각되는 만큼 금융 분야도 혁신, 개발 속도 향상, 비용 절감, 유연성 향상 및 협업 촉진의 핵심 도구로서 그 중요성이 계속해서 증가하고 있으며, 금융 서비스 혁신과 경쟁 우위 확보를 위한 필수적 전략으로 자리 잡았다. 현대 금융 시스템의 복잡성과 급변하는 시장 환경을 고려할 때, 오픈소스는 더 이상 선택의 영역이 아닌 필수 요소로 간주된다.
이러한 이유로 오픈소스의 활용이 계속 증가하고 있는 만큼 오픈소스의 관리와 보안의 중요성도 함께 부각되고 있다. 오픈소스를 안전하게 활용하기 위해서는 라이선스 준수 및 보안 취약점에 대한 체계적인 관리가 필요하다. 오픈소스 라이선스는 종류에 따라 고지의무, 코드 공개, 특허권 등 요구사항이나 제약조건이 상이하기 때문에 의무 사항을 위반하면 법적 제재를 받을 수 있다. 또한, 오픈소스는 소스코드가 공개되어 있으므로 취약점을 찾아 악용하기가 쉽기 때문에 관리가 필수적이다.
오픈소스 관리에 대한 해결책 중 하나로 SBOM(Software Bill of Materials)이 주목을 받고 있다. SBOM은 소프트웨어 제품에 포함된 모든 오픈소스 컴포넌트의 목록을 제공하며, 각 컴포넌트의 라이선스, 버전, 출처 및 관련 정보를 포함한다. 안정적이며 고효율의 소프트웨어 개발을 위해서는 SBOM을 통한 오픈소스 관리와 보안 전략 구축이 필요하며, 이를 통해 지속적인 성장과 혁신을 위한 기반을 마련할 수 있다.
특히, 금융권에서는 오픈소스 리스크 관리 측면에서의 취약성이 지적되고 있기에 금융 기관들은 안정적이고 효율적인 소프트웨어 개발을 위해 오픈소스 관리와 그에 따른 전략적 방향성을 지속적으로 모색해야 한다.
2. 금융분야 오픈소스 소프트웨어 활용관리 안내서 발간
오픈소스의 체계적인 활용과 관리가 점차 중요하게 인식됨에 따라 해외 기관들은 이미 오픈소스 활용과 관리에 필요한 주요 고려사항과 지침을 상세하게 발표하였으나, 국내 금융권에서는 IT 거버넌스 특성을 반영한 맞춤형 가이드가 부족한 실정이다. 국내 금융권에서도 오픈소스를 활용한 디지털 혁신이 가속화되고 연구, 개발 분야의 망 분리 규제 개선 등 전자금융 감독규정 개정안이 시행됨에 따라 2022년 하반기에 금융감독원과 금융보안원은 국민은행, 카카오뱅크, 신한라이프, 네이버파이낸셜과 함께 「오픈소스 소프트웨어 활용관리 안내서」 제정 작업을 진행하였다.
오픈소스 소프트웨어 활용관리 안내서는 규제적 측면을 넘어서 오픈소스 소프트웨어 활용에 있어 주의해야 할 핵심 사항과 관리 프로세스를 제공함으로써, 안전한 오픈소스 활용 문화를 정착시키고 금융권의 자율적인 보안 체계를 강화하려는 의도로 작성되었다. 해당 안내서의 주요 대상은 오픈소스 소프트웨어를 활용하려는 금융회사와 전자금융 업체로 한정되며, 오픈소스 소프트웨어의 라이선스 준수 및 안전 활용과 관련된 핵심 사항에 집중하고 있다.
안내서는 총 5개의 장으로 개요, 오픈소스 소프트웨어 소개, 오픈소스 소프트웨어 보안성 관리, 오픈소스 소프트웨어 라이선스 관리, 오픈소스 소프트웨어 관리 절차에 관한 내용을 담고 있다. 오픈소스 관리에 대한 전반적인 내용과 더불어 각 금융사의 사례와 Best Practice, 자가점검 체크리스트 등을 함께 안내하였다.
자세한 내용은 금융감독원 또는 금융감독원의 홈페이지를 통해 확인할 수 있다.
3. 카카오뱅크 ISO/IEC 5230 인증
2022년 1월 카카오뱅크는 국내 금융사 최초로 ISO/IEC 5230 인증을 획득했다. ISO/IEC 5230은 Linux Foundation의 OpenChain Project를 통해 구축된 ISO 국제 표준이며, 기업들이 오픈소스 컴플라이언스를 효과적으로 관리할 수 있는 핵심 요구사항들을 포함하고 있다. 이 표준에서는 기업의 오픈소스 정책과 프로세스 수립의 적정성, 컴플라이언스 시스템 구축, 담당 조직과 인력의 전문성, 사내 구성원의 교육 수행 등의 다양한 영역에 대한 기준을 제시하고 있다.
카카오뱅크는 ISO/IEC 5230 인증을 위해 각 요구사항을 식별한 뒤, 오픈소스 프로그램 매니저, 보안팀, 법무팀, 개발팀 등 관련 조직의 책임자로 구성된 협의체를 설립하였다. 해당 협의체에서는 각 부서 담당자들의 주요 역할, 업무 범위, 그리고 필요한 역량에 대해 정의하였다.
사내 오픈소스 정책과 가이드 문서를 배포하고 오픈소스 식별, 외부 문의 대응 등 다양한 프로세스 및 관련 담당자와 R&R도 사내 시스템을 통해 누구나 확인할 수 있다.
배포용 소프트웨어에 해당하는 모바일 어플리케이션의 경우 오픈소스 프로그램 매니저가 오픈소스 고지문 작업을 통해 오픈소스 컴플라이언스 산출물을 관리하고 있으며, 고지문은 카카오뱅크 어플리케이션에서 확인할 수 있다. 그리고 안드로이드, iOS 어플리케이션은 오픈소스 리스크를 최소화하기 위해 오픈소스를 사용하기 전에 어플리케이션 개발자들로부터 오픈소스에 대해 미리 공유받고 있다. 오픈소스 프로그램 매니저는 해당 오픈소스에 대하여 라이선스 이슈가 없는지 확인하고 보안팀과 함께 보안 취약점 이슈가 없는지 사전에 검증한다.
개발자들이 오픈소스를 사용하기 전에 오픈소스에 관한 내용을 사전에 공유함으로써 오픈소스의 정보를 조기에 확인할 수 있고 이를 통해 소프트웨어의 출시 시기를 단축하고, 비용을 절감하며, 높은 품질의 코드 활용이 가능하다.
오픈소스 식별 도구로는 상용 도구인 FOSSID와 카카오에서 개발한 오픈소스 도구인 Olive를 활용하였으며, API와 스크립트를 통해 CI/CD와 연동하여 분석 작업을 자동화하였다. 도구는 누구나 자유롭게 사용할 수 있도록 사내 오픈하였으며 사용 가이드도 함께 공유하였다.
기업의 오픈소스 정책과 프로세스도 중요하지만, 무엇보다 오픈소스 컴플라이언스 관리에서 가장 중요한 요소는 교육이라고 할 수 있다. 단순히 오픈소스를 가져다 사용하는 것을 넘어서 올바르게 사용하고 이해하기 위해 주기적으로 사내 교육을 진행하고, 오픈소스와 관련된 최신 동향도 함께 공유하고 있다.
4. 소프트웨어 공급망 위협과 SBOM
솔라윈즈 사태나 오픈소스 Log4j 등 보안 위협 사례가 증가함에 따라 소프트웨어 공급망 보안에 대한 관심이 크게 증대되었다. 소프트웨어 공급망이란 어플리케이션 개발에서 배포까지의 전 과정에서 필요한 모든 구성요소를 아우르며, 이는 3rd Party, 솔루션 그리고 오픈소스와 같은 컴포넌트를 포함한다. 소프트웨어 공급망 보안은 이러한 소프트웨어 공급망의 과정에서 발생할 수 있는 다양한 위험과 위협으로부터 소프트웨어 공급망을 보호하는 중요한 측면을 다루고 있다.
대부분의 소프트웨어는 처음부터 새로 개발하는 대신 오픈소스와 같은 기존 소프트웨어 자원을 활용하여 개발되고 있다. 그러나 오픈소스 소프트웨어는 특정 기업이나 단체에서 개발을 주도하는 것이 아니며, 참여에 제약이 적기 때문에 취약점이 발생할 가능성이 높다. 이러한 이유로 소프트웨어의 보안을 잘 검수하였더라도 오픈소스 취약점을 통해 공격받을 수 있다. 특히 오픈소스 취약점은 취약점에 대한 정보가 공개적으로 노출되어 있어, 신속하게 패치가 적용되지 않으면 악용될 위험이 높다. 실제로 해커들은 오픈소스 취약점을 공격의 진입점으로 자주 활용한다.
오픈소스는 시간이 지날수록 개발자가 패치나 변경 사항을 효과적으로 제어하기 어려워지는 경향이 있으며, 이로 인해 공급망 보안의 중요성이 점차 상승하고 있다. 특히 금융 분야에서는 취약점 공격으로 인한 금전적 피해가 발생하면 그 파급효과가 상당히 커질 수 있기 때문에 소프트웨어 공급망에 대한 보안 대책과 체계를 잘 마련하는 것이 중요하다.
미국 연방정부는 공급망 보안을 위해 정부 기관에 소프트웨어를 납품할 경우 SBOM을 의무적으로 제출하도록 하는 사이버보안 행정명령을 내렸다. 국내에서도 과기정통부가 소프트웨어 공급망 보안 SBOM 제도화 추진 등을 위해 간담회를 하는 등 국내외적으로 관심이 높아지고 있음을 짐작할 수 있다.
SBOM은 복잡도가 높아지는 현대의 소프트웨어 환경에서 제품의 안전성과 품질을 보장하기 위한 핵심 도구라고 할 수 있다. 기업은 SBOM을 통해 사용 중인 오픈소스의 히스토리를 명확하게 파악하고, 잠재적인 위험을 식별하고 관리할 수 있으며 컴포넌트를 쉽게 식별하고 추적하여 보안 취약점을 빠르게 찾아내고 해결할 수 있다. SBOM은 소프트웨어 공급망 보안을 대비하기 위해서만 사용되는 것이 아니라 오픈소스 컴플라이언스를 지키기 위한 도구로도 활용할 수 있다.
기업과 소비자 모두 SBOM의 중요성을 인식하고, 이를 활용해 더 안전하고 품질 높은 소프트웨어 환경을 만들어가는 것이 필요하다. 카카오뱅크도 이러한 중요성을 인식하고 SBOM을 구축하기 위해 노력을 기울여왔다. 또한 SBOM도 변경관리(Change Management)의 한 부분으로 인식하고 어플리케이션의 버전이 변경될 때마다 히스토리 관리가 되어 언제든지 추적할 수 있도록 구성되어 있다.
카카오뱅크는 오픈소스 취약점 발생 시 취약점의 식별과 그에 따른 후속 조치를 위해 개발팀, 오픈소스 프로그램 매니저, 보안팀이 함께 협력하여 내부 프로세스에 따라 효과적으로 대응하고 있다. SBOM을 통해 신규 오픈소스 보안 취약점이 식별되면, 보안팀은 해당 취약점의 위험도 및 영향도를 검토하며 패치 적용 가이드를 제시한다. 개발자는 보안팀의 가이드에 따라 취약점 패치 작업을 진행하고 오픈소스 프로그램 매니저는 SBOM 업데이트 및 오픈소스 고지문 업데이트 후 취약점이 조치된 버전을 배포하고 있다.
이외에도 SW의 취약점을 다양한 방면에서 검토할 수 있도록 정적 및 동적 점검을 수행하고 있다. 정적 점검은 소스 코드를 분석하여 잠재적인 취약점과 보안 이슈를 식별하며, 개발 초기 단계에서 이를 해결할 수 있도록 돕는다. 이는 개발자들이 코드를 작성하면서 발생할 수 있는 실수나 보안 문제를 사전에 찾아내는 데 중요한 역할을 한다. 동적 점검은 실행중인 소프트웨어의 동작을 분석하여 취약점을 찾아내고, 시스템이 공격으로부터 안전하게 작동하는지 확인하는 데 사용된다. 이는 런타임 환경에서 발생하는 문제나 미처 파악하지 못한 취약점을 감지하여 보완할 수 있도록 도와준다.
이러한 정적 및 동적 점검은 소프트웨어 보안에 있어서 중요한 역할을 하며, 개발 프로세스의 초기 단계부터 운영 환경에서의 모니터링까지 적용된다. 또한 이러한 점검 절차는 자동화되어 개발자 및 보안팀이 지속적으로 소프트웨어의 안정성을 확보하고 공격으로부터 사전 대응할 수 있도록 돕는다. 카카오뱅크는 개발 파이프라인을 통한 정적 및 동적 점검 자동화를 지원하고 있다. 이를 통해 소프트웨어 공급망의 안정성과 신뢰성을 강화하며, 새로운 보안 취약점이나 위협에 대비할 수 있게 된다.
5. 카카오뱅크 ISO/IEC 18974 인증 준비
앞서 언급했던 대로 오픈소스를 사용할 때 오픈소스 라이선스와 보안 취약점에 대해 각별히 신경을 써야 한다. 오픈소스 컴플라이언스와 관련된 국제 표준인증 ISO/IEC 5230에 이어서 OpenChain Project는 오픈소스 보안 표준인증 ISO/IEC 18974를 만들기 위해 준비하고 있다. ISO/IEC 5230과 마찬가지로 기업들이 오픈소스 보안 체계를 효과적으로 갖추도록 도와주는 핵심 요구사항들을 포함하고 있다.
카카오뱅크도 일찍이 보안 요구사항을 만족시키기 위해서 지난 8월부터 오픈소스 프로그램 매니저와 보안팀이 함께 보안 표준인증을 획득하기 위한 작업을 준비하고 있다. 이를 통해 보안 위협으로부터 적절한 정책과 프로세스를 갖추고 동시에 오픈소스를 안전하게 활용할 수 있는 기반을 마련하고 있다.
6. 향후 계획
오픈소스의 활용과 관리의 중요성이 그 어느 때보다 강조되고 있는 만큼 카카오뱅크도 체계적이고 지속 가능한 오픈소스 관리 전략을 구축하기 위해 다양한 노력을 펼치고 있다. 오픈소스 컴플라이언스와 보안은 오픈소스 관리의 핵심 가치이며, 리스크를 최소화하기 위해 프로세스, 자동화 및 교육 등을 통해 지속적으로 고도화할 것이다.
카카오뱅크의 오픈소스 관리 경험과 노하우를 금융 그리고 다양한 업계와 공유함으로써 국내 오픈소스 관리 분야에 기여하고자 한다. 서로의 Best Practice 사례를 공유하고, 함께 발전하는 역동적인 관계를 구축하는 것을 목표로 삼고 있다.
카카오뱅크
IT변경관리팀 하헌관 매니저 |
카카오뱅크
IT변경관리팀 이민애 매니저 |
카카오뱅크
어플리케이션보안팀 한지연 매니저 |
카카오뱅크
어플리케이션보안팀 박규남 팀장 |
※ 참고문헌
- 금융감독원, 금융보안원, 「오픈소스 소프트웨어 활용관리 안내서」
- 정보통신산업진흥원, 「기업 공개소프트웨어 거버넌스 가이드」
- https://openchain-project.github.io/OpenChain-KWG/guide/governance_iso5230/
- OpenChain Open Source Software License Compliance General Public Guide
- ISO/IEC 5230:2020 Information Technology – OpenChain Specification
0개 댓글