어제 새롭게 서버 이전을 계획하던 웹페이지에 접속했더니 데이터베이스의 자료를 읽어오지 못하던 오류가 나타났습니다... 갑자기 무슨 일인가 싶어 db에 직접 연결해보니 사용하던 MongoDB의 collection이 존재하지 않더군요. 이게 무슨 일인가 싶었는데 컬렉션을 조회해보니 모르는 데이터베이스가 새로 생성되어 있었습니다. 그 이름이 JUST_READ_ME였습니다...

"혹시 해킹?"

불길한 마음에 내용을 읽어보니 제 데이터를 보관하고 있다는 내용입니다. 내용은 길지 않았고 너는 해킹을 당했으며 아래로 비트코인을 보내라는 내용이었습니다. 또한 문의사항은 secmail.pro라는 곳의 이메일 계정으로 보내도록 되어있더군요... 그래서 알았습니다. 해킹은 결코 남의 일이 아니라는 것을!



# 어떻게 해킹을 당했는가


다양한 경로를 확인해보았습니다. 가장 먼자 로그를 살펴보는 것이 좋겠죠... 해커의 접속지는 미국 워싱턴주의 인근으로 나왔지만 이를 확신할 수는 없습니다. ip가 하나가 아니었으며 이를 우회했을 경우도 많을 것입니다.

가장 의심되는 경로는 개발서버에 데이터베이스를 직접 연결하던 remote ip가 의심스러웠습니다. 사실 이에 대한 피해 사례는 수도 없이 많습니다. 그 이유 중 하나로 대부분 동일한 ip를 변경하지 않고 사용하는 것도 큰 이유입니다. 또한 해커는 이런 장보를 비교적 쉽게 얻을 수 있는데 그 이유 중 하나로 접근 가능한 ip와 port를 제공하는 검색엔진도 존재합니다. 이런 웹사이트는 특수목적을 위함일 수 있으나 해커에게는 사탕같은 존재라고 볼 수 있죠~

최근 해킹, 랜썸웨어에 관한 기사를 쉽게 접할 수 있습니다.
 또한 해킹 당한 대상은 어쩔 수 없이 그들의 요구를 들어주기도합니다. 막대한 돈을 요구하지만 그들이 빼내간 정보는 수십년이 된 매우 중요한 데이터일 수도 있으니까요.


# 비트코인의 거래 증가와 엄청난 가격도 문제


과거 바이러스 등의 공격 형태는 돈의 목적보다는 자신들을 과시하거나 오로지 공격하여 파괴하는데 목적을 두는 경우가 많았습니다. 하지만 최근의 경우들은 대부분이 돈을 목적으로합니다. 그 이유 중 하나로 손쉽게 돈을 요구하고 받을 수 있는 가상화폐가 존재하기 때문입니다. 추척도 어렵고 복잡한 절차도 없이 전세계 어디서나 이용할 수 있기때문이죠.



# 해킹을 피하기 위한 방법들


해킹을 피하려면 필요한 준비와 과정이 필요합니다. 물론 그렇다고 100% 안전해지는 것은 아닙니다. 게다가 비용 역시 발생하므로 작은 업체나 개인들은 이 역시 만만치 않습니다. 무엇보다 중요한 것은 바로 예방이겠죠!
  • DB 외부접근 ip는 가급적 금지할 것
  • 외부접근시 패스워드 설정
  • 포트 번호의 default 사용 피할 것
  • 정기적인 백업

위 사항들은 반드시 해야할 사항들이라면 아래는 선택이지만 중요한 것들입니다.
  • 백업 솔루션의 사용
  • 주기적인 패스워드 변경
  • 데이터베이스 마이크로 서비스로 분리

해킹은 결코 남의 일이 아니라는 점을 알아야합니다.