기사 공유하기

지금까지 국내 온라인뱅킹 거래의 안전을 사실상 지탱하던 보안카드(아래 그림 참조)가 이제는 뚫렸다고 봐야 할 상황이 되었습니다.
보안카드 견본
보안카드 견본

이달 초 여러 차례 보도된 내용 중 일부만 소개하면 다음과 같습니다:

기존의 단순 보이스피싱이 아니다

보이스피싱(전화금융사기, Voice Phishing)으로 이용자를 속여서 보안카드 번호 30여 개를 ‘모조리’ 입력하게 하는 것은 원시적 수법이고, 위 보도들은 기존의 단순한 보이스피싱에 관한 것이 아닙니다.

이번에 알려진 공격은, 예를 들어, 은행이 보안카드 7번의 “앞 두 자리”, 18번의 “뒤 두 자리” 를 요구해서 고객이 이 정보를 정확하게 입력했는데, “접속이 폭주하여 서비스가 원활하지 못합니다”, 또는 “보안카드 번호를 정확하게 입력해 주세요”라면서 오류가 나고, 잠시 후 고객 통장에서 대포 통장으로 고객 잔고 전액이 빠져나가는 것입니다.

이런 공격이 가능한 기술적 이유와 제도적 이유가 있습니다.

기술적 이유는 금융거래용 보안프로그램(플러그인)이 허술하기 때문입니다. 이 플러그인은 아무도 제대로 검증하지 않습니다. 납품업체가 열심히 만들어 납품한 것이지만, 그걸 납품받은 은행은 전문적 검증능력이 없고 제3의 전문 보안업체에 검증을 의뢰하는데 드는 “돈이 아까워서” 안 하고 있습니다.

이번 공격은 이들 프로그램에 대한 메모리해킹 공격으로 이용자가 입력하는 계좌이체 비밀번호, 인증서암호, 보안카드 앞 두 자리, 뒤 두 자리 번호 등을 일단 입수하는 것입니다. 물론 공인인증서/개인 키 파일이야 기본으로 입수해 둔 상태일 터이고요. 키보드보안 플러그인 아무리 깔아봐야 소용이 없다는 점은 업계전문가들 간에 공유되는 오래된 ‘공지사항’입니다. (일반인들에게는 비밀로 붙이는…)

공격 가능한 이유는 미스터리? 해답은 의외로 간단 

그런데 궁금한 점이 있을 것입니다. 보안카드는 매번 다른 번호를 묻는데, 이번에 입력한 그 번호가 유출되었다고 해서 공격자가 그걸로 무슨 공격을 할 수 있겠는가? 모든 사람이 이렇게 생각하고, 위에 소개한 언론 보도들도 전부 ‘미스터리’다 라는 식으로 암시하고 있습니다. 습관적으로 ‘부칸’을 거론하는 모 교수님도 계시고…

대답은 간단합니다. 전자금융감독규정 제34조 제2항 제6호는 이렇게 되어 있습니다.

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

예를 들어, 이번 거래에서 보안카드 “7번”의 앞 두 자리, “18번”의 뒤 두 자리를 요구했는데, 그 거래가 비정상적으로 종료되면, 바로 이어지는 다음 거래에도 똑같이 “7번”의 앞 두 자리, “18번”의 뒤 두 자리를 요구해야 한다는 것입니다. 어떤 이유로 이런 규정을 만들었는지 참으로 이해하기 어렵습니다.

금융위/금감원이 이런 식으로 “규정”을 만들어 ‘보안’을 해보겠다는 발상 자체를 이제는 시급히 폐기할 때가 되었습니다. 그보다 일단 이런 괴상한 규정을 은행들에 강요한 금융위/금감원에 대해서는 반드시 책임을 물어야 하지 않을까 생각합니다.

전자금융감독규정은 시급히 개정되어야 한다고 생각합니다. 감독규정 개정안 예시(pdf)를 만들어, 금융위 관계자에게 전달한 지도 꽤 되었습니다만, 아무 움직임이 없군요.

‘관치보안’, ‘규정보안’이 계속되는 한, 이런 일은 자꾸 생기고, 피해자는 계속 늘어날 것이고, 우리는 북한 소행이라는 ‘루머’를 계속 들어야 할 것입니다.

[box type=”info” head=”공격 경로 (추정)”]
1단계. 이용자들에게 악성코드를 감염시킨다. “보안경고창이 뜨면 예를 누르세요”라고 지난 10여 년간 안내받은 한국 이용자들에게 악성코드 감염시키기는 매우 쉬움.

2단계. 이용자가 은행 사이트에 접속하면 이 악성코드는 자동으로 실행되고, 이용자가 USB 저장장치를 연결하면 그 즉시 NPKI 폴더를 통째로 복사하여 80번 포트를 이용해서 공격자에게 전달(POST)한다. 이른바 개인방화벽 프로그램은 80번 포트의 교신을 막거나 경고할 수는 없으므로 애초부터 무용지물이었음.

3단계. 은행이 제공한 보안프로그램(액티브X 등의 부가프로그램)으로 이용자가 이체거래를 시도하면, 보안프로그램을 해킹하여 그 프로그램이 처리하는 정보, 즉, 이용자의 계좌번호, 계좌 비밀번호, 공인인증서 암호, 해당 거래에서 이용자가 입력한 보안카드 번호(예를 들어 7번의 앞 두 자리, 18번의 뒤 두 자리 번호)를 입수해서 공격자에게 전달하고, 은행에는 틀린 정보를 전달. 은행은 오류로 인식.

4단계. 필요한 모든 정보를 입수한 공격자는 그 즉시, 이용자의 은행사이트에 접속하여 위 3단계에서 확보한 보안카드 번호를 이용해서 공범 계좌로 이체한다.

* 이것은 전자금융감독 규정상 입력 오류나 거래 중지 후 재시도할 때 이전과 같은 보안카드 번호 입력을 요구하게 되어있기 때문입니다. [/box]

관련 글

20 댓글

  1. 보안카드의 경우 실패가 3회 이상 되면 보안카드를 교체해야합니다. 따라서 같은 위치 질문 반복이라해도 가능성은 희박하죠.

  2. 리플에 달린 악성 코드 (라기보단 후킹 같은데) 이런 백도어 들은 은행의 책임 보다는 본인의 책임이 큽니다. 이런 후킹이라면 외국같이 액티브 액스를 쓰지 않는 사이트라 하더라도 답이없죠.

  3. 보안카드라는 도구가 허술함을 인정하고 저 규정의 필요성을 생각해보면,

    우연히 보안카드 중 한 숫자를 알게 된 사람이 아는 숫자가 나올 때까지 패스하는 것을 막기 위해서입니다.

    그런데 일단 키보드 후킹을 당하면 보안은 끝이죠. (사실 그래서 액티브X가 문제…)

  4. 악성 코드가 전파되는 주요 경로가 ActiveX이기 때문에 문제가 되는 것 아니겠습니까? (물론 이게 은행의 잘못만은 아닙니다만) ActiveX를 권장해 왔기 때문에 한국 사용자의 컴퓨터 운용 환경에 상대적으로 악성 코드 전파가 손쉬워진 부분이 엄연히 존재하는데, 이용자의 책임이 크다고 말하는 건 좀 어폐가 있는 것 같습니다.

    집 담장이 낮아서 도둑이 자주 드나드는데, 이게 집 지은 사람이 아니라 집 주인의 책임이라고 하면 말이 안되지 않겠습니까? 애초에 담장을 낮게 지어달라고 요구한게 집 주인도 아닌데 말이죠.

  5. 이상한 글…
    규정을 바꿔서 매번 다른 입력을 받는다고 치자,
    그러면 해커는 이제 공격 방향을 바꿔서 ‘올바른 보안 카드 번호’만 수집하면 된다.
    30개*2(앞 뒤자리), 총 60여개 중 가령 10여개 정도를 획득했다고 치자. 그러면 이제 해커는 자신이 아닌 번호가 나올 때 까지 반복해서 뱅킹을 시도할 것이다 -_-
    기존의 규정에서는 오히려 위와 같은 방법이 불가능하다. 매번 다른 번호가 나오는 것이 아닌 실패했던 번호가 나오는 방식이기에 해커는 자신이 수집하지 않은 번호를 요구하는 뱅킹을 우회할 수 없다.

    다시 말해서, 규정의 변경으로 해결되는 문제가 아니라는 것인데… 이 글에서는 규정때문에 사태가 있다는 식의 이상한 주장을 펼치고 있다.

  6. Active X가 악성코드의 유포 경로라는 것은 맞습니다만, 주요 경로라는 것에서는 동의하기가 조금 힘드네요, 최근 악성코드 주요 유포 동향은 Active X를 이용하기 보다는, 오히려 인터넷 브라우저의 취약점을 이용해 짧은 시간에 많은 감염을 시키는 방향 아닌가요? (물론 엑티브 X도 반짝 악성코드 감염에 이용되긴 했습니다, 전체적인 비율로 따질 때 말입니다)
    물론 그렇게 감염되어 홈페이지가 변조되도록 냅둔 홈페이지 관리자의 책임 역시 존재합니다. 하지만 최신 업데이트를 해도 못막는 0 day 공격이 아닌, 패치가 나왔고, 그렇기에 업데이트를 하면 막을 수 있는 취약점이더라도 그 공격을 이용한 악성코드 유포의 성공률이 절반을 넘는다는 걸로 알고 있습니다. 이런 상황에서 관리자의 책임만을 요구하기에는 조금 힘들지 않을까 싶습니다.

  7. 액티브엑스가 주범이든 아니든 상관 없이 개연성이 있는것은 사실임으로 이를 철폐하는것은 마땅하고 정부가 앞장서서 대안을 제시하는 것이 가장 시급한 문제임을 국민적인 공감대로 형성 해야 합니다.

  8. 어차피 반복해서 시도하는게 불가능하지 않나요?
    3번 틀리면 보안카드 자체가 정지되니까요.

    오히려 계속 다른 번호를 받게하면 이전보다 보안수준이 더 높아지겠죠.

  9. 틀리는게 아니라 정확히는 요구되는 보안카드 번호만 보고, 찍어서 ‘틀렸다’ 판정을 받는것이 아닌 요구된 번호가 내꺼에 있는지만 확인하고 있다면 진행, 없다면 취소하고 새로운 뱅킹 진행을 하는 방식으로 하면 되죠.
    보안카드를 사용한다는 것 자체가 반쪽짜리 보안을 사용하는 것이라고 봅니다 저는..

  10. 보안카드의 동일한 번호를 거듭 요구하는 건 저도 여러 번 경험했고, 막연히 좀 찜찜하게 느꼈는데 이런 규정이 있었군요. ㅋ
    어쨌거나 온라인 결제 한 번 할라치면 심호흡 하고 맘을 릴렉스시켜서 한없이 너그러워져야 합니다.
    그렇지 않았다가는 나도 모르게 튀어나오는 육두문자 때문에 인격이나 인성을 의심받게 됩니다.
    이젠 좀 제발 “상식”에 기반한 프로세스를 만들어야 합니다.

  11. 위에 달린 댓글을 보면 현재의 우리나라 보안 논의가 어떻게 이루어지고 만들어져 왔는지를 여실히 드러낸다고 생각합니다.

    바로 관치 보안인 것이죠. 정부와 감독기관이 기술의 상세 적용 방법을 법으로 명시해놓은 것입니다. 저런 규정을 가만히 둔 채 저 규정의 논리가 맞다 그르다, 공인인증서 기반의 시스템이 기술적으로 안전하다 불안하다 등과 같은 토론을 해봐야 진짜 논의는 산으로 갈 수 밖에 없는 것이지요.

    즉, 법과 규정이 너무 상세한 방법까지 저렇게 규정으로 만들어 두고 있으니 시간이 가면 갈수록 문제가 붉어지는 것이지요. 공격 기술과 환경은 날로 발전 및 다양화 되고 있어서 생각하지 못했던 변수가 생기는 것입니다. 반면 지켜야 하는 쪽은 규정을 어겨서도 안되고, 규정을 지키면 보안을 뚫려도 면피할 수 있는 것이지요.

    과연 “어쩌고 저쩌고 상황시 동일한 비밀번호를 요구해야 한다는 것”을 법으로 규정할 필요가 있을까요? 예를 들어 두번 실패할 때까지는 다른 비밀번호를 요구하면서 이메일이나 문자, 전화로 그 실패 시도를 알려주면 안되나요? 세번까지는 다른 비밀번호를 요구하다가 실패하면 방법을 바꿔서 미리 이용자가 입력해둔 그림으로 물어보면 안되나요?

    물론 저렇게 규정한 것에는 이유가 있을 것입니다. 추측해 보건데, 공격자가 실패를 하면서 계속해서 보안카드의 나머지 비밀번호를 습득하는 것을 막고자 한 것일 수도 있습니다. 저 규정을 만든 사람은 나름 선의를 가지고 여러 상황을 시뮬레이션 해보고 더 안전한 상황으로 유도하려고 한 것일 수도 있습니다.

    하지만, 저런 상세한 규정 때문에 전문가들이 더 나은 기술과 방법을 논의하는 게 아니라 오히려 이 규정하에서는 어쩔 수 없다, 이 규정을 지키면서 다른 방법을 생각해야 한다….는 식의 족쇄가 되는 것 같습니다.

    저 위의 다양한 피해 사례들도 업체의 자율적인 적용에서 문제가 생겨서 뚫린 게 아니라 법 규정을 지킬 건 다 지키면서 뚫린 것이니 계속해서 피해사례만 기사화될 뿐 아무도 그 책임을 지지 않겠죠. 실제로 누구도 별다른 책임을 지지 않고 있죠.

  12. Secuinside 2013에서 저도 발표했던 내용들이네요.
    현재로써는 악성코드를 이용한 공인인증서 해킹 매우 쉽습니다.
    더 많은 분들이 제대로 진실을 알았으면 좋겠네요.

  13. 사태가 저런대도 개정에 반대한다면,

    1. 금감원/금융위 관계자가 해커들과 붙어먹는 것은 아닌지,
    2. 금감원/금융위 관계자 중 종북 세력이 있어 북한이 남한 은행을 털기 쉽도록 일부러 그렇게 하는 것은 아닌지,
    3. 보안을 의도적으로 약화시켜 보안업체로부터 떡값을 받아 먹기 위해 일부러 그러는 건 아닌지
    4. 전국민 감시하기 위해 보안에 취약한 상황을 국가적으로 방치하는 건 아닌지..

    하는 의심을 안 할래야 안 할 수가 없습니다.
    국가가 앞장서서 보안을 약화시키고 공공성과 개방성을 훼손하는 이유는 과연 뭘까요.

  14. 님이 위의 댓글을 안읽고 댓글을 다는 이유는 멀까요…ㅋㅋ 개정해도 취약성이 개선되지 않음에도 개정을 요구하는 걸로 봐서는… 정부에 있어 규정을 변경하는 사안을 통과시켜 쓸떼없는 돈의 소비를 유도하고자 하는 목적이 있으신건가요?ㅋㅋ

댓글이 닫혔습니다.