brunch

You can make anything
by writing

C.S.Lewis

by 박정호 May 23. 2022

해킹 피해 최소화한 OpsNow CMP

실시간 리소스 이상 생성 패턴 감지하는 Resource Alarm의 위력

교회 갈 준비를 하고 있던 일요일 아침에 팀원에게 급한 전화가 왔습니다.


OpsNow CMP는 한국 뿐 아니라 BGUS(America), BGC(China), BGMEA(Middle East Asis), BGSEA(South East Asis) 등 베스핀글로벌 해외법인들의 고객들도 많이사용하고 있습니다. 그 중, BGMEA에서 OpsNow에 등록한 고객사 계정 중 하나에서 해킹으로 의심되는 리소스 생성 알람이 발생하고 있다는 내용이었습니다. BGMEA 담당자에게 구글채팅, 이메일 등으로 연락을 했으나 두바이는 지금 일요일 새벽시간이라 연락이 안되고, 피해 예상 금액이 벌써 USD 5,000을 넘어가고 있어서 빨리 고객사의 담당자에게 알리고 싶다는 연락이었습니다.


리소스 알람이라는 기능은 OpsNow CMP에 등록된 고객의 계정에서 리소스 생성 패턴이 평상시와 다르거나 해킹 등 이상징후가 감지되면 발생되는 알람입니다. 의심스러운 패턴을 탐지해서 고객의 관리 담당자에게 알려주고 조치를 취할 수 있게 도와 주는 것 입니다. 지금까지 국내 고객사에서도 몇 차례 이상 징후를 탐지하여 thanks letter 를 받았던 좋은 기능입니다.


OpsNow CMP에서는 자원최적화라는 기능들을 제공합니다. 클라우드는 실물이 아닌 가상 공간에 컴퓨팅 자원들이 생성됩니다. 생성된 자원들이 다 사용은 되고 있는 것인지, 불필요하게 큰 사양의 자원으로 운영되는 것은 아닌지 수시로 확인하고 삭제나 사양변경 등의 조치를 취해야 합니다. 하지만.... 그 대상을 식별하는것은 너무 어렵습니다. 그래서, 자원최적화는 OpsNow의 중요한 할 일 중 하나가 됩니다. ^^;;

클라우드에서 생성, 시작, 중단, 삭제되는 자원의 모든 상태 정보를 획득해서 "현재 기준으로 사용되지 않고 있는 자원들을 식별해서 알려주는 기능"과 자원의 CPU, Memory, Network I/O, Storage I/O 등의 퍼포먼스 데이터들을 활용하여 "사양을 변경하는 스케일 업이나 스케일 다운 혹은 동일 사양의 최신 기종으로 변경하는 모더나이제이션을 제안하는 기능" 등을 제공하고 있습니다. 

이러한 자원최적화 기능은 전형적인 빅데이터 분석의 사례입니다. 데이터의 변동이 큰 자원들은 분단위로 데이터를 수집하여 초 단위로 변화 상태를 체크하고 있습니다.   


이렇게 수집하는 자원의 상태 데이터를 이용한 서비스 중의 하나가 "리소스 알람"입니다.    

자원의 생성은 계정마다 특성을 가지고 있습니다. 예를 들어 제가 리드하고 있는 개발팀에는 계정을 다양하게 분리하여 사용하는데, 기본적으로 개발을 위한 계정은 각 개발팀 별로 관리하고, 운영계 계정은 개발조직 전체가 같이 사용하지만, 배포된 리전 혹은 배포된 사이트마다 계정을 분리해서 사용합니다. 그 외에 SP 나 RI 구매하여 sharing, support plan 등을 적용하고, Jira 등의 공통 인프라를 위한 계정 등이 분리되어 있습니다. 

이렇게 계정이 각 목적에 따라 분리되어 있으니 리소스들의 생성되는 패턴이 존재하고, 그 패턴에서 위배되는 경우 이상패턴이라고 부를 수 있고, 이상패턴이 발생하는 여러 이유 중에는 분명히 "해킹"에 의한 경우가 있습니다. OpsNow CMP에서는 사용 정보를 수집해서 처리하는 과정에서 각 계정별로 이상패턴 유무를 확인하게 되어 있고, 이상패턴이 발생하면 바로 알람이 울리고 고객사의 계정관리 담당자가 직접 확인할 수 있게 안내를 합니다.


그런데, 간혹 고객사 담당자가 이 리소스 알람 기능을 잘 모르거나 신경을 안쓰는 경우가 있습니다. 그런 경우에는 며칠 동안 해킹된 상태에서 수천, 수억원의 손해가 발생하기도 합니다. 특히, 빌링 데이터는 사용 후 하루 이상이 지나야 확인이 가능하기 때문에 해킹에 의한 자원 생성을 빠르게 감지하는 것은 빌링 데이터 확인으로는 불가능합니다. 그래서 간혹 수천만원, 수억원의 손해를 봤다는 기사가 나오게 되는 것 입니다.


OpsNow CMP의 고객사를 그런 일을 절대 겪게 하고 싶지 않아서 OpsNow에 등록되어 있는 각 고객사의 계정에서 발생한 이상 알람을 OpsNow 개발팀에서도 다시 한번 확인을 하고 있습니다. 혹시 고객이 놓칠 경우 빨리 알려주기 위해서입니다. 그리고 오늘 아침 06:50에 중동 지역에서 이상 알람이 올라오기 시작한 것 입니다. 해당 고객사의 계정에서는 주로 일반적인 VM 인 m5.large, t5.large 가 주로 사용되고 있었는데, 고가의 고성능 VM인 g4, g4dn,p3 and p3dn 타입이 London, Tokyo, E. Virginia, Mumbai 등 지금까지 고객의 리소스가 생성된 적이 없는 리전에서 대량으로 생성되고 있었습니다. 전형적인 해킹 후 비트코인 채굴기를 돌리는 것으로 의심되는 상황입니다. 


처음 발생은 한국 시간 일요일 06:50, 두바이는 01:50 ... 일요일 새벽 잠을 자고 있을 시간이지만 주저할 수 있을 상황은 아닙니다. 조치를 취할 수 있는 모든 사람들에게 가능한 모든 채널로 연락을 합니다. 이메일, 구글채팅, 슬랙 등 채널을 동원하지만 회신이 없습니다. 결국 개인 전화를 통하여 BGMEA 대표인 MC에게 연락을 했고, MC를 통하여 BGMEA 담당자와 고객에게 전달이 됩니다. 


그리고, 몇 시간 후에는 여러 사람들에게 Thanks Letter 를 받았습니다. ^^;;  

아마도 BGMEA와 고객사에게는 무척 바쁜 일요일 새벽 시간이 되었을 것입니다. OpsNow 개발팀에게는 고객이 큰 피해를 입을 수 있는 상황을 빨리 알아채고 조치를 취할 수 있게 도와주게 되어 뿌듯한 하루가 되었습니다. 


이번 케이스에 AlertNow 활용이 안된 것은 매우 아쉬운 점이었습니다. 

BGMEA 와 고객사가 AlertNow setting 이 되어 있었다면, 저와 팀원들 여러명이 BGMEA와 고객사 담당자에게 breach 의심상황을 전달하기 위하여 여러 채널들을 통하여 여기 저기 연락하며 초조해할 필요가 없었을텐데..... 우리의 AlertNow는 Voicecall(전화), SMS(문자), Messenger(카톡, 슬랙, 위챗, 구글채트, 잔디, 텔레그램 등), 이메일 등 다양한 채널 중에서 각 개인이 선호하는 채널을 통하여 정보를 전달 받을 수 있고, 정보가 필요한 사람에게 전달하기 위하여 반복 전달, 에스컬레이션 등이 자동으로 진행되고, 정보 전달이 되었는지 아니면 1차 담당자가 연락이 안되서 에스컬레이션이 되고 있는지 등을 명확하게 알 수 있기 때문입니다. 

(직방의 AlertNow 활용 사례 : https://www.youtube.com/watch?v=tS_p9yIMVb4&t=44s)

MC가 바로 AlertNow 세팅을 요청했으니 바로 지원해 주어야겠습니다. ^^


해킹과 같은 보안 사고는 예고없이 다가오고 완전히 예방할 수 있는 방법은 없습니다. 더욱 걱정되는 것은 문제가 생겼는데도 인지하지 못하는 것입니다. 필요한 조치를 사전에 취해 놓고 지속적으로 점검을 할 수 있게 진단하고, 가이드하고, 지속적인 점검을 자동화한 OpsNow Security 서비스도 런칭해서 열심히 알리고 있습니다.   

(포블게이트의 3개월 만에 클라우드 보안 점수를 90점 이상으로 향상시킨 이야기 : https://www.bespinglobal.com/foblgate/)


클라우드를 사용하는 고객사들에게 좋은 가치를 제공하는 OpsNow와 AlertNow로 계속 성장해 나가니 뿌듯하고 행복하네요.  

(OpsNow 고객사 2,000 곳 돌파 : https://www.mk.co.kr/news/business/view/2022/03/240860/)

  


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari