Java 응용 프로그램이있어서 보안에 대해 생각하고 있습니다. 나는 코드를 난처하게 할 수는 있지만, 메모리에서 코드를 "도용"하거나 런타임시 javassist를 사용하여 코드를 수정할 수는 있습니다. 나는 수정하기 전에 코드를 보호하고 다른 자바 애플리케이션에 의해 메모리에서 코드를 얻기 위해 SecurityManager를 찾고있다. 누군가이 예제에서 SecurityManager를 사용하거나 더 나은 솔루션을 어떻게 사용하는지 알고 있습니다.Java SecurityManager - 런타임에 수정 전의 보안 코드
0
A
답변
4
SecurityManager는 사용자가하려는 것과 반대입니다. 신뢰할 수없는 코드를 실행할 때 발생할 수있는 잠재적 인 위험으로부터 사용자 컴퓨터를 보호합니다. 사용자에 대해 코드를 보호하려고합니다.
코드를 100 % 보호 할 실제 솔루션이 없습니다. 코드가 사용자의 컴퓨터에서 실행되면 도난 당할 수 있고 스킬과 노력으로 리버스 엔지니어링 될 수 있습니다. 모든 프로그래밍 언어에 대해 인 경우입니다.
기본적으로 사용자가 플랫폼을 제어하면 실행중인 응용 프로그램 메모리에서 물건에 액세스 할 수 있으며이를 막을 수 없습니다. Java의 경우 보안 관리자를 비활성화하고 에이전트를 첨부 할 수도 있습니다. 기본적으로 은을 부과 할 수 있습니다. 그것은 그들의 < < 플랫폼입니다.
당신이 할 수있는 최선의 방법은 필요한 리버스 엔지니어링 기술과 시간없이 누군가에게 너무 힘들게하는 것입니다.
그리고
코드가 귀중한이 ... 단지 >>에 등에 < < 하드웨어 >> 당신의 < < 데이터 센터를, 그것을 실행하는 것이 경우 많은 상용 및 오픈 소스 "난독가"있다
하지만 JVM 최적화 기능에 영향을 미친다는 것을 이해해야합니다. 정말 그럴 가치가 있니? – fg78nc