2011-11-14 3 views
3

데스크톱 응용 프로그램이 수정되었는지 어떻게 감지합니까?데스크톱 응용 프로그램이 수정되었는지 어떻게 감지합니까?

응용 프로그램이 웹 서비스와 통신하므로 데스크탑을 해시 한 다음 체크섬이 이와 비슷한지 확인할 수 있습니다. 또는 당신은 무엇을 제안합니까?

+0

모든 응용 프로그램이 될 수 있습니까? 또는 귀하 (또는 귀하의 회사)가 만든 특정 응용 프로그램 일 수 있습니까? –

+0

회사가 만든 맞춤형 앱으로 파일에 대해 알 수 있습니다. 앱이로드 될 때 앱이 chekcsum을 확인할 수 있습니까? 이것이 유일한 방법일까요? – 001

+2

위협 모델은 무엇입니까? 즉, 응용 프로그램이 수정되었는지 여부를 확인해야한다고 생각하는 이유는 무엇입니까? –

답변

6

응용 프로그램이 응용 프로그램을 수정하는 사람에게 허용하지 않는 작업을 응용 프로그램에 허용하지 마십시오. 그런 다음 응용 프로그램이 수정되었는지 여부는 중요하지 않습니다.

제안 된 솔루션은 불량 수표를 작성하고 고객이 항상 수표를 쓰는 데 해당 펜을 사용하는지 확인할 수없는 펜을 디자인하려는 은행과 같습니다. 고객이 수표를 쓰는 데 사용하는 펜에 대해 걱정하지 말고 고객의 잔액 이상을 검사하는 것을 거부하면 훨씬 더 정상입니다.

또는, 다른 방법 넣어 : 응용 프로그램이 당신이하고 싶지 않아 뭔가를 웹 서비스를 요청하는 경우 응용 프로그램이 수정되거나되지 않은 경우

1), 그것은 어떤 차이를 만드는가를?

2) 응용 프로그램에서 웹 서비스가 원하는 작업을 수행하도록 요청하는 경우 응용 프로그램을 수정했는지 여부와 어떤 차이가 있습니까?

요약하면 차이는 없습니다.

0

가장 좋은 방법은 실행 파일의 체크섬을 계산하여 안전한 장소에 저장하는 것입니다. 체크섬을 다시 계산하고 필요할 때마다 저장된 체크섬에 대해 유효성을 검사 할 수 있습니다. 값이 일치하지 않으면 실행 파일이 변경됩니다. 이것은 인터넷에서 다운로드 할 수있는 대부분의 다운로드에 대해 수행되는 작업입니다. 게시자는 다운로드와 함께 체크섬을 게시합니다. 이 다운로드는 미러링 할 수 있습니다. 미러 사이트에서 다운로드하는 사용자는 다운로드 한 파일의 체크섬과 게시 된 파일을 비교하여 다운로드가 변경되지 않도록해야합니다.

2

David's answer은 귀하의 문제에 대한 제 의견을 훌륭하게 요약 한 것이며 (내가 직접 말한 것보다 낫다), 일부 환경은 실제로 당신이 요구 한 바를 달성하기를 원한다는 것을 인식합니다. 당신이 말한 소프트웨어를 실제로 실행하고있는 원격 시스템.

IBM's TrouSers은 현실적으로 remote attestation을 만들기 위해 노력하고있는 소프트웨어 스택의 한 부분입니다. 전체 스택은 일부 기본 마더 보드에 내장 된 TPM 칩, 부트 로더의 암호화 체크섬을 수행하는 신뢰할 수있는 BIOS, 운영 체제 커널 및 중요한 시스템 유틸리티의 암호화 체크섬을 수행하는 신뢰할 수있는 부트 로더 및 운영 체제 TPM을 관리하고 해당 소프트웨어를 확인할 수있는 TrouSers (TrouSers) 지원

TPM 칩은 FIPS 140- 스타일 변경 방지를 위해 설계된 이 아니며이 아니어야합니다. 완벽하게 작동하는 원격 인증 스택을 사용하더라도 하드웨어 소유자는 원하는대로 더 많거나 적은 작업을 수행 할 수 있습니다. 신뢰할 수없는 사람들이 장치를 조작하지 못하도록 하드웨어에서 물리적 보안 제어를 수행하는 것이 중요합니다.

관련 문제