압축파일 비밀번호
2011.12.13 11:53
압축파일 비번 걸린 걸 공격하고 있는데 생각보다 공격을 잘 막아주는군요.
보통 비번 공격은 무작위로 대입하는 것으로 이뤄지는데, 예를 들어 1111 부터 9999까지 전부 대입하는 방식이죠.
근데 영단어도 대입하기 때문에 한자리숫에 들어가는 문자는 10개가 아니라 a~z, A~Z 까지 해서 60개가 넘습니다.
보통은 CPU 만 써서 공격하는데, 덕분에 5자리수 (전부 약 6천만 경우의 수?) 전부 대입하는데 36 초 정도가 걸리더군요.
이런 속도면 8자리수까지 전부 대입하려면 엄청난 시간이 걸립니다. 그래서 GPU 까지 쓰는 알고리즘도 있습니다.
샌디 4.2G 에서 CPU(싱글코어)만 쓰면 초당 3500만개 정도 대입하는데
전문적인 프로그램으로 CPU 쿼드코어에 GPU 까지 쓰니 초당 속도가 3억개나 대입하는군요.
그래도 이속도로도 8자리조차 깨기 힘드네요...
아무래도 대입법으로는 10자리 정도 이상만 되어도 수백만대의 그리드 컴퓨터를 쓰지 않는 이상 힘들 것 같습니다.
ZIP 이나 RAR 는 이미 알고리즘에 대한 연구가 충분히 진행되어서 모든 수치를 대입할 것 없이 이런 약점을 가지고 공격하면 일일히 대입하는 것보다 더 빠르게 성과가 나옵니다.
그런데도 쉽지 않네요.
결론은, 어지간히 숫자와 문자를 조합하기만 해도 무식한 대입법에 의한 암호해제는 막을 수 있습니다.
-> 적어도 10자리 이상
-> 숫자, 영어 소문자, 영어 대문자 조합
이러면 하루 꼬박 돌려도 개인이 돌리는 대입법으로는 뚫리지 않습니다.
물론 좀비컴들을 마구 돌리는 해커 정도면 물량에 당해낼 수 없지만요.
이런 경우엔 자릿수를 15개 이상으로 팍 올리고 특수문자까지 넣으면 완벽합니다.
http://www.mytsoftware.com/dailyproject/PassGen/PassGen.html
여긴 제가 애용하는 사이트입니다.
대략 15자리에 특문까지 포함해서 쓰면 어떤 문명도 대입법으로는 깰 수 없죠. Should protect you against mortal civilizations.
반면 10자리에 특문이 없으면 전문적인 서버팜을 운영하는 해커 (<<국가기관) 에게도 뚫릴 수 있습니다.
저도 주요 사이트들엔 특문 + 허용하는 비번 길이끝까지 채워서 쓰고 있답니다.
물론 회사 내부자가 정보 빼돌리는 건 막을 수 없지만....
적어도 직접 이렇게 압축한 파일은 수세기가 지나도 누구도 열어볼 수 없을 겁니다 ㅋㅋ
(양자 컴퓨터는 암호 알고리즘의 약점을 공격하는 거지 대입법의 물량을 늘려주는 게 아닙니다.)
코멘트 6
-
대입법 기준으론 특문 쓰는 것과 똑같아요. 한글 코드는 문자에 따라 2바이트로 보통 영단어나 ??, ♬k 이런 식으로 변환됩니다. 특문으로 변환되면 좋지만 단어에 따라 아주 쉬운 영단어 aa 로도 변할 수 있다는 것에 주의해야 합니다.
-
그런데 문득 드는 생각은요.
저런 암호 생성기들이 나쁜 마음을 먹으면 "암호생성기에서 잘 나왔던 암호 리스트" 라고 돈주고 리스트를 파는 일은 없을까요? 그래서 항상 암호 생성기에서 나오는 암호들은 쓰기전에 몇개 바꿔서 넣어주고 있습니다.
-
저런 암호생성기들은 현실적으로 상당히 random하게 흩어지기때문에, 잘 나온 암호 리스트라고 해봐야 편차가 너무 작아 오차범위 내일겁니다. 물론 완전히 random은 아니고 패턴은 있지만 그래도 비현실적인 수준이죠.
-
좋은 지적이네요. 저도 쓰면서 항상 생각해오던 건데, 기왕이면 몇단어 정도는 바꿔서 적용해줘야 겠습니다.
-
대형사이트에서는 한 3년 전부터 로그인 시도로 패스워드를
알아낼려는 기계적인 더미? 트래픽은 막고 있습니다.
물론 패스워드가 틀렸는지 그런 아이디가 없다던지
하는 친절한 ui도 없앴구요...
고민해야할 건 작은 사이트죠.. 대입법 앞에서는요.
사전을 이용한 대입경우 패스워드 생성시 한글을 영어로 써버리면 풀기가 어렵죠.
예로 패스워드를 kpug대신 케이퍼그라고 쓸때..