포럼
암호화 및 해독에 관하여
2012.01.16 13:33
현재의 암호 해독 문제는 암호화 방식의 문제라기 보다는 사용한 암호가 해독이 쉬운 암호인가 아닌가의 문제일 뿐입니다.
최근의 암호화 프로토콜은 충분히 강력해서 어떤 것을 사용해도 역으로 푸는 것은 매우 어렵습니다.
요근래에 암호가 풀리는 사건은 MD5가 SHA에 비해서 소위 "약해서" 그러는 것은 절대 아닙니다.
암호문 저장을 위해 최근에 사용하고 있는 암호화 프로토콜들은 현재까지는 역으로 푸는 것은 가능하지가 않으며,
모든 문자와 숫자를 대입하여 푸는 것 또한 매우 많은 시간이 들기 때문에
암호 해독 프로그램은 보통 이런 방식을 사용하지 않습니다.
대신에 사람들이 많이 사용하는 암호를 사전으로 만들고 그것을 동일한 암호화 방식으로
암호화 해보고 원본과 비교하여 맞으면 암호를 찾게 되는 방식을 사용합니다.
이런 방식의 해독은 암호화가 MD5냐, SHA냐 와는 관련없으며,
사용자의 암호가 해킹 프로그램의 사전에 등록되어있는지,
등록이 되어 있지 않더라도 약간의 변화를 주어서 찾아낼 수 있는 것인지의 문제일 뿐입니다.
따라서 현재의 암호화 프로토콜은 충분히 안전하기 때문에 거기에 대한 우려는 너무 하지 않아도 되며,
단지 자신과 주위의 사람들이 암호를 조금 더 어렵게 만드는 것에 관심을 가지도록 하는 것이 좋습니다.
예를 들면 "영문 대문자, 소문자, 숫자, 특수문자" 이 4가지 조합으로 암호를 만들면 현재까지로는
어떠한 암호해독 프로그램을 사용하여도 풀어낼 수가 없습니다.
댓글 65
-
delphiXE2
2012.01.23 06:43
-
개발해보쟈
2012.01.23 18:32
보안 수업 발표 때 말씀하신 그 BAXXXXXX로 XE 뚫으려고 했는데 모두 실패했습니다. ^^
그 외 여러가지 기법들을 쓰고 있는데 아직까지 성공하지 못했고요.
적어도 세간에 알려진 해킹 기법에 대해서는 XE는 모든 조치를 취해놓은 듯 합니다. (아니면 제가 얻은 툴이 너무 옛날거였다던지...)
-
Te0
2012.01.24 13:16
"세간에 알려진 해킹 기법" - 흠....
해킹기법을 누가 어디에 적어 놓는다는 얘기는, 더 이상 그 기법이 필요없다라는 얘기와 같습니다. 잘 되는걸 왜 공개를 하겠습니까? 슬슬 안먹히니까 공개하는거지...
그리고 BAXXXXXXXX 에 탑재되어 있는 tool 들 만을 사용한다는거는, XE 설치해놓고, 기본 제공되는 모듈만 쓴다는 얘기하고 똑같은 얘기 입니다. 작년 새로 탑재된 tool (업데이트 까지 포함된 기본툴) 만 100개가 넘는데, 정말로 그걸 다 돌려보셨어요? 우왕... 몇달은 걸리실텐데... 흠....
고급 해킹툴과 기법을 얻으시려면 해킹길드 가입하셔서 최소 2~3년은 출첵잘하고 활동 열심히 해야해요... 과제물 내주는것도 잘 풀어서 제출해야 하고... 헛소리 하지 말아야 하고. flaming 하지 말아야 하고... 규칙이 매우 엄격합니다. 쿨럭.
-
delphiXE2
2012.01.23 06:44
논점을 벗어난 물어뜯기에 지쳤습니다.
논란이 며칠내로 정리되지 않으면 그냥 잊고 쉬어야겠습니다. -
Te0
2012.01.23 11:13
"로그인시 평문 password를 입력하면 그걸 md5 hash로 만들어서 db에 저장된 hash와 대조하는건데 말입니다."
아!!! 드디어 이부분이 이해되셨군요. 다행입니다. 그런데 정말 이해가 되셨으면 저에게 이런 질문을 하시지 않으실텐데 말입니다. -..-;; 1 = A 란게 이해가 되셨다면 A=1 되 이해가 되시는게 정상인데....
뭐 session 을 exploit 하는 방법이라도 여기에 나열을 해놔야 하나요? 그건 아니겠죠? hash 를 제출해서 로그인 하는 방법은 수십가지가 넘습니다. session 을 훔치거나, session 을 fix 하거나, cookie spoofing 을 하거나 별의별 방법이 많지만, 일단 로그인이 어떤 형식으로 유지되는지를 알아내야 사용할 수 있는 방법이 결정 됩니다. 그리고 이때 필요한건 hash 만 있으면 되는 겁니다. 왜냐하면 1=A 니까.
XE 는 오픈소스니까 그냥 다운받아서 확인해 보면 어느 폴더에 비번 hash 가 저장되고, 어떤 방식으로 로그인을 유지해주는지 쉽게 알수 있습니다. 오픈소스가 아니라면, 이건 거의 불가능해지죠. 왜냐하면 웹상에서는 php 를 볼수가 없기 때문에... php 를 hacking 해서 보면되지 않느냐? 라고 물으실수도 있겠지만, 우선 해킹을 해야 php 를 보던가 말던가 할꺼 아니에요. ㅋㅋ 그래서 오픈소스를 해킹하기가 가장 쉬운 것 입니다. 가장 어려운 부분인 php 를 확인해서 볼수 있으니까. 시험을 볼때 답안지를 옆에 놓고 시험 보는거랑 똑같은거에요.
그렇다고 XE 보안에 어떤 문제가 있는거는 아니구요 (다른 오픈소스도 다 마찬가지입니다.) 왜 contribute 을 하지 않느냐고 물으시는데, 제가 보기에 XE 의 보안에는 아무런 문제가 없습니다. XE 가 보안부분에서는 아주 양호해 보이는데, 뭘 더할게 있어야 하지요.
다른부분은 제가 잘 모릅니다. 속도문제 때문에 DB 설계부터 다시해야 한다는 얘기는 프로그래머 분들로 부터 들어서 이해하고 알고 있지만, 그건 제가 어떻게 기여할 수 있는 부분이 아닙니다. 저는 프로그래머가 아닙니다. 그냥 일반 사용자입니다.
저 위에 MD5 가 어쩌고 저쩌고 헛소리 하는 사람들 때문에 스트레스 받으시는 것 같으신데, 그냥 무시하세요. 자기들이 무슨 소리하는지도 모르고 그냥 어디서 듣고 와서 헛소리들 하는 겁니다.
-
delphiXE2
2012.01.23 14:32
세선 변조같은걸 얘기하시나 보군요..
...하..;; 정말 한숨 나오네요. 말씀대로 전 이제 이 논제는 그냥 무시하려고 합니다. 대체 이해를 하려고 하는 사람이 아니라.. 그낭 신경 끄겠습니다.
-
Te0
2012.01.23 15:22
네. 세션변조? 라고 생각하셔도 됩니다. 요즘은 세션변조하면 안되고, session storing 이나 fix 를 하는 방식이 주로 통하지만...
앞으로 도입될 기법들 (주로 HTML5 에서 가능하게 되는) 이 미리 많이 계발되어 있습니다. 해킹툴도 무지하게 많고...
그래서 솔직히 저도 이런 도구들이 어떻게 해킹을 가능하게 해주는지도 잘 모릅니다. (일단 방법이 너무 많으니까요.) 그렇지만, 중요한건, XE 나 MD5 의 잘못이 아니라는 것 입니다. 보안이 취약해서 문제가 생기는 것이 아닌데, (뭐 제로보드 같은 경우는 정말 보안이 취약한게 맞긴하지만) XE 는 아니에요. 제로보드처럼 그냥 초딩이 지나가다 장난으로 뚫어도 뚤리는, 최소한 그런 수준은 아니라는거죠.
오픈소스라 오리지날 소스를 처음부터 다 까놓아야 하는데, 그걸 어떻게 하겠어요? 그건 개발자의 잘못이 절대 아닙니다. MD5 를 처음부터 논하는 사람들이 이상한 사람들인 겁니다.=================이 포스팅 여기서 끝!!!==========================
이 논란은 여기서 끝났으면 좋겠습니다.
-
zero28
2012.03.09 20:21
제로보드 구멍이야 어제 오늘 일입니까 그래서 이제 쓰라고 안 하고 안 쓰는 분위기잖아요
제로보드 때는 인터넷 초기 때고 그 당시는 유저 대부분이 보안에 대한 상식조차 없을 때입니다
그러면 ㅎㅎ 반대로 생각하면 그때와 xe는 같은 md5를 쓰고 있네요 시간이 십수 년이 흘렀는데?
지금 보니 xe, te0씨 md5 쉴드 아주 징글징글하시네요
MS 포함 국제사회가 공통으로 md5 보안 취약하니 쓰지 말라는데 당신하고 xe2 씨만 빼고 다 이상한 사람인가 봐요?
생각이 아주 환자 같고 좋네요
md5는 논란 대상도 안됩니다 잘난 척 쉴드 그만 하지요 좀 역겨울려고 하니까
그리고 헛소리들 말고요 xe관리자가 회원 비번 등을 얼마든지 빼낼 수 있다니까요
xe관리자의 의도든 실수든, 사이트 팔아 넘기는 경우도 많은데 개인정보가 같이 팔려 간다고
헛똑똑한 여러분. 내가 폐쇄된 사이트 회원 정보 복원할 수 있는데
한 100명 정도만 아이디 닉네임 비밀번호질문답변 비밀번호 (+주민번호) 띄워 볼까요??
내가 개인정보를 침해하지 않으면 md5 허접하다는 건 증명이 안 되나? ㅎㅎ
구멍이 맨홀 보다 더 큰데 왜 눈 가리고 아웅을 하는지 모르겠네 아주
내가 잊을 만하면 한 번씩 두고 두고 글 올립니다 그러니 개선하든가 쌍팔년도해쉬 문제 없다고 우기지 않는 게 좋을 거예요
-
delphiXE2
2012.03.10 09:15
d95b33de741dad8c81a29642d541f43c6b73f24036e614c0dac6849a9a51d5c1be5143aa0743b5ceb98e9405d2ce24136649c01086e0da311422d285ee556ef6138d4f9b184b15892f68aa5c00303a26긴말 않고, 건투를 빕니다.제 비밀번호가 위 해쉬를 해독하면 나올 수 있으니 잘 해독해 보십시오. -
zero28
2012.03.31 19:35
고작 이런 수준의 댓글이니 매니저에서도 짤리는 듯
-
에릭리카드
2012.03.31 20:03
비난이나 비판을 하시던지 관여할 바는 아니나
감정적인 대응이 아니시라면 먼저 사실관계를
확인하시는 것이 어떻겠습니까?
delphiXE2님은 MD에서 스스로 물러나셨습니다.
-
엑스셀코드
2012.03.31 21:38
XE 암호화 지적에 대해 고민할 필요가 있다는 생각이 듭니다.
몇몇 댓글에만 추천이 달린것도 보기가 좀 그렇네요.
-
엑스셀코드
2012.03.31 23:02
## 고민해야 할 것
- 기존에 저장된 MD5값에 대한 하위 호환
=> md5('passwd') == newhash('passwd')update passwd='newhash('passwd')'- SHA512가 적용된 버전을 사용하다가 MD5가 적용된 하위 버전으로 되돌아가는 상황에 대한 대책
- 기존버전에서 SHA512를 지원하도록 패치가 필요하겠죠
- 이는 모든 버전에 대한 파일을 배포할 수 없으므로, 관리자가 직접 패치해야합니다
=> 이런 경우가 있을까요?=> 있다면 사용자의 선택에 대한 책임이죠.=> 이런 문제까지 고려하셨다면 애초에 그런 컨셉을 가지셨아야죠.- DB 컬럼 사이즈 조정이 필요하므로 그에 대한 대책
- sqlite 구버전과 큐브리드에 대한 문제
- 대량 데이터
=> 이쪽 DB는 잘 몰라서...- SHA512 해시사전이 만들어지고 있는 만큼 또 다시 변경이 필요한 상황
- SHA512지원패치를 했었다면 또 새로운 방식에 대한 호환성을 위해 관리자들이 패치를 해야합니다
- 이러한 상황이 반복되지 않도록 여러 고민을 거쳐 신중히 결정되어야합니다
- 패스워드에 더하는 '임의의 문자열'을 안전하게 보관하는 방법
- 일반적인 호스팅에서도 적용 가능한 방법이어야합니다
- 특정 호스팅 환경에서 문제가 되는 방법은 쓸 수 없습니다
- 특수한 권한을 가진 처리가 필요한 방법은 쓸 수 없습니다
=> 이게 고민인지 못하겠다는건지???=> 답글 달다보니 결국 안하겠다는 말씀이네요. 맞나요? -
엑스셀코드
2012.03.31 23:40
암호화 방식을 바꾸거나
사용자 선택을 고려하는것이
그토록 어렵거나 고민이시면
굳이 안하셔도 됩니다. ^^
꼭 해달라는 의미는 아니구요.
제가 생각하기에 이렇게도 할 수 있지 않을까 하는것을 말씀드린겁니다.
고민 하지마세요 ^^
안되는건 할 수 없쟎아요.
-
엑스셀코드
2012.03.31 23:45
댓글을 수정하여 편집기 툴바에 'HTML 편집기'를 눌러 HTML 모드로 갔다가 다시 눌러서 위직윅으로 돌아 온 후 저장하면 아마도 정상적으로 수정될 겁니다.
안되는군요ㅜㅜ
퍼온데서 문제가 있나봅니다.
한가지 encrypt된 password가 평문 password와 같다는건 무슨말씀이신지..
로그인시 평문 password를 입력하면 그걸 md5 hash로 만들어서 db에 저장된 hash와 대조하는건데 말입니다.