안녕하십니까?
최근 특정 고객사에 납품된 제품이 적용된 시스템 내 서비스가 이슈가 발생해서,
고객사에서 관련된 모든 솔루션 및 서비스에 대한 확인 및 검증을 하였습니다.
회의 참석 요청을 받고 회의에 갔더니..저희 제품(java로 개발)을 Decompile 해서 소스를 다 분석해서
회의를 하더라구요.
회의 석상에서 저와 고객사 담당부서도 사전협의 없이 진행된 건이라 강력하게 항의를 한 상태지만 이미
소스 등은 공개된 것입니다.
그래서 java 와 jar에 대한 난독화를 고려하고 있습니다. 그런데 DexGuard를 비롯한 제품들이 다 Android 환경만을
업급하고 있어서..상용화제품 (제대로 변수명, 내부로직, 암호화를 적용한 난독) 중 일반적인 서버환경 (windows, unix, linux)
환경을 지원하는 java 및 jar 난독화 제품이 있는지 조언 부탁드립니다.
감사합니다.
이거는 계약에 따라서 소송감이 될 수 있는 것 아닌가요?
회의 시에도 "집에 문을 잠그지 않았다고 닫아 놓은 문을 열고 들어가는건 명백한 범죄" 라고 했습니다.
일반 응용프로그램 난독화 가능할겁니다..
아래 아티클은 구글에서 찾은 spring기반으로 만든 어플리케이션 난독화 관련 글입니다.
http://hanjoonkblog.blogspot.com/2017/12/spring-boot-gradle-proguard-jar.html?m=1
둘다 안드로이드 전용은 아니고 일반 java 어플리케이션에 사용가능 한겁니다.
..사실 근데 난독화해도 말그대로 난독일뿐...
요즘 ide가 좋아서.. 디컴파일 한 소스 열어놓고 변수나 클래스 이름 바꾸기 하면... ㅎㅎ
노~오~력 하면... 디컴파일 해서 분석 가능하죠.
http://java-source.net/open-source/obfuscators
그런데, 뭐 어차피 무슨짓을 해 봐야 바이트 코드란게 역공학이 워낙 쉬워서 별 소용은 없습니다.
바이트 코드 역공학에 대한 조항을 반드시 계약에 넣어 법률로 보호하는 방법 밖에 없습니다.
난독이야..더 하겠죠. 그래도 일반적인 개발자가 쉽게 로직등을 볼 수 없게 하는것에 의미를 두고 있습니다.
감안하도록 하겠습니다.
저라면 피가 거꾸로 솟구칠것 같네요