목 차
평가항목ID | MOB-FIN-020 | 위험도 | 4 |
통제구분 | 5.8.3 (전자금융) 단말 보안 | 평가항목 | [전자금융] 소스코드 난독화 적용 여부 |
상세설명 | o 디컴파일(DeCompile) 기술을 이용하여 복구된 소스코드의 분석(프로그램 흐름 파악, 중요정보 획득 등)을 어렵게 하기 위해, 소스코드(또는 실행파일) 난독화 여부를 점검 * (평가 예시) - 실행 프로그램 또는 소스코드 난독화 미적용으로 인한 중요 로직의 해독 가능 여부를 점검 |
소스코드 난독화 적용 여부
소스 코드 난독화는 기능을 유지하면서 프로그램의 소스 코드를 이해하고 리버스 엔지니어링하기 어렵게 만들기 위해 프로그램의 소스 코드를 수정하는 것입니다. 이는 변수 및 함수 이름 바꾸기, 무의미한 코드 추가, 암호화 및 난독화 알고리즘 사용과 같은 기술을 통해 달성할 수 있습니다.
개발자가 소프트웨어 애플리케이션에 소스 코드 난독화를 적용하기로 선택한 데에는 몇 가지 이유가 있습니다. 한 가지 이유는 독점 알고리즘이나 비즈니스 로직과 같은 지적 재산이 복사되거나 도난당하지 않도록 보호하는 것입니다. 또 다른 이유는 해커와 공격자가 애플리케이션을 악용하거나 데이터를 도용하는 데 사용될 수 있는 코드의 취약점을 발견하지 못하도록 하는 것입니다.
그러나 소스 코드 난독화를 적용하는 데 잠재적인 단점도 있습니다. 코드를 유지 관리 및 디버깅하기 어렵게 만들고 응용 프로그램의 크기와 복잡성을 증가시킬 수 있습니다. 또한 충분한 시간과 리소스로 코드를 리버스 엔지니어링할 수 있는 단호한 공격자에 대해 확실한 보호를 제공하지 못할 수 있습니다.
궁극적으로 소스 코드 난독화를 적용하기로 한 결정은 애플리케이션과 해당 사용자의 특정 요구 사항과 위험 및 이점에 대한 신중한 분석을 기반으로 해야 합니다.
해결방안
Android는 자체 SDK인 proguard를 사용하여 무료로 코드 난독화를 적용합니다.
iOS는 앱 스토어에 등록 시 자체 난독화 적용 됩니다.
반응형
'전자금융기반시설 (웹, 모바일)' 카테고리의 다른 글
[전자금융] 단말기 브라우저 영역 내에서의 중요정보 노출 (0) | 2023.05.25 |
---|---|
[전자금융] 디버깅 탐지기능 적용 여부 (0) | 2023.05.15 |
[전자금융] 프로그램 무결성 검증 (0) | 2023.05.15 |
[전자금융] 이용자 입력정보 보호 (1) | 2023.05.08 |
[전자금융] 악성코드 방지 (1) | 2023.05.08 |