2010-02-10 2 views
3

makecert를 사용하여 임시 인증서를 만들고 cert2spc를 사용하여 인증서에서 SPC를 만들려고했습니다. 내가 생성 된 spc와 exe에 서명했다. 그런 다음 VS 2008에서 이진 편집기를 사용하여 exe에서 일부 비트 (변조 된)를 뒤집습니다. 놀랍게도 나는 응용 프로그램을 실행할 수있었습니다.디지털 인증서가있는 어셈블리 또는 EXE에 서명하면 변조 공격으로부터 안전합니까?

시스템에서 변조를 감지하여 불만을 제기 할 것으로 예상했습니다. 그러므로 질문.

모든 안내를 받으실 수 있습니다.

답변

1

아니요, 서명을 검사하는 바이너리의 코드도 변조 될 수 있기 때문에 아니오.

IDA Pro의 복사본을 구하고 바이너리 중 하나를 분해하는 것이 좋습니다. 원시 어셈블러가 있으면 16 진 편집기를 사용하여 특정 opcode를 편집 할 수 있습니다. 간단히 말해서, 이것은 크래커 커뮤니티가 사용하는 전술입니다. 나는 이것을 막을 길은 없을 것이라고 믿는다. ps3와 xbox360은 디지털 서명을 사용하여 바이너리를 보호하지만, 불법 복제를 막을 수는 없다.

+0

응답 해 주셔서 감사합니다. 디지털 서명이 어떤 종류의 침입 공격을받을 수 있는지 궁금합니다. 내 바이너리에 서명을 지정하는 방식으로 잘못하고 있습니다. 저는 이것을 학습 목적으로 만하고 있습니다. –

+0

학습은 끝내 주는데, 전적으로 그것을지지합니다. 이 시나리오의 문제점은 공격자가 시스템을 완전히 제어 할 수 있고, 컴퓨터와 프로세서 및 바이너리를 소유하므로 소프트웨어 개발자가 제어 권한을 갖고 있지 않기 때문입니다. 디지털 서명이 잘 작동하는 곳은 네트워크 통신입니다. 디지털 서명없이 HTTPS를 지원하는 SSL/TLS는 불가능합니다. 차이점은 공격자가 바깥 쪽을보고 안전하게 통신하고 싶은 2 명의 사람들을 찾고 있다는 것입니다. – rook