본 글은 SAMSUMG MOBILE SECURITY에 올라온 Bug Bounty 글을 바탕으로 작성한 글임을 밝힙니다.
몇 년 전부터 대중이 보안을 보는 시야가 달라지고 있다. 특히, 전세계적으로 급증하는 해킹과 사이버 공격은 보안에 집중할 수 밖에 없는 상황을 만들어내는 데 크게 한몫하고 있다. 사이버 무기가 등장하고, 다른 국가의 해커들이 난입하는 등 긴장감을 고조시키며 국가는 사이버 보안을 생각할 수 밖에 없는 판국이다. 사실 이는 정부, 국가보다 기업에서 더 크게 보여준다. 구글, 페이스북, Microsoft 등 외국의 큰 IT기업들은 이미 보안을 강화하는 수단으로 자신들의 이름을 걸고 보안에 대한 투자와 관심을 아끼지 않는다. 반면, 국내는 어떠한가. 올해는 국내 보안 강화의 첫 바람이 불어오는 것 같다. 그리고 그 앞에는 국내 기업인 삼성이 앞장서서 나아간다는 소식이다.
최근 삼성은 보안에 대해 많은 투자와 관심을 가지고 무언가를 하려는 움직임을 보이고 있다. 며칠 전에 열린 삼성 CTF도 성황리에 이뤄낸 가운데 이번에는 버그바운티다. 삼성은 모바일 기기를 선도하는 업체로 사용자의 데이터나 개인정보 보호에 큰 비중을 두고, 각 제품 및 서비스 개발에 보안을 우선순위로 둔 다는 차원에서 자체적으로 버그바운티를 시행하기로 결정했다. 이를 통해, 자신들의 제품의 무결성을 검증하고, 잠재적인 취약한 부분을 찾아 보완하여 더욱 안전한 보안 프로그램을 제공하려는 것이다.
삼성에서 진행하는 버그바운티는 현재 매월, 분기별로 업데이트를 받는 삼성 모바일 장치 총 38대를 대상으로 하고 있으며, Bixby, Samsung Account, Samsung Pay 및 Samsung Pass를 포함한 최신 Samsung Mobile Services과 삼성용으로 개발된 애플리케이션도 포함하고 있다. 주의할 점으로 해당 기기는 삼성 모바일 서비스가 활성화되어 있어야 하며, 삼성 모바일이 개발하고 서명한 애플리케이션은 최신 업데이트가 되어 있어야 한다. 더불어, 당연한 얘기지만 삼성 모바일 장치, 삼성에서 개발하고 제공한 응용 프로그램 또는 서비스에 한해서 버그리포트를 받고 있다. 대상이 되는 자세한 모바일 장치, 최신 안드로이브 버전 펌웨어는 아래에서 확인하면 된다.
- 갤럭시 S 시리즈
(S8, S8+, S8 Active, S7, S7 edge, S7 Active, S6 edge+, S6, S6 edge, S6 Active)
- 갤럭시 노트 시리즈
(Note 8, Note FE, Note 5, Note 4, Note edge)
- 갤럭시 A 시리즈
(A3 (2016), A3 (2017), A5 (2016), A5 (2017), A7 (2017))
- 갤럭시 J 시리즈
(J1 (2016), J1 미니, J1 미니 프라임, J1 에이스, J2 (2016), J3 (2016), J3 (2017), J3 Pro, J3
- Pop, J5
(2016), J5 J7 (2016), J7 (2017), J7 Max, J7 Neo, J7 Pop)
- 갤럭시 탭 시리즈
(Tab S2 L Refresh, Tab S3 9.7)
발견되는 취약점의 심각성에 따라 최대 2억원의 보상을 제공할 예정이니 소리 벗고 팬티 질러. 취약점을 발견한 이는 이를 보고서 형식으로 작성하여 제출하면 신청이 된다. 만약, 하나의 취약점에 대해 여러 개의 보고서가 접수될 경우, 가장 먼저 받은 보고서에게만 보상이 제공되고, 제출한 보고서는 다시 돌려받지 못한다. 더불어, 제출한 보고서는 삼성 측에서 제품의 보안을 강화하기 위해 보고서의 모든 내용을 사용할 수 있으며, 제출자는 서류를 제출하는 순간 보상금을 못 받을 수도 있다는 점과 보고서가 파트너에게 공유될 수 있음을 동의한다고 간주한다.
취약점을 찾아 보고서 작성 시 주의사항은 다음과 같다. 만약, 찾은 취약점이 보안과 관련 없는 소프트웨어 버그라면 댓츠노노. 개발자 수준의 디버깅 툴을 통해 디바이스에 물리적 연결이 필요할 경우 또한, 응용 프로그램 수준의 충돌이 발생하거나 페이로드 없이 MITM 또는 SQL Injection 같은 공격의 가능성만 언급할 경우 취약점으로 인정하지 않는다. 사용자의 상호 작용을 지나치게 필요로 하거나 피싱 또는 클릭 재킹 같은 속임수가 필요한 경우도 해당되지 않으며, 악용은 가능하나 복잡한 시나리오로 발생 가능성이 매우 낮을 때에도 해당된다. 이에 대해 좀 더 예를 들면, 발견된 취약점이 삼성 기기뿐 아니라 타사 응용 프로그램을 가지고 있는 안드로이드 기기 전체에 영향을 미치는 취약점은 제보에 속하지 않는다. 즉, Android Rewards, Qualcomm Bug Bounty와 같은 다른 버그바운티 프로그램에서 받는 안드로이드 버그는 해당되지 않으며, 오로지 삼성 제품 관에서만 해당된다는 것이다. 이 밖에도 삼성 전자 및 파트너, 삼성 전자에 다니는 직원은 제한되며, 불법적으로 얻은 삼성의 기밀을 기반한 취약점도 제한된다. 마지막으로 제일 중요한 점으로 만약 제보자가 보상금액을 수령하기 전에 혹은 삼성으로부터 해당 버그를 인정한다는 심사를 받기 전에 보고서에 포함된 내용이 공개되면 자연스럽게 보상이 취소되니 입조심 하자.
당연한 얘기지만 삼성에서 주최하는 것이니 버그바운티의 시작부터 지불까지의 과정, 어느 정도로 위협적인지에 대한 보상금액, 계약 조건의 결정은 전적으로 삼성에게 있다. 한 마디로 내가 찾은 취약점은 2억원의 가치니, 2억원을 요구할 수는 없는 일이다. 또한, 버그바운티 과정 중 자격 요건이나 정책, 지침은 사전에 통보 없이 변경될 수 있으며, 삼성이 원한다면 언제든 종료될 수 있으니 빠르게 보고하는 것이 좋겠다. 앞서 얘기했듯이 같은 취약점이라도 먼저 온 보고서가 더 먼저 취급되니, 당장 우리가 집안에서 굴러다니는 삼성 제품을 찾아야 하는 이유가 되겠다. 미국, 일본 등등 한국에서 인정한 국가의 시민권을 가진 자라면 누구나 참여할 수 있으며, 현지 법률에 따라 자격제한은 추가로 제한될 수 있다. 하지만 한글로 이 글을 읽고 있는 당신, 한국 시민권을 가진 당신에겐 문제가 될 해당사항이 없으니 시작해보자.
그렇다면 어떻게 제보를 하느냐. 먼저 제품에 대한 취약점을 찾으면 보안 보고 페이지를 통해 보고서를 작성하여 제출한다. 이후, 삼성 모바일에서 이 보고서를 확인 후 취약점에 대해 내부 평가를 수행하고, 취약점이 인정될 경우에는 지정된 심각도 수준을 매겨 확인한다. 삼성 모바일은 보고된 취약점에 대해 보안 패치와 보고를 하고, 이를 제보한 제보자에게 보상 금액을 지급한다. 이때, 보상 금액은 제보자가 있는 국가나 위치에 따라 삼성 모바일 혹은 삼성 모바일이 지정한 제 3자로부터 지급될 수 있다. 삼성 모바일에서 취약점에 대해 서로 연락이 주고받을 때는 개인 정보 보호를 위해 공개 PGP키(F5F3 8EEC 4388 E4E2 9184 78BD BA2D 9A24 CD38 64BE)를 사용하고, 앞서 얘기한 점과 이와 같은 프로세스에 어긋나면 자연스레 종료된다고 한다. 삼성 모바일 버그바운티는 서류를 완전하게 작성하고 시간 내에 제출했다고 가정했을 때 보상까지 최대 2개월 이상 걸릴 수도 있다고 한다. 2개월 …
마지막으로 주의할 점, 삼성에서 버그바운티가 생겼다고 하여 삼성 내부나 외부 서버를 공격해서는 안되고 불법적인 활동은 제재를 받을 수 있다. 또한, 버그를 찾는 과정에서 잘 돌아가고 있는 삼성 서비스가 중단되어서도 데이터나 물리적 자산이 손상되어서도 안 된다. 더불어, 삼성 버그바운티를 수행하면서 삼성 모바일에 보고하는 행위는 법률 및 규정을 위반하지 않고 제 3자의 권리를 침해할 수 없으니 이를 어겨 돌아오는 불이익은 본인한테 부담된다고 한다. 에이, 버그바운티 한 두 번 하나. 여기에 관심 있어 이 글을 읽는 사람들은 이미 몇 번 해봤으리라 믿고, 결국엔 삼성 모바일에서 제공하는 서비스에 문제가 되지 않고, 법적으로 문제가 되지 않는 선에서 적절하게 잘 행하자. 자, 삼성의 대 버그바운티 시대가 도래하였으니, 2억원을 원하나? 원한다면 주도록 하지. 찾아 봐라! 이 세상 버그 전부를 그 곳에 두고 왔다!