2009-05-07 7 views
3

나는 이미 비슷한 질문이 있음을 알고 있습니다. 하지만 제 질문은 좀 더 이론적입니다.확실한 재판 전략

확실한 시험 시스템을 설계 할 수 있습니까? 절대적으로 나는 크래커가 그런 시스템의 알고리즘을 알고 있더라도 금이 갈 수없는 그런 시스템을 의미합니까?

프로그래밍 질문이 아니면 죄송합니다.

편집 : 제 질문을 좀 더 실용적으로 만들어야한다고 생각합니다. 독립형 애플리케이션이 아닌 전체 시스템에 대해 묻고 있습니다. 시스템은 Linux OS가 설치된 PC와 하드웨어가 연결된 일부 하드웨어로 구성됩니다. HDD 암호화를 사용할 수 있습니까?

답변

4

유일한 방법은 인터넷 기반 "서비스 형 소프트웨어"응용 프로그램입니다. 액세스 권한을 제공하지 않으면 소프트웨어를 사용하지 않습니다. 데스크톱 기반 응용 프로그램 인 경우 기능의 일부 핵심 기능은 여전히 ​​온라인 서버에 있어야합니다.

해커가 로컬 컴퓨터에 전체 응용 프로그램이있는 경우 해커가 리버스 엔지니어링되고 일부 방식으로 "금이 갔을"수 있습니다. 이를 극복하는 유일한 방법은 기능의 일부가 절대로 시스템에 있지 않음을 확인하는 것입니다.

1

사용자가 제어 할 수있는 원격 서버에 의존하도록 응용 프로그램을 설계 할 수 있습니다.

0

아니요. 매우 어렵게 만들 수 있지만 "다른 사람이 코드를 실행하게하고 코드를 실행할 수있게하려면 어떻게해야합니까?"

예를 들어 코드의 작지만 중요한 부분을 생략하고 제어하는 ​​서버에서 코드를 다운로드해야 할 수 있습니다. 이를 통해 평가판 활동을 추적하고 특정 사용자를 종료 할 수 있습니다. 그러나 일단 코드를 받으면 코드를 포착하고 충분히 작업 할 수있는 방해받지 않는 버전의 제품을 만들 수 있습니다.

+0

"나는 누군가가 코드를 실행하도록 허용 할 수는 있지만 코드를 복사하거나 수정할 수는 없다"고 생각합니다. – Vanuan

+0

나는 그렇게 생각한다. 또는 "어떻게 다른 사람이 코드를 실행할 수는 있지만 선택하는 하위 집합은 실행할 수 없습니다." – Darron

3

균열 방지 소프트웨어를 사용하는 유일한 방법은 완전히 닫힌 시스템을 만드는 것입니다. 하드웨어에서 OS, 응용 프로그램 및 개발 도구에 이르기까지 모든 것을 제어하면 조작을 방지 할 수 있습니다.

내가 이것이 이론적이라고 말한 것에 유의하십시오. 필연적으로 하드웨어를 수정할 수있는 방법을 찾는 하드웨어 해커를 발견하게됩니다 (modchips 참조). 여기에서 원하는 소프트웨어를로드하고 이미있는 소프트웨어를 수정할 수 있습니다.

물리적 보안 (금고, 볼트 등)과 동일한 모델이 소프트웨어에 적용됩니다. 요점은 합법적 수단을 통해 물건을 구입하는 것보다 물건을 더 많이 훔치거나 복사하는 것입니다. 실수로 시스템을 만들 수는 없지만 스크립트 아내와 취미 해커가 제품을 크랙하지 못하게 할 수 있습니다. 반면에 프로들은 금이 가고 있습니다. 그들은 길을 찾을 것입니다.