콘텐츠센터

스패로우의 DevSecOps 여정: 보안을 개발 문화로 만들기

현대 소프트웨어 개발 환경에서 보안은 더 이상 릴리스 직전에 점검하는 선택 사항이 아닙니다. 개발 초기 단계부터 보안을 내재화하고, 자동화된 도구로 지속적으로 검증하는 체계가 필수가 되었는데요. 애플리케이션 보안 테스팅 도구를 개발하는 스패로우 역시 이러한 변화에 맞춰 사내 개발보안 문화를 정립하고 DevSecOps를 실제 개발 프로세스에 적용해왔습니다. 스패로우에서는 어떻게 DevSecOps를 실제로 구현했는지 그 여정을 소개합니다!

 

■ ​스패로우는 왜 DevSecOps를 선택했을까요?

과거 스패로우의 보안 점검 프로세스는 개발팀이 제품 기능 개발을 완료한 뒤 품질 검증을 진행함과 동시에 보안 점검을 수행하는 형태였습니다. 이 과정에서 취약점이 발견되면 개발팀으로 회신하여 취약점을 수정하고 재점검을 하는 방식이었죠. 그러나 이 과정에서 다양한 문제들이 발생했습니다.

제품 릴리즈 직전 발견된 취약점으로 인해 릴리즈 일정이 지연되기도 했고, 이미 작성되어 여러 검증을 거친 코드를 다시 수정하고 재점검하는 데 상당한 시간과 비용이 소요되었습니다. 개발 후반부로 갈수록 코드 수정의 파급 범위가 넓어지고, 연관된 테스트 케이스도 다시 검증해야 했기 때문입니다.

이러한 문제들을 해결하기 위해 스패로우는 ‘보안을 소프트웨어 개발 생명 주기 전반에 통합하자’는 목표 아래 Shift-Left 전략을 채택했습니다. 이 전략의 핵심은 개발자가 코드를 작성하는 순간부터 보안을 고려하고, 자동화된 보안 테스팅 도구가 이를 즉각적으로 검증하는 것입니다.

 

■ ​DevSecOps 파이프라인 구축 3단계

1️⃣ 개발 단계에 보안 테스팅 통합하기
DevSecOps 파이프라인의 첫 단계는 개발 단계에 보안 테스팅을 통합하는 일입니다. 개발자는 소스 코드를 작성하며 수시로 보안 테스팅을 수행합니다. 이 과정을 통해 취약한 코드나 안전하지 않은 오픈소스 구성 요소가 저장소에 유입되는 것을 차단할 수 있습니다. 개발 중에 취약점을 즉시 발견하고 조치하면, 나중 단계에서 수정하는 것에 비해 비용을 최대 30배까지 절감할 수 있다는 연구 결과도 있으며, 개발 단계에서는 해당 코드를 작성한 개발자가 바로 수정할 수 있어 컨텍스트 전환 비용이 최소화됩니다.

2️⃣ 빌드 단계에 보안 검사 통합하기
다음 단계는 CI/CD 빌드 단계에 보안 검사를 통합하는 일입니다. 코드 통합과 배포를 자동으로 수행하는 빌드 파이프라인에 애플리케이션 보안 테스팅 단계를 추가하여, 설정된 보안 기준에 미달하는 경우 빌드가 자동으로 실패하며 담당 개발팀에게 알림이 전송됩니다. 개발팀은 상세한 분석 리포트를 참고하여 취약점을 조치한 후 다시 빌드를 진행합니다.

3️⃣ 구성 요소 지속 모니터링하기
마지막 단계는 배포된 애플리케이션에 포함된 구성 요소를 지속적으로 모니터링하는 일입니다. 배포 시점에는 안전하다고 판단된 오픈소스 라이브러리나 의존성 패키지도 시간이 지나면서 새로운 취약점이 공개될 수 있습니다. 이러한 상황에 효과적으로 대응하기 위해 스패로우는 배포된 소프트웨어를 대상으로 SBOM(Software Bill of Materials)을 생성하고 관리합니다. SBOM에는 애플리케이션을 구성하는 모든 구성 요소 정보가 포함되어 있어, 새로운 취약점이 공개되었을 때 제품이 영향을 받는지 즉시 확인하여 효과적으로 모니터링할 수 있습니다.

 

■ ​DevSecOps의 완성, 사내 개발보안 문화 조성하기

자동화된 파이프라인 구축만으로는 DevSecOps가 성공적으로 정착되기 어렵습니다. 조직 내 개발보안 문화의 조성이 함께 이루어져야 합니다. 스패로우는 제품 개발에 참여하는 구성원들의 보안 역량을 향상시키기 위해 여러 교육 프로그램을 운영하고 있습니다. 동시에 신규 입사자들을 대상으로는 DevSecOps 프로세스 및 내부 시큐어코딩 가이드라인에 대한 온보딩 교육을 제공합니다.

또한, 처음부터 엄격한 정책을 적용하면 개발자들의 저항이 생기고 프로세스가 형식적으로 운영될 위험이 있습니다. 이를 최소화하기 위해 단계적으로 프로세스를 확대하는 접근법을 사용했습니다. 초기에는 개발자들이 도구와 프로세스에 익숙해질 수 있도록 보안 테스트 결과에 따른 빌드 차단 없이 리포트만 생성하고 검토하는 수준으로 운영했습니다. 이후 개발자들이 프로세스에 익숙해지면서 취약점의 심각도에 따라 차단의 범위를 확대하는 방식으로 정책을 강화했습니다. 마지막으로 실제 제품 개발 환경에서 발생할 수 있는 다양한 예외 상황을 처리하기 위한 예외 승인 프로세스도 함께 확립했습니다.

 

그 여정에서 배운 것들

안전한 소프트웨어 개발을 위해 DevSecOps 프로세스를 도입할 때 중요한 것은 처음부터 완벽한 시스템을 구축하는 것보다 작게라도 시작해서 지속적으로 개선해 나가는 것입니다. 이 과정에서 단순히 자동화 도구를 도입하는 것만으로는 부족하며, 조직 내 구성원이 왜 보안이 중요한지, 어떻게 하면 안전한 소프트웨어를 개발할 수 있는지에 대한 진정한 이해와 공감이 필요합니다.

DevSecOps는 하루아침에 완성되는 것이 아닙니다. 도구, 프로세스, 그리고 무엇보다 사람들의 인식 변화가 함께 이루어져야 합니다. 스패로우의 여정이 비슷한 고민을 하는 조직들에게 작은 영감이 되었으면 합니다. 보안은 제품의 품질이자 고객에 대한 약속입니다. 소프트웨어 개발 생명 주기 전반에 보안을 자연스럽게 통합한다면, 고객이 안심하고 사용할 수 있는 신뢰받는 소프트웨어를 만들 수 있습니다.

또한, 조직 구성원 모두가 보안의 중요성에 공감하는 문화가 함께 자리 잡아야 비로소 진정한 DevSecOps를 실현할 수 있습니다. 스패로우는 앞으로도 안전한 소프트웨어 개발 환경을 만들기 위한 기술과 경험을 꾸준히 공유해 나가겠습니다.

방금 읽은 이 콘텐츠가 마음에 드셨다면?
지금 바로 스패로우 뉴스레터 '스포'를 구독하고, 매주 인사이트를 가장 빠르게 받아보세요

개인정보처리방침

(주)스패로우 (이하회사) 고객님의 개인정보를 중요시하며, “정보통신망 이용촉진 및 정보보호에 관한 법률을 준수하고 있습니다.

회사는 개인정보처리방침을 통하여 고객님께서 제공하시는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며, 개인정보보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다.  회사는 개인정보처리방침을 개정하는 경우 웹사이트 공지사항(또는 개별공지)을 통하여 공지할 것입니다.

본 방침은 2024 1월 2일부터 시행됩니다.

 
제1조(개인정보의 처리목적)

수집하는 개인정보 항목 회사는 상담, 서비스 신청 등을 위해 아래와 같은 개인정보를 수집하고 있습니다. 회사는

수집한 개인정보를 다음의 목적을 위해 활용합니다.

  • 수집항목: 이름, 회사명, 이메일, 연락처
  • 수집방법: 홈페이지(문의하기, 뉴스레터 구독신청, 이벤트 프로모션 신청, 브로슈어 다운로드)
  • 수집목적: 정보이용 및 이벤트 신청에 따른 본인 확인, 개인 식별, 불만처리 등 민원처리 마케팅 및 광고에 활용 이벤트 등 광고성 정보 전달, 접속 빈도 파악 또는 회원의 서비스 이용에 대한 통계
 
 
제2조(개인정보의 처리 및 보유기간)
1. 회사는 법령에 따른 개인정보 보유·이용기간 또는 이용자로부터 개인정보를 수집시에 동의받은 개인정보 보유·이용기간 내에서 개인정보를 처리·보유하며 개인정보 수집 및 이용목적이 달성된 후에는 예외없이 해당 정보를 지체 없이 파기합니다.
 
2. 각각의 개인정보 처리 및 보유 기간은 다음과 같습니다.
(1) 홈페이지 회원 가입 및 관리 : 홈페이지 탈퇴시까지 다만, 다음의 사유에 해당하는 경우에는 해당 사유 종료시까지
 1) 관계 법령 위반에 따른 수사·조사 등이 진행중인 경우에는 해당 수사·조사 종료시까지
 2) 홈페이지 이용에 따른 채권·채무관계 잔존시에는 해당 채권·채무관계 정산시까지
(2) 재화 또는 서비스 제공 : 재화․서비스 공급완료 및 요금결제․정산 완료시까지 다만, 다음의 사유에 해당하는 경우에는 해당 기간 종료시까지
 1)「전자상거래 등에서의 소비자 보호에 관한 법률」에 따른 표시·광고, 계약내용 및 이행 등 거래에 관한 기록
 – 표시·광고에 관한 기록 : 6개월
  계약 또는 청약철회 등에 관한 기록 : 5년
  대금결제 및 재화 등의 공급에 관한 기록 : 5년
 – 소비자 불만 또는 분쟁처리에 관한 기록 : 3년
 2)「통신비밀보호법」제41조에 따른 통신사실확인자료 보관
(3)컴퓨터통신, 인터넷 로그기록자료, 접속지 추적자료 : 3개월
 
 
제3조(개인정보처리의 위탁)
1. 회사는 원활한 개인정보 업무처리를 위하여 다음과 같이 개인정보 처리업무를 위탁하고 있습니다.
 (1) 고객지원 센터 운영
  위탁받는 자 (수탁자) : HubSpot Inc.
  위탁하는 업무의 내용 : 영업/기술/제품 등 문의 수집 및 안내(답변) 관리
 (2) 모바일 쿠폰 경품 발송 업무
  위탁받는 자 (수탁자) : 비즈콘
  위탁하는 업무의 내용 : 이벤트 진행 후 모바일 쿠폰 경품 발송
2. 회사는 위탁계약 체결시 개인정보보호법 제26조에 따라 위탁업무 수행목적 외 개인정보 처리금지, 기술적·관리적 보호조치, 재위탁 제한, 수탁자에 대한 관리·감독, 손해배상 등 책임에 관한 사항을 계약서 등 문서에 명시하고, 수탁자가 개인정보를 안전하게 처리하는지를 감독하고 있습니다.
3. 위탁업무의 내용이나 수탁자가 변경될 경우에는 지체없이 본 개인정보 처리방침을 통하여 공개하도록 하겠습니다.
 
 
제4조(개인정보의 국외 이전)
회사는 원활한 서비스데스크의 원활한 서비스 제공을 위하여 아래와 같이 해외에 위치한 업체에 개인정보 처리를 위탁하고 있습니다.
1. 정보관리책임자 연락처 : Nicholas Knoop / privacy@hubspot.com
 
 
제5조(이용자의 권리․의무 및 행사방법)
 
이용자 및 법정 대리인은 언제든지 등록되어 있는 자신 혹은 당해 만 14세 미만 아동의 개인정보를 조회하거나 수정할 수 있으며 가입해지를 요청할 수도 있습니다. 이용자 혹은 만 14세 미만 아동의 개인정보 조회 · 수정을 위해서는 ‘개인정보변경'(또는 ‘회원정보수정’ 등)을 가입해지(동의철회)를 위해서는 “회원 탈퇴”를 클릭하여 본인 확인 절차를 거치신 후 직접 열람, 정정 또는 탈퇴가 가능합니다. 혹은 개인정보 관리책임자에게 서면, 전화 또는 이메일로 연락하시면 지체없이 조치하겠습니다.

귀하가 개인정보의 오류에 대한 정정을 요청하신 경우에는 정정을 완료하기 전까지 당해 개인정보를 이용 또는 제공하지 않습니다. 또한 잘못된 개인정보를 제3자 에게 이미 제공한 경우에는 정정 처리결과를 제3자에게 지체없이 통지하여 정정이 이루어지도록 하겠습니다.

회사는 이용자 혹은 법정 대리인의 요청에 의해 해지 또는 삭제된 개인정보는 “회사가 수집하는 개인정보의 보유 및 이용기간”에 명시된 바에 따라 처리하고 그 외의 용도로 열람 또는 이용할 수 없도록 처리하고 있습니다.

 
 
제6조(처리하는 개인정보 항목)
회사는 다음의 개인정보 항목을 처리하고 있습니다.
 
1. 고객 홈페이지를 통한 고객문의 대응 및 마케팅 활용 용도
 회원 필수항목: 성명, 이메일주소, 비밀번호, 전화번호, 회사명
 비회원 필수항목: 성명, 이메일주소, 전화번호, 회사명
2. 실시간 헬프데스크 운영
 필수항목 : 성명, 회사명, 전화번호, 이메일주소
고객문의 과정에서 고객지원 수탁업체(Hubspot)를 사용하며 생성된 수집한 IP 주소, 방문기록, 지역 등이 사용될 수 있습니다.
3. 회사는 인터넷 서비스 이용과정에서 고객의 선호 사항 등을 기억해 서비스를 효율적으로 제공하기 위해 개인정보를 저장하고 조회하는 쿠키(Cookie, 이하 ‘쿠키’)를 설치하거나 운용할 수 있습니다. 회사는 고객이 웹 브라우저에 접속하면 고객의 브라우저에 저장된 쿠키의 내용을 읽고, 추가 정보를 찾아 이후 접속할 시 맞춤 서비스를 제공할 수 있습니다. 회사가 쿠키를 통해 수집한 고객의 정보는 아래 목적 등을 위해 사용될 수 있습니다. 
 고객의 관심 분야에 따라 차별화한 정보 제공
 관심있게 둘러본 내용의 자취를 추적해 추후 접속 때 개인 맞춤 서비스 제공
 고객들의 패턴을 분석해 서비스 개편 등의 척도로 활용

고객은 위 목적으로 운영되는 맞춤
서비스를 원치 않을 시, 쿠키의 저장을 거부할 수 있습니다.

 
제7조(개인정보의 파기)

회사는 원칙적으로 개인정보 수집 및 이용목적이 달성된 후에는 해당 정보를 지체없이 파기합니다. 파기절차 및 방법은 다음과 같습니다.

  • 파기절차: 제품 정보이용을 위해 입력하신 개인정보는 목적이 달성된 후 별도의 DB로 옮겨져(종이의 경우 별도의 서류함) 내부 방침 및 기타 관련 법령에 의한 정보보호 사유에 따라(보유 및 이용기간 참조) 일정 기간 저장된 후 파기되어집니다. 별도 DB로 옮겨진 개인정보는 법률에 의한 경우가 아니고서는 보유되어지는 이외의 다른 목적으로 이용되지 않습니다.
  • 파기방법 : DB삭제 방법으로 파기합니다.
 
 
제8조(개인정보의 안전성 확보조치)
 
1. 기술적 대책: 회사는 고객님의 개인정보가 분실, 도난, 누출, 변조 또는 훼손되지 않도록 다음과 같은 기술적 대책을 마련하고 있습니다.
 (1) 개인정보는 암호화 되어 저장되어 있으며 권한이 있는 자만 접근이 가능하도록 ID/비밀번호에 의해 접근이 통제되고 있습니다.
 (2) 접속기록은 위변조를 방지하기 위해 외부 접근이 불가능한 데이터베이스에 보관되어 있습니다.
 (3) HTTPS 프로토콜을 통한 통신데이터를 보호하고, 외부 서비스를 제외한 모든 데이터베이스는 외부접근이 불가능한 네트워크 영역에 구축하는 등 해킹 등에 대비한 기술적 방법을 마련하고 있습니다.
2. 관리적 대책
 (1) 개인정보에 대한 접근 및 관리에 필요한 절차 등을 마련하여 소속 직원으로 하여금 이를 숙지하여 지키도록 하고 있습니다.
 (2) 개인정보에 대한 접근권한을 최소한의 인원으로 제한하고 있습니다. 최소한의 인원에 해당하는 자는 다음과 같습니다
  1) 이용자를 직접 상대로 하여 마케팅 업무를 수행하는 자
  2) 개인정보 관리책임자, 담당자 등 개인정보 관리업무를 수행하는 자
  3) 기타 업무상 개인정보의 취급이 불가피한 자
 (3) 개인정보에 대한 접근과 관리에 필요한 절차 등을 마련하여 소속 직원으로 하여금 이를 숙지하여 지키도록 하고 있으며, 개인정보를 취급하는 직원을 대상으로 새로운 보안 기술 습득 및 개인정보보호 의무 등에 관한 정기적인 사내 교육과 외부 위탁교육을 시행하고 있습니다.
 (4) 개인정보 관련 취급자의 업무 인수인계는 보안이 유지된 상태에서 철저하게 이뤄지고 있으며 입사 및 퇴사 후 개인정보 사고에 대한 책임을 명확히 하고 있습니다.
 (5) 신규직원을 채용할 때 정보보호서약서 또는 개인정보보호서약서에 서명하게 하여 직원에 의한 정보유출을 사전에 방지하고 있으며 개인정보처리방침에 대한 이행사항과 직원의 준수 여부를 감사하기 위한 내부 절차를 마련해 지속적으로 시행하고 있습니다.
 (6) 직원이 퇴직할 때 비밀유지서약서에 서명하게 함으로써 고객의 개인정보를 취급하였던 자가 직무상 알게 된 개인정보를 훼손, 침해 또는 누설하지 않도록 하고 있습니다.
 (7) 이용자 개인의 실수나 기본적인 인터넷의 위험성 때문에 일어나는 일에 대해 책임을 지지 않습니다. 회원 개개인은 본인의 개인정보를 보호하기 위하여 자신의 이메일(e-mail) 과 비밀번호(PASSWORD)를 적절하게 관리하고 이에 대해 책임을 져야 합니다. 또한, 다른 사람이 추측할 수 있는 쉬운 비밀번호(PASSWORD)는 사용을 피하기를 권장하며, 정기적으로 비밀번호(PASSWORD)를 변경하는 것이 바람직합니다.
 (8) 공동으로 사용하는 PC에서 저희 홈페이지에 접속하여 로그인한 상태에서 다른 사이트로 이동할 경우에 서비스 이용을 종료하고자 한다면 반드시 로그아웃 한 후 해당 홈페이지를 종료하시기 바랍니다. 그렇지 않으면, 해당 브라우저를 통해 이메일(e-mail), 비밀번호(PASSWORD) 등 고객님의 정보가 타인에게 쉽게 유출될 수 있습니다.
 (9) 그 밖에 내부 관리자의 실수나 기술 관리상의 사고로 개인정보의 상실, 유출, 변조, 훼손이 유발되면 당사는 즉각 그 사실을 알리고 적절한 대책과 보상을 마련할 것입니다.
 
 
 
제9조(개인정보 자동 수집 장치의 설치∙운영 및 거부에 관한 사항)
1. 회사는 이용자에게 개별적인 맞춤서비스를 제공하기 위해 이용정보를 저장하고 수시로 불러오는 ‘쿠키(cookie)’를 사용합니다.
2. 쿠키는 웹사이트를 운영하는데 이용되는 서버(https)가 이용자의 컴퓨터 브라우저에게 보내는 소량의 정보이며 이용자들의 PC 컴퓨터내의 하드디스크에 저장되기도 합니다.
 
 (1) 쿠키의 사용목적: 이용자가 방문한 각 서비스와 웹 사이트들에 대한 방문 및 이용형태, 인기 검색어, 보안접속 여부, 등을 파악하여 이용자에게 최적화된 정보 제공을 위해 사용됩니다.
 (2) 쿠키의 설치∙운영 및 거부 : 웹브라우저 상단의 도구 > 인터넷 옵션 > 개인정보 메뉴의 옵션 설정을 통해 쿠키 저장을 거부 할 수 있습니다.
 (3) 쿠키 저장을 거부할 경우 맞춤형 서비스 이용에 어려움이 발생할 수 있습니다.
 
3. 웹사이트 상에서 분석 도구인 Google Analytics를 사용할 수 있습니다. Google 웹 로그 분석에서 쿠키를 사용하는 방법에 대한 자세한 내용은 www.google.com/policies/privacy/partners에서 확인할 수 있습니다. 또한, https://tools.google.com/dlpage/gaoptout를 통해 모든 웹 사이트에서 Google Analytics의 사용을 중지할 수도 있습니다.
 
 
 
제10조(개인정보 보호책임자)
1. 회사는 개인정보 처리에 관한 업무를 총괄해서 책임지고, 개인정보 처리와 관련한 이용자의 불만처리 및 피해구제 등을 위하여 아래와 같이 개인정보 보호책임자를 지정하고 있습니다.
 개인정보 보호책임자
– 성명 : 안성준
 직책 : 마케팅팀장
 연락처 : 02-6263-7408, privacy@sparrow.im
 
2. 귀하께서는 회사의 서비스를 이용하시며 발생하는 모든 개인정보보호 관련 민원을 개인정보관리책임자 혹은 담당부서로 신고하실 수 있습니다.
 
 
 
제11조(개인정보 열람청구)
이용자는 개인정보 보호법 제35조에 따른 개인정보의 열람 청구를 개인정보보호 담당 부서에 할 수 있습니다. 회사는 이용자의 개인정보 열람청구가 신속하게 처리되도록 노력하겠습니다.
 
 
 
제12조(권익침해 구제방법)
이용자는 아래의 기관에 대해 개인정보 침해에 대한 피해구제, 상담 등을 문의하실 수 있습니다. 아래의 기관은 회사와는 별개의 기관으로서, 회사의 자체적인 개인정보 불만처리, 피해구제 결과에 만족하지 못하시거나 보다 자세한 도움이 필요하시면 문의하여 주시기 바랍니다
 
▶ 개인정보 침해신고센터: (국번없이)118 (privacy.kisa.or.kr)
▶ 개인정보 분쟁조정위원회: (국번없이) 1833-6972 (www.kopico.go.kr)
▶ 대검찰청 사이버수사과 : (국번없이)1301 (www.spo.go.kr)
▶ 경찰청 사이버수사국 : (국번없이)182 (https://police.go.kr)
 
 
 
 
제13조(개인정보 처리방침 변경)
1. 본 개인정보처리 방침의 내용 추가, 삭제 및 수정이 있을 시에는 개정 최소 7일전부터 ‘홈페이지 ‘를 통해 고지하며, 개인정보의 수집 및 활용, 제3자 제공 등과 같이 이용자 권리의 중요한 변경은 최소 30일 전에 고지합니다. 다만, 사전 고지하기로 한 일자 내 고지가 곤란한 경우에는 지체 없이 고지합니다.
2. 이 개인정보 처리방침은 2024. 1. 2부터 적용됩니다.