설계상 안전

설계상 안전, 계획된 보안, 시큐어 바이 디자인(Secure by design, SbD)으로 알려진 사이버 보안 및 시스템 공학 개념은 보안이 나중에 추가되는 것이 아니라 시스템에 처음부터 통합되어야 한다고 규정한다. 이는 패치 또는 외부 제어를 통해 나중에 개조하는 대신, 하드웨어, 소프트웨어 및 서비스에 대한 설계 프로세스의 초기 단계부터 보호 기능을 통합함으로써 보안 요구 사항을 아키텍처 자체에 통합하는 데 중점을 둔다.

시스템이 공격받을 것이라고 가정할 때, 설계상 안전은 침해를 어렵게 만들고, 통제하며, 복구 가능하게 하기 위해 아키텍처를 제한하는 것을 포함한다. 이는 심층 방어, 공격 표면 최소화, 최소 권한의 원칙, 탐지 및 대응 메커니즘 통합과 같은 전략을 강조한다. SbD는 배포 후 주로 취약점 관리에 의존하는 반응적 접근 방식과 달리 보안을 성능, 유용성 및 비용과 동등한 설계 제약으로 취급한다.

공급망 공격 및 랜섬웨어 캠페인과 같은 중요한 사이버 이벤트가 반응적 보안의 단점을 보여주었기 때문에 설계상 안전은 21세기에 인기를 얻었다. SbD 관행은 이제 소비자 사물인터넷(IoT) 장치에서 방어 시스템에 이르기까지 다양한 영역에서 정부, 기업 및 표준 조직에 의해 더 자주 요구된다. 이 아이디어는 안전 설계, 프라이버시 설계, 그리고 복원력 있는 시스템 공학을 향한 더 큰 추세와 유사점을 가지고 있다.

 핵심 개념 
설계상 안전은 여러 가지 근본적인 개념을 기반으로 한다:

 설계 제약으로서의 보안: 보안 사양은 개념 설계 프로세스에 통합되어야 하며 프로젝트 개발의 모든 단계에서 유지되어야 한다.
 시스템이 활동적인 적이 있는 적대적인 환경에서 기능한다고 가정하므로 공격을 예측한다.
 최소 권한: 사용자, 프로세스 및 서비스에 가장 필수적인 권한만 부여된다.
 계층화된 보안 제어 및 심층 방어는 전체 침해의 가능성을 줄인다.
 필요한 기능, 인터페이스 및 서비스만 노출하여 공격 표면을 줄인다.
 지속적인 보증: 보안 조치는 지속적으로 테스트, 관찰 및 개선되어야 한다.
 비밀을 피한다. 강력하고 개방적인 설계는 독점적인 모호함이 아니라 보안의 기반이 되어야 한다.

이러한 아이디어는 안전 설계, 프라이버시 설계, 제로 트러스트 아키텍처(ZTA)와 같은 관련 패러다임과 상호 보완적이며 중복된다.

 방법론 
설계상 안전은 단일 방법이 아니라 애자일, 폭포수 및 데브섹옵스와 같은 다양한 개발 수명 주기에서 사용될 수 있는 설계 철학이다. 잘 알려진 프레임워크와 방법은 다음과 같다:

 마이크로소프트 보안 개발 수명 주기(SDL)는 제품 제작의 모든 단계에 보안을 추가한다.
 NIST SP 800-160 Volume 2는 시스템 보안 공학을 사용하여 침입하기 어려운 시스템을 만든다.
 위협 모델링은 보안 설계를 위한 프레임워크, 방법론 및 기술 세트이다.
 SEI Secure Design Patterns (카네기 멜런 대학교, 2009) – 일반적인 보안 문제를 해결하기 위해 반복적으로 사용될 수 있는 전략.
 MoD Secure by Design Implementation Guide – 영국 방위 부문을 위한 모범 사례 세트.

 정부 및 산업 채택 
설계상 안전은 여러 분야에서 필수 또는 권장되어 왔다:

 미국 국립표준기술연구소(NIST)는 SP 800-160 및 SP 800-53(보안 제어)을 통해 SbD를 홍보한다. 사이버보안 및 인프라 보안국(CISA)도 소프트웨어 제조업체를 위한 설계상 안전 가이드라인을 발표했다.
 영국 정부는 정부 디지털 서비스(GDS) 및 국방부를 통해 디지털 서비스에 SbD를 요구한다. 이는 위험을 염두에 둔 설계, 지속적인 보증 제공 및 공격 표면 축소를 의미한다.
 사이버 복원력 법안은 유럽 연합에서 제품 수명 주기 전반에 걸쳐 보안을 강조하며, 이는 SbD 원칙과 일치한다.
 소비자 IoT: ETSI TS 103 645는 영국과 EU의 IoT 규칙에 사용되는 보안 표준을 설정한다.

 비판 및 과제 
널리 지지되고 있지만, 설계상 안전은 실제로 다음과 같은 과제에 직면해 있다:

 비용 및 복잡성 – 보안 설계에 대한 초기 투자는 선행 비용을 증가시킬 수 있다.
 레거시 시스템 – 오래된 아키텍처에 SbD를 적용하는 것은 종종 비실용적이다.
 공급망 의존성 – 타사 소프트웨어 및 구성 요소가 SbD 관행을 약화시킬 수 있다.
 인적 요인 – 잘못 설계된 제어는 사용자가 이를 우회하여 효과를 감소시킬 수 있다.

이러한 과제에도 불구하고 SbD는 지능형 지속 공격, 랜섬웨어 및 공급망 공격에 대응하는 데 점점 더 필수적인 것으로 간주되고 있다.

 같이 보기 
 컴퓨터 보안
 사이버 보안 표준
 하드닝
 다중 독립 보안 레벨
 모호함을 통한 보안
 소프트웨어 보안 보증

 외부 링크 
 리눅스 및 유닉스 보안 프로그래밍 HOWTO
 유닉스 보안 프로그래밍 FAQ
 상위 10가지 보안 코딩 관행
 보안 설계 원칙

분류:소프트웨어 개발 철학
분류:소프트웨어 개발 프로세스
분류:컴퓨터 보안 절차
분류:소프트웨어 품질