엠마 (emma) SMS 해킹

이미 보안뉴스같은 곳에 떴을지도 모르고, 어쩌면 모두 모두 알고있는 얘기의 뒷북일지도 모르지만, 오늘 당했으니까, 다른 분들도 조심하라는 의미에서 알립니다.

데이콤의 SMS 전송 대행 서비스 중에 EMMA 라는 이름의 서비스가 있습니다. 데몬으로 떠서 동작하는 타입이구요. 웹 페이지쪽에서 사용자가 SMS 전송을 요청하면 지정된 데이터베이스 테이블에 넣어둡니다. 그러면 주기적으로 emma 데몬이 테이블을 검색해서 데이콤 서버쪽으로 전송하고, 데이콤쪽에서 이를 SMS로 수신자에게 보내주는 방식입니다.

제가 돌보고 있는 사이트에서도 이 emma라는 녀석을 쓰는데, 오늘 여기서 문제가 터졌네요.

이 사이트에서는, “문자 메시지” 메뉴를 선택하면, message.php 가 열리고, 여기에 문자메시지를 입력하면 message_ok.php 라는 페이지로 포워딩해서 데이터를 저장하고, 자동으로 창이 닫히도록 되어있습니다. 문제는 일반적으로 message.php 에는 접속자가 회원인지 검사하는 부분이 들어있지만, message_ok.php에서는 그런 점검을 하지 않았다는 점입니다.

거의 대부분의 사이트에서 message_ok.php 를 데이콤이 나눠준 형태 그대로 사용하고 있다는 (이 사이트도 마찬가지였습니다.) 점을 악용해서, 공짜로 스팸 문자를 사방에 날린거죠. 이십분정도 걸려서 무려.. 2만건이 넘게 전송했습니다.

웬만한 보안 구멍은 다 막았다고 안심하고 있었는데, 이런 X팔린 일을 당하고 말았네요. 혹시 emma 쓰시는 분들은 (다른 SMS서비스에도 비슷한 구멍은 있겠습니다만) 한번씩 점검해보시기 바랍니다.

이거, 데이콤에 사정사정하면 좀 깍아줄라나요 .. ㅜㅜ

P.S. 해결 방법.

이건 뭐, 해결 방법이라고 써놓기도 뭐합니다만…

앞에 예를 들었던 message_ok.php 파일의 앞부분에서 페이지에 접속한 이가 자사의 회원이 맞는지 세션 데이터를 이용해서 검사하면 됩니다.

(네, 맞습니다. 이렇게 간단한 건데, 먼산…)