문제

의 부족을 반영 매체에 신뢰를 호스팅 환경을 보인 많은 문제의 원인 양한 웹 응용 프로그램입니다.

  • ReflectionPermission 장애인과 함께 기본적으로 매체를 신뢰하는가?
  • 위험은 반영이즈 공유 호스팅 환경에서는?

무작위 참조 참조하십시오 MSDN:를 사용하는 방법 중에 신뢰 ASP.NET 2.0

도움이 되었습니까?

해결책

반사할 수 있습 악성 코드를 검사하는 모든 종류의 비밀을:그렇게 많이 지적재산권(비록 확인,너무 것),데이터해야 하는 개인적이고 안전하며,다음과 같 연결 문자열이 비밀번호,은행 계좌 데이터,등등....

물론 많은 프로그램을 이 데이터를 노출로 문제의 과정을 통해 더욱 쉽게 손상 벡터,하지만 아무 이유도 없을 증가하는 응용 프로그램의 공격 표면입니다.

편집의 일부를 가지고 대화에서 의견:

그것은 아마도 사실이 실제 위험을 무제한 파일 시스템에 액세스,이는 무엇을 밝혀 반영으로 진정한 위험이 있습니다.면 나쁜 배우를 얻을 수 있는 어셈블리(또는 뭔가 얻으로 컴파일을 어셈블리)가상 디렉토리에 있어 문제가 있는 경우에 반영 권한입니다.(물론 이 경우,다른 잠재적인 문제 뿐만 아니라,그러나지 않는 할인이 특히 취약합니다.)

공유 호스팅 환경에서는 더 단단하지만,그것은 확실히 불가능하지 않습니다.아마도 그것은 가치가 크로스 게시 이 질문 ServerFault 무엇을 보고 좋은 사람이 있을 말한다.

다른 팁

나는 사용자가 반사를 사용하여 할 수있는 '나쁜'것을 찾지 못했습니다. 사람들은 비공개 또는 보호로 표시되는 방법을 호출 할 수 있기 때문에 무서워하지만, 내가 본 것에서는 아무도 실제 위험을 부과하지 않습니다.

아마도 (Semi-) 전용 호스팅을 위해 껍질을 벗기는 것은 적어도 부분적으로 판매 기술 일 것입니다. :)

이 주제에 대한 다음 MSDN 기사를 찾았습니다.

반사에 대한 보안 고려 사항

이 기사는 Echo의 Jeff의 답변 :

반사는 유형 및 회원에 대한 정보를 얻고 회원에 대한 정보를 얻을 수있는 능력을 제공합니다. 비공개 회원에 액세스하면 보안 위험이 발생할 수 있습니다. 따라서 비공개 멤버에 액세스하는 코드는 적절한 플래그와 함께 반사 분위기가 필요합니다.

그러나 나는 고객의 호스팅 계정 간에이 위험을 이용할 수 있다고 생각하지 않습니다. 이것은 개인적인 위험을 제기하는 것 같습니다. 예를 들어, 반사를 사용하여 호스팅 환경에서 내 어셈블리를 탐색 할 수 있습니다. 그러나 다른 고객은 반사를 사용하여 탐색 할 수 없었습니다. 나의 어셈블리. 그들은 만 탐험 할 수있었습니다 그들의 어셈블리.

이는 여러 개발 팀이 포함 된 단일 웹 응용 프로그램에 문제가 될 수 있습니다. 한 개발 팀은 반사를 사용하여 다른 개발 팀의 어셈블리를 탐색 할 수 있습니다.

그러나 이것은 공유 호스팅 환경에 대한 드문 시나리오입니다. 대부분의 공유 호스팅 웹 사이트에는 전체 액세스 권한이있는 매우 작은 팀이 포함됩니다. 모두 코드. 다시 말해, 비밀은 없습니다. 어셈블리가 다른 공유 호스팅 고객으로부터 안전하다면 문제가되지 않습니다.

반사를 가능하게하면 대부분의 공유 호스팅 웹 애플리케이션에 위험이 없습니다.

<IPermission class="ReflectionPermission" version="1" Flags="RestrictedMemberAccess"/>

내가 틀렸다면 제발 수정 해주세요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top