Flash Platform 보안 개요Flash Player 9 이상, Adobe AIR 1.0 이상 Flash Player 및 AIR 런타임에서 사용되는 대부분의 보안 모델은 로드된 SWF 파일, HTML, 미디어 및 기타 에셋에 대한 원래 도메인을 기준으로 합니다. www.example.com과 같은 특정 인터넷 도메인을 기반으로 하는 파일의 실행 가능 코드는 언제든지 해당 도메인의 모든 데이터에 액세스할 수 있습니다. 이러한 에셋은 보안 샌드박스라는 동일한 보안 그룹에 포함됩니다. 자세한 내용은 보안 샌드박스를 참조하십시오. 예를 들어 SWF 파일의 ActionScript 코드는 SWF 파일, 비트맵, 오디오, 텍스트 파일 및 자체 도메인의 모든 에셋을 로드할 수 있습니다. 또한 동일한 도메인에서 ActionScript 3.0으로 작성된 두 파일 간의 크로스 스크립팅은 항상 허용됩니다. 크로스 스크립팅은 한 파일의 코드가 다른 파일의 코드로 정의된 속성, 메서드 및 객체에 액세스하는 기능입니다. ActionScript 3.0을 사용하여 작성된 SWF 파일과 ActionScript 3.0 이전 버전을 사용하여 작성된 SWF 파일 간의 크로스 스크립팅은 지원되지 않습니다. 단, LocalConnection 클래스를 사용하여 이러한 파일 간의 통신은 가능합니다. 또한 다른 도메인의 ActionScript 3.0 SWF 파일을 크로스 스크립팅하고 다른 도메인의 데이터를 로드하는 SWF 파일의 기능은 기본적으로 차단됩니다. 그러나 로드된 SWF 파일에서 Security.allowDomain() 메서드를 호출하여 이러한 액세스를 허용할 수 있습니다. 자세한 내용은 크로스 스크립팅을 참조하십시오. 기본적으로 다음과 같은 기본 보안 규칙이 적용됩니다.
Flash Player 및 AIR 런타임은 다음과 같은 도메인을 개별 도메인으로 간주하고 각각에 대해 개별 보안 샌드박스를 설정합니다.
http://example.com과 같은 이름을 가진 도메인이 http://192.0.34.166 등의 특정 IP 주소로 매핑되는 경우에도 런타임은 각각에 대해 개별 보안 샌드박스를 설정합니다. SWF 파일에서 해당 샌드박스가 아닌 다른 샌드박스의 에셋에 액세스할 수 있도록 하기 위해 개발자는 다음과 같은 기본적인 두 가지 메서드를 사용할 수 있습니다.
Flash Player 및 AIR 런타임 보안 모델에서는 내용을 로드하는 것과 데이터를 추출하거나 액세스하는 것을 구분합니다. 내용이 시각적 미디어를 포함한 미디어로 정의된 경우 런타임은 오디오, 비디오 또는 표시된 미디어를 포함하는 SWF 파일 또는 HTML을 표시할 수 있습니다. 데이터는 코드에만 액세스할 수 있는 항목으로 정의됩니다. 내용과 데이터는 서로 다른 방법으로 로드됩니다.
Flash Player 보안 모델은 내용 로드와 데이터 액세스에 대해 서로 다른 규칙을 정의합니다. 일반적으로 데이터에 액세스하는 것보다 내용을 로드하는 데 적용되는 제한이 적습니다. 일반적으로 SWF 파일, 비트맵, mp3 파일, 비디오 등의 내용은 모든 위치에서 로드될 수 있지만 로드하는 코드 또는 내용의 도메인이 아닌 다른 도메인의 내용은 별도의 보안 샌드박스로 구분됩니다. 내용을 로드하는 데는 다음과 같은 몇 가지 제한이 있습니다.
로드된 미디어가 이미지, 오디오 또는 비디오인 경우, SWF 파일의 도메인이 미디어의 원래 도메인에 있는 URL 정책 파일에 포함된 경우에만 해당 보안 샌드박스 외부에 있는 SWF 파일에서 로드된 미디어의 데이터(예: 픽셀 데이터 및 사운드 데이터)에 액세스할 수 있습니다. 자세한 내용은 데이터로 로드된 미디어 액세스를 참조하십시오. 다른 형식의 로드된 데이터에는 URLLoader 객체를 통해 로드되는 텍스트나 XML 파일이 있습니다. 이 경우에도 다른 보안 샌드박스에서 모든 데이터에 액세스하려면 원래 도메인에 있는 URL 정책 파일을 통해 액세스 권한이 부여되어야 합니다. 자세한 내용은 URLLoader 및 URLStream 사용을 참조하십시오. 참고: AIR 응용 프로그램 샌드박스에서 원격 내용 또는 데이터를 로드하기 위해 실행되는 코드에서는 정책 파일이 필요하지 않습니다.
|
|