2012-05-24 4 views
2

실제 응용 프로그램 내에서 dll을 사용하는 MonoTouch 때문에이 접근 방법은 얼마나 안전한가요? 예를 들어, 누군가 Mono.Security.dll을 사용하고 있다면 누군가가 그 메소드를 구현하고 app에 코드 삽입 공격을 수행하는 dll을 스왑 할 수 없습니까?MonoTouch는 얼마나 안전합니까?

+0

서명 된 어셈블리가이를 지원합니까? –

+0

유효한 개발자 또는 기업 라이센스가있는 경우 IPA를 가져 와서 다시 서명하십시오. –

답변

10

얼마나 안전한가?

만큼 기존의 것들로 내가 :-)

사람이 여러 가지 이유로 DLL

없음 것을 바꿀 수없는 것을 알고있다.

  • 당신은 응용 프로그램 파일을 변경할 수 없습니다. 그러면 디지털 서명이 깨지고 iOS가이를 실행하지 않게됩니다. 이것만으로도 MitM 공격을 제거 할 수 있습니다.

  • 모든 .DLL이 이미 기본합니다 (AOT 컴파일러에 의해) 코드 및 주요 실행 가능한 바이너리의 일부에 컴파일 에서 코드. 새 .dll을 바꿔도 실행되는 코드는 변경되지 않습니다.

  • 장치에 배포 된 .dll은 (릴리스 빌드의 경우)을 제거했습니다. 유용하지 않기 때문에 내부에 IL (코드)이 없습니다 (iOS에서는 JIT 할 수 없습니다). IL 코드 (예 : 디버그 빌드)가있는 .dll을 추가하더라도 실행되지 않습니다 (다시 JITting이 필요합니다).

왜 .dll이 배포됩니까? (예 : 리플렉션을 사용하는 경우)

최종 메모 : MonoTouch는 Objective-C와 마찬가지로 기본 ARM 실행 파일을 생성합니다.

+0

포인트 1이 유효하지 않습니다. 유효한 개발자 또는 기업 인증서가있는 경우 전체 IPA를 사임 할 수 있습니다. 그런 다음 장치에서이를 실행할 수 있습니다. dll을 스왑 할 수 없다는 정보를 주셔서 감사합니다 :-) –

+2

사람들이 당신이 한 일이나 서명을 설치하도록 설득 할 수 있다면 MitM 공격은 당신의 더 나쁜 걱정이 아닙니다 ;-) 또한 일반적인 iOS 문제 일뿐입니다 MonoTouch 특정 제품 – poupou

+0

악성 코드와 같은 것으로부터보고있는 경우입니다. 만약 당신이 기업 보안을 손상시키는 방법으로 그것을보고 있다면, 당신은 그것을 배포하지 않을 것입니다. –

관련 문제