웹 풀사이클 데브코스 TIL [Day 61] - 사내에서 오픈 소스 사용 시 주의 사항

2024.02.19(월)
⚠️오픈 소스 소프트웨어의 보안 리스크
- 오픈 소스 소프트웨어의 경우 소스코드가 공개되어 있으므로 취약점을 찾아 악용하기가 용이
- 대부분의 오픈소스 소프트웨어는 다른 오픈소스 소프트웨어를 활용하여 개발되기 때문에 일단 취약점이나 버그가 발생하면 여러 오픈소스 소프트웨어에 영향을 미침
- 오픈 소스 소프트웨어는 사후 지원・관리의무가 없어서 취약점 및 이슈 등이 발생하더라도 이를 그대로 방치하게 되는 경우가 많음

✅오픈 소스 소프트웨어 사용 단계 별 고려 사항
🔍개발 전
- 사전 기능 및 보안성 테스트
- 오픈 소스의 기능, 보안성에 대한 사전 검토
- 오픈 소스 이슈 현황 확인
- 해당 오픈 소스 취약점 정보 확인
- 기관(ex. RedHat)에 검토를 요청해서 신뢰성 검증
- 라이선스 검토
- 코드 수정사항 발생 시 사용한 오픈 소스에 대한 라이선스 정리를 통한 컴플라이언스 준수 검토
- 상호 충돌하는 라이선스 존재 여부 검토
- 법무법인 및 사내 법무팀에게 자문 요청
🚀개발 중
- 취약점 최소화
- 보안 부서와의 협업을 통해 개발이 완료되기 전에 인증, 리소스 사용이 큰 기능 등과 같은 중요 기능에 대한 취약점 최소화
- 대체 수단 확보
- 중요 기능의 경우, 기능 실패 혹은 법적 이슈 발생 시에 기능을 장애 없이 수행하기 위한 대비책 마련
- 자체 대응 및 추가 개발 역량 확보
- 중요 기능의 경우, 단순 사용 뿐 아니라 충분한 이해를 바탕으로 자체적인 커스터마이징 및 문제 해결 능력 확보
🔧개발 후
- 기능 및 보안성 테스트
- 테스트 부서, 보안 부서 등에서 해당 프로젝트에 대한 기능 및 보안성을 검사
- 배포 전, 오픈 소스 테스트 자동화 도구를 통해 기능 및 성능 점검
- 오픈 소스 취약점 이슈 검토 및 자체적인 정적·동적 분석을 통한 보안성 확보
- 종속성 검사
- 프로젝트에 사용된 외부 패키지 종속성 검사
- 오픈 소스가 사용하는 오픈 소스 확인
- 종속성 충돌 발생 시, 개발 팀과의 협의를 통해 빠른 문제해결
- 모니터링
- 운영팀: 사용된 있는 오픈 소스 현황 관리
- 보안팀: 사용된 있는 오픈 소스 취약점 정보 모니터링
- 보안패치
- 사용한 오픈 소스의 보안 패치를 확인 및 적용하여 취약점 최소화
보통 회사별로 매뉴얼이 존재