Blog | Tag | Local | Media | Guest | Login  RSS

윤석찬 님의 블로그에서 인터넷 뱅킹에 대한 위협을 봤습니다.
궁금하신 분은 http://channy.tistory.com/188 여기로...TV 에서 했다는데, 보질 못했군요.
저도 한 때 보안...특히나 PKI 쪽 계열 업체에 일한적이 있어서 이런 문제는 관심이 많습니다.

보니 결론은 메모리 해킹인데, 예상못한 것은 아니지만 실제로 만드는 사람이 있을 줄을 몰랐습니다.
이 시나리오를 시연까지 하다니...ㅡㅡ; 그렇게 하고 싶었나...누구야 그거 만들어 놓고 방송까지 출연한
사람이...

출금 계좌 번호 자체를 바꾼다고 하고 그다지 시간이 오래 안 걸린다고 했으니까 HTML DOM객체를 조작하는
작업일까요? 좀 더 최악으로 가정해본다면 ReadProcessMemory와 WriteProcessMemory API 를 이용해서 메모리에 특정 번지(당연히 계좌번호 문자열이 들어 있는 변수겠지요.)를 바꾸는 작업이 될 수도 있을 겁니다.

기술 자체야 그다지 새롭지는 않습니다. 게임계에서는 이 정도는 일반적이니까요. 제가 초등학교 땐가
중학교 때인가...해도 그런 툴을 얼마던지 있었습니다.
뭐 게임 정도는 그 때까지만 해도 돈 피해는 없는 정도였지만, 이 경우라면 대략 난감이군요.

윤석찬님은 위 링크 글에서 아주 본질적인 해결책을 얘기하셨지만, 그것만으로는 아주 일부분 밖에
해결할 수 없습니다. 사실 ActiveX 만 감염 경로로 있는건 아니니까요. 메신저나..
심지어 유명 쉐어웨어를 포탈쪽에 자기가 올리면서 슬쩍 끼워넣을 수도 있는 겁니다.

방송까지 탔으니 분명 금감원, KISA 쪽에서 본격적으로 움직일 겁니다. 이 정도까지 하는 이상...빨리
무엇인가 한다는 모습을 보여주지 않으면 안되니까요. Vista 일 때도...약간 그런 면이 있어보이긴 했지요.
Vista 문제일때도 그랬지만, 이번에도 인터넷 뱅킹에 뭔가 보안책을 더 추가하는 방식으로 갈 것 같습니다.
키보드 보안 + 알파가 더 생길지도...왜냐하면 Vista 문제 때문에 회의하러 가서도 느꼈지만, 본질적으로
현재까지 방식을 바꾸기를 그리 좋아하지 않는다는게 문제입니다. Vista 일때도 최소한의 변경을 요구했듯이요.
윤석찬님이 말했던 것처럼 그런 식으로 하게 만들지는 않고 현재에서 뭔가 더 추가하도록 바꿀 가능성이 높아
보입니다. 다들 그렇게 생각하시나요?

정책적인 문제야 그렇다 치고, 기술적인 면에서 볼 때도...그것 참 난감하겠군요.

계좌번호를 다들 어떻게 넘기는지 모르겠지만 웹브라우저 메모리에 있을 가능성이 높겠죠?
XecureWeb 등의 제품을 쓴다고 해봐야...FORM 데이터를 POST로 보내기전에 데이터를 받아 암호화할테니,
그전에 바꿔버리면...흠 ...난감하겠군요. 그래도 HTML DOM 객체를 외부에서 조작하는 정도로 처리하는 정도면  어떻게 되겠지만, 위에서 얘기한 API 까지 쓸 정도까지 가기 시작하면...이거 전쟁의 서막입니다.

게임계쪽의 얘기를 보면 클라이언트 내용은 믿지 마라. 더미 클라이언트로 바라봐라라고 하지만 이 경우는
그렇게 할 수도 없습니다. 입력하는 정보 안 믿으면 뭘 더 해야할지도 난감합니다.

일단 메모리를 들춰볼테니 각 변수를 암호화부터 하겠지만, 그것도 어느 정도겠지요. 결국 어디선가 구멍이
생길 겁니다. 제가 보기에도 은행 측에서 PC 외의 다른 수단을 써서 이체 확인을 들어가는 수 외에는 없습니다.
그게 현재 상황에서는 그나마 안전해 보이는 해결책이군요.

SMS 를 쓰면 편하고 빠르겠지만 비용 문제가 있군요. 감당못할 것은 아니지만...아마 그 요금을 사용자에게
전가하기 시작할 겁니다. 그럼 메일 정도는 어떨까 싶군요. 어떤 사이트는 신규 가입시 메일로 최종 가입 인증을
하게 하니까, 그런 방법을 이용해보는 것도 방법이긴 합니다.

그나저나 ActiveX 때문이다 라고 하실 분도 있을 것 같네요. 그런데 이거 ActiveX를 쓰지 않는 외국 사이트라고
생각해볼 때에는 대책이 있나요? 메모리 자체를 바꾼다는 가정이 들어간다면 ActiveX를 쓰든 안 쓰든 이 공격은
피해갈 수가 없어보입니다. 그렇게들 생각하시나요?

이제는 기본적인 인터넷 뱅킹 매커니즘을 바꿔봐야 할 때가 온것이 아닌가 싶기도 합니다.

ps. http://blog.dreamwiz.com/007jbond/6097233 을 보니 COM Hooking 으로 했을 것이라고 나오는군요.
     그런데 지금은 COM Hooking 정도이지만, 그 이후에는....생각하고 싶지 않습니다. 메모리 해킹이라고
     방향 잡으면 방법이야 무궁무진하니까요. 본질적인 대책이 필요하겠지요.

이올린에 북마크하기(0) 이올린에 추천하기(0)

 태그 : 
이 글의 관련글(Trackback) 주소 :: http://snaiper.tistory.com/trackback/253
BlogIcon Jerry| 2007/08/27 22:05 | PERMALINK | EDIT/DEL | REPLY
이런 문제가 사실 하루이틀 된 문제도 아니고, 현업에서 보안을 담당하는 사람이라면 상당수의 사람들이 문제를 인지하고 있었을 거라고 생각합니다. 문제는 이에 대한 해법이 정말이지 찾기 어렵다는 것이 가장 큰 문제라고 봅니다. 말씀하신바와 같이 이 부분은 암호화된 정보도 특정 구간에서는 사용자에게 보여줄 수 밖에 없는 현실적 한계에서 출발합니다. 아무리 보안이 좋아도 사용자가 얼마를 이체 하는지조차 안보여줄 수는 없으니까, 메모리 어딘가에서는 짧은 시간이나마 암호화 해제된 정보는 존재할 수 밖에 없죠. DOM, BHO를 쓰던 그건 인터넷 뱅킹 서비스의 매커니즘에 대한 문제이지 특정 플랫폼이나 특정 브라우저의 문제는 결코 아니죠.
BlogIcon snaiper | 2007/08/27 23:37 | PERMALINK | EDIT/DEL
네..결국 매커니즘의 문제인데...
지금 생각해보니 당장 바꾸는 것도 쉽지 않아보입니다.
대대적으로 뒤집어야 할텐데...방법은 둘째치고
사용자들의 원성 감당할 수도 없겠고요.

그냥 어설프게 계속 갈지도 모르겠네요.
BlogIcon Channy| 2007/08/28 04:59 | PERMALINK | EDIT/DEL | REPLY
문제는 우리 나라에서 그런 해킹 프로그램이 나와서 배포 될 때 다른 나라에 비해 파급효과가 더 크다는 데 있습니다. 아무리 해킹 프로그램이 나왔더라도 그 문제를 해결해야할 비용이 크다면 그게 더 문제라는 것입니다. 보안이란 결국 비용의 문제니까요. 국민들 보안 수준을 높여서 PC에 프로그램 설치를 함부로 못하게 하는 방법이 다른 나라와 비슷하게 사회적 비용을 줄일 수 있는 것이 아닐까요?
BlogIcon snaiper | 2007/08/28 15:35 | PERMALINK | EDIT/DEL
사회적인 비용이라..글쎄요. 국민들 보안 수준을 높이는게 더 비용이 들지 않을까요? 그거 생각 외로 쉽지 않습니다. 프로그래머들도 보안 수준이 형편없을 때가 많은데, 그거 교육도 쉽지 않더군요. 하물며 일반 대중이야 ㅡㅡ;
luzluna| 2007/08/28 10:52 | PERMALINK | EDIT/DEL | REPLY
결국 otp가 답이지 않을까요?
BlogIcon snaiper | 2007/08/28 17:06 | PERMALINK | EDIT/DEL
OTP로는 막을 수가 없습니다. 계좌번호를 OTP 로 할수는 없지 않습니까? 한다고 해도...어떻게 윈 계좌를 찾을지도 막막하고요.
BlogIcon rockenrollz| 2007/08/28 11:22 | PERMALINK | EDIT/DEL | REPLY
헉헉헉....
놀라움... 저 시나리오 작성하신 분 한번 보고싶다는...
BlogIcon snaiper | 2007/08/28 17:06 | PERMALINK | EDIT/DEL
나도 궁금하다...당체 누구야..매스컴까지 타고 싶었남?
BlogIcon serapian| 2007/08/28 16:50 | PERMALINK | EDIT/DEL | REPLY
메모리 해킹... 저도 설마설마 했지만 진짜 만드는 사람이 있을줄은 상상도 못했습니다.
게임쪽에서는 아주 오래전부터 실 메모리 데이터를 바꾸는 일이 비일비재했는데... 그걸 뱅킹쪽에 이용하다니...
결국 해킹프로그램이 깔리는걸 막지 못하면 끝이네여...
BlogIcon snaiper | 2007/08/28 17:07 | PERMALINK | EDIT/DEL
그러게 말입니다. 무서워지네요 ^^:
BlogIcon TohnoLyn| 2007/08/31 01:02 | PERMALINK | EDIT/DEL | REPLY
저기 무슨 말인지 해석좀 해주세요 ㅡ.ㅡ;;;

지식이 짧아서 못알아듣겠단
BlogIcon TohnoLyn| 2007/08/31 01:12 | PERMALINK | EDIT/DEL | REPLY
지금 방송 보고왔는데..
특별한 기술은 아니었군요 ㅡ.ㅡ 일종의 Memory Edit 네요

프로텍터가 동작하기 전에 이미 훅을해서 API를 잡고있는건가
BlogIcon TohnoLyn| 2007/08/31 01:22 | PERMALINK | EDIT/DEL | REPLY
그나마 안전한 방법은..
이체명령이 완료 된 후, SMS로 무선인터넷을 통한 마지막 인증절차를 거쳐서 틀리면 RollBack 시키는,..
방법이려나요?
BlogIcon snaiper | 2007/08/31 01:50 | PERMALINK | EDIT/DEL
당장 시작할 수 있는건 그 정도입니다. 이미 시스템이 있더군요. 국민은행 홈피 메인 페이지에도 광고가 나오더군요. 예전엔 없었는데..방송뜨자마자 메인으로 --;
BlogIcon TohnoLyn | 2007/08/31 02:59 | PERMALINK | EDIT/DEL
호호..

발빠른 대처로군요

사실 메모리조작은 Admnistrator 만 프로그램에 안내주면 문제가 없을텐데... 대부분의사람들이 창 뜨면 그냥 보지도않고 OK니 ㅡㅡㅋ
BlogIcon 손영수| 2007/09/08 04:41 | PERMALINK | EDIT/DEL | REPLY
--; 사태가 심각하군요...
BlogIcon snaiper | 2007/09/08 14:09 | PERMALINK | EDIT/DEL
그러게 말입니다 ^^:
BlogIcon object| 2007/09/10 11:41 | PERMALINK | EDIT/DEL | REPLY
이것의 모든 근본적인 문제는 컴퓨터 CPU 자체가 보안을 전혀 신경쓰지 않고 만들었다는 것이죠. 그러다보니 이렇게 많은 소프트웨어적인 문제가 발생하는데, 그래서 하드웨어에서 어떻게 보안을 잘 지킬 것인가 연구가 많이 되고 있습니다. 여러 아이디어가 있는데, CPU 내부를 제외하고 외부로 나갈 때는 항상 암호화를 시켜서 내보내보자는 것도 있지요... 그렇게 되면 메모리의 값을 읽어도 외부로 나올 때는 인크립트가 되어서 볼 수가 없게되는데 이건 뭐 뜬구름 잡는 이야기고 보다 자세한 방법론으로 들어가면 연구할 거리가 꽤 나올 것 같습니다. 비슷한 원리로 지금 메모리에 권한 설정은 아시다시피 페이지 단위잖아요. 그런데 각 메모리 워드마다.. 4바이트 마다 보안 비트를 정할 수 있다면? 그러면 또 보다 시큐어한 컴퓨팅 환경을 만들 수도 있겠지요 ㅎㅎ
BlogIcon snaiper | 2007/09/10 13:15 | PERMALINK | EDIT/DEL
네..연구거리 꽤 나올듯...시큐어 OS던가 있던데..이런 것도 처리하는지 모르겠군요. 말씀하신대로 처리하면 많이 느려지지 않을까 하는 불안감이 있습니다.

제가 보기에는 처음 얘기하시는 방법이 가장 좋아 보이긴 하는군요. 쓸 수 없다는게 단점이긴 하지만...ㅎㅎㅎ
Name
Password
Homepage
비밀글 (Secret)