필자: 김 기창 2013-07-15
지금까지 국내 온라인뱅킹 거래의 안전을 사실상 지탱하던 보안카드(아래 그림 참조)가 이제는 뚫렸다고 봐야 할 상황이 되었습니다.
이달 초 여러 차례 보도된 내용 중 일부만 소개하면 다음과 같습니다:
진짜 금융회사 홈페이지도 못 믿는 세상 (아시아경제, 2013년 7월 14일)
은행 보안카드 뚫렸다? (동아일보, 2013년 7월 3일)
금감원, ‘보안카드 비번 2개 입력’ 신종 금융사기 주의보 (SBS 뉴스, 2013년 7월 5일)
인터넷뱅킹 보안카드 입력 시 에러가 뜬다면 바로 신고해야 (디지털데일리, 2013년 7월 4일)
신종 파밍의 덫 ‘보안카드 오류’ (매일경제, 2013년 7월 2일)
보안카드 입력 오류 통한 신종 ‘파밍’ 주의보(MBN, 2013년 7월 2일)
보안카드 번호 몰라도 예금인출, ‘파밍’ 사기 올들어 716건 피해액 37억 (케이벤치, 2013년 7월 2일)
경찰 “보안카드 번호 전체 입력 않아도 예금 빼내”..신종금융사기 주의 (파이낸셜뉴스, 2013년 7월 2일)
기존의 단순 보이스피싱이 아니다
보이스피싱(전화금융사기, Voice Phishing)으로 이용자를 속여서 보안카드 번호 30여 개를 ‘모조리’ 입력하게 하는 것은 원시적 수법이고, 위 보도들은 기존의 단순한 보이스피싱에 관한 것이 아닙니다.
이번에 알려진 공격은, 예를 들어, 은행이 보안카드 7번의 “앞 두 자리”, 18번의 “뒤 두 자리” 를 요구해서 고객이 이 정보를 정확하게 입력했는데, “접속이 폭주하여 서비스가 원활하지 못합니다”, 또는 “보안카드 번호를 정확하게 입력해 주세요”라면서 오류가 나고, 잠시 후 고객 통장에서 대포 통장으로 고객 잔고 전액이 빠져나가는 것입니다.
이런 공격이 가능한 기술적 이유와 제도적 이유가 있습니다.
기술적 이유는 금융거래용 보안프로그램(플러그인)이 허술하기 때문입니다. 이 플러그인은 아무도 제대로 검증하지 않습니다. 납품업체가 열심히 만들어 납품한 것이지만, 그걸 납품받은 은행은 전문적 검증능력이 없고 제3의 전문 보안업체에 검증을 의뢰하는데 드는 “돈이 아까워서” 안 하고 있습니다.
이번 공격은 이들 프로그램에 대한 메모리해킹 공격으로 이용자가 입력하는 계좌이체 비밀번호, 인증서암호, 보안카드 앞 두 자리, 뒤 두 자리 번호 등을 일단 입수하는 것입니다. 물론 공인인증서/개인 키 파일이야 기본으로 입수해 둔 상태일 터이고요. 키보드보안 플러그인 아무리 깔아봐야 소용이 없다는 점은 업계전문가들 간에 공유되는 오래된 ‘공지사항’입니다. (일반인들에게는 비밀로 붙이는…)
공격 가능한 이유는 미스터리? 해답은 의외로 간단
그런데 궁금한 점이 있을 것입니다. 보안카드는 매번 다른 번호를 묻는데, 이번에 입력한 그 번호가 유출되었다고 해서 공격자가 그걸로 무슨 공격을 할 수 있겠는가? 모든 사람이 이렇게 생각하고, 위에 소개한 언론 보도들도 전부 ‘미스터리’다 라는 식으로 암시하고 있습니다. 습관적으로 ‘부칸’을 거론하는 모 교수님도 계시고…
대답은 간단합니다. 전자금융감독규정 제34조 제2항 제6호는 이렇게 되어 있습니다.
6. 비밀번호 개수가 한정된 일회용 비밀번호 사용 시에 비밀번호 입력 오류가 발생하거나 일회용 비밀번호를 입력하지 않고 비정상적으로 거래를 종료하면, 다음 거래 시 동일한 비밀번호를 요구할 것
예를 들어, 이번 거래에서 보안카드 “7번”의 앞 두 자리, “18번”의 뒤 두 자리를 요구했는데, 그 거래가 비정상적으로 종료되면, 바로 이어지는 다음 거래에도 똑같이 “7번”의 앞 두 자리, “18번”의 뒤 두 자리를 요구해야 한다는 것입니다. 어떤 이유로 이런 규정을 만들었는지 참으로 이해하기 어렵습니다.
금융위/금감원이 이런 식으로 “규정”을 만들어 ‘보안’을 해보겠다는 발상 자체를 이제는 시급히 폐기할 때가 되었습니다. 그보다 일단 이런 괴상한 규정을 은행들에 강요한 금융위/금감원에 대해서는 반드시 책임을 물어야 하지 않을까 생각합니다.
전자금융감독규정은 시급히 개정되어야 한다고 생각합니다. 감독규정 개정안 예시(pdf)를 만들어, 금융위 관계자에게 전달한 지도 꽤 되었습니다만, 아무 움직임이 없군요.
‘관치보안’, ‘규정보안’이 계속되는 한, 이런 일은 자꾸 생기고, 피해자는 계속 늘어날 것이고, 우리는 북한 소행이라는 ‘루머’를 계속 들어야 할 것입니다.
공격 경로 (추정)
1단계. 이용자들에게 악성코드를 감염시킨다. “보안경고창이 뜨면 예를 누르세요”라고 지난 10여 년간 안내받은 한국 이용자들에게 악성코드 감염시키기는 매우 쉬움.
2단계. 이용자가 은행 사이트에 접속하면 이 악성코드는 자동으로 실행되고, 이용자가 USB 저장장치를 연결하면 그 즉시 NPKI 폴더를 통째로 복사하여 80번 포트를 이용해서 공격자에게 전달(POST)한다. 이른바 개인방화벽 프로그램은 80번 포트의 교신을 막거나 경고할 수는 없으므로 애초부터 무용지물이었음.
3단계. 은행이 제공한 보안프로그램(액티브X 등의 부가프로그램)으로 이용자가 이체거래를 시도하면, 보안프로그램을 해킹하여 그 프로그램이 처리하는 정보, 즉, 이용자의 계좌번호, 계좌 비밀번호, 공인인증서 암호, 해당 거래에서 이용자가 입력한 보안카드 번호(예를 들어 7번의 앞 두 자리, 18번의 뒤 두 자리 번호)를 입수해서 공격자에게 전달하고, 은행에는 틀린 정보를 전달. 은행은 오류로 인식.
4단계. 필요한 모든 정보를 입수한 공격자는 그 즉시, 이용자의 은행사이트에 접속하여 위 3단계에서 확보한 보안카드 번호를 이용해서 공범 계좌로 이체한다.
* 이것은 전자금융감독 규정상 입력 오류나 거래 중지 후 재시도할 때 이전과 같은 보안카드 번호 입력을 요구하게 되어있기 때문입니다.
보안카드 견본