보안카드가 뚫린 이유: 공격을 도와주는 전자금융감독규정

by | Jul 15, 2013 | 오픈블로그, 혁신과 규제 | 10 comments

지금까지 국내 온라인뱅킹거래의 안전을 사실상 지탱하던 보안카드(아래 그림 참조)가 이제는 뚫렸다고 봐야할 상황이 되었습니다.
iTAN
이달 초 여러 차례 보도된 내용 중 일부만 소개하면 다음과 같습니다:
은행 보안카드 뚫렸다? 2013.7.3 (동아일보)
금감원, ‘보안카드 비번 2개 입력’ 신종 금융사기 주의보 2013.7.5 (SBS 뉴스)
인터넷뱅킹 보안카드 입력시 에러가 뜬다면 바로 신고해야 2013.7.4 (디지털데일리)
신종 파밍의 덫 ‘보안카드 오류’ 2013.07.02 (매일경제)
보안카드 입력 오류 통한 신종 ‘파밍’ 주의보 2013.07.02 (MBN)
보안카드 번호 몰라도 예금인출, ‘파밍’ 사기 올들어 716건 피해액 37억 2013.07.02 (케이벤치)
경찰 “보안카드 번호 전체 입력 않아도 예금 빼내”..신종금융사기 주의 2013.07.02 (파이낸셜뉴스)
****
보이스피싱으로 이용자를 속여서 보안카드 번호 30여개를 ‘모조리’ 입력하게 하는 것은 원시적 수법이고, 위 보도들은 그것에 관한 것이 아닙니다.
이번에 알려진 공격은, 예를 들어, 은행이 보안카드 7번의 “앞 두자리”, 18번의 “뒷 두자리” 를 요구해서 고객이 이 정보를 정확하게 입력했는데, “접속이 폭주하여 서비스가 원활하지 못합니다”, 또는 “보안카드 번호를 정확하게 입력해 주세요”라면서 오류가 나고, 조금후 고객 통장에서 대포통장으로 고객의 잔고 전액이 빠져나가는 것입니다.
이런 공격이 가능한 기술적 이유와 제도적 이유가 있습니다. 기술적 이유는 금융거래용 보안프로그램(플러그인)이 허술하기 때문입니다. 이 플러그인은 아무도 제대로 검증하지 않습니다. 납품업체가 열심히 만들어 납품한 것이지만, 그걸 납품받은 은행은 전문적 검증능력이 없고 제3의 전문 보안업체에게 검증을 의뢰하는데 드는 “돈이 아까워서” 안하고 있습니다. 이번 공격은 이들 프로그램에 대한 메모리해킹 공격으로 이용자가 입력하는 계좌이체 비밀번호, 인증서암호, 보안카드 앞 두자리, 뒷 두자리 번호 등을 일단 입수하는 것입니다. 물론 공인인증서/개인키 파일이야 기본으로 입수해 둔 상태일 터이고요. 키보드보안 플러그인 백날 깔아봐야 소용이 없다는 점은 업계전문가들 간에 공유되는 오래된 공지사항입니다. (일반인들에게는 비밀로 붙이는 …)
그런데, 궁금한 점이 있을 것입니다. 보안카드는 매번 다른 번호를 묻는데, 이번에 입력한 그 번호가 유출되었다고 해서 공격자가 그걸로 무슨 공격을 할 수 있겠는가? 모든 사람이 이렇게 생각하고, 위에 소개한 언론 보도들도 전부 ‘미스터리’다 라는 식으로 암시하고 있습니다. 습관적으로 ‘부칸’을 거론하는 모교수님도 계시고…
대답은 간단합니다. 전자금융감독규정 제34조 제2항 제6호는 이렇게 되어 있습니다.

6. 비밀번호 개수가 한정된 일회용 비밀번호 사용 시에 비밀번호 입력 오류가 발생하거나 일회용 비밀번호를 입력하지 않고 비정상적으로 거래를 종료하면, 다음 거래 시 동일한 비밀번호를 요구할 것

예를 들어, 이번 거래에서 보안카드 “7번”의 앞두자리, “18번”의 뒷두자리를 요구했는데, 그 거래가 비정상적으로 종료되면, 바로 이어지는 다음 거래에도 똑같이 “7번”의 앞두자리, “18번”의 뒷두자리를 요구해야 한다는 것입니다.
어째서 이런 규정을 만들어 두었는지, 참…
금융위/금감원이 이런식으로 “규정”을 만들어 ‘보안’을 해보겠다는 발상 자체를 이제는 시급히 폐기할 때가 되었습니다. 그보다, 일단 이런 괴상망칙한 규정을 은행들에게 강요한 금융위/금감원에 대해서는 반드시 책임을 물어야 하지 않을까 생각합니다.
전자금융감독규정은 시급히 개정되어야 한다고 생각합니다. 감독규정 개정안 예시(pdf)를 만들어, 금융위 관계자에게 전달한지도 꽤 되었습니다만, 아무 움직임이 없군요.
‘관치보안’, ‘규정보안’이 계속되는 한, 이런 일은 자꾸 생기고, 피해자는 계속 늘어날 것이고, 우리는 ‘부칸 소행’이라는 헛소리를 계속 들어야 할 것입니다.

10 Comments

  1. 행인14

    다음 거래시에도 동일한 비번을 물어야 하는 이유는, 그렇게 하지 않으면, 공격자가 사용자의 보안카드 중의 극히 일부만 알고 있는 경우에도 자기가 알고 있는 비번이 나올 때까지 공격을 계속할 수 있기 때문입니다.
    몇년전에 그러한 문제점 때문에 생긴 조항인 것으로 기억합니다.

    Reply
  2. 행인14

    다음 거래시에도 동일한 비번을 물어야 하는 이유는, 그렇게 하지 않으면, 공격자가 사용자의 보안카드 중의 극히 일부만 알고 있는 경우에도 자기가 알고 있는 비번이 나올 때까지 공격을 계속할 수 있기 때문입니다.
    몇년전에 그러한 문제점 때문에 생긴 조항인 것으로 기억합니다.

    Reply
  3. youknowit2

    예를 들어, 3번 앞두자리, 27번 뒷두자리 번호를 알고 있는 공격자가, 바로 그 조합이 나올때까지 계속 거래를 시도할 경우, 몇번의 경우의 수를 거쳐가야 할까요? 35개의 보안카드 번호가 있다고 가정할때, 35*34=1190의 경우의 수가 있고, 당장에 3번/27번이 걸릴 행운(?)과 1190번째에야 비로소 3번/27번이 걸릴 불운(?)의 대략 중간을 생각해보면, 평균 595번을 시도해야 공격이 가능해지겠지요.
    이게 과연 현실적으로 가능한 공격 모델인가요?
    그걸 막아보겠다고, 한번이면 뚫릴 수 있도록(실패하면, 바로 그 번호를 다시 요구하라는 내용의) 규정을 만든 분은 도대체 무슨 심정으로 그러신 것인지 궁금할 따름입니다. 이런 분이 한국의 보안을 말아드신 것아닌가요?
    키보드보안/개인방화벽 플러그인 설치 강요하는 것도 크게 다르지 않은, 마찬가지로 황당한 발상이라고 저는 생각합니다. 주먹만한 구멍 막아보겠다고, 축구공만한 구멍을 다른 곳에 뻥 뚫어 놓고는 반드시 필요하다고 우기는거죠.

    Reply
  4. youknowit2

    예를 들어, 3번 앞두자리, 27번 뒷두자리 번호를 알고 있는 공격자가, 바로 그 조합이 나올때까지 계속 거래를 시도할 경우, 몇번의 경우의 수를 거쳐가야 할까요? 35개의 보안카드 번호가 있다고 가정할때, 35*34=1190의 경우의 수가 있고, 당장에 3번/27번이 걸릴 행운(?)과 1190번째에야 비로소 3번/27번이 걸릴 불운(?)의 대략 중간을 생각해보면, 평균 595번을 시도해야 공격이 가능해지겠지요.
    이게 과연 현실적으로 가능한 공격 모델인가요?
    그걸 막아보겠다고, 한번이면 뚫릴 수 있도록(실패하면, 바로 그 번호를 다시 요구하라는 내용의) 규정을 만든 분은 도대체 무슨 심정으로 그러신 것인지 궁금할 따름입니다. 이런 분이 한국의 보안을 말아드신 것아닌가요?
    키보드보안/개인방화벽 플러그인 설치 강요하는 것도 크게 다르지 않은, 마찬가지로 황당한 발상이라고 저는 생각합니다. 주먹만한 구멍 막아보겠다고, 축구공만한 구멍을 다른 곳에 뻥 뚫어 놓고는 반드시 필요하다고 우기는거죠.

    Reply
  5. 행인14

    그 두개만 알고 있으면 그렇지요. 또한, 600번 정도의 재시도로 적게는 수십만원 많게는 수천만원을 얻을 수 있다면 공격을 주저할 이유는 없을 것입니다. 그 공격이라는 것이 실제로 번호를 입력하여 오류를 내는 것이 아니라(그럴 경우 5번 정도 틀리면 재시도가 막히니까요), 자신이 원하는 조합이 아니면 곧바로 뒤로 가기를 눌러 다시 시도하는 것이므로 그리 무자비할 정도의 노가다는 아닙니다.
    또한, 번호를 몇 개 더 알고 있다면 그 노가다는 훨씬 줄어듭니다. 그 몇 개의 번호를 수집하는 것은 키로거로 며칠만 수집해도 되는 것이지 않습니까?
    가장 중요한 차이는, 이런 공격은 피해자가 피싱이나 파밍으로 속아줄 필요도 없는 것이지요. 말씀하신 단 한 번에 뚫리는 지금의 공격은 절대 단순한 한 번이 아니지 않습니까? 피해자가 가짜 사이트에 속은 다음, 그리고 나서 자신의 번호를 입력해줘야지요.
    그 조항이 없다면, 단순한 키로거만으로도 몇 개의 보안카드 번호를 수집하여, 곧바로 공격이 가능해집니다. 피해자는 피싱/파밍에 속지 않았어도 말입니다.
    그러니, 지금의 조항이 결코 멍청한 조항은 아닌 것입니다. 단지, 그것을 뚫을 새로운 공격이 나타나게 된 것뿐이지요. 그리고, 이제 또 그것을 막아야겠지요.

    Reply
  6. 행인14

    그 두개만 알고 있으면 그렇지요. 또한, 600번 정도의 재시도로 적게는 수십만원 많게는 수천만원을 얻을 수 있다면 공격을 주저할 이유는 없을 것입니다. 그 공격이라는 것이 실제로 번호를 입력하여 오류를 내는 것이 아니라(그럴 경우 5번 정도 틀리면 재시도가 막히니까요), 자신이 원하는 조합이 아니면 곧바로 뒤로 가기를 눌러 다시 시도하는 것이므로 그리 무자비할 정도의 노가다는 아닙니다.
    또한, 번호를 몇 개 더 알고 있다면 그 노가다는 훨씬 줄어듭니다. 그 몇 개의 번호를 수집하는 것은 키로거로 며칠만 수집해도 되는 것이지 않습니까?
    가장 중요한 차이는, 이런 공격은 피해자가 피싱이나 파밍으로 속아줄 필요도 없는 것이지요. 말씀하신 단 한 번에 뚫리는 지금의 공격은 절대 단순한 한 번이 아니지 않습니까? 피해자가 가짜 사이트에 속은 다음, 그리고 나서 자신의 번호를 입력해줘야지요.
    그 조항이 없다면, 단순한 키로거만으로도 몇 개의 보안카드 번호를 수집하여, 곧바로 공격이 가능해집니다. 피해자는 피싱/파밍에 속지 않았어도 말입니다.
    그러니, 지금의 조항이 결코 멍청한 조항은 아닌 것입니다. 단지, 그것을 뚫을 새로운 공격이 나타나게 된 것뿐이지요. 그리고, 이제 또 그것을 막아야겠지요.

    Reply
  7. admin

    합리적 해법을 이미 말씀하고 계셔서 제가 반복하기 좀 그렇지만…
    1. 금융거래 사이트의 경우 back버튼 사용 함부로 허용할지 신중히 고민할것.
    2. 충분한 회수의 암호입력시도(약 5-10 회) 후에는 캅차/질문대답 등 자동입력을 막는 조치를 적절히 사용할것
    3. 도저히 정상적이라 볼 수 없는 회수의 암호입력시도가 있으면, 차단.

    Reply
  8. admin

    합리적 해법을 이미 말씀하고 계셔서 제가 반복하기 좀 그렇지만…
    1. 금융거래 사이트의 경우 back버튼 사용 함부로 허용할지 신중히 고민할것.
    2. 충분한 회수의 암호입력시도(약 5-10 회) 후에는 캅차/질문대답 등 자동입력을 막는 조치를 적절히 사용할것
    3. 도저히 정상적이라 볼 수 없는 회수의 암호입력시도가 있으면, 차단.

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

최신 글