개발 코드 액세스 보안 (cas)이란 무엇입니까? -techopedia에서 정의

코드 액세스 보안 (cas)이란 무엇입니까? -techopedia에서 정의

차례:

Anonim

정의-CAS (Code Access Security) 란 무엇입니까?

CAS (코드 액세스 보안)는 .NET 프레임 워크의 CLR (공용 언어 런타임)이 제한된 권한 집합으로 작업을 실행하도록 관리되는 코드를 제한 할 수있는 보안 메커니즘입니다.


CAS는 보호 된 리소스 및 작업에 대한 무단 액세스를 방지하여 .NET 프레임 워크에서 보안 정책을 시행합니다. CAS는 사용자로부터 사용자 자격 증명을 얻는 전통적인 보안 방법과 달리 버그와 취약점이 포함 된 외부 소스에서 코드를 얻을 때 직면하는 문제를 해결하도록 설계되었습니다. 이러한 버그와 취약점으로 인해 사용자 시스템이 악의적 인 코드에 취약 해져 사용자가 모르게 작업을 수행 할 수 있습니다. CAS는 실제로 지정된 사용자 코드가 수행 할 수있는 작업과 수행 할 수없는 작업 만 알고 허용합니다. 이 기능은 CLR을 대상으로하는 모든 관리 코드에 적용됩니다.


CAS는 Windows 운영 체제에서 제공하는 보안보다 높은 계층에 구축 된 증거 ​​기반 보안을 제공합니다. Windows는 사용자의 권한을 기반으로하지만 CAS는 어셈블리의 증거를 기반으로합니다. 어셈블리에는 보안 정책에 정의 된 권한이 포함되어 있으며 코드가 필요한 작업을 실행할 수있는 기반이됩니다.

Techopedia는 CAS (Code Access Security)를 설명합니다.

CAS는 다음과 같은 요소를 기반으로합니다.

  1. 권한 : 보호 된 리소스에 액세스하거나 보호 된 작업을 실행하는 데 필요한 기본 권한입니다.
  2. 권한 집합 : "완전한 신뢰", "아무것 없음", "인터넷", "로컬 인트라넷"등과 같은 권한 집합입니다.
  3. 코드 그룹 : LocalIntranet_zone 및 Internet_zone과 같이 멤버쉽 조건이 지정된 코드의 논리적 그룹입니다.
  4. 증거 : 응용 프로그램 디렉토리, 게시자, URL 및 보안 영역과 같은 어셈블리 관련 정보입니다.
  5. 보안 정책 : 엔터프라이즈, 컴퓨터, 사용자 및 응용 프로그램 도메인의 네 가지 수준으로 계층 적으로 표현 된 코드에 부여 된 권한을 결정하기 위해 관리자가 구성한 규칙 집합입니다.

코드 실행 권한있는 작업에는 CLR에 하나 이상의 권한이 필요합니다. 실제 권한은 코드 그룹에 설정된 권한 조합과 정책 수준의 교차점을 사용하여 계산됩니다. CLR은 필요한 권한이 해당 어셈블리의 방법에 대해 권한이 부여되도록합니다. 권한이 부여되지 않으면 보안 예외가 발생합니다.


CAS는 코드에 대한 권한을 정의하기위한 두 가지 보안 모드를 제공합니다.

  • 선언적 보안은 어셈블리 수준, 클래스 수준 또는 멤버 수준에서 보안 특성을 정의하여 구현됩니다. 선언 모드는 컴파일 타임에 호출을 평가해야 할 때 사용됩니다.
  • 필수 보안은 런타임 메소드 호출을 사용하여 보안 클래스의 인스턴스를 작성합니다. 명령 모드는 런타임에 호출을 평가해야 할 때 사용됩니다.

보안 정책이 다른 경우 CAS가 다른 시스템으로 이동 한 응용 프로그램의 오작동을 포함하여 제한이 있습니다. 또한 관리되지 않는 코드를 제어 할 수 없으며 사용자 시스템의 다양한 보안 설정 시나리오 요구를 충족시키기 위해 응용 프로그램 개발을 제어 할 수 없습니다.


CAS의 세분화 된 보안 기술을 효과적으로 사용하려면 개발자는 형식에 안전한 코드를 작성하고, 컨텍스트에 따라 선언적 또는 명령 적 구문을 사용하고, 런타임마다 권한을 요청하여 코드를 실행하고, 안전한 라이브러리를 사용해야합니다.

코드 액세스 보안 (cas)이란 무엇입니까? -techopedia에서 정의