Akamai Diversity

Akamai 블로그

진화하는 봇과 우리의 자세 Part 2

[ 지난 편 : 진화하는 봇과 우리의 자세 Part1 ]

20200114-9.jpg

위는 커머스 업계 사례입니다. 올해가 Metallica의 S&M 20주년이라는 것은 그들의 팬이면 다들 아실 겁니다. San Francisco Symphony와 Metallica의 합주는 20년 전 정말 센세이셔널했죠. 이 20주년 티켓 구매에도 bot이 사용되었습니다. 티켓을 팔기 시작한 몇 분 만에 동이났고 $200~$300하던 ticket은 불과 몇 분 만에 다른 사이트에서 최대 $16000에 팔렸었죠. 이때문에 Metallica와 그의 팬들은 트위터에서 한참 동안 불만을 토로했었습니다. 이후 형님들은 The Fifth member라는 그들의 팬클럽을 위해 별도 콘서트를 열었었죠. 역시 멋진 형님들이시죠.

20200114-10.png

이번 케이스는 봇 피해사례라기보다는 봇에게 복수하는 시나리오가 맞을 듯합니다. 고객사는 정상 요청과 경쟁사 또는 악의적인 봇 사용자를 구분하여 각기 다른 가격을 응답하도록 하였습니다. 최저가 비교에 우위를 위해 항상 우리보다 $0.01 싸게 구현이 되어있는 것이죠. 이걸 노리고 큰 이벤트가 있었을 때 해당 봇에서 요청이 오면 신발 하나당 $10000을 응답하도록 구현을 하였습니다. 결과는?

경쟁사는 $9999.99로 가격이 책정이 되었고, Bot net의 운영자는 한 켤레당 $9999.99짜리 신발 1,700켤레를 구매한 것입니다. 이렇듯 봇을 구분, 관리하면 복수 역시 꾀할 수 있게 되는 것이죠.

20200114-11.png

게임 업계 역시 예외는 아닙니다. 지금도 검색엔진에 가면 게임별 소위 고랩을 살 수 있죠. 위 그림을 보시면 no 2FA라고 되어있는데요, two factor authentication, 즉 2중 인증이 적용되어 있지 않음을 뜻합니다. ID/PW만으로 접근 허용하는 것이 아닌 등록되어있는 핸드폰에서 click 한 번의 수고를 통하여 2단계 인증을 하는 것이죠. 이 2FA인증이 없고, pay card가 등록되어 있으면 가격은 당연히 올라가게 됩니다. 우측은 각기 다른 게임들의 계정을 선택할 수 있도록 만든 사이트이고요.

20200114-12.png

게이머들은 아마 공감하실 텐데요, 게임할 시간이 많이 없는 직장인들은 특정 게임을 시작하려면 만랩 계정 구매로 시작합니다. 이러한 가정을 가지고 검색을 해보니 가격은 천차만별입니다. 북미의 top account가 12,000불에 팔리기도 하고, 판매자의 프로파일을 들어가 보면 한사람이 3,836개의 개정을 성공적으로 팔았다고 나오죠. 매달 10%~30% discount를 해주는 프로모션도 하고, 평생 워런티도 제공한다고 되어있습니다. 이는 한 사람의 play time으로는 불가능한 양으로 Credential stuffing을 이용한 account takeover로 의심이 되는 부분입니다.

게임 쪽에서 bot은 자동 사냥에도 사용됩니다. 보통 하나의 캐릭터의 레벨을 올리고 강력한 장비를 착용함으로써 P2P (player to player)에서의 우위에 설 수 있죠. 많은 시간을 들여야 레벨을 올릴 수 있지만, 그 과정을 생략할 수 있도록 자동 매크로를 많이 사용합니다. 바로 이 부분에서 bot이 활용되는 것이지요. Bot들로 구성되어있는 Bot net의 일정한 패턴의 움직임과 공격 버튼을 활성화하여, 사용자가 자고 있을 때도 밤새도록 괴물을 때려잡고 아침에는 괴물이 떨궈 놓은 수많은 장비와 보석을 캐릭터 가방에서 확인할 수 있죠. 이런 bot의 사용은 일반 게임 유저로 하여금 굉장한 무력함을 느끼게 하고, 곧이어 게임 로열티 역시 떨어뜨리는 요소로 작용합니다. 일 예로 특정 게임사에서는 Akamai의 Bot Manager를 활용하여 API만을 활용한 farming bot을 찾아 막은  이력이 있습니다. 게임사는 공정한 게임 환경을 사용자들에게 제공하거나, 혹은 아예 특정 비용으로 만랩+장비셋의 package를 만들어 악의적인 bot 사용자들이 벌어들이는 수익을 게임사 쪽으로 돌리는 것이 어떨까 합니다.

20200114-13.png다음은 항공업계 사례입니다. 항공업계는 다른 업계와는 다르게 "글로벌 통합 예약 시스템"을 사용합니다. 해당 시스템을 통하여 좌석 확인 및 비행 스케줄을 확인하기 때문에 필요 이상의 요청이 발생했을 시 엄청난 비용 부담이 항공사에 생기게 됩니다. 이 부분은 여타 다른 클라우드 서비스의 과금정책과도 동일하다고 생각됩니다. 해당 시스템으로 가는 요청 기준의 과금 방식 때문에 항공사를 통한 조회 이외에도 여러 여행사에서 들어오는 조회는 큰 부담일 수밖에 없습니다. 이에 고객사는 봇들을 특성에 맞게 구분하여, 악성봇, 파트너봇, 경쟁사봇 각각에 맞추어 응답을 하게 하였습니다. 이로써 악성봇은 Drop처리나 캐싱되어있는 별도 page로 향하도록 하여 원본의 부하를 절감했으며, 파트너봇의 경우, 평상시에는 정상적으로 처리하지만 이벤트 기간에는 1~2초가량 늦게 응답하도록 하여 피크시간에 원본의 부하를 줄였습니다. 이로써 불필요한 overage 비용을 줄여직접적인 비용절감을 이룬 사례입니다.

20200114-14.jpg

그 외에도 현재 제주에 있는 특정 인기 돈가스집이 온라인 예약을 받지 않는 것도, 그리고 연애인들의 SNS 계정 탈취 역시 봇의 사용이라 할 수 있겠습니다.

 

사실 기업 입장에서는 bot이라고 다 막을 수는 없습니다. 방금 보여드린 사례들은 나쁜 bot들의 사례만 공유를 드렸었는데요, bot에는 좋은 bot, 나쁜 봇이 공존합니다.  협력업체나 마케팅에 bot들이 많이 사용되죠.  SEO, Copyright,  partner bot이를 우리는 Good bot이라 부릅니다. Bad bot은 spy, spam, 경쟁사 등등이 있을 수 있겠죠. 근데 bot을 Good과 bad으로 딱 잘라 말할 수는 없습니다. 내 사이트에 미치는 비즈니스 영향도에 따라 관리가 되어야죠. 매출에 직접적인 영향을 끼치는 경우 good bot이라 보고, peak시간에 파트너사나 copyright bot들은 좀 느리게 응답 받아도 되지않아요? Peak 시간에는 밀려드는 사용자들의 요청을 빨리, 많이 처리해야 하는데 거기에 나쁜 봇은 아니더라도 직접적인 매출에 영향이 적은 bot같은 경우는 비교적 천천히 처리하는 유동적인 관리가 필요합니다.

20200114-15.png

이전에는 bot들을 관리가 아닌 차단을 했었습니다. 그러다 보니 이런 현상이 나타났죠. Bot 운영자가 특정 정보를 위해 bot을 돌렸는데 block이 되었다면, 곧바로 block이 된 것을 알고 회피하는 다른 방법으로 시도를 하는 것이죠. 즉 motivation을 준다는 이야기입니다.

20200114-16.png

위의 그림에서 보시는 것처럼, 인간이 사이트에 접속할 때는 봇과 다른 몇 가지 point가 있습니다. 마우스의 움직임이 랜덤하지 않고, 직선과 직각을 띄면 봇일 가능성이 높으며, 키를 누르는 패턴이 일정한 간격일 경우, 핸드폰에서는 자이로스코프가 움직이지 않으면 봇일 가능성이 매우 높게 되는 것이죠. 사람마다 비밀번호를 누르는 속도에 패턴이 있으니 머신러닝 기술을 활용하여 본래 그 사람이 가지고 있는 패턴과 큰 차이를 보이면 본래 사용자가 아닐 가능성이 높다고 판단할 수 있습니다.

20200114-17.png

우리는 개인 사용자로서, 봇으로부터 유발할 수 있는 피해의 심각성을 인지하여야 합니다.  비밀번호 변경을 주기적으로 하고, 미사용 계정은 삭제하며, 하나가 아닌 여러 인증 절차를 거치도록 하여야 합니다.

기업 입장에서는 봇을 구분하여 어떠한 형태의 봇들이 요청을 하는지 인사이트를 가져야 합니다. 예전에는 단순히 차단만으로 해결을 하려다 보니 단일 IP에서만 유발했던 공격은 발전에 발전을 거듭하여 human recording까지 진화하였습니다. 이에 따라 정밀하게 구분, 탐지, 관리하고 필요시 다른 응답을 하도록 하여야 합니다. 불필요한 요청을 없애어 클라우드 비용을 절감하고 최상의 사용자 경험을 제공하여 브랜드 이미지를 높이시기 바랍니다.

혹시 이 글을 읽으시고, 보안 담당자 한 사람으로서 좀 더 많은 이야기를 듣고 싶으신 분들은 주저하지 마시고 Akamai로 연락해주시기 바랍니다.

감사합니다.