2017년 6월호

편리한 모바일 결제? 연락처, 문자, 개인정보 마구잡이 수집

12개 금융사 앱 정밀분석

  • 배수강 기자|bsk@donga.com, 김건희 객원기자|kkh4792@hanmail.net

    입력2017-05-18 16:58:46

  • 글자크기 설정 닫기
    • 일정 읽기, 음성녹음, 위치 등 283개 권한 요구
    • ‘위험 단계’ 권한도 17개…이용자는 내용 모른 채 ‘동의’
    • 앱 개발자 “내려받을 때 대량 정보 수집…이용자 기만”
    • 금융사들 “말할 수 없다”…신동아 분석 결과에 ‘함구’
    • ETRI “권한 과도하게 요구, 해킹 위험 내재”
    • “무리한 정보 요구하면 앱 삭제해야”…‘자기정보결정권’
    서울과 부산에서 사업을 하는 양모 대표(공학박사)는 수서발 고속철도(SRT)를 이용하면서 신한카드 모바일 카드 결제 플랫폼인 ‘신한 FAN(판)’ 애플리케이션(앱)을 내려받았다. SRT 이용 시 할인 혜택을 받을 수 있다는 광고를 봤기 때문.

    며칠 후 그에게 ‘신한 FAN 클럽 신규 가입 시 3000포인트를 지급한다’는 문자메시지(MMS)가 날아들었다. 그러나 첨부된 링크에 접속하자 휴대전화 화면에 ‘악성코드 발견(Malware detected)’ 알림이 떴다. 오래전 휴대전화에 깔아둔 멀웨어탐색 앱 ‘멀웨어바이트(Malwarebytes)’가 신한 FAN 앱에서 악성코드 ‘트로이목마’가 있는 것으로 의심된다고 진단했기 때문. 이 앱에선 악성 소프트웨어 검사 서비스인 ‘바이러스토탈(Virustotal)’에서도 8개의 바이러스가 발견됐다.

    금융 앱에서 트로이목마가 감지된다는 것은 보안에 구멍이 뚫리는 ‘백도어(Backdoor·유사시 문제 해결을 위해 시스템 관리자나 개발자가 정상적인 절차를 우회해 시스템에 출입할 수 있도록 임시로 만들어둔 비밀 출입문)’가 작동될 수 있음을 뜻한다.

    신한 FAN은 2013년 4월 서비스를 시작해 4년 만에 누적 가입 회원이 800만 명을 넘어선 대표적인 금융 모바일 앱. 양 대표는 신한 FAN 앱 보안이 위험 수위를 넘어섰다고 판단하고 국가사이버안전센터와 한국인터넷진흥원(KISA)에 ‘신한 FAN 앱의 보안 위험성’을 알리는 e메일을 보냈다. 개인 및 금융정보 해킹 위험성이 있으니 철저히 확인해서 보안 사고를 막아달라는 취지였다.  
    “모바일뱅킹 시대에 가장 중요한 것은 보안 문제다. 금융 앱에는 금융정보를 비롯한 개인정보가 가득한 만큼 이용자가 의심 사례를 제보하면 보안상 문제가 없는지, 해킹 대비책이 마련돼 있는지 정밀 검토해야 하는데 이상하게도 황당한 답변이 왔다.”

    KISA는 양 대표의 제보에 “휴대전화 관련 문의 사항은 통신사 또는 휴대전화 제조사 쪽으로 문의해달라”고 답했다.





    “제조사에 문의하라” 황당 답변

    금융 앱은 금융사가 앱 개발·유지 보수를 맡은 외부 개발사와 계약을 체결해 출시하는 만큼 단말기 제조사와 무관하다. 만에 하나 바이러스 백신의 ‘오탐(誤探)’이라 하더라도, KISA로선 신한 FAN 앱 서비스 사업자인 신한카드 측에 관련 사항을 확인하고, 민원인에게 그쪽으로 문의하라고 안내하는 게 상식이다.

    KISA 측은 ‘신동아’와의 전화통화에서 “최종 사업자인 금융사를 포함해 통신사 또는 휴대전화 제조사에 문의하라고 안내한 것인데 오해의 소지가 있었다. KISA는 모바일 앱에 대한 개인정보를 강화하는 업무를 맡고 있지만, 국내 금융 앱은 전자금융거래법에 해당하기 때문에 금융감독원의 소관이라 현실적인 어려움이 있다”고 해명했다. KISA가 ‘소관’이라던 금감원 역시 “모바일 앱 해킹에 대한 감시 권한은 미래창조과학부에 있다”며 발을 뺐다.

    이용자가 대량 피해를 막기 위해 짬을 내 제보한 사실을 정부 당국이 다각적인 보안 점검에 나서기는커녕 서로 떠넘기는 듯한 모양새를 보인 것. 양 대표는 “개인정보 유출이나 해킹 위험성에 대응하는 국가기관의 프로세스가 이처럼 부실하다는 것에  놀랐다”며 “고객 유치에만 혈안이 된 금융권과 정부 당국의 안일한 인식 때문에 유독 국내에서 보안사고가 자주 발생하는 것 같다. 이와 관련한 논문을 쓸 생각”이라고 말했다.

    그의 말처럼, 모바일뱅킹 이용자가 1100만 명이 넘는 우리나라에서 금융 보안 사고는 어제오늘 일이 아니다. 2014년에는 KB국민카드, 롯데카드, NH농협카드 3사 용역업체 직원이 1억 건이 넘는 고객 개인정보를 빼돌려 대출광고업자에게 판 사상 최대 규모의 정보유출 사건이 발생했고, 삼성카드 모바일 앱카드 명의도용 사고 등 크고 작은 사고가 잇따랐다.


    개인정보 1억 건 유출

    지난 4월에는 자동화기기(ATM) 전산망이 악성코드에 감염되면서 유출된 28명의 시티카드 고객이 불법 부당인출을 당하는 피해를 봤다. 해커들은 전산망에 악성코드를 설치한 뒤 제어(C&C) 서버로 카드 정보와 카드 소유자 개인정보, 은행 계좌번호 등을 빼냈는데, 64개의 ATM기에서 유출한 2500건의 정보 중 일부로 복제카드를 만든 것으로 나타났다. 유출 정보는 민감하고 방대했다. 개인 신상정보와 결제계좌는 물론 이름, 주민등록번호, 연락처, 집 주소, 연봉, 결혼 여부, 신용등급 정보까지 유출됐다. 금융권이 수집하는 정보가 방대한 만큼 보안 사고 시 유출되는 개인정보도 방대할 수밖에 없다.

    이처럼 보안사고가 터질 때마다 금융사들은 “보안을 확실히 하겠다”며 머리를 숙였지만, 이용자로서는 여전히 불안하다. 2016년 말 KT경제연구소가 발표한 ‘모바일뱅킹 이용 현주소’ 보고서에 따르면, 모바일뱅킹을 이용하지 않는 이유로 △해킹에 대한 우려(41.8%) △작은 화면에 대한 불편함(13.6%) △스마트폰 분실 위험(12.7%)을 꼽았다.

    그렇다면 국내 금융 앱 보안 상태는 어떤 수준일까. 국내 금융권은 금융거래와 관련 없는 개인정보를 왜, 얼마나 수집할까. 금융사가 수집한 개인정보는 보안 사고가 발생하면 통째로 유출된다.

    ‘신동아’는 국내 금융 앱 보안 상태를 점검하고 해킹 위험성을 살펴보기 위해 지난 1월부터  ‘조샌드박스 클라우드(JoeSandbox Cloud)’를 활용해 국내 금융사의 모바일 앱(안드로이드 버전)을 분석했다.



    ‘보안 바로미터’ 접근권한

    조샌드박스는 스위스의 악성코드 분석 솔루션 전문업체인 ‘조시큐리티(JoeSecurity)’가 내놓은 자동화 악성코드 분석 정밀 프로그램. 각국 정부기관을 비롯해 금융사, 기업, 침해사고 대응조직(CERT), 보안 솔루션 및 서비스 기업들이 사용한다. 금융감독원에 공시된 2016년 금융사의 영업이익과 당기순이익을 기준으로 8개 카드사(신한·삼성·KB국민·현대·비씨·롯데·우리·하나카드)와 4대 은행(신한·하나·우리·KB국민은행) 등 총 12개 모바일 금융 앱을 분석했다.

    이 프로그램을 통해 ‘신동아’는 국내 금융 앱이 사용자에게 요구하는 ‘앱 접근권한 목록’을 상세하게 확인할 수 있었다. 접근권한은 앱 서비스 제공자가 사용자의 스마트폰에 저장된 정보나 기능에 접근할 수 있는 권한. 앱마다 다르긴 하지만, 보통 사용자의 위치와 통화 정보, 주소록(연락처), 카메라, 계정 정보, 음성 녹음, 문자메시지, 저장소, 네트워크 통신 등을 요구하는데, 이는 모두 사용자의 개인정보와 관련 있다. 접근권한은 앱 보안 상태를 보여주는 ‘바로미터’인 셈이다.

    분석 결과, 국내 금융 앱 12개가 사용자에게 요구하는 권한은 총 283개였다. 평균 23.58개 권한을 요구했다. 가장 많은 권한을 요구한 것은 현대카드 앱으로, 35개 권한을 사용자에게서 가져갔다. 이어 신한 FAN(34개), 삼성카드(32개), 비씨카드(30개), KEB하나은행 스마트폰뱅킹(26개), KB국민은행 스타뱅킹(21개), 우리·KB국민카드·스마트롯데카드(19개), 하나카드·우리은행 원터치개인뱅킹(17개), 신한카드(14개)가 뒤를 이었다.

    주목할 점은 금융 앱이 사용자에게 고지하는 접근권한보다 더 많은 정보를 가져간다는 것. 일례로 구글플레이(Google Play)에서 비씨카드 앱 권한정보를 보면 24개 권한을 요구하지만, 조샌드박스 클라우드 분석에 따르면 이 앱이 사용자에게서 가져가는 권한은 총 30개에 달했다. 이용자 몰래 추가로 권한을 가져간 것인데, 이는 비씨카드가 사용자에게 접근권한 항목과 용도를 상세히 밝히지 않기 때문이다.


    현대카드 35개 권한 요구 ‘최다’

    구글플레이에서 비씨카드 앱이 밝힌 위치 관련 접근권한은 대략적인 위치(네트워크 기반)와 정확한 위치(GPS 및 네트워크 기반) 접근권한이지만, 이번 분석에서는 △대략적인 위치 접근(ACCESS COARSE LOCATION) △정확한 위치 접근(ACCESS_FINE_LOCATION) △위치정보시스템(GPS) 접근(ACCESS_GPS) △가상위치 접근(ACCESS MOCK LOCATION) 등 총 4개에 달했다. 이와 관련해 비씨카드 측은 “고객의 위치를 기반으로 혜택을 안내하기 위한 것”이라고 밝혔지만 구체적인 설명은 하지 않았다.

    금융 당국은 금융사가 사용자에게 접근권한이 필요한 항목과 그 이유 등을 알기 쉽게 고지해야 한다고 강조한다. 미래창조과학부 관계자는 “관련법상 앱 서비스 사업자가 스마트폰에 저장된 정보나 기능에 접근하면서 근거 없이 개인정보를 수집할 경우 법적 책임을 물어야 한다”며 “확인해보겠다”고 밝혔다. 

    그렇다면 국내 금융 앱이 사용자로부터 가져가는 권한은 어떤 것일까. 이를 확인하려면 구글이 마련한 안드로이드 접근권한 중 ‘보호수준(Protection Level)’을 살펴볼 필요가 있다. 보호수준은 앱이 권한에 접근할 때 위험도가 얼마나 되는지를 보여주는 지표로 △Normal(위험 낮은 권한. 사용자 승인 없이 권한 허용) △Dangerous(위험 높은 권한. 사용자 승인 얻어야 권한 허용) △Signature(삼성전자 등 스마트폰 제조사가 전화·촬영·통신 등 스마트폰 기능을 수행하기 위해 설치한 앱. 별도 안내 없이 권한 허용) △Signature Or System(제조사나 통신사 등이 스마트폰 플랫폼에 설치한 앱. 별도 안내 없이 권한 허용) 총 4단계로 나뉜다. 눈여겨볼 것은 ‘위험(Dangerous) 단계’. 만약 앱이 사용자로부터 위험 단계에 속한 권한을 승인받으면 기기에 저장된 정보에 접근이 가능해 개인정보 유출이나 금융사고가 발생할 수 있다. 

    국내 금융 앱 12개 접근권한을 항목별로 살펴보면 총 85개로, 이 가운데 위험 단계에 해당하는 권한은 17개다<표 참고>. 여기엔 금융거래와 동떨어진 권한이 대거 포함돼 있다.

    대표적인 게 ‘주소록 읽기(READ CONTACTS)’. 이 권한은 모바일뱅킹을 통해 계좌이체를 완료하면 이체 통지 사실을 SMS나 카카오톡으로 알려줄 때 활용되지만, 금융 앱 필수 기능은 아니다. 구글은 “사용자가 이 권한을 승인하면 앱이 사용자의 단말기에 저장된 모든 연락처를 읽을 수 있다”고 경고한다. 그러나 KB국민은행 스타뱅킹, KEB하나은행 스마트폰뱅킹은 사용자가 최초 앱을 설치할 때 이 권한을 요구한다.

    ‘일정(READ CALENDAR, WRITE CALENDAR)’ 권한도 금융거래와 직접 관련이 없다. 구글은 이 권한을 부여받은 앱이 사용자 몰래 캘린더에 저장된 생일, 결혼기념일 등 개인 일정을 읽거나 저장할 수 있다고 경고한다. ‘일정 권한’을 요구한 곳은 현대카드였다. ‘신동아’는 현대카드가 왜 이런 권한을 가져가려고 했는지 여러 차례 물었지만 답변하지 않았다.

    ‘음성 녹음(RECORD AUDIO)’ 권한 역시 금융거래 핵심 기능은 아니다. 고객이 음성으로 메뉴를 검색할 수 있게 한 편의 기능이지만 구글은 “사용자가 이 권한을 승인하면 앱이 언제 어디서든 음성을 녹음할 수도 있으니 주의하라”고 밝히고 있다. 그러나 삼성카드, KB국민카드 앱은 사용자에게 이 권한을 요구했고, 위험성을 모르는 이용자들은 별 의심 없이 승인하고 있다.

    기능이 비슷한 여러 권한을 가져간다는 것도 확인할 수 있었다. KEB하나은행 스마트폰뱅킹 앱은 다른 금융 앱과 달리 사용자에게 △SMS 문자 수신 △MMS 문자 수신 △SMS 문자 읽기 총 3개 접근권한을 동시에 요구했고, KB국민카드, KB국민은행 스타뱅킹, 신한 FAN 앱은 SMS 수·발신 접근권한을 가져갔다. 이들 권한은 모두 ‘위험(Dangerous) 단계’에 해당한다.



    구글 “앱이 음성녹음… 주의”

    ‘문자메시지’ 권한은 금융거래 내역을 전송받거나 SMS 추가 인증번호를 공유할 때 활용되지만, 구글은 “앱이 사용자 몰래 누군가와 문자메시지를 주고받을 수도 있어 위험도가 높다”고 분석한다. 문자 권한을 요구한 삼성, KB국민, 하나카드, KB국민은행, KEB하나은행, 신한은행, 스마트롯데카드 측에 이유를 물었지만 답변하지 않았다. 이들 금융사는 “전문적 내용이어서 보안 팀과 논의해봐야 한다”거나 “알려줄 수 없다”고 했다.

    사용자 위치 접근권한도 가져갔다. 12개 금융 앱이 가져가는 위치 접근권한 개수는 총 19개로 앱별 평균 1.58개의 위치 접근권한을 가져갔다. 항목별로는 △대략적인 위치 접근(ACCESS COARSE LOCATION) △정확한 위치 접근(ACCESS FINE LOCATION) △위치정보시스템 접근(ACCESS GPS) △추가위치 접근(ACCESS LOCATION EXTRA COMMANDS) △가상위치 접근(ACCESS MOCK LOCATION) 총 5개. 이 중 ‘대략적인 위치 접근’과 ‘정확한 위치 접근’은 위험 단계에 속한다.
    위치정보는 현재 위치에서 가까운 영업점을 알려주는 등 정보를 제공하는 데 활용되지만 이는 금융사의 편의 기능일 뿐 금융거래 본연의 기능은 아니다. 따라서 다른 사람이 알게 될 경우에는 심각한 사생활 침해뿐 아니라 범죄에 노출될 수 있어 매우 민감한 개인정보에 해당한다.

    KB국민과 현대, 비씨카드와 우리은행 원터치개인뱅킹, KB국민은행 스타뱅킹, 신한 FAN, 롯데카드 등 7개 금융 앱은 ‘대략적인 위치 접근’과 ‘정확한 위치 접근’ 권한을 모두 가져갔고, 삼성카드와 KEB하나은행은 ‘정확한 위치 접근 권한’을 가져갔다. 금융사들은 그 이유를 묻는 ‘신동아’ 질의에 답변하지 않았다.



    “금융사 자의적 정보 수집”

    이처럼 앱을 배포하면서 금융거래와 동떨어진 권한을 과도하게 가져가는 이유는 뭘까. 한 모바일 앱 개발자의 설명은 이렇다.

    “금융사 모바일 앱이 요청하는 권한이 모두 실제로 구동되는 것은 아니다. 예를 들어 앱이 사용자에게 카메라(CAMERA) 권한을 가져가면서 ‘홍채나 안면 인식 등을 활용해 신원을 확인한다’고 말하지만, 이는 미래에 다가올 금융 환경에 대비하려는 금융사의 자의적 조치다. 현재 앱을 구동하는 데 필수적인 기능은 아닌데 언젠가 사용할 수 있다는 판단에서 수집한다. 생각해보라. 금융사는 사용자가 한번 앱을 내려받을 때 여러 권한을 한꺼번에 받아내는 게 편하다. 이용자들은 이러한 내용을 모른 채 ‘동의’하지만, 사실상 이건 기만한 거다.”

    ‘신동아’의 12개 금융 앱 분석 결과를 검토한 김익균 한국전자통신연구원(ETRI) 지능보안연구그룹장의 설명은 이렇다.

    “금융 앱은 전자금융거래법 등 금융위원회가 정하는 기준을 준수해야 한다. 따라서 안전성, 보안성, 이용편의성 등은 갖췄다고 볼 수 있다. 그런데 ‘신동아’ 분석 결과를 보면 금융 앱이 수집하는 정보 중 이용자의 ‘주소록(READ CONTACTS)’ ‘전화걸기(CALL PHONE)’ 권한 같은 독특한 기능이 포함돼 있는데, 이에 대해선 상세한 조사가 필요해 보인다. 앱은 금융거래를 목적으로 제작됐지만, 고객 편의 기능을 한데 넣으려다 보니 사용자에게 과도하게 권한을 요구하는 것 같다. 이 경우 해킹 위험이 내재한다.”


    정보통신망법의 허점

    따라서 전문가들은 앱이 최소한의 권한만 요청하고, 이용자에게 정확하게 알리는 고지 의무를 강화해야 한다고 목소리를 높인다.
    김승주 고려대 정보대학원 교수는 “금융 앱은 개인정보뿐 아니라 금융정보가 담겨 있기 때문에 본래 목적인 금융거래에 해당하는 권한만 가져가야 한다. 그래야 사용자가 과도한 권한으로 인한 개인정보 유출 걱정 없이 금융거래를 할 수 있다”며 “개발자와 금융사 입장에서도 권한을 최소한만 요구하면 앱을 효율적으로 관리할 수 있다”고 말했다.

    앱이 접근권한을 과도하게 요청한다는 지적은 오래전부터 있어왔다. 3월 23일 시행된 ‘정보통신망 이용촉진 및 정보보호 등에 관한 법률(정보통신망법)’에 따르면 앱 서비스 사업자는 사용자에게 앱 접근권한을 요구하는 이유와 목적을 고지하도록 돼 있다. 아울러 사업자가 앱 본래 목적이 아닌 권한을 과도하게 요구하면 과태료(3000만 원)를 물어야 한다. 방송통신위원회가 정보통신망법을 근거로 작성한 ‘스마트폰 앱 접근권한 개인정보보호 안내서’에 따르면, 앱 접근권한은 필수적 권한과 선택적 권한으로 나뉜다. 필수적 접근권한은 서비스를 제공하는 데 반드시 필요한 기능이기 때문에 사용자 승인을 받지 않고도 권한을 준다. 반면 선택적 권한은 항목별로 동의를 얻어야 하고, 사용자가 승인하지 않는다 하더라도 서비스를 제공해야 한다.

    문제는 필수-선택 접근권한을 구분하는 기준이 모호하다는 것. 개정 정보통신망법은 금융사 측이 접근권한 기준을 설정하도록 했기 때문이다. 이렇다 보니 반드시 사용자 동의를 얻어야 하는 접근권한(Dangerous 단계에 해당하는 접근권한) 앱이라도 금융사가 필수적 접근권한으로 설정하면 승인 없이 권한을 가져간다. 실제 우리은행 원터치개인뱅킹 앱이 요구하는 ‘전화 상태 읽기’ ‘저장 공간’은 반드시 사용자의 동의를 얻어야 하지만, 우리은행이 이 권한들을 필수적 접근권한으로 설정해 사용자 승인 없이 가져가고 있다. 스마트롯데카드 앱 역시 사용자의 동의를 얻어야 하는 저장 공간(외부 저장소 읽기), 전화 걸기, SMS 읽기 권한을 필수적 접근권한으로 설정해놓았다.

    방통위 개인정보윤리과 담당자는 “정보통신망법에 접근권한을 앱 서비스 사업자가 설정하도록 돼 있어 보완이 필요하다”면서도 “그나마 사업자가 설정한 필수-선택 권한을 상세히 고지해 동의를 받도록 한 것은 소비자 입장을 대변한 것”이라고 말했다. 



    “접근권한 꼼꼼히 따져야”

    정보통신망법 시행 두 달여가 지났지만 국내 금융 앱 12개 중 이 사실을 고지하고 있는 것은 KB국민카드와 스마트롯데카드, 비씨카드, 우리은행 원터치개인뱅킹 앱뿐이다. 나머지 8개 앱은 선택적 접근권한은 물론 필수적 접근권한을 밝히지 않고 있다.

    글로벌 시장에선 ‘자기정보결정권’이 강화되는 추세다. 자기정보결정권은 자신의 정보가 어떤 목적으로 언제 어떻게 활용되는지를 언제든지 파악하고 스스로 결정할 수 있는 권리. 2014년 미국 연구조사 전문기관인 퓨리서치(Pewresearch)센터가 실시한 조사에 따르면 스마트폰 사용자 10명 중 6명은 앱 서비스 사업자가 개인정보와 관련된 접근권한을 과하게 요구하면 앱 설치를 중단하는 것으로 나타났다. 특히 전체 스마트폰 사용자의 43%는 앱이 권한을 과도하게 가져간다는 이유로 이미 설치한 앱을 삭제했다.

    그러나 국내 스마트폰 사용자들은 개인정보 수집 약관을 상세히 읽지 않고 동의란에 사인하거나 클릭하는 데 익숙하다. 이렇다 보니 금융 앱을 내려받을 때도 접근권한을 꼼꼼히 확인하지 않는다. 법 개정에 앞서 ‘자기정보결정권’을 강화하기 위한 노력이 필요한 대목.

    이두형 성균관대 정보통신대학원 교수는 “관계 당국은 사고가 터질 때마다 뒤늦게 법적 조치를 취할 게 아니라, 디지털 시대에 정보의 자기결정권이 얼마나 중요한 천부인권(天賦人權)이고 지켜야 할 가치인지를 국민이 깨달을 수 있도록 해야 한다”고 강조했다. 





    댓글 0
    닫기

    매거진동아

    • youtube
    • youtube
    • youtube

    에디터 추천기사