249
7
장
바이너리 보안
7.8.3 7.8.3
일회성 또는 주기성일회성 또는 주기성
알려진 취약점 검토와 컴플라이언스 검수 과정을 비교하면 몇 가지 차이점을 확인할 수 있다.
컴플라이언스부터 살펴보자.
컴플라이언스 검수
컴플라이언스의 범위를 규정하는 첫 번째 단계는 프로덕션 라인에서 사용할 라이선스를 정의
하는 것이다. 허용 라이선스를 정의할 때는 개발 의존성, 개발 툴, 런타임 환경까지 포함해야
한다. 그 외 부차적인 라이선스 유형은 각각에 특화된 컴플라이언스 검증 절차를 적용한다. 이
렇게 정의된 라이선스 목록을 바탕으로 빌드 자동화 단계에서 정기적으로 전체 툴 스택을 스캔
할 수 있다. 라이선스 위반 사례를 발견하면 해당 요소를 제거해야 하며 라이선스를 보유한 다
른 요소로 교체해야 한다.
취약점
취약점을 지속적으로 스캔하는 데 드는 노력은 취약점을 수정하는 데 필요한 작업량에 비해 상
대적으로 적다. 취약점을 처리하는 워크플로는 컴플라이언스와 약간 다르다. 그러나 준비만 철
저히 한다면 취약점 개선도 자동화 툴을 구축해 정기적으로 수행할 수 있다. 취약점을 식별하
는 순간 개선 워크플로가 발동되며 인간의 상호작용이 일부 개입한다. 취약점은 반드시 내부적
인 분류를 거쳐야 하며 그에 따라 다음 조치가 결정된다.
7.8.4 7.8.4
적정 스캐닝 조건적정 스캐닝 조건
이제 이번 절 도입부의 질문으로 돌아가보자. 스캐닝은 얼마나 자주 수행해야 하는가? 의존성
의 세계에서 사소한 변화란 없다. 의존성을 추가하거나 변경하면 원칙적으로 매번 보안을