전자금융기반시설 (웹, 모바일)

[전자금융] 소스코드 난독화 적용 여부

서쪽곰 2023. 5. 15. 21:11

목 차

     

    평가항목ID MOB-FIN-020 위험도 4
    통제구분 5.8.3 (전자금융) 단말 보안 평가항목 [전자금융] 소스코드 난독화 적용 여부
    상세설명 o 디컴파일(DeCompile) 기술을 이용하여 복구된 소스코드의 분석(프로그램 흐름 파악, 중요정보 획득 등)을 어렵게 하기 위해, 소스코드(또는 실행파일) 난독화 여부를 점검
    * (평가 예시)
     - 실행 프로그램 또는 소스코드 난독화 미적용으로 인한 중요 로직의 해독 가능 여부를 점검

     

    소스코드 난독화 적용 여부

    소스 코드 난독화는 기능을 유지하면서 프로그램의 소스 코드를 이해하고 리버스 엔지니어링하기 어렵게 만들기 위해 프로그램의 소스 코드를 수정하는 것입니다. 이는 변수 및 함수 이름 바꾸기, 무의미한 코드 추가, 암호화 및 난독화 알고리즘 사용과 같은 기술을 통해 달성할 수 있습니다.

    개발자가 소프트웨어 애플리케이션에 소스 코드 난독화를 적용하기로 선택한 데에는 몇 가지 이유가 있습니다. 한 가지 이유는 독점 알고리즘이나 비즈니스 로직과 같은 지적 재산이 복사되거나 도난당하지 않도록 보호하는 것입니다. 또 다른 이유는 해커와 공격자가 애플리케이션을 악용하거나 데이터를 도용하는 데 사용될 수 있는 코드의 취약점을 발견하지 못하도록 하는 것입니다.

    그러나 소스 코드 난독화를 적용하는 데 잠재적인 단점도 있습니다. 코드를 유지 관리 및 디버깅하기 어렵게 만들고 응용 프로그램의 크기와 복잡성을 증가시킬 수 있습니다. 또한 충분한 시간과 리소스로 코드를 리버스 엔지니어링할 수 있는 단호한 공격자에 대해 확실한 보호를 제공하지 못할 수 있습니다.

    궁극적으로 소스 코드 난독화를 적용하기로 한 결정은 애플리케이션과 해당 사용자의 특정 요구 사항과 위험 및 이점에 대한 신중한 분석을 기반으로 해야 합니다.

     

    해결방안

    Android는 자체 SDK인 proguard를 사용하여 무료로 코드 난독화를 적용합니다.

    iOS는 앱 스토어에 등록 시 자체 난독화 적용 됩니다.

    반응형