신한카드 해킹 예상 경로

hur-kyuh-leez·2022년 4월 14일
0

들어가기 앞써...

저는 그냥 컴퓨터를 좋아하고 보안에 조금 관심이 있습니다.
전문가도 아니고 그냥 아주 조금 관심이 있어 보안에 문제가 있을 수 있는 부분을 예상을 합니다. 틀릴 확률이 높습니다. 그러나, '최소한은 대비하고 있자' 차원에서 글을 올립니다.

이전 글들...

TCL 백도어 늦었지만 걸렸다
중국의 테슬라 퇴출 분위기 예견되었던 것, 순서만 바꼈을 뿐
간편인증서 보안 문제
젠포트 보안 문제...가 있지만 그래도 가장 쓸만한 백테스팅 툴
젠포트 끝

줄거리

신한카드가 털렸다.
정확히 말하면 이전 2020년 개인정보가 유출된 카드사 중 하나가 털렸다.
2020년 털린 카드사 리스트
2020년 신한카드 해킹 사례
그리고 모두가 알게된...
2022년 신한카드 해킹 사례

왜 발생 했을까? (예상 경로)

임원진들이 보안에 관심이 없다. 대부분 큰 금융회사 공시 사이트를 보면 보안 전문인력에 대한 임원 승진 내역이 전혀 없다. 예초에 전문 인력이 없기도 하다. 그래도 CTO(마지막 결제권자)는 최소한 관심을 가져야 한다. 최소한 현재 사용하는 스택이 괜찮은 지, 보안에 이슈가 없는 지... 등등 이다.

어썸스택 같은 스택 사이트만 가도 사이트에 보안이 허술한 지 알 수 있다. 물론 다는 아니지만 최소한에 것은 알 수 있다. 그러나, 국대 대형 메이져 카드 회사들을 가보니... 다 비슷비슷하다. 아직 안털렸지 충분히 보안 문제가 뚫려 있다.

신한카드 현재 jquery 버젼
/pconts/js/jquery-3.4.1.min.js

국민 카드도 마찬가지이다. 머지 않아 털릴 거 같다.

다 비슷하게 jquery를 업데이트 하지 않고 있다. 무려 2년전에 공지된 보안 문제이다.
낮은 버젼의 jquery는 XSS (Cross-site Scripting) 문제가 있다. 자세히는 이 링크로 가보길 바란다.

Cross-site Scripting이 가능 해지면 해커는 무궁무진 해진다. 특히 쉬운 버젼 업데이트만으로 충분히 막을 수 있지만 2년간 방치한 회사라면 로그를 확인도 안할 것 이며, 포트 접근에 대한 기록도 보지 않을 것 이다. 또한, 이미 딥웹에서 살 수 있는 카드번호 및 개인정보가 있다.

결제라는 함수가 어떻게 돌아가는지 안다면 특정 사이트에서 결제를 성사 시킨 것은 일도 아닐 것 이다.

물론 백앤드 서버를 일반 웹사이트와 공유를 안할수도 있다. 아예 철저히 분리 되어 웹상에서만의 문제 일 수도 있다. 그러나, 웹이나, 앱이나 어떠한 요청이 있었고 어디로 보내지는 지는 개발자라면 쉽게 알 수 있다.

왜 XSS는 보안이 high가 아니라 medium으로 처리가 되었나

dom based XSS 그 자체로는 아무것도 할 수 없다.

  1. 여러 사이트에 많이 심어 놓아야지 그 진가가 발휘 된다.
    뉴스를 보니 특정 카드회사와 특정 사이트에 가입되어 있던 사람들이 피해를 봤다고 했다. 예상되는 경로는 이렇다.
    상품권을 구매 할 수 잇는 여러 오픈마켓 사이트 중, 가장 보안에 관심이 없는 사이트를 골라서 마치 사이트 자체에 광고 인듯한 스크립트를 넣어서 정보를 1차적으로 빼간다.
    결제가 이러지는 곳에서는 비슷한 사이트를 만들어 정보를 취해 갈 수도 있다.
    그래도 안풀리는 문제가 있다. 핸드폰 인증번호나, 인증을 어떻게 뚫었을까?
    사이트 A 인증을 할 때 원래와 다른 팝업을 유도하여 실제 문자 인증번호를 넣을 때, 통신사와 해당 사이트 뿐만 아니라 해커에게도 가게 만든다. 그래서 유져에게 사이트 A라고 보여지지만, 사실 해커가 사이트 B의 인증 요청을 보낸 문자인 것.
    이렇게 하면 뚫을 수 있을 것 으로 본 다.
    (아마 카카오도 이런 경로로 인증이 뚫렸을 거 같다. 시간이 좀 지났지만, 내 카카오 계정이 뚫렸을 때 다시 바꾸려고 하니 인증문자를 받아야 됐는데 인증문자가 나에게 오지 않았다. 새벽 4시쯤에 한꺼번에 왔다. 아무래도 해당 서버에 문제가 있으니 점검을 해서 그런거 같다.)
  1. 그냥 쿠키 탈취 일 수도 있다.

The most prominent use of XSS is to steal cookies (source: OWASP HttpOnly) and hijack user sessions, but XSS exploits have been used to expose sensitive information, enable access to privileged services and functionality and deliver malware. 출처

당한 사람들의 카드 결제 내역을 보지 못해서 알지 못하겠지만, 만약 쿠키로 했다면 신한카드로 다른곳에서 직전에 결제를 했을수도 있겠다. 그러나 해당 정보가 없으니 모르겠다. 또한, 신한카드나 위메프가 다른 사이트보다 쿠키 지속시간이 길 수도 있다는 생각이 들었다. 그러면 왜 하필 저 두 업체가 털린지 알 수 있다.

그 놈 잡는 방법

분명 모의 정황이 있을 것 이다. 특히 신한카드를 직접 소유 하는 사람이며 지속적으로 특정 사이트에 특정 카드로 소액으로 결제를 시도 해봤을 것 이다. 왜냐하면 backend로 요청되는 요청이 어떻게 이루어져야 하는지 알려면 일단은 시도를 해봐야 한다. 또한, 여러 카드를 써보기도 했을 것 이다.

오픈 마켓이 다 합쳐서 로그를 공유 해도 나는 못찾을 것으로 확신한다 (로그를 볼 때 ip나 기종으로 보면 안된다. 너무나도 쉽게 변경이 가능하다. mac address는 쉽게 변경 못하는데 그걸 한국에서 수집하는 것은 불법으로 알고 있다. 그러니 정보가 있어도 공유를 못할 것 이다). 반대로, 카드사가 로그를 공유한다면 충분히 찾을 수 있다고 본다. 카드번호가 중요하기 때문이다. 그 많은 카드번호 중 뚫린 카드번호는 몇 안될 것 이다. 그러니 시도를 할 때도 쉽게 바꾸지 못한다.

이 두가지로만으로도 충분이 많은 사람들이 걸러질 거 같다.

의문

여기서 드는 의문은 왜 해커는 대출을 먼저 이르키고 더 큰 금액을 가로채지 않았을까? 그러면 체크카드의 잔액이 0원이라도 접근 가능한 모든 계좌를 맥스로 뽑아 낼 수 있었을 것 이다. 대출을 하기되면 통보 되는게 있어서? 대출의 대한 피해는 구제가 가능해서? 그래서 카드사측이 부담을 해야 되서?

내가 담당하고 있는 사이트는 안전한가? 아니면 이미 뚫렸나?

git으로 업데이트 할 때 pull을 항상 해봐라, 만약 서버가 심각하게 털렸다면 pull을 했는데 팀이 쓰지도 않은 코드가 심어져 있을 수 있다.

jquery 업데이트 하자 (솔직히 안해도 된다 해킹을 당해도 피해 볼게 없고 유져가 적고 로그만 자주 본다면)

무조건 거쳐야 할 주소를 뛰어 넘어 오는 요청은 로그에 기록되게 만들자. 보통의 유져는 프로그래머가 아니다, 그래서 무조건 거쳐야할 경로가 있다. 그걸 뛰어 넘는 경우는 대부분 디버깅/해킹 시도 이다.

내가 전혀 모르는 분야

간편보안인증서, third party 보안 plugin은 어떻게 돌아 가는지 모른다. 그러나 뚫렸다는 것은 확실히 안다. 예전에 건강보험공단 간편인증서를 직접 겪어 경험적으로 안다.

대형 보안 업체도 믿을 수 없다.

젠포트 보안 문제...가 있지만 그래도 가장 쓸만한 백테스팅 툴
이 문제를 다뤘을 때 안랩에서 맡았다고 해서, 직접 연락을 취해 봤다. 해당 보안 기록을 살펴본 기록이 없다고 답변을 받았다고 했다. 업체명이 바꼈거나 착오가 있을 수 있다고 했다. 근데 해당 내용을 자세히 말하니, 안랩 담당자는 해킹이 어떤 경로로 이뤄졌으며, 어떻게 보완 해야되는지 전혀 모르는 눈치였다.

나는 개인적으로 보안업체 Theory를 추천한다. 도둑이 최고의 경찰이 될 수 있다.

앞으로 일어날 일

아무일도 일어나지 않는다. 아무도 제대로 고치려 하지 않을 것이고 똑같이 1~2년 더 시간이 지난다. 정말 법적으로 강력하게 처벌 된다고 했을 때 고쳐 진다. 여기서 처벌은 해커를 대한 처벌의 수위가 아니라, 기술이 충분히 있으나 보안을 허술하게 짠 대형 IT 기업에 대한 처벌이다. 넥슨, 카카오, 토스, ..., 등 다 똑같다. (얼마전 쌩뚱맞은 기종과 아이피에서 내 카카오 스토리 접속을 보고 놀라지도 않았다. 나는 카카오 스토리에 가입한 적도 없다.)

ps. 이런 보안 문제가 완전히 없어지는 날에는 정치인들이 아이폰을 쓰고 검사들이 안드로이드 쓰는 날이 오는 날이 겠다. (절대 오지 않는다는 말.)

profile
벨로그에 생각을 임시로 저장합니다. 틀린건 틀렸다고 해주세요 :) 그래야 논리 학습이 강화됩니다.

0개의 댓글