Skip to main content
[개안뽑] ②해킹을 '또' 당하다
Picture

Member for

4 months
Real name
Keith Lee
Bio
Head of GIAI Korea
Professor of AI/Data Science @ SIAI
해킹 당해서 사업 접을 뻔 했는데,
또 해킹 당하고 또 접을 뻔 하고 나니,
이젠 진짜 내가 만들어야겠다 싶더라

지난 9월 18일의 일이다. 아침에 일어나니 당시 방화벽 서비스를 쓰고 있던 Sucuri라는 회사에서 메일이 10개가 와 있더라. 우리 웹사이트 15개 중에 10개를 방화벽 시스템 안에 등록해 놨는데, 10개 모두 해킹을 당했단다.

지난해 8월에 해킹을 한 번 당하고 난 다음에, 좀 충격을 먹고 이런저런 해결책들을 찾던 무렵에 구매했던 곳이다. 우리 개발 팀에서 도메인 판매하는 GoDaddy의 자회사인 Sucuri라는 회사가 있는데, 워낙 워드프레스를 많이 지원해주는 회사니까 이쪽으로 전문가인 것 같다고 추천해줬던 서비스였다. 여기 방화벽을 쓰면 이번에 해킹 당한 것도 정리해주고, 앞으로는 해킹 안 당하도록 막아줄 것 같으니까 이걸 고르자고 했었다.

10개 사이트 모니터링에 월 150달러, 가끔 해킹 사건이 터지면 추가금이 더 들어갈 수 있다, 현재는 해킹을 당한 상태기 때문에 청소하는데 비용이 좀 더 든다는 콜을 한 차례 하고, 뭐 이미 해킹 당한 상태에서 어쩔 수 없지 않나는 생각에 그 계약서에 전자서명을 하고 1년 남짓을 썼던 시점이다.

서비스 쓰던 중에 해킹 시도가 얼마나 자주 있는지 실시간 모니터링을 해 줬고, 내 눈에는 조잡해보이는 우리 회사 서비스들에 이렇게 해킹 시도가 많았다는 사실에 적잖이 충격을 먹기도 했었다. 그래도 글로벌에서 서비스가 탄탄하게 돌아가는 회사인만큼, 우리 회사가 다시는 해킹 당할 일이 없을 것이라는 기대감이 컸던 부분도 있다.

개발자-안-뽑음_202312

해킹 당하는게 처음이 아닌데

사실 작년 8월 사건도 처음 당한 해킹이 아니었다. 기억을 거슬러 올라가면, 사업 초창기 국내 가비아의 공유 호스팅에서 시작했던 블로그가 해외의 SiteGround라는 호스팅 서비스로 이사가서 파비클래스를 붙인 서비스로 확대가 됐었는데, 그 때도 SiteGround에서 해킹 시도가 얼마나 자주 있다는 메일을 종종 보내줬던 기억이 있다. 사업이 확대되면서 AWS에서 직접 서버를 돌리던 무렵에는 우리가 업로드 하지 않은 이미지 파일이 올라온 걸 보고 폴더 권한을 755로 안 하고 777로 해 놓은 거 누구냐고 개발팀에서 말이 나오는 일도 있었다.

그 외에도 몇 차례 해킹으로 짐작될만한 사건들이 있기는 했지만, 작년 8월에 당했던 해킹은 내 입장에서 좀 충격이었다. 우리 회사가 구글 검색이 잘 되도록 구글SEO를 갖춘 서비스를 돌리는 걸 자랑으로 삼는 회사인데, 우리 회사 URL을 클릭하면 어디 처음보는 사이트로 연결이 되는 거였다. 나중에 알게된 것은, 워드프레스에서 쓰고 있던 한 플러그인이 보안이 취약한 상태였고, 그 구멍을 뚫고 들어와 웹사이트 헤더 값을 바꾸는 경우가 매우 빈번하게 나타나고 있었단다.

당시 날 상담해주던 Sucuri 담당자는 자주 보던 상황이라는 말투였고, 1개 서비스만 설치된 상황이 아니라 10개 이상의 사이트가 모조리 다 똑같이 감염됐을 것이라고 하더라. 이게 그들 표현으로는 URL-Rewrite 해킹XSS(Cross-Site Scripting) 해킹에 해당한다. 어차피 1개 사이트가 뚫리건 10개 사이트가 뚫리건 뚫리는 건 마찬가지니까 같은 서버에 있는 10개를 모두 다 막아야 하고, 서비스가 더 많으면 비용을 더 내라고 그러더라.

당시 SIAI 신입생 몇 명이 회사 사이트 들어가는데 왜 이상한 멕시코 이커머스 회사가 나오냐면서 입학식날 뭐라고 하던데, 입학식날 케익 자르면서 내 속이 내 속이 아니었었다. 정말 괴롭더라.

이번엔 돈 주고 서비스 쓰는데 또 해킹을 당하다

1년 남짓이 흐르고, 개발 팀은 다 내보냈고, 서버에는 SSL 인증서 업데이트 할 때 말고는 아예 관심을 안 두던 시절이었는데, 또 다시 해킹을 당했다는 메일을 받고 출근길 내내 공황상태였다.

우리 회사 URL을 접속해보니 예상대로 또 이상한 해외 사이트로 접속이 되고 있더라.

Sucuri 담당자한테 '[Urgent]'라는 타이틀로 긴급 대응을 요청했고, 다행 한국 시간으로 그 날 오전에 청소 작업은 끝이 났었다. 그 분들이 들어와서 정리해주기 전에 오랜 기억을 거슬러 올라가 우리 회사 서버 SSH 접속 비밀번호를 기억해냈고, 들어가서 파일들을 다 내려받아 하나하나 훑어보니 이번에도 URL-Rewrite 해킹, XSS 해킹을 당했다는 것을 알게 됐다. 그 때랑 비슷하게 wp-header.php 파일 안에 처음보는 문자열이 잔뜩 들어가 있더라.

심지어 돈 주고 서비스를 썼는데, 1년 지나서 이제 돈을 더 내라고 하던 그런 서비스를 썼는데도 해킹을 당했다고?

저 서비스를 쓰는게 사실 굉장히 큰 불만 사항 중 하나였었다. 왜냐면, 우리 회사 서비스에 접속하기 전에 외부 방화벽을 지나야 하는데, 그 방화벽이 미국에 있으니까

  • 한국 접속자 -> 미국 방화벽 방문 -> 미국에서 복사해간 서버 접속 -> 한국으로 전송

의 구조로 돌아가고 있었던 탓에, 접속 시간이 엄청나게 길게 걸리는 통에 접속자들이 우르르 떨어져나가고 있었기 때문이다. 내부 직원들의 불만도 장난이 아니었다. 물리적으로 거리가 먼 상황이라 이걸 해결하기 위해 이래저래 머리를 굴렸어야 하는데, 우리 개발 팀 중에 이 문제를 지적한 사람은 1명, 해결한 사람은 0명이었다.

사실 문제는 내가 일으켰었다

돌이켜보면, 두 번째 해킹의 원인은 내 무지와 오판에서 출발했었다.

워드프레스가 계속 보안, 기능 등의 이유로 버전이 올라가는데, 거기에 맞춰서 테마들, 플러그인들도 버전이 계속 올라간다. 자기네들도 시장에서 살아 남아야 하니까 새로운 기능을 추가하고, 보안 이슈에 구멍이 났으면 대응을 꾸준히 계속 해 주고 있는 건데, 난 버전 업그레이드되면 종종 웹사이트 UI가 망가지니까 그게 싫어서 버전 업그레이드를 막아놨었다. 누가 버전 업그레이드 버튼을 누르면 화를 내면서 거꾸로 원복을 하고 그랬던 기억이 난다.

보안이 뻥 뚫린 웹사이트를 그대로 내버려 두고는 방화벽 회사한테만 뭐라한 꼴인 것이다. 집 문을 열어놓고 모기 향이 제대로 작동 안 해서 모기한테 물렸다고 화 내는 꼴이라고 할까?

조금 변명을 하자면, 저렇게 업그레이드를 안 하는 시스템을 개발자들이 먼저 요구했었다. 업그레이드하는 걸 거의 발작적으로 싫어했고, 한번 만들어 놓은 시스템은 건드리지 않는게 원칙이라는 이야기를 귀에 못이 박히도록 들었었다. (왠지 행정망 서버 다운이야기가 오버랩되지 않나?)

워드프레스가 보안에 취약하다는 표현을 쓸려면 윈도우가 보안에 취약하다는 표현을 써야 한다는 어느 해외 전문가의 글을 읽으면서, 사람들이 많이 쓰는 IT시스템은 해킹 시도가 빈번할 수밖에 없고, 시스템 보안을 항상 신경을 쓰는게 지극히 당연한 거란다.

연간 윈도우가 얼마나 많이 해킹을 당하는지, 그래서 느닷없이 윈도우가 강제로 업데이트 하면서 컴퓨터 작업을 중단해야했던 상황들이 내 기준에는 귀찮고 짜증나는 일에 불과했지만 보안이라는 것이 그렇게 단순한 문제가 아니라는 것을 새삼 느끼게 됐던 사건이다.

그래, 갈아엎자. 내가 다 알아야지

해킹 당한 부분들을 며칠간 청소 후 점검하면서 이대로 놔 두면 또 해킹을 당할 수밖에 없겠다는 생각이 들더라. 지난 8월 이후 열심히 키웠던 웹사이트 접속자가 급감한 상황이 해외 방화벽 때문인지, 우리 콘텐츠의 품질이 나빠졌기 때문인지, 아니면 해킹 당한 이후로 구글 서치 콘솔에서 요주의 웹사이트가 되었기 때문인지는 모르겠지만, 같은 사건을 계속 겪으면 정말 웹사이트 운영할 이유가 없는 회사, 그냥 망하는 회사가 되겠다는 절박함이 올라왔다.

당장 해킹 당한 날 SSH 접속 비밀번호도 몰라서 내 서버에 접속도 못했던 상황이었으니 입이 열 개라도 할 말이 없다 싶었고, 이런 문제를 해결하려면 누군가에게 의지할게 아니라, 아예 내가 직접 모든 걸 다 만들어야겠다는 결론을 내렸다.

정작 Sucuri에서는 내가 해킹 당해서 쫄아 있을테니까 내년 연장 계약에 더 많은 돈을 낼 것이라는 기대감이 가득했는지, 15개 사이트 들고 있으면서 10개만 등록해서 그렇다, 15개로 늘리는 확장 계약을 해야된다고 연락이 왔었다. 난 이제 Sucuri를 떠나서 한국에 있는 다른 방화벽 서비스를 쓸려고 그러는 판국인데, 각자의 입장이 있다보니 서로 생각이 참 다르구나 싶더라.

국내에 있는 방화벽 서비스들도 찾아봤고, AWS, Azure, GCP가 제공해준다는 방화벽 서비스들도 봤고, 사실 서비스들을 은근히 많이 찾아봤다. 근데 다들 Sucuri처럼 앞에서 DDoS 공격 같은 걸 막아주는 서비스만 이야길 하고, 내가 겪었던 URL-rewrite이나 XSS 해킹은 말들이 없더라.

URL-Rewrite, XSS 해킹은 워드프레스만 당한다?

한국에서는 워드프레스 쓰는 기관이 거의 없다보니 워드프레스만 당하는 해킹 이야기는 안 하는게 아니겠냐는 누군가의 조언을 듣고 한참을 찾아봤는데, 한편으로는 워드프레스의 문제고, 다른 한편으로는 이런 설치형 플랫폼들은 구조적으로 URL-Rewrite 해킹을 겪을 수밖에 없다는 것도 알게 됐고, 여러 서비스가 동시에 돌아가고 있는 호스팅이면 XSS는 항상 위험에 노출되어 있다는 것도 알게 됐다. 국내건 해외건 호스팅을 쓰고 있으면 다른 회사 서비스들과 같은 서버에 있다보니 피할 수 없는 문제인 것이다.

오히려 워드프레스가 전세계에서 가장 많이 쓰는 서비스다보니 해킹을 잘 당하는 만큼 거꾸로 해킹에 대한 대응도 가장 빠르다는 지적도 봤고, 버전 업그레이드를 항상 때맞춰 해 주고, 테마나 플러그인을 해킹 당할 위험이 높은 걸 쓰지 말라는 설명도 봤었다.

한 때 워드프레스로 만들지 말고 아예 인도에 개발 외주를 주면서 백엔드는 Node.js로 프론드엔드는 React.js로 만들어 달라고 요청할까는 생각도 했었는데, 저런 설명들을 보면서 나 같은 비전문가는 거꾸로 해킹을 덜 당하려면 남들이 많이 써서 바로바로 대응이 되는 편이 더 낫겠다는 결론을 내렸다.

DDoS 전용 방화벽이 됐건 뭐가 됐건, 워드프레스, 테마, 플러그인 중 어느 하나가 보안 취약점을 갖고 있어서 뚫리면 직접 서버에 접근이 가능해지는데 보안을 더 붙여봐야 무슨 큰 이득이 있느냐는 글도 봤었는데, 100% 장벽을 만드는 건 불가능하니까, 거꾸로 얼마나 효율적으로 대응할 수 있는지가 중요한 것이다.

다음편에 계속 언급하겠지만, 이렇게 사소한 것에도 모두 신경을 써야하고, 시간이 지나면서 누가 언제 보안을 뚫고 들어올지 모르는 상황을 항상 염두해두고 주기적인 백업, 서버 관리, 프로그램 관리들을 신경써야 된다는 걸 알게되면서, 사업 초창기에 우리 개발자들이 뭐 만들어 붙이자고 하면 라이브러리를 하나 갖고와서 붙이던 것, 그런 라이브러리들 중 일부는 그렇게 보안에 취약한 경우도 있었을텐데 왜 나는 그런 고려를 하며 서비스를 만들지 않았을까 싶었다.

보통은 이런 사건들을 겪으며 더더욱 워드프레스를 떠날 것 같은데, 난 반대로 워드프레스 해킹 모니터링하는 서비스들에 이메일을 등록했다. 누군가를 믿어야 한다면 해외의 전문가를, 그것도 전문 영역을 갖추고 돈 받는 전문가를 믿는게 국내의 인력들을 믿는 것보다 수백배는 더 안전하다는 것을 지난 몇 년간 절감했기 때문이다.

Picture

Member for

4 months
Real name
Keith Lee
Bio
Head of GIAI Korea
Professor of AI/Data Science @ SIAI