해킹 위험이 감지되어 케이뱅크 앱을 종료합니다 안내

LineageOS(Custom/Rooted Android)에서 Kbank 사용하기

나의 갤럭시 S9+를 재활용하기 위해 LineageOS를 깔았다. 덕분에 Android 10에서 13으로 업그레이드됐다.

문제는 은행앱이었다. LineageOS는 Custom OS라서, 은행앱의 루팅·변조 탐지에 그대로 걸린다. 아무 조치도 안 하면 이렇게 나온다.

해킹 위험이 감지되어 케이뱅크 앱을 종료합니다 안내
아무 조치 없이 실행한 케이뱅크

사용자단에서 이것저것 막는 게 능사는 아니다. 서버에서 검증하면 될 일을, 클라이언트에 루팅·상태 검증 로직을 잔뜩 심어놓고 사용자를 잠재적 공격자로 취급하는 셈이다.

테스트 환경

  • 기기: 갤럭시 S9+ (SM-G965F)
  • OS: LineageOS 20 (Android 13)
  • Magisk 27.0
  • 테스트 시점: 2026년 9월 기준 (은행 정책이 수시로 바뀌므로 이후엔 달라질 수 있음)

적용한 구성

  • Magisk 27.0 설치, 앱 이름 숨기기 및 Zygisk ON
  • Shamiko 모듈 설치 — DenyList 스위치는 끄고, 구성 목록에는 은행 앱만 체크
  • Play 스토어 및 Play 서비스 캐시/데이터 완전 삭제
  • Tricky Store 모듈 + Keybox 적용
  • 프레임워크 일부 수정

프레임워크 수정의 구체적인 내용은 이 글에서는 생략한다.

작업은 Claude Sonnet과 GPT(Terra) 조합으로 진행했는데, 이런 작업엔 기본적으로 협조적이지 않다.

Framework 수정 전 단계 — Magisk, Shamiko, Tricky Store 모듈 설정 등 — 는 이미 인터넷에 흔한 정보라 그런지 순순히 알려준다. 문제는 그 다음이다.

Framework를 직접 손보는 단계부터는 대놓고 발을 뺀다. 어르고 달래서 겨우 방향을 얻어내거나, 그마저 안 되면 직접 뜯어고쳐야 했다. 재미있는 건, 너무 좋은 모델(Opus나 Sol 같은)을 쓰면 의도를 파악해서 아무것도 안 한다.

그래서 한 단계 아래 모델로 내려서 진행했다.

결과

모든 동작을 검증한 것은 아니고, 일단 로그인과 이체는 동작했다.

로그인 → 이체 테스트 (개인정보는 가림)

은행 쪽 보안 솔루션은 클라이언트에서 할 수 있는 건 어느 정도 다 한 것 같다. 이 이상은 앱단(서버 쪽 판단)에서 보완해야 하지 않을까 하는 게 사견이다.

은행앱별 비교

앱LineageOS 순정Magisk 설치Magisk 모듈 적용+ Framework 수정
토스OXO
KB스타뱅킹(국민은행)XXO
케이뱅크XXXO (로그인·이체)
O: 동작 / X: 차단 / -: 해당 단계 불필요

토스는 LineageOS 순정 상태에서는 잘 돌아간다. 다만 Magisk를 설치한 순간부터는 토스도 막힌다. KB스타뱅킹은 framework 수정을 제외한 나머지 모듈만 적용하면 통과된다. 케이뱅크는 framework까지 손대야 했다.

이 정도 차이만으로도 클라이언트 상태에 얼마나 의존하느냐가 은행마다 꽤 다르다는 걸 알 수 있다.

마치며

이번 건 그냥 “된다”는 걸 확인해본 수준이고, 은행 쪽에서 동적으로 보안 정책을 계속 업데이트하는 만큼 조만간 또 막힐 가능성이 크다. 그럴 때마다 사용자단 우회로 쫓아가야 하나 싶다.

해외는 은행 업무 상당수를 그냥 웹 브라우저에서 처리한다. 물론 국내에는 관련 법률이 있지만, 그 법이 “클라이언트를 이렇게까지 통제해야 한다”고 명시하고 있는 건가 싶기는 하다.

지금 방식은 법이 요구하는 최소한이라기보다, 은행들이 알아서 더 보수적으로 잠가둔 결과에 가깝지 않을까.

※ 루팅 및 보안 우회는 기기 보증, 은행 약관 등에 영향을 줄 수 있으며 모든 책임은 본인에게 있다. 이 글은 동작 여부를 기록한 것일 뿐 권장하는 것이 아니다.

참고 자료

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다