무결성을 보호하기 위한 디자인
설계, 구현, 운영 및 데이터의 손상을 방지하여 시스템이 의도한 유틸리티를 제공하지 못하거나 규정된 한계를 벗어나 작동하는 중단을 방지합니다. 시스템은 워크로드 수명 주기 전반에 걸쳐 정보 보증을 제공해야 합니다. |
---|
핵심은 비즈니스 논리, 흐름, 배포 프로세스, 데이터, 심지어 운영 체제 및 부팅 시퀀스와 같은 하위 스택 구성 요소의 변조를 방지하는 제어 기능을 구현하는 것입니다. 무결성이 부족하면 기밀성 및 가용성 침해로 이어질 수 있는 취약점이 발생할 수 있습니다.
예제 시나리오
Contoso Paint Systems는 산업용 스프레이 페인팅 기계를 위한 증기 감지 및 환기 제어 시스템을 만듭니다. 이 시스템은 환경 영향 보고를 위해 대기질 데이터를 자동으로 캡처하는 데도 사용됩니다. 페인팅 부스 전체에 배포된 IoT 장치를 지원하는 클라우드 기반 애플리케이션을 보유하고 있습니다. 애플리케이션의 온-프레미스 구성 요소는 Azure Stack HCI 및 사용자 지정 IoT 디바이스에서 실행됩니다. 이 시스템은 초기 프로토타입 단계에 있으며 워크로드 팀은 1년 이내에 프로덕션 버전을 출시할 계획입니다.
공급망 방어
취약점을 지속적으로 보호하고 공급망에서 취약점을 탐지하여 공격자가 인프라, 빌드 시스템, 도구, 라이브러리 및 기타 종속성에 소프트웨어 결함을 주입하는 것을 차단하세요. 빌드 시간 및 런타임 중에 취약점을 검사해야 합니다.
소프트웨어의 출처를 파악하고 수명 주기 전반에 걸쳐 진위 여부를 확인하면 예측 가능성을 확보할 수 있습니다. 취약점을 미리 파악하여 선제적으로 문제를 해결하고 운영 환경에서 시스템을 안전하게 유지할 수 있습니다.
Contoso의 과제
- 엔지니어링 팀은 빌드 및 릴리스 파이프라인을 구현하고 있지만 아직 빌드 시스템의 무결성을 해결하지 못했습니다.
- 펌웨어와 클라우드 구성 요소 모두에서 몇 가지 오픈 소스 솔루션을 사용하기로 결정했습니다.
- 공급망 침해 또는 악의적인 내부자가 코드를 손상시켜 시스템을 중단시키거나 데이터를 유출하는 데 사용할 수 있다는 사실을 들어보셨을 것입니다. 고객의 환경 보고가 영향을 받아 보고를 하지 않거나 감사에서 허위 진술이 발견되는 경우, Contoso와 고객에게 미치는 영향은 치명적일 수 있습니다.
접근 방식 및 결과 적용
- 팀은 펌웨어와 백 엔드 클라우드 시스템 모두에 대한 빌드 프로세스를 수정하고 이제 종속성에서 알려진 일반적인 취약성 및 노출(CVE)을 경고하는 보안 검사 단계를 포함합니다. 또한 이제 코드와 패키지에 대한 멀웨어 검사도 포함됩니다.
- 또한 Windows Defender 애플리케이션 제어와 같은 Azure Stack HCI에서 실행하기 위한 맬웨어 방지 옵션도 살펴봅니다.
- 이러한 조치는 이 솔루션의 일부로 배포되는 펌웨어 및 소프트웨어가 예기치 않은 작업을 수행하여 시스템의 무결성 또는 고객의 환경 보고 요구 사항에 영향을 미치지 않는다는 확신을 높이는 데 도움이 됩니다.
강력한 암호화 메커니즘 사용
코드 서명, 인증서 및 암호화와 같은 암호화 기술을 사용하여 신뢰를 구축하고 확인합니다. 평판이 좋은 암호 해독을 허용하여 이러한 메커니즘을 보호하세요.
이 접근 방식을 채택하면 데이터 변경이나 시스템 액세스가 신뢰할 수 있는 출처에 의해 확인된다는 것을 알 수 있습니다.
악의적인 행위자가 전송 중에 암호화된 데이터를 가로채더라도 행위자가 콘텐츠의 잠금을 해제하거나 해독할 수 없습니다. 디지털 서명을 사용하여 전송 중에 데이터가 변조되지 않았는지 확인할 수 있습니다.
Contoso의 과제
- 감지 및 데이터 전송을 위해 선택된 장치는 현재 HTTPS 또는 사용자 지정 암호화를 지원할 수 있는 충분한 처리 능력을 갖추지 못했습니다.
- 워크로드 팀은 네트워크 경계를 기본 격리 기술로 사용할 계획입니다.
- 위험 분석 검토에 따르면 IoT 디바이스와 제어 시스템 간의 암호화되지 않은 통신은 변조로 이어질 수 있으며, 네트워크 분할이 충분하지 않다고 간주해서는 안 된다고 강조했습니다.
접근 방식 및 결과 적용
- 이 팀은 사용자 지정 IoT 디바이스 제조업체와 협력하여 인증서 기반 통신뿐만 아니라 칩에서 코드 서명 유효성 검사를 지원하는 고성능 디바이스를 사용하기로 결정하여 서명된 펌웨어만 실행되도록 하세요.
백업 보안 최적화
데이터가 복제되거나 전송될 때 백업 데이터가 변경 불가능하고 암호화되었는지 확인하세요.
이 접근 방식을 채택하면 백업 데이터가 실수나 악의적으로 변경되지 않았다는 확신을 가지고 데이터를 복구할 수 있습니다.
Contoso의 과제
- 매월 환경 보호국 배출량 보고서가 생성되지만, 이 보고서는 1년에 세 번만 제출하면 됩니다.
- 보고서가 생성된 후 전송이 필요할 때까지 Azure Storage 계정에 저장됩니다. 이는 보고 시스템에 재해가 발생할 경우를 대비한 백업용으로 수행됩니다.
- 백업 보고서 자체는 암호화되지 않지만 HTTP를 통해 스토리지 계정으로 전송됩니다.
접근 방식 및 결과 적용
- 보안 격차 분석을 수행한 결과, 팀은 백업을 암호화하지 않은 채로 두는 것이 해결해야 할 위험이라는 것을 알게 되었습니다. 팀은 보고서를 암호화하고 Azure blob Storage의 WORM(Write One, Read Many) 변경 불가능한 스토리지 옵션에 저장하여 위험을 해결합니다.
- 새로운 접근 방식을 사용하면 백업의 무결성이 유지됩니다.
- 추가적인 무결성 조치로, 이제 메인 시스템에서 생성된 보고서는 SHA 해시를 권한 있는 백업과 비교하여 기본 데이터 소스에 대한 변조를 감지합니다.