728x90
오늘 메일을 확인하는데, "타인의 명의도용시도 차단 알림메일" 이 두 통 왔다.


실명인증을 차단해주는 서비스를 유료로 이용하고 있다. 요즘같은 시대에는 이런게 하나쯤 필요하다고 생각하여 꾸준히 사용중이다. 효과가 어느정도 되는지는 모르겠다.

이 메일을 보자마자 든 생각은, '암호화된 네이트 주민번호가 복호화 됐군.' 이었다. (물론 다른 경로로 유출된 민번이 정말 우연찮게도 갑자기 오늘 사용되었을 수도 있지만)


미투데이에 관련 글을 올렸더니 비번 푸는데 30초가 걸렸다고 하는 뉴스가 나왔다고 한다.
어떤 내용인지 예상은 가지만 그래도 한번 찾아봤다.

링크 : http://news.sbs.co.kr/section_news/news_read.jsp?news_id=N1000960683

요약하자면 SBS에서는 brute force 방식의 강제 대입식으로 비밀번호를 추출해낸 것이었다. 네이트의 정확한 암호화방식은 모르는 듯 하고 그냥 시청율을 위한 쇼라고 생각되지만 그나마 사람들에게 이번 사태의 위험성을 알리는데 일조했다고 생각하기에 까지는 않겠다.

웃긴건 뉴스 중간에 보안최고책임자라는 사람이 하는 말이다.

[강은성/SK커뮤니케이션즈 보안담당 이사 : 현재 기술로 보았을 때 이것은 안전합니다.]

이해는 한다. 정보를 주면 줄 수록 크래커에게도 힌트를 주는 것이니까. 하지만 현재 기술로 보았을 때, 안전한 영역은 없다. 털린쪽에서 안전하고 싶을 뿐이겠지.

개인정보 유출에서 최대 쟁점은 두가지 이다. 비밀번호와 주민등록번호.

주민번호야 여러가지 부서에서 사용해야 하기 때문에 복호화가 가능한 양방향 암호화를 했을 것이고, 비밀번호는 단방향 암호화를 사용했을 것 이다.

양방향이면 암호화 방식과 암호화에 사용된 key만 찾으면 풀 수 있다는 소리이다. 이미 언론등을 통해서 네이트가 주민번호에 128비트의 AES 암호화를 사용했다고 알려졌다. 게다가 주민번호는 숫자로만 구성되어 있다. 여기서 중요한건 AES 알고리즘으로 만들어진 문자열을 해독할 수 있는 iv와 key 가 함께 노출되었는가 아닌가인데, 노출되었을 가능성이 적다고 해도 안심할 수 없다. 운이 좋으면 짧은 시간내에 복호화가 가능하기 때문이다.

누가 주도하든 자꾸만 비밀번호 쪽으로만 이슈를 몰아가는것 같아 안타깝다. 바꾸면 그만인 비밀번호 보다는 바꿀 수도 없는 주민번호가 더 문제라고 생각된다. 대한민국 웹서비스의 대부분에는 아이디/비밀번호찾기 서비스가 있기 때문이다.

이름과 주민번호만 알 수 있다면 웬만한 사이트의 비밀번호 또는 비밀번호 변경권을 손쉽게 얻어낼 수 있고, 아이디를 다르게 사용하는 사용자의 아이디도 노출되게 된다. 크래커들도 바보가 아닌 이상 얻기 어려운 곳에 투자 하기 보다는 좀 더 똑똑한 방식을 통해서 자신들이 원하는 것을 얻어낼 것이다.

안타깝다. 언론과 SK컴즈 모두 올바른 시각으로, 올바른 방향으로 문제를 해결하려는 모습을 보여줬으면 좋겠다. 옥션도 잘 넘겼고 심지어는 우리 돈과 가장 밀접한 연관이 있는 농협조차 은근슬쩍 잘 넘어갔는데 네이트라고 다르겠냐만. 
Posted by onionmen
728x90
  • 패스워드의 생성규칙 가이드


패스워드 생성 시, 패스워드 생성 가이드를 제공하는 것이 과연 보안에 어느 정도나 도움이 될까? 그 규칙 중에 특수문자를 넣어야 한다고 "권장"하는 것은 어떤가? 얼핏 봤을 때, 비밀번호에 특수문자가 들어간다면 꽤 강력해 보인다. 실제로도 패스워드에 특수문자가 섞여있다면 꽤 강력한 패스워드이다.

그런데, 이 패스워드 생성규칙을 사용자가 강제로 따라야 한다면 어떨까? 가령

1. 패스워드는 8자 이상 12자 미만으로 이루어져야 합니다.
2. 패스워드에는 특수문자가 필수로 들어가야 합니다.
3. 아이디와 같은 문자열은 사용할 수 없습니다.

와 같은 조항들 말이다. 크래커가 패스워드를 알아내기 위해서 무차별대입 공격을 시작하려 한다. 그런데 업체에서 저런 규칙을 사용자에게 강제화 했다. 이로 인해서 어디부터 시작해야 할지 모르던 크래커는 작업이 더 쉬워졌다. 크래커는 자신이 만든 툴에 아래 규칙을 적용하였다.

1. 자릿수 8자리 이상 12자리 이하
2. 대입 시 특수문자를 필수로 입력. 예) votmdnjem! , votmdnjem!@, qlqjs!@#
3. 아이디와 같은 문자열은 제거

이제 패스워드에 특수문자가 포함되지 않은 문자열들과 13자리이상의 문자열들. 가령 votmdnjemqlalfqjsgh 와 같은 문자열은 무차별대입 공격 시에 제외된다. 매우 많은 경우의 수를 제거해 주는 것이다. votmdnjemqlalfqjsgh 대신에 votmdnjem! 와 같은 문자열을 넣어볼 테니 말이다. 왜 일부러 규칙을 강제화하여 많은 경우의 수를 제거해주는가?

1억 개나 1억 100백 개나 많은 건 많은 거고, 안전한 건 똑같이 안전한거다. 문자가 24개 이던 34개 이던, 어차피 숫자가 무한대에 수렴한다면 굳이 특수문자를 포함할 필요는 없다. 그렇다면 왜 소위 전문가들은 특수문자를 강제화하는 것에 이리도 적극적인가?

  • 무차별 대입 공격과 사회공학


특수문자가 포함된 패스워드는 강력하다. 하지만, 이 강력함이라는 것은 무차별대입 공격(brute force)에나 강력한 방법이고, 키로거와 같은 악성코드가 설치된 PC라면 특수문자 할아버지가 들어간 패스워드 라고 해도 전혀 안전하지 않다.

현재의(2011년) 많은 인터넷 사이트들은 이 무차별대입 공격법에 어떻게 대응하고 있는가? 올바르지 않은 입력이 N 회 시도되면 접속차단 또는 캡챠와 같은 기술을 사용하여 자동공격을 차단하고 있다. 굳이 특문 포함이라는 극약 처방을 하지 않아도, 이런 방식으로 무차별대입 공격을 대부분 차단할 수 있다.

요즘 크래커들은 옛날과 같이 무식한 무차별대입법을 사용하여 일하지 않는다. 패스워드에 이름, 생년월일, 전화번호, 휴대전화번호 등과 같이 쉽게 알아낼 수 있는 여러 가지 정보들의 우선순위를 높여 대입해본다. 안되면 이들을 조합하여 넣어본다. 그리고 안되면 또 다른 방법을 사용한다. 가령 사회공학기법 같은. 그럼 100명 중에 적어도, 최소 한 명 이상은 걸린다. 열 명까지도 걸릴 수 있지 않을까 생각해본다. 운이 좋으면 30명도 걸릴 수 있지 않을까?

주제와는 조금 벗어나지만, 실제로 메신저로 돈 빌리기 사기나 전화피싱과 같은 사회공학기법에 낚이는 사람들이 많은 걸 보면 이게 어렵지 않다는 것을 어느 정도 유추할 수 있다. (약 10년 전에 세이클럽 계정이 털린 적이 있다. 세이클럽 디자인폼으로 메일이 도착했는데, 거기서 비밀번호를 묻기에 그냥 나도 모르게 입력해버렸다. 그리고 난 아바타 캐시를 털렸다.)

소위 전문가들은, 이런 사회공학기법들 때문에 특수문자가 필수로 들어가야 한다고 말한다. 사용자들이 유추하기 쉬운 패스워드를 사용하기 때문에 특수문자를 강제화하는 규칙을 넣는다는 것이다. 그러면 이런 상황에서 사용자들은 회원가입시에 어떤 행동을 취할까.

1. 자신이 자주 사용하는 비밀번호를 넣고 회원가입 버튼을 누른다.
2. 그럼 경고창이 뜨겠지. "특수문자가 필수임ㅋㅋ" 
3. 그렇게 되면 사용자는 짜증을 낸다.
4. 그리고 기존 비밀번호에 ! 또는 !@ 등을 추가해서 회원가입을 완료할 것이다.

안 그럴까? (평범한) 주변 사람 다섯 명을 불러놓고 테스트를 해보면 적어도 두 명은 이런 행동을 취할 거라 확신한다.

  • 패스워드 생성규칙의 강제화


특수문자를 강제화 하는 것이 그리 안전하지 않다는 것은 그들도 잘 알고 있을 것이다.(아닌가?) 그럼 왜 관리자들은 패스워드를 강제화 하는 건가? 보안을 생각한 것도 물론 있겠지만, 더욱 큰 것은 아마 관리자 자신들의 심리적 안정감 때문 아닐까?

'사용자들에게 이렇게 시켰으니 적어도 1234와 같은 비밀번호를 사용하지 않겠지'
'유추하기 어려운 강력한(특문이 포함된) 패스워드이니 쉽게 깨지지 않겠지'
'난 보안을 지키기 위해서 최선을 다했어. 해킹 당해도 내책임 아님'

위와 같은 자기 위안들 말이다.

"소프트웨어 누가 이렇게 개떡같이 만들었어"라는 책이 있다. ( 원제목은 Why Software Sucks )
여기서 너무 많이 강화된 보안을 사용자들이 어떻게 생각하고 있는지 잘 이야기 해주고 있다. 외우기 어려운 패스워드를 메모지에 적어놓고 다닌다든가, 강화된 보안 시스템이 귀찮아서 문에다 벽돌을 받치고 누구나 쉽게 드나들 수 있도록 환경을 바꾼다든가 하는 그런 것들 말이다.

패스워드가 기억하기 어려워지거나 너무 자주 바뀌면 쪽지나, 스마트폰에 저장해두게 된다. 아니면 자신이 늘 사용하던 패스워드 한 글자를 특문으로 변경한다든가, 그냥 특문 하나를 더 붙일 뿐이다. 이런 강제적인 규칙들은 오히려 보안성을 떨어뜨릴 수도 있고, 최악에는 사용자들이 떨어져 나가게 된다.

사용성과 보안은 트레이드오프관계에 있다. 보안성을 높이면 사용성이 떨어지고, 사용성을 높이면 보안성이 떨어질 수밖에 없다. 이 둘의 관계를 잘 절충하여 모두 윈윈 할 방법이 요즘 조금씩 제안되고 있지만, 그래도 여전히 이런 불편을 완전히 없앨 수는 없다.

보안을 위해서 어느 정도 사용성 저하는 감수해야 하겠지만, 무턱대고 보안성만을 강조하여 사용자들을 불편하게 만드는 것은 한 번쯤 다시 생각해봐야 할 문제가 아닐까 한다.

"패스워드는 꼭 복잡성을 만족해야 한다." 정말 그런가? 적어도 규칙의 강제화는 답이 아니라고 생각한다.



혹시 같은 주제로 관심이 있는 사람이라면 아래 링크도 읽어보길 추천한다. 원문이 사라져서 복사본으로 대체한다.

복사본링크 : http://www.thechiefbaboon.com/forums/archive/index.php/t-17074.html
원문링크 : http://finance.yahoo.com/news/A-Strong-Password-Isnt-the-nytimes-3369144559.html


Posted by onionmen
이전버튼 1 이전버튼

블로그 이미지
손을 따뜻하게 만들어 주고 싶은 애인이 있습니다.
onionmen

달력

 « |  » 2024.3
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
DNS Powered by DNSEver.com

최근에 올라온 글

Yesterday
Today
Total