ICQ의 중대한 보안 허점 (1998)

Major ICQ security hole (1998)

opennet.ru ▲ 112 댓글 67 sysoleg

요약

1998년 ICQ 서버는 9자 이상 비밀번호를 받으면 버퍼가 넘쳐 남의 계정 로그인을 허용했습니다.

보안 메일링 리스트 루트셸(Rootshell)이 1998년 8월 보안 공지 22호로 알린 내용입니다. 리눅스용 ICQ 호환 프로그램을 직접 만든 라이스대학교 이용자가 제보했고, 루트셸은 버그를 직접 확인했다고 밝혔습니다.

왜 중요한가

  • 입력 길이 제한을 공식 클라이언트에만 맡기고 서버가 검사하지 않으면 인증 전체가 무너진다는 점을 보여 줍니다.
  • 비밀번호를 몰라도 상대의 ICQ 번호만 알면 계정을 차지할 수 있어 모든 이용자가 위험했습니다.

핵심 내용

  • 9자 이상 비밀번호를 보내면 서버의 버퍼 넘침(정해진 메모리 칸을 넘어 덮어쓰는 현상)으로 로그인이 성공했습니다.
  • 서버는 8자 이하 비밀번호를 전제로 만들어졌고, 이 제한은 공식 클라이언트만 지켰습니다.
  • 대상의 UIN(ICQ 고유 번호)을 알고, 그 사람이 접속해 있지 않을 때만 통했습니다.
  • 침입자는 오프라인 메시지를 받고 메시지를 주고받으며 계정 주인 행세를 할 수 있었습니다.
  • 제보자는 단순한 사칭이 아니라 실제 로그인이라고 강조하며 미라빌리스와 AOL에 수정을 촉구했습니다.

HN 반응

  • 낮은 번호 계정을 빼앗기거나 프로필이 키릴 문자로 바뀐 경험담이 이어졌고, 이제야 이유를 알았다는 반응이 나왔습니다.
  • 서버 쪽 버퍼 넘침이니 원격 코드 실행도 가능했을 것이라는 분석과 함께 AIM, MySQL의 비슷한 인증 허점도 거론됐습니다.

댓글

30개 표시 · 전체 67개
  1. SXX HN

    CVE-2012-2122: MySQL의 비극적이면서도 희극적인 보안 결함

    https://www.rapid7.com/blog/post/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql/

    ... 인증 프로토콜이 이 비교를 할 때마다 다른 해시를 만들어 내기 때문에, 어떤 비밀번호든 인증을 통과할 확률이 256분의 1이 됩니다. ...

  2. compass_copium HN

    비밀번호를 9자 이상 보내면 버퍼가 넘치고, 그러면 로그인이 됩니다.

    와, 컴퓨터가 예전엔 참 재미있었는데요.

  3. mingus88 HN

    정말 재미있던 시절이었습니다. 저는 카페에 앉아서 와이파이 트래픽을 그냥 스니핑하곤 했어요.

    친구가 지역 신문사 기자였는데 시장을 인터뷰하게 됐습니다. 제가 노트북을 돌려서 그 친구한테 시장의 IMAP 비밀번호를 보여 줬죠. 공중에 그냥 둥둥 떠다니고 있었거든요.

  4. moray HN

    저도 친구 집에서 똑같이 한 적이 있어요. 친구가 이메일 비밀번호를 까먹었는데, 브라우저에 저장된 채로 남아 있었거든요!

    그리고 WEP를 쓰는 와이파이를 써서 인터넷을 "빌려 쓰던" 건 어땠나요? 방법을 익혀서 첫 비밀번호를 알아냈을 때의 쾌감이란...

  5. frmrtntn HN

    2000년대 초에는 암호화를 아예 안 하고 쓰는 사람이 많았죠! 고등학생 때 점심시간마다 근처 동네를 차로 돌아다니다가 열린 와이파이를 찾아서 인터넷을 하곤 했어요. 찾는 데 오래 걸린 적이 없었습니다.

  6. mingus88 HN

    업체들이 그걸 기본 설정으로 두지 않았다면 지금도 그럴 겁니다.

    SunOS가 엔터프라이즈 서버를 거의 모든 서비스를 켜 놓은 채로 출하하던 게 기억납니다. 게다가 패치 과정이 너무 번거롭고 위험해서 권장 패치 클러스터를 적용하지 않는 관리자가 많았습니다.

    탐색하고 찔러 볼 게 정말 많았죠!

  7. masternight HN

    ICQ가 상대방 IP 주소를 알려 주던 게 기억나요.

    그걸로 WinNuke를 날릴 수 있었죠.

  8. yyaakkqq HN

    요즘은 WhatsApp 통화로도 가능하죠. 아니면 meet/teams/zoom이나...

  9. bestham HN

    아니면 NetBus를 돌리든가요 :-D

  10. NexRebular HN

    결국 NetBuster에 접속하고 끝나겠지만요.

  11. wafflebot HN

    다행히 제 ICQ 비밀번호는 8자였어요. 그리고 모든 웹사이트에서 그 비밀번호를 썼죠!

    (지금도 어릴 때 집 전화번호나 사회보장번호보다 ICQ 번호가 더 빨리 떠올라요.)

  12. wildpeaks HN

    저는 반쯤 농담으로 자주 말해요. 치매에 걸리더라도 제 ICQ 번호가 마지막까지 남을 거라고요. 제 이름보다도 훨씬 나중까지요.

  13. jghn HN

    제 번호도 아직 머릿속에 박혀 있는데, 수십 년 전에 계정이 잠겨 버려서 추억의 로그인조차 못 해 봅니다.

  14. jghn HN

    8자요? 꽤 고급이었네요. 제 건 7자에 전부 소문자였고, 저도 모든 웹사이트에서 그걸 썼어요!

  15. Graziano_M HN

    그러니까 이건 서버 쪽 버퍼 오버플로였군요! 아마 그들의 인프라에 RCE로 쓸 수도 있었을 겁니다. NX도 ASLR도 없었을 테고요. 물론 바이너리나 정보 유출 수단 없이 맨눈으로 공격을 만들어 내기는 어려웠겠지만요.

  16. egeozcan HN

    이 글을 보고 제가 아직도 ICQ UIN을 기억한다는 걸 깨달았어요! 정작 어제 점심에 뭘 먹었는지는 기억이 안 나는데 말이죠.

  17. berofeev HN

    71191733

  18. pwarner HN

    2726304

    그런데 ATM 비밀번호는 까먹었네요.

  19. Gareth321 HN

    제 번호는 2로 시작했습니다. 그냥 그렇다고요.

  20. ButlerianJihad HN

    그건 자릿수를 밝히지 않으면 전혀 의미가 없어요. 이 글타래에서는 왜 아무도 자기 번호를 공개하지 않는 걸까요? 자랑 좀 하세요!

    제 것도 2로 시작했어요. 279866이었습니다. 제 여자친구 번호가 조금 더 낮았는데, 그 친구가 저한테 새 서비스를 소개해 줬거든요. 우리 둘 다 그 평온했던 시절에 개척자가 된 기분이었죠.

    제 계정은 곧 러시아 해커에게 빼앗겼습니다. 프로필이 키릴 문자로 바뀌어 있더군요. 어떻게 한 건지는 끝내 몰랐습니다. 다른 계정이나 SNS는 한 번도 그렇게 털린 적이 없었거든요!

  21. thomc HN

    그 시절에 낮은 번호의 ICQ 계정이 많이 탈취당했던 게 기억납니다. 제 것과 보안에 밝은 친구 몇 명의 계정도 포함해서요. 워낙 흔한 일이었고, 우리가 계정을 뺏긴 경험이 그것밖에 없었기 때문에, 그들이 결함을 찾았거나, 비밀번호를 재설정할 수 있는 권한이 있었거나, 고객지원에 사회공학 수법을 썼을 거라고 짐작했습니다.

    원글에 나온 것 같은 치명적인 결함이 아마 그때 쓰였다는 걸 마침내 알게 되어 다행입니다.

  22. jghn HN

    제 번호는 350만 대였습니다. 당시 룸메이트는 6자리 번호였는데 저보다 그렇게 많이 일찍 가입한 것도 아니었어요. 그렇게 빨리 커졌다는 게 놀라웠던 기억이 납니다. 그러고 얼마 지나지 않아 전부 8자리 번호가 됐고요.

    그리고 저도 마지막으로 확인했을 때 제 계정은 전부 키릴 문자였어요.

  23. darkwater HN

    제 경우는 그 번호를 난수 시드로 쓰거나 일부를 PIN으로 쓰기 때문이에요. 절대 잊어버릴 일이 없고, 충분히 "비밀"이기도 하니까요.

  24. waltbosz HN

    AOL Instant Messenger에는 원격 코드 실행 취약점이 여럿 있었습니다. 누군가에게 메시지를 보내기만 해도 통했죠. 상대의 컴퓨터를 원격으로 다운시킬 수도 있었고, 아니면 그냥 상대 클라이언트를 만들어 버리게 할 수도 있었을 겁니다.

    게다가 저장된 비밀번호의 암호화 알고리즘도 쉽게 되돌릴 수 있었습니다.

  25. Hydraulix989 HN

    AIM에 내장된 HTML 파서에는 초선형 파싱 복잡도 버그가 잔뜩 있어서, 사람들이 "펀터(punter)"를 만들게 됐죠.

  26. camcil HN

    AIM 시절은 길이 남을 시대였죠. 컴퓨터에 빠져 있던 사람에게는 정말 살맛 나던 때였어요.

  27. jonhohle HN

    오디오 아바타도 그런 식으로 동작하지 않았나요? (충돌시키는 게 아니라 ACr 방식으로요.) 정말 대단한 시절이었어요.

  28. waltbosz HN

    어떻게 동작했는지는 모르겠지만, 만들 때는 .wav 파일의 이름을 .jpg, .gif, .bmp 같은 걸로 바꿨던 기억이 나요.

  29. SillyUsername HN

    제 낮은 번호 계정이 예전에 털린 게 바로 이거였군요. 공유해 주셔서 감사합니다.

  30. orbital-decay HN

    제 UIN은 겨우 7자리였는데, 해킹당했을 때 그 사람은 그냥 로그인해서 제 친구들과 시시콜콜한 이야기를 나누고 나갔어요. 친구들이 "저"가 이상하게 말한다며 어리둥절해해서 알게 됐습니다.

Hacker News에서 보기 ↗