별이 흐르는 카페
이곳은 무엇이든 편하게 이야기할 수 있는 자유 게시판입니다. (댓글 기능을 다시 활성화시켰습니다.)
며칠지난일인지라 뒷북입니다만 조이SF도 주의하는편이 좋지 않을까요??(가입자가 적어서 공격대상이 될 가능성은 적을거라 생각합니다만 혹시모르니까요)
프로그램(?)이란 부분을 잘 모르는지라 그냥 V3나 노턴같은 백신만 돌리면 될줄알았는데 기업용서버컴퓨터는 무언가 다른모양입니다.
그리고 뽐뿌의 경우 비밀번호를 암호화하지 않았다고 하는데 이런 작업이 돈이 많이 들어가나요??
뽐뿌게시글을 보면 매출이 30억인가 40억정도에 순이익이 10억이 넘는다고 하더라구요
안녕하세요 재미있는이야기가 많아 자주 들리는데 회원이 아니면 읽을수 없는게 많아 가입합니다. 앞으로 잘부탁드립니다.
홈페이지를 제작하는 방법은 크게 두 가지가 있습니다. 아예 처음부터 만드는 방법과 기존에 있던 솔루션을 활용해 만드는 방법이죠. 건물(홈페이지)에 비유하자면 전자는 기초공사부터 시작해서 건물을 새로 짓는 것이고, 후자는 기존에 있던 건물을 리모델링 하는거라고 보시면 됩니다.
이번에 문제가 발생한 뽐뿌 홈페이지는 솔루션을 활용해서 제작되었습니다. 제로보드4 라는 이름의 무료배포 솔루션인데, 2000년 초중반에 홈페이지를 제작한다고 하면 거의 대부분 사용했을 정도로 유명한 솔루션이죠.
근데 이 솔루션이 제작된지 벌써 15년이 지났고 최종 업데이트는 5년 전에 끝났습니다. 그렇다보니 이곳저곳 취약점이 많아서 지금은 거의 사용되지 않고 있습니다. 윈도우로 치자면 기술지원이 만료된 윈도우XP를 아직도 붙들고 있는 꼴이죠.
물론, 뽐뿌에서 고용한 개발자들이 홈페이지 개발과 유지보수를 계속 해왔을테니 기존의 제로보드4와는 모양새가 좀 틀리겠지만, 그렇다고 기본 베이스가 크게 바뀌지는 않았을겁니다. 그것을 증명하듯 이번 사건이 발생한 것이죠.
결국 돈을 안쓴겁니다. 그만큼 보안에 투자를 안한거죠.
joysf의 경우에도 마찬가지로 제로보드를 활용해 제작되었지만, 뽐뿌와는 사정이 조금 다릅니다. 제로보드4 개발자가 업데이트에서 손을 놓은 이후에 새로 개발한 제로보드XE 로 제작되었으니까요.
하지만 joysf에 홈페이지 유지보수를 담당하는 개발자가 있는 것은 아니기에(있는지는 저도 잘 모르겠습니다만, 없을 것 같네요.) 조심할 필요는 있습니다. 꾸준히 솔루션 버전을 업데이트 해야하지만... 이게 윈도우 업데이트마냥 버튼 몇 번 클릭하면 해결되는 문제는 아니라서요.
비밀번호 암호화에 대해 설명을 드리자면, 생각보다 공수가 크게 들어가는 작업은 아닙니다. 특히나 개발자 고용해서 굴릴 정도면 말 할 것도 없죠.
뽐뿌의 경우 비밀번호 암호화를 안한 것은 아닙니다. 다만, MD5 라는 오래된 방식을 사용했을 뿐이죠.
조금 더 추가설명을 드리자면, 비밀번호는 일반적으로 단방향 암호화 방식이 사용됩니다. 1111 이라는 비밀번호를 입력하면 복호화, 그러니까 원래의 값을 알 수 없도록 특정한 공식을 이용해 b59c67bf196a4758191e42f76670ceba 처럼 값을 암호화 하는거죠.
1111 / b59c67bf196a4758191e42f76670ceba
1112 / 20d135f0f28185b84a4cf7aa51f29500
1113 / 9c3b1830513cc3b8fc4b76635d32e692
뽐뿌에서 사용된 MD5 를 이용한 예제입니다. 좌측은 입력값, 우측은 암호화된 값입니다. 숫자 하나 바뀌었을 뿐인데 암호화된 값은 완전히 다르죠.
그러나 이것도 취약점이 있습니다. 암호화된 값이 고정이라는 거죠. 좌측의 입력값을 넣으면 무조건 우측의 값을 출력합니다.
즉, 간단한 암호는 무작위 대입을 통해 풀어낼 수 있다는 것이죠.
그러한 이유 때문에 암호의 복잡성이 요구됩니다. 4~6자리로 된 짧고 숫자로만 이루어진 암호는 무작위 대입을 통해서 쉽에 풀 수 있기에 회원가입시에 문자 + 숫자 + 특수문자 조합에 최소 8자리 이상의 비밀번호를 요구하는 것이죠. (사용자 입장에서는 굉장히 번거롭죠.)
MD5 복호화를 테스트 할 수 있는 홈페이지 주소입니다. 음, 설명은 복호화라고 했습니다만, 사실은 수많은 MD5 값을 저장해두고 매칭해서 같은 값이 있을 경우에만 띄워주는 데이터베이스 같은 곳이죠.
ed2b1f468c5f915f3f1cf75d7068baae
1836742dab03269d589d2383f17e67a3
홈페이지에 들어가셔서 우측의 입력란에 위의 암호화된 값 두 개를 입력하고 crack / encrypt 버튼을 누르면 제가 위에 설명드린 복잡성의 중요성을 알 수 있으실 것입니다.
쓰다보니 주절주절 설명만 길어졌네요.
마지막으로 덧붙이자면 MD5의 경우에는 취약점까지 발견돼서 현재는 비밀번호 암호화 용도로 사용되지 않고 있습니다.
소스코드가 있다면 암호화 기법을 바꾸는 것은 그리 어렵지 않습니다.
다만 문제가 될 것이 있다면 DB에 암호 자체를 저장하는 것이 아니라 암호화 기법을 통해 변경된 값을 저장하는 것이기 때문에 운영 도중 암호화 기법을 바꾸고자 한다면 일괄적으로 바꾸는 것은 어렵습니다. 암호화 기법을 변경하고, 그 이후에 유저가 암호를 직접 바꿔야 새로운 기법을 통해 변환된 암호값을 사용할 수 있을 테니까요. 결국 모든 유저가 새로운 암호를 도입해야 기존 암호화 기법을 폐기할 수 있을테고 그 전까진 두 가지 방법을 병행해야 되는데 그게 유지보수가 어렵게 만드는 점이죠.
음 공지만 읽어보니 단방향 암호화 했다고 적혀 있네요.
"뽐뿌의 경우 단방향 암호처리가 진행되었으나, 암호화 알고리즘의 취약점을 이용하여 단순한 비밀번호를 복호화한 것으로 판단하고 있습니다."
대충 생각 되기로는 하나의 키로 해쉬 값을 만들어서 저장한거 아닌가 싶네요.
추측이지만, 그러면 해커가 비밀번호는 몰라도 자기가 키값으로 조합한 비번을 통해 사용자를 찾아내면
계정 정보를 얻을 수 있을꺼 같다는 생각이 드네요.