교육

[팔로 알토 네트웍스] 사이버보안 기초 #5

김구티2 2024. 5. 4. 13:28

[5주차] 사이버 보안 모델 & 디자인 원리

학습목표

1. 제로 트러스트 설계 원리, 아키텍처, 기능 및 구현 살펴 보기
2. 경계 기반 네트워크 보안 전략 검토
3. 보안 정책, 모델 및 트러스트 바운더리 학습

[5-1] 제로 트러스트

제로 트러스트 보안

Forrester Research가 도입한 제로 트러스트 보안 모델은 신뢰 가정을 제거함으로써 경계 기반 네트워크 보안 전략의 일부 한계를 해결한다. 제로 트러스트를 사용하면 모든 사용자, 장치, 애플리케이션 및 데이터 리소스는 물론, 위치에 관계없이 서로 간의 통신 트래픽에 대한 정책 집행 및 보호 기능을 제공하는 방식으로 필수 보안 기능이 구축된다.

 

특히 제로 트러스트를 사용하면 사용자, 장치, 애플리케이션 및 패킷을 포함한 모든 엔티티에 대한 기본 신뢰가 없으며, 엔터프라이즈 네트워크상의 위치 또는 상대적 위치에 관계없이 신뢰할 수 있다. 인증된 엔티티가 항상 허용된 작업만 수행한다는 것을 확인하는 것도 제로 트러스트 모델에서는 더 이상 선택 사항이 아니다. 이제 그것은 필수사항이다.

 

이러한 변경 사항은 다음과 같은 요구 사항을 의미한다.

① 내부 컴퓨팅 환경의 다양한 세그먼트를 효과적으로 구획하는 트러스트 바운더리를 설정할 필요성

일반적인 아이디어는 보안 기능을 보호가 필요한 리소스의 포켓에 더 가깝게 이동시키는 것이다. 이러한 방식으로, 보안은 연관된 통신 트래픽의 원점에 관계없이 항상 시행될 수 있다.

 

② 트러스트 바운더리가 초기 승인 및 액세스 제어 시행 이상의 역할을 수행해야 하는 필요성

"항상 확인"하기 위해서는 위협을 비롯한 파괴적인 활동에 대한 관련 통신 트래픽의 지속적인 모니터링 및 검사도 필요하다.

 

제로 트러스트 네트워크 구현의 이점은 다음과 같다.

① 애플리케이션의 가시성 및 안전한 활성화, 사이버 위협 탐지 및 예방을 통해 데이터 손실을 완화하는 효과가 확실히 향상된다.

 

② 트러스트 바운더리를 사용하여 민감한 애플리케이션, 시스템 및 데이터를 분류함으로써 보안 및 개인 정보 보호 의무 준수를 달성하고 유지하는 효율성이 향상된다.

③ 사용자 이동성, BYOD(Bring Your Own Device) 및 BYOA(Bring Your Own Access), 인프라 가상화 및 클라우드 컴퓨팅과 같은 IT 기술을 안전하게 지원한다.

④ 사일로화된 특수 목적의 보안 포인트 제품이 분산된 배열이 아닌, 통합되고 완벽하게 통합된 보안 운영 플랫폼을 통해 총 비용(TCO)을 낮춘다.

 

핵심적인 제로 트러스트 디자인 설계 원리

제로 트러스트 구현의 운영 목표를 정의하는 핵심 제로 트러스트 원칙은 다음과 같다.

 

① 위치에 관계없이 모든 리소스에 안전하게 액세스할 수 있는지 확인하라

이 원칙은 세션이 내부 네트워크로 제한되어 있는 경우에도 다중 트러스트 바운더리가 필요할 뿐만 아니라, 리소스와의 통신을 위한 보안 액세스 사용이 증가함을 시사한다. 이는 또한, 네트워크 액세스가 허용된 유일한 장치의 상태와 설정이 올바른지, 승인된 VPN 클라이언트와 적절한 비밀번호가 있는지, 악성 코드가 실행되고 있지 않은지 확인하는 것을 의미한다.

②최소 권한 전략을 채택하고 액세스 제어를 엄격하게 시행하라

목표는 맬웨어 및 공격자가 무단 액세스를 얻은 후 사이드로 확산 또는 민감한 데이터에 침투할 수 있는 경로를 줄이기 위한 수단으로 리소스에 대한 허용된 액세스를 최소화하는 것이다.

③ 모든 트래픽을 검사하고 기록하라

이 원칙은 "항상 확인"해야 할 필요성을 반복하는 동시에, 적절한 보호를 위해서는 엄격한 액세스 제어 시행 이상의 것이 필요하다는 점을 강조한다. 또한 "허용된" 응용 프로그램이 실제로 수행하는 작업이 정확히 무엇인지에 대해 면밀하고 지속적인 주의를 기울이며, 이러한 목표를 달성하는 유일한 방법은 콘텐츠에 위협이 있는지 검사하는 것이다.

 

제로 트러스트 개념적 아키텍처

전통적인 보안 모델은 침입 및 악용이 발생할 수 있는 영역인 공격 표면을 식별하고 전체 표면을 방어하려고 시도한다. 불행히도 전체 공격 표면을 식별하는 것은 어려운 일이다. 승인되지 않은 애플리케이션, 장치 및 잘못 구성된 인프라는 사용자가 모르는 사이에 해당 공격 표면을 확장할 수 있기 때문이다.

 

그리고 제로 트러스트에서 보호 표면을 식별할 수 있다. 보호 표면은 네트워크의 가장 중요하고 가치 있는 데이터, 자산, 애플리케이션 및 서비스(DAAS)로 구성된다. 조직의 운영에 가장 중요한 것만 포함하기 때문에 보호 표면은 공격 표면보다 몇 배나 작고, 항상 알 수 있는 개념이 되었다.

 

보호 표면을 식별하면, 보호 표면과 관련하여 트래픽이 조직 전체에서 어떻게 이동하는지 확인할 수 있다. 사용자가 누구인지, 어떤 애플리케이션을 사용하고 있는지, 어떻게 연결하고 있는지를 이해하는 것만이 데이터에 대한 안전한 액세스를 보장하는 정책을 결정하고 시행할 수 있는 유일한 방법이다. DAAS, 인프라, 서비스 및 사용자 간의 상호 의존성을 이해하려면, 보호 표면에 가능한 한 가까운 곳에 제어 장치를 설치하여 주변에 마이크로 경계를 만들어야 한다. 이 마이크로 경계는 어디를 가든지 보호 표면과 함께 이동한다.

 

 

제로 트러스트 모델에서는 알려진 트래픽과 허용된 트래픽에만 보호 표면에 대한 액세스가 허용된다. 이 액세스는 분할 게이트웨이, 일반적으로 차세대 방화벽에 의해 제어된다. 분할 게이트웨이는 트래픽과 보호 표면에 액세스하려는 사용자에 대한 가시성을 제공하고 액세스 제어를 시행하며 추가적인 검사 계층을 제공한다.

 

제로 트러스트 정책은 보호 표면을 세분화된 제어를 제공하여 사용자가 작업을 수행하는 데 필요한 데이터 및 애플리케이션에 액세스할 수 있도록 하지만, 그 이상은 액세스할 수 없도록 한다. 이를 최소 권한 액세스라고 한다.

 

또한, 네트워크에서 제로 트러스트 최소 권한 액세스 모델을 구현하려면, 방화벽이 다음을 수행해야 한다.

① 트래픽에서 애플리케이션과 해당 애플리케이션의 기능을 파악하고 제어
전통적인 보안 인프라는 포트와 프로토콜을 통해 애플리케이션을 설명한다. 제로 트러스트의 최소 권한 액세스 모델은 포트와 프로토콜 정의가 달성할 수 없는 애플리케이션 사용에 대한 정확한 제어가 필요하다.

 

② 특정 애플리케이션을 허용하고 다른 모든 것을 차단
허용 목록을 통해 특정 애플리케이션 집합을 허용하고 다른 모든 것을 거부하면, 조직이 공격받을 수 있는 방법이 크게 줄어든다.

 

③ 사용자의 그룹 구성원 자격에 따라 민감한 애플리케이션 및 데이터에 대한 액세스를 동적으로 정의
많은 전통적인 보안 정책은 네트워크에서 엔드포인트의 위치를 기반으로 액세스를 정의한다. 기업 이동성이 전통적인 네트워크 경계를 흐리지 않았더라도, 네트워크 위치는 사용자와 할당된 권한에 대한 열악한 식별자라 할 수 있다.

 

④ 장치 또는 장치 그룹에서 민감한 애플리케이션 및 데이터, 사용자 및 사용자 그룹에서 특정 장치로의 액세스를 동적으로 정의
이것은 기기가 사용자와 같은 방식으로 애플리케이션 및 데이터에 액세스할 수 있는 IoT가 많은 환경에서 중요하다. 예를 들어, 의료 장비는 민감한 데이터를 특정 애플리케이션 또는 저장소로 보내고 있을 수 있다. 악의적이거나 심지어 우발적인 액세스는 제조 장비 또는 산업 제어 시스템을 방해할 수 있을 것이다.

 

⑤ 인증을 통해 사용자의 신원 확인
가장 중요한 데이터에 대한 액세스를 위해 방화벽은 액세스를 허용하기 전에 조직의 인증 서버에서 얻은 사용자 정보를 다른 인증 방법으로 검증해야 한다. 이를 통해 트래픽이 예상되는 사용자로부터 들어오는 것이 아니라, 사용자를 사칭하는 사람으로부터 들어오는 것임을 확인할 수 있다.

 

⑥ 민감한 데이터 또는 애플리케이션과 관련된 리소스를 동적으로 정의

많은 데이터 센터 및 PaaS 환경은 리소스를 애플리케이션에 동적으로 할당한다. 보안 상태가 현재 리소스 할당과 일치하는지 확인하려면 방화벽이 변화하는 환경과 함께 조정해야 한다.

 

⑦ 파일 유형 및 내용별로 데이터 제어

위험한 파일 유형을 차단하면 공격을 받을 수 있는 방법이 줄어들고, 공격자가 데이터를 유출할 수 있는 방법이 줄어든다.

 

따라서 원하는 사용자, 승인되지 않은 사용자 및 잠재적으로 유해한 상호 작용을 자동으로 제거하면서, 올바른 사용자 세트에 적합한 애플리케이션에 안전하게 액세스할 수 있는 세분화된 제어 기능을 제공한다.

 

위 그림에 표시된 제로 트러스트 개념 아키텍처의 주요 구성 요소는 다음과 같다.

 

① 제로 트러스트 세그멘테이션 플랫폼

Forrester Research는 제로 트러스트 세그멘테이션 플랫폼을 네트워크 세분화 게이트웨이라고 부른다. 이 플랫폼은 내부 트러스트 바운더리를 정의하는 데 사용되는 구성 요소로, 다음과 같은 기능을 포함하여 제로 트러스트 운영 목표를 달성하는 데 필요한 보안 기능의 대부분을 제공한다.

⑴ 보안 네트워크 액세스 사용
⑵ 리소스 간의 트래픽 흐름을 세분화하여 제어
⑶ 모든 위협 활동에 대해 허용된 세션을 지속적 모니터링

 

위 그림은 제로 트러스트 세분화 플랫폼을 단일 물리적 위치에서 단일 구성 요소로 묘사하고 있지만, 실제로는 성능, 확장성 및 물리적 한계로 인해 조직의 네트워크 전체에 분산된 여러 인스턴스가 효과적으로 구현될 가능성이 더 높다. 또한, 이 솔루션은 공격 표면을 줄이고 발견된 위협에 대한 정보를 상호 연관시키기 위해 종합적인 위협 보호 프레임워크의 일부로 작동하는 여러 개의 개별 혹은 잠재적으로 분산된 보안 기술의 집합체라는 사실을 반영하여 "플랫폼"으로 지정되었다.

 

② 트러스트 존

Forrester Research는 트러스스 톤을 MCAP(마이크로 코어 및 경계)라고 부른다. 트러스트 존은 구성원 리소스가 동일한 신뢰 수준에서 작동할 뿐만 아니라, 유사한 기능을 공유하는 인프라의 별개의 포켓이다. 특정 영역을 드나드는 허용된 경로의 수를 최소화하고, 다시 악의적인 내부자 및 기타 유형의 위협이 중요한 리소스에 무단으로 액세스할 수 있는 가능성을 최소화하려면, 프로토콜 및 트랜잭션 유형과 같은 기능을 공유해야 한다.

 

위 그림에 표시된 트러스트 존의 예로는 사용자 영역(또는 캠퍼스), 게스트 액세스를 위한 무선 영역, 카드 소지자 데이터 영역, 멀티 티어 서비스를 위한 데이터베이스 및 애플리케이션 영역, 공개적으로 대면하는 웹 애플리케이션을 위한 영역 등이 있다.

또한, 트러스트 존은 해당 구역 내의 시스템이 서로 자유롭게 직접 통신할 수 있는 것이 아니다. 완전한 제로 트러스트 구현을 위해, 네트워크는 동일한 영역에 있는 장치 간의 트래픽을 포함한 모든 통신 트래픽이 해당하는 제로 트러스트 세분화 플랫폼에 의해 중개되도록 구성된다.

 

③ 매니지먼트 인프라

중앙 집중식 관리 기능은 효율적인 관리와 지속적인 모니터링을 가능하게 하는 데 매우 중요하며, 특히 여러 분산된 제로 트러스트 세분화 플랫폼을 포함하는 구현의 경우 더욱 그러하다. 또한, 데이터 수집 네트워크는 제로 트러스트 세분화 플랫폼의 기본 모니터링 및 분석 기능을 보완하는 편리한 방법을 제공한다. 그런 다음 데이터 수집 네트워크로 전달된 세션 로그를 네트워크 가시성을 더욱 높이고 알려지지 않은 위협을 탐지하거나 컴플라이언스 보고를 지원하는 등 다양한 대역외 분석 도구와 기술로 처리할 수 있다.

 

주요 제로 트러스트 기준 및 기능
모든 제로 트러스트 네트워크 보안 아키텍처의 핵심은 제로 트러스트 세분화 플랫폼이므로 올바른 솔루션을 선택해야 한다. 제로 트러스트 세분화 플랫폼을 선택할 때 고려해야 할 주요 기준과 기능은 다음과 같다.

 

① 보안 액세스

모든 직원, 파트너, 고객 및 게스트가 어디에 있든, 일관된 보안 IPsec 및 SSL VPN 연결을 제공해야 한다. 민감한 애플리케이션 및 데이터에 액세스할 수 있는 사용자 및 장치를 결정하는 정책은 애플리케이션, 사용자, 콘텐츠, 장치 및 장치 상태를 기반으로 정의할 수 있다.

 

② 모든 트래픽 검사

애플리케이션 식별은 포트 및 프로토콜에 관계없이 모든 트래픽을 정확하게 식별하고 분류하며, 포트 호핑 또는 암호화와 같은 회피 전술을 사용한다. 애플리케이션 식별은 멀웨어가 탐지에서 숨기기 위해 사용할 수 있는 방법을 제거하고, 애플리케이션, 관련 콘텐츠 및 위협에 대한 완전한 컨텍스트를 제공한다.

 

③ 최소 권한 액세스 제어

애플리케이션, 사용자 및 콘텐츠 식별 기능의 조합은 조직이 사용 중인 특정 애플리케이션 및 개별 기능, 사용자 및 그룹 ID, 액세스 중인 특정 유형 또는 데이터 조각(신용카드 번호 등)을 포함하여 광범위한 비즈니스 관련 속성을 기반으로, 리소스와의 상호 작용을 제어할 수 있도록 하는 긍정적인 제어 모델을 제공한다. 결과적으로 올바른 사용자 세트에 맞는 올바른 애플리케이션을 안전하게 지원하는 동시에, 원치 않거나 승인되지 않은 잠재적으로 유해한 트래픽이 네트워크에 액세스하는 것을 자동으로 방지하는 세분화된 액세스 제어 기능을 제공해야 한다.

 

④ 사이버 위협 보호

악성 소프트웨어 방지, 침입 방지 및 사이버 위협 방지 기술의 조합은 모바일 장치의 위협을 포함하여 알려진 위협과 알려지지 않은 위협 모두에 대한 포괄적인 보호를 제공한다. 폐쇄 루프의 고도로 통합된 방어 지원은 또한 위협 보호 프레임워크의 인라인 시행 장치 및 기타 구성 요소가 자동으로 업데이트되도록 보장해야 한다.

 

⑤ 모든 보안 영역 적용 여부

가상 및 하드웨어 어플라이언스는 원격 사무실이나 지사 사무실, 모바일 사용자, 인터넷 경계, 클라우드, 데이터 센터 전체의 입력 지점, 존재하는 모든 곳의 개별 영역을 포함한 조직의 전체 네트워크에 일관되고 비용 효율적인 트러스트 바운더리를 설정해야 한다.

 

제로 트러스트 설계 구현

제로 트러스트 네트워크 보안 모델을 구현하면, 조직의 네트워크 및 보안 인프라를 대대적으로 점검할 필요가 없다. 제로 트러스트 설계 아키텍처는 기존 네트워크를 점진적으로 수정하고 사용자에게 완전히 투명하게 제공하는 방식으로 구현할 수 있다. 이러한 유연한 구축 접근 방식의 장점으로는 운영에 미칠 수 있는 잠재적 영향을 최소화하고 시간이 지남에 따라 필요한 투자 및 작업 노력을 분산할 수 있다는 점을 들 수 있다.

 

시작하려면 List Only 모드에서 Zero Trust Segmentation Platform을 구성하여 특정 사용자가 특정 애플리케이션 및 데이터 리소스를 어디서, 언제, 어느 정도까지 사용하고 있는지를 포함하여 네트워크 전체의 트래픽 흐름에 대한 자세한 그림을 얻을 수 있다.

 

환경 내 네트워크 트래픽 흐름을 자세히 파악한 다음 단계는 트러스트 존을 정의하고 관련 데이터의 상대적 위험 또는 민감도를 기반으로 해당 트러스트 바운더리를 점진적으로 설정하는 것이다.

① 장치를 적절한 위치에 배치하여 정의된 트러스트 존에 대한 내부 트러스트 바운더리를 설정한다.
② 각 트러스트 바운더리를 효과적으로 "온라인"으로 설정할 수 있도록, 적절한 시행 및 검사 정책을 구성한다.

다음으로, 컴퓨팅 환경의 다른 세그먼트에 대한 상대적인 위험 정도에 따라 트러스트 존과 트러스트 바운더리를 점진적으로 설정할 수 있다. 안전한 트러스트 존을 설정할 수 있는 예는 다음과 같다.

 

① IT 관리 시스템 및 네트워크(위반으로 인해 전체 네트워크가 손상될 수 있음)
② 파트너 리소스 및 연결(business to business 또는 B2B)
③ 이목을 끄는 고객 대면 리소스 및 연결(business to customer 또는 B2C)
④ 위험한 국가 또는 지역의 지사, 그 외의 모든 지사
⑤ 게스트 액세스 네트워크 *유무선 모두 포함
⑥ 캠퍼스 네트워크

 

제로 트러스트 원칙과 개념은 인터넷의 주요 액세스 포인트에서 구현되어야 한다. 제로 트러스트 보안 모델의 필요한 기능과 이점을 모두 얻기 위해서는 이 배포 단계에서 기존 네트워크 보안 장치를 제로 트러스트 세분화 플랫폼으로 교체하거나 보강해야 할 것이다.

[5-2] 경계 기반 보안

경계 기반 네트워크 보안 전략

경계 기반 네트워크 보안 모델은 초기 메인프레임 시대(1950년대 후반)로 거슬러 올라간다. 당시에는 대형 메인프레임 컴퓨터가 상대적으로 제한된 수의 원격 작업 입력 "dumb" 터미널에서만 액세스할 수 있는, 물리적으로 안전한 기계실에 있었다. 그러니까 메인프레임에 직접 연결되어 있고 물리적으로 안전한 구역에 위치해 있었다는 것이다. 오늘날의 데이터 센터는 기계실과 동일하지만, 몇 가지 중요한 이유로 인해 경계 기반의 물리적 보안만으로는 더 이상 충분하지 않다.

 

메인프레임 컴퓨터는 인터넷보다 이른 시기에 등장했했다. 사실, 메인프레임 컴퓨터는 인터넷보다 시기가 앞선 ARPANET보다도 먼저 등장했다. 오늘날, 공격자는 데이터 센터의 경계를 물리적으로 침범하는 대신, 원격으로 접근하기 위해 인터넷을 사용하는 것이 당연하게도 일반적이다.

데이터 센터는 언제 어디서나 수백만 개의 원격 엔드포인트 장치에 의해 원격으로 액세스된다. 메인프레임 시대의 RJE와 달리, 현대의 엔드포인트(모바일 장치 포함)는 초기 메인프레임 컴퓨터의 많은 부분보다 훨씬 강력하며, 그 자체가 목표라 할 수 있다.

메인프레임 컴퓨터의 주요 가치는 처리 능력이었다. 비교적 제한된 데이터가 일반적으로 테이프와 같은 니어라인 미디어에 저장되었다. 오늘날 데이터가 그 대상이다. 데이터는 데이터 센터와 클라우드에 온라인으로 저장되며, 공격자에게는 높은 가치의 대상이다.

 

경계 기반 네트워크 보안 전략의 주요 문제는 네트워크에 대한 몇 가지 잘 정의된 입력 및 출력 지점에 대응 조치를 배치하는 것인데, 이 전략은 내부 네트워크의 모든 것을 신뢰할 수 있다는 가정에 의존한다. 그러나 현대의 비즈니스 환경과 컴퓨팅 환경을 고려할 때, 이 가정은 더 이상 안전하지 않다.

원격 직원, 모바일 사용자 및 클라우드 컴퓨팅 솔루션은 "내부"와 "외부"의 구분을 흐리게 한다. 무선 기술, 파트너 연결의 확산 및 게스트 사용자를 지원해야 하는 필요성은 신뢰할 수 없는 국가 또는 지역에 위치할 수 있는 네트워크 지사에 무수히 많은 추가 경로를 도입한다.

 

의도적으로 악의적이든 부주의하든, 내부자는 매우 실질적인 보안 위협을 가할 수 있다. 실제로 국내 많은 보안 사건이 내부자에 의한 시발점인 경우가 상당하니 말이다.

경계 기반 접근 전략은 고려하지 못하는 것이 있다. 정교한 사이버 위협이 경계 방어에 침투할 가능성이 있으며, 이 경우 내부 네트워크를 자유롭게 통과할 수 있다는 점이다. 또한, 악의적인 사용자가 신뢰할 수 있는 사용자의 훔친 자격 증명을 사용하여 내부 네트워크 및 중요한 리소스에 액세스할 수 있는 시나리오에 대해서도 고려하지 못한다.

내부 네트워크가 동질적인 경우는 거의 없기야 하지만, 어떤 경우에도 이상적으로 분리되어야 하는, 본질적으로 다른 수준의 신뢰 또는 민감도를 가진 사용자 및 리소스 포켓이 포함되어 있다는 현실도 따져야 한다.

손상된 신뢰 모델은 네트워크 보안에 대한 경계 중심 접근 방식의 유일한 문제가 아니다. 또 다른 요인은 네트워크 경계를 구축하는 데 일반적으로 사용되는 기존 보안 장치 및 기술(ex. 포트 기반 방화벽)이 원치 않는 트래픽을 너무 많이 허용한다는 것이다. 이와 관련하여 일반적인 단점은 다음과 같은 기능이 없다는 점이다.

① 좋은 애플리케이션과 나쁜 애플리케이션의 확실한 구분: 이로 인해 엑세스 제어 설정이 지나치게 허용된다.
② 암호화된 애플리케이션 트래픽에 대한 적절한 설명
③ 정확한 사용자 식별 및 제어(사용자가 어디에 있는지 또는 사용 중인 장치에 관계없이)
④ 알려진 애플리케이션 매개 위협뿐만 아니라, 알 수 없는 위협에 대해서도 트래픽을 허용하는 필터

 

결과적으로, 광범위한 내부 신뢰 경계를 생성하는 방식으로 방어를 재설계하는 것만으로는 충분하지 않다. 또한, 이러한 경계를 구현하는 데 사용되는 장치와 기술이 필수 비즈니스 애플리케이션을 안전하게 활성화하는 데 필요한 가시성, 제어 및 위협 검사 기능을 실제로 제공하는 동시에, 최신 악성 코드, 표적 공격 및 민감한 데이터의 무단 유출을 방지하는지 확인해야 한다.

[5-3] 정책들과 신뢰

보안 정책

보안 정책은 다음을 포함하는 잘 정의된 규칙 집합이다.
① 주제: 시스템과 상호 작용하는 에이전트로, 특정 개인 또는 개인 그룹이 조직 내에서 보유할 수 있는 역할 또는 순위로 정의할 수 있다. 개인은 이름이나 사장, CEO, CFO와 같은 직책으로 식별될 수 있다. 그룹은 사용자, 관리자, 일반인, 전공자, 교수, 부장, 관리자 및 행정 보조원과 같은 용어를 사용하여 정의될 수 있다. 이 범주에는 공격자 및 손님과 같은 외부인도 포함된다.

② 개체: 보안 정책이 보호 및 관리하도록 설계된 정보 및 계산 리소스다. 중요한 문서, 파일 및 데이터베이스가 그 예시이며, 계산 리소스에는 서버, 워크스테이션 및 소프트웨어가 포함된다.
③ 행위: 대상자가 대상자와 관련하여 할 수 있거나 하지 않을 수 있는 것들을 말한다. 문서 읽기 및 쓰기, 웹 서버의 소프트웨어 업데이트, 데이터베이스의 내용 액세스 등이 그 예시이다.

④ 허가: 허용 또는 허용되지 않는 작업의 종류를 명확하게 지정하는 주체, 작업 및 개체 간의 매핑이다.
⑤ 보호: 기밀성, 무결성, 가용성 또는 익명성과 같은 특정 보안 목표를 달성하는 데 도움이 되는 정책에 포함된 특정 보안 기능 또는 규칙이다.

 

보안 모델

보안 모델은 관리자가 보안 정책을 지정할 수 있도록 개념적 언어를 제공하는 추상화다.

 

일반적으로 보안 모델은 조직 구성원이 가질 수 있는 액세스 또는 수정 권한의 계층을 정의하므로, 조직의 주체는 계층 내 이러한 권한의 위치에 따라 특정 권한을 쉽게 부여받을 수 있다. 예시에는 "기밀로 분류되지 않음", "기밀", "비밀" 및 "일급 비밀"과 같은 개념을 기반으로 문서에 대한 액세스 권한의 군사 분류가 포함된다.

 

임의적 접근 통제(DAC)

임의적 접근 제어(DAC)는 사용자에게 자신의 파일에 대한 접근 권한을 결정할 수 있는 권한을 부여하는 방식을 말한다. DAC는 일반적으로 사용자와 그룹 모두의 개념을 특징으로 하며, 사용자는 이러한 범주의 관점에서 접근 제어 조치를 설정할 수 있다. 또한, DAC 방식을 사용하면, 사용자가 동일한 시스템의 다른 사용자에게 리소스에 대한 권한을 부여할 수 있다.

 

강제적 접근 통제(MAC)

강제적 접근 통제는 소유권에 관계없이 사용자가 파일에 대한 권한을 정의할 수 없도록 하는, 보다 제한적인 방식이다. 대신 보안 결정은 중앙 정책 관리자가 내린다. 각 보안 규칙은 액세스를 시도하는 당사자를 나타내는 주체, 액세스하는 리소스를 나타내는 개체 및 해당 리소스에 액세스할 수 있는 범위를 정의하는 일련의 권한으로 구성된다. SELinux(보안 강화 리눅스)에는 강제적 접근 통제가 통합되어 있다.

 

트러스트 매니지먼트

트러스트 매니지먼트 시스템은 보안 정책을 정확한 언어로 지정하기 위한 공식 프레임워크다. 이는 지정된 정책이 시행되도록 보장하는 메커니즘과 함께 논리 또는 프로그래밍 언어라 할 수 있다. 트러스트 매니지먼트 시스템은 다음과 같은 두 가지 주요 구성 요소로 구성된다.
① 정책 언어
② 컴플라이언스 체커

정책 규칙은 정책 언어로 지정되며, 컴플라이언스 체커에 의해 적용된다.

 

트러스트 매니지먼트 시스템

 

트러스트 매니지먼트 시스템에는 일반적으로 다음을 설명하는 규칙이 있다.
① 행위: 시스템에 보안 관련 결과를 가져오는 작업이다.

② 주체: 시스템에 조치를 수행할 수 있는 사용자, 프로세스 또는 기타 엔티티를 말한다.
③ 정책: 어떤 주체에게 어떤 행동을 수행할 권한이 있는지가 정확하게 작성된 규칙
④ 자격 증명: 주체가 다른 주체에게 권한을 위임할 수 있는 권한을 포함하여, 주요 신원을 허용 가능한 조치에 바인딩하는 디지털 서명 문서를 말한다.

 

ACM(Access Control Models)

컴퓨터 시스템에 저장된 문서의 기밀성과 무결성을 보호하기 위한 메커니즘을 공식화하기 위해 다양한 모델이 개발됐다.

 

① BLP(Bell-La Padula) 모델

BLP(Bell-La Padula) 모델은 기밀성을 보호하기 위한 전형적인 의무 출입 통제 모델이다. BLP 모델은 전통적으로 문서 분류 및 인원 정리를 위해 군사 조직에서 사용되어 온 군사 다단계 보안 패러다임에서 파생되었다. BLP 모델은 문서 수준의 보안에 대한 엄격한 선형 순서를 가지고 있으므로, 각 문서는 이 순서에서 특정 보안 수준을 가지며, 각 사용자는 해당 보안 수준 이하의 모든 문서를 볼 수 있는 엄격한 수준의 액세스 권한을 할당받는다.

 

문서의 선형 순서는 비교 규칙을 통해 정의할 수 있다. 이러한 규칙은 다음 속성을 만족하는 경우, 전체 세트 U의 Total Order를 정의한다고 말한다.

⑴ 반사성: x가 U에 있으면, x ≤ x

⑵ 비대칭성: x ≤ y이고 y ≤ x면, x = y

⑶ 전이성: x ≤ y이고 y ≤ z면,  x ≤ z

⑷ 전체성: x와 y가 U에 있으면, x ≤ y 또는 y ≤ x

정수 및 실수와 같은 숫자에 대한 "~보다 작거나 같음"에 대한 일반적인 정의는 모두 Total Order이다. 만약 전체성(Totality) 요구 사항을 삭제하면, Partial Order을 받게 된다. Partial Order의 전형적인 예는 대학에서 가르치는 일련의 과정이다. 여기서는 두 과정 A와 B에 대해, A가 B의 전제 조건인 경우 A ≤ B라고 말한다.

 

BLP의 보안 수준은 Partial Order, ≤에서 비롯된다. 각 객체 x는 보안 수준 L(x)에 할당된다. 마찬가지로, 각 사용자 u는 보안 수준 L(u)에 할당된다. 사용자의 객체 액세스는 다음 두 가지 규칙에 따라 제어된다.

⑴ 간단한 보안 속성. 사용자는 다음과 같은 경우에만 객체 x를 읽을 수 있다: L(x) ≤ L(u)

⑵ *-property. 사용자는 다음과 같은 경우에만 객체 x에 쓰기(생성, 편집, 추가 등)를 할 수 있다: L(u) L(x)

 

단순 보안 속성은 사용자가 자신보다 높은 보안 수준의 객체를 볼 수 없도록 하기 때문에 "No read up" 규칙이라고도 한다. *-property는 사용자가 자신보다 낮은 보안 수준의 객체를 수정할 수 없기 때문에 "No write down" 규칙이라 부른다.

 

보안 수준을 카테고리를 통해 정의하면, 위와 같다.


② 비바 모델

비바의 액세스 제어 규칙은 BLP의 액세스 제어 규칙과 반대다. 즉, 비바는 하위 레벨에서 읽는 것을, 상위 레벨에 쓰는 것을 허용하지 않는다. I(u)가 사용자 u의 무결성 수준을 나타내고, I(x)가 객체 x의 무결성 수준을 나타내도록 하면, 비바 모델에는 다음과 같은 규칙이 있다.

⑴ 사용자는 다음과 같은 경우에만 객체 x를 읽을 수 있다: l(u) ≤ l(x)

⑵ 사용자는 다음과 같은 경우에만 객체 x를 쓸 수 있다: l(x) ≤ l(u)

따라서 비바 규칙은 정보가 높은 무결성 수준에서 낮은 무결성 수준으로 아래로만 흐를 수 있다는 원칙을 표현하는 것이다.


③ 로우 워터마크 모델

로우 워터마크 모델은 "No read down" 제한을 완화하는 비바 모델의 확장이지만, 그 외에는 Biba 모델과 유사하다. 즉, 무결성 수준이 높은 사용자는 무결성 수준이 낮은 객체를 읽을 수 있다. 이러한 읽기 후에는 읽기를 수행하는 사용자의 무결성 수준이 읽기 개체의 무결성 수준과 일치하도록 낮아진다.


④ 클락-윌슨 모델

클락-윌슨(CW) 모델은 문서 기밀성 또는 무결성을 다루기보다는, 트랜잭션을 수행하는 시스템을 다룬다. 이는 트랜잭션 실행 전반에 걸쳐 이러한 시스템의 무결성이 유지되도록 보장하는 메커니즘을 설명한다. CW 모델의 주요 구성 요소는 다음과 같다.

⑴ 시스템 상태가 유효하기 위해 충족되어야 하는 객체 간의 관계를 표현하는 무결성 제약 조건. 무결성 제약 조건의 전형적 예시로는, 인출 거래 후 은행 계좌의 최종 잔액이 초기 잔액에서 인출 금액을 뺀 금액과 같아야 한다는 관계가 있다.
⑵ 트랜잭션이 주어진 무결성 제약 조건을 충족하는지 확인하는 인증 방법. 트랜잭션에 대한 프로그램이 인증되면, 트랜잭션을 실행할 때마다 무결성 제약 조건을 확인할 필요가 없다.
⑶ 거래를 수행하는 사용자가 이를 인증하지 못하도록 하는 직무분리 규정. 일반적으로 각 거래에는 이를 인증하고 실행할 수 있는 분리된 사용자 집합이 할당된다.

 

⑤ 만리장성 모델 (The Brewer and Nash 모델)

만리장성 모델이라고 불리는 Brewer and Nash 모델은 이해 상충 가능성을 제거하기 위해 상업 부문에서 사용하도록 설계되었다. 이를 달성하기 위해 모델은 리소스를 "이해 충돌 클래스"로 그룹화한다. 이 모델은 각 사용자가 각 이해 충돌 클래스에서 하나의 리소스에만 액세스할 수 있도록 제한을 적용한다. 예를 들어, 금융 세계에서 이러한 모델은 시장 분석가가 한 회사로부터 내부 정보를 수신하고 해당 정보를 사용하여 해당 회사의 경쟁사에 조언을 제공하는 것을 방지하는 데 사용될 수 있다. 이러한 정책은 민감한 데이터나 독점 데이터에 대한 사용자의 액세스를 규제하기 위해 컴퓨터 시스템에 구현될 수 있다.

 

역할 기반 통제(RBAC)

RBAC 모델은 파일 시스템의 그룹 기반 권한 개념이 진화된 것으로 볼 수 있다. RBAC 시스템은 회사 등의 조직, 문서, 인쇄 서비스, 네트워크 서비스 등의 리소스 집합, 직원, 공급업체, 고객 등의 사용자 집합과 관련하여 정의된다.

 

사용자는 작업을 수행하기 위해 조직의 리소스에 액세스하려는 개체다. 일반적으로 사용자는 실제 인간 사용자이지만, 사용자는 기계나 애플리케이션일 수도 있다. 역할은 조직 내에서 유사한 기능과 책임을 가진 사용자의 집합으로 정의된다. 대학을 예시로 든다면, 학생, 졸업생, 교수, 학장, 교직원 등이 있을 것이다. 일반적으로 사용자는 여러 역할을 가질 수도 있다. 역할과 기능은 조직의 서면 문서에 명시되는 경우가 많다. 역할에 대한 사용자 할당은 고용 조치(예: 채용 및 사직) 및 학업 조치(예: 입학 및 졸업)와 같은 조직의 결정을 따른다. 권한은 리소스에 대한 허용된 액세스 방법을 설명한다. 보다 구체적으로 말하면, 권한은 "파일 읽기" 또는 "네트워크 연결 열기"와 같이 개체에 대해 수행되는 작업으로 구성된다. 각 역할에는 연관된 권한 세트가 있다. 세션은 특정 작업을 수행할 목적으로 사용자 역할의 하위 집합을 활성화하는 것으로 구성된다. 예를 들어, 랩탑 사용자는 관리자 역할로 세션을 생성하여 새 프로그램을 설치할 수 있다. 그리고 세션은 최소 권한 원칙을 지원한다.

 

역할 기반 액세스 제어 모델에서 역할은 조직도와 유사한 계층 구조로 구성될 수 있다. 보다 공식적으로는 역할 R1이 역할 R2를 상속한다고 말함으로써, 역할 간의 부분 순서를 정의한다. 이는 R1 ≥ R2로 표시된다. R1에 R2의 모든 권한이 포함되고 R2에 R1의 모든 사용자가 포함되는 경우에 그러하다. R1 ≥ R2인 경우, 역할 R1은 역할 R2보다 시니어고, 역할 R2는 역할 R1보다 주니어라고 말한다. 예를 들어, 회사에서 "관리자" 역할은 "직원" 역할을 상속하고, "부사장" 역할은 "관리자" 역할을 상속한다. 또한, 대학에서는 "학부생"과 "대학원생"의 역할이 "학생"의 역할을 승계하는 그런 것이다.

 

728x90