🦠 전자금융 보안 모의해킹 · 악성코드 방지
Target: 모바일 금융앱
평가기준: 위험도 5 MOB-FIN 악성코드 방지
평가기준: 위험도 5 MOB-FIN 악성코드 방지
💡 쉽게 말하면
금고를 열 때 방 안에 도둑이 숨어 있는지 먼저 확인하지 않으면, 도둑이 몰래 손을 바꿔치기합니다. 앱은 실행할 때마다 악성코드가 있는지 검사하고 있으면 거래를 멈춰야 합니다.
금고를 열 때 방 안에 도둑이 숨어 있는지 먼저 확인하지 않으면, 도둑이 몰래 손을 바꿔치기합니다. 앱은 실행할 때마다 악성코드가 있는지 검사하고 있으면 거래를 멈춰야 합니다.
🔓 공격 시뮬레이션 (Red Team)
🛡️ 대응 방안 (Blue Team)
모바일 이체 실행🔒 Secured Channel
모바일 금융앱이 악성코드 탐지/차단 프로세스 없이 구동되면, 접근성 서비스를 악용한 악성앱이 화면·입력을 가로채 거래정보를 변조하거나 인증정보를 탈취합니다.
⚡ 접근성 악용 + 화면/입력 탈취
악성앱이 오버레이로 이체 수취계좌 변조
악성앱이 오버레이로 이체 수취계좌 변조
OFF
🖥️ 금융 시스템 처리 로그
[SYSTEM] Core Banking Channel ready.
[INFO] 거래 요청 대기 중...
⚖️ 컴플라이언스 위반 분석
공격 실행 후 분석 결과가 표시됩니다.
[심각] 전자금융 보안 기준 위반 감지
- 평가기준 MOB-FIN [전자금융] 악성코드 방지(위험도 5)
- 접근성 서비스 악용·화면 오버레이 탐지 부재
- 전자금융감독규정 제34조: 단말기 보안대책(악성코드 방지) 미흡
🛡️ 대응 코드/설정 실습
앱은 구동·거래 시점에 악성코드/접근성 악용/화면 오버레이를 탐지하고, 위협 발견 시 거래를 차단해야 합니다. 아래 Kotlin 코드를 보완하세요.
📚 금융보안원 평가기준 / 조치 가이드
1. 점검 항목
단말기 보안 > 악성코드 방지2. 위험 분석
- 접근성 서비스 악용으로 화면·입력 탈취
- 화면 오버레이로 거래정보(수취계좌·금액) 변조
3. 조치 방법
- 구동/거래 시 악성코드 탐지·차단 프로세스 적용
- 접근성 악용·화면 오버레이 탐지 및 거래 차단
- 위협 탐지 시 거래 중단 및 사용자 경고
🏗️ 현대 금융 IT 환경에서의 변형
Play Protect접근성 오용FDS 연동
어디가 달라졌나
모바일 악성코드의 주력이 보이스피싱 연계형으로 바뀌었습니다. 피해자가 스스로 설치하는 사칭 앱이 접근성 권한을 받아 화면을 읽고 입력을 대신하며, 발신 전화를 가로채 “은행 상담원”에게 연결합니다. 전통적 “백신 탑재”로는 막히지 않습니다.
현대 스택에서의 조치
- 앱이 비정상 접근성 서비스·오버레이 권한·통화 리디렉션을 탐지해 서버에 보고합니다.
- 사이드로딩 탐지(설치 출처가 스토어가 아님)를 Play Integrity 로 확인합니다.
- 탐지 신호를 FDS 에 연동합니다 — 악성앱 신호 + 신규 수취계좌 + 대액 이체는 즉시 보류 대상입니다.
// 화면 위에 덧씌우는 앱이 있는지 (오버레이 피싱)
if (Settings.canDrawOverlays(ctx) && hasSuspiciousOverlayApp())
risk.add(50, "오버레이 권한 보유 앱 탐지");
if (accessibilityEnabled() && !isKnownAssistiveApp())
risk.add(60, "비인가 접근성 서비스");
놓치기 쉬운 곳 — 접근성 서비스는 장애인 보조 기술의 정당한 기능입니다.
무조건 차단하면 스크린리더 사용자가 금융 서비스를 못 씁니다. 허용 목록 기반으로 판단해야 합니다.