2018년 LINE Security Bug Bounty Program 결과

안녕하세요. LINE에서 보안 업무를 맡고 있는 Kazuhiro Kubota입니다. 이번 글에서는 2018년에 진행된 LINE Security Bug Bounty 프로그램의 결과를 공개하겠습니다.

2018년 Bug Bounty 프로그램 결과 공개

아래는 2018년에 Bug Bounty 프로그램으로 접수된 보고 건수를 주별로 집계한 그래프입니다. x축이 주(week)를, y축이 건수를 나타냅니다. 

주별 보고 건수

2018년에 취약점으로 인정된 보고는 총 88건으로, 45건이었던 2017년과 비교하면 2배 가까이 늘었습니다. 보고 건수가 늘어난 데는 2017년에 심사 대상을 확대했다는 점도 영향을 주었겠지만, 프로그램이 널리 알려지면서 여러 취약점을 보고하는 분들이 늘어난 점이 더 큰 영향을 주었다고 생각합니다. 영업일로 환산하면 매일 1건 이상의 보고가 들어오고 매주 1건 이상이 취약점으로 인정된 셈입니다.

아래는 심사결과 취약점으로 인정된 보고를 카테고리별로 분류한 그래프입니다. 심사결과는 이곳에서 확인할 수 있습니다(Special Contributors로 인정된 취약점은 아래 그래프에선 제외되었습니다).

Others 카테고리가 15건으로 가장 많았고 XSS(Cross-site Scripting) 카테고리가 14건으로 그 다음에 자리했습니다. Others 카테고리에는 다른 카테고리로 분류되지 않았지만 DoS(Denial-of-service) 혹은 다른 복합적인 문제로 클라이언트가 복구되지 않는 등 영향력이 커서 취약점으로 인정된 보고들이 속해 있습니다.

XSS 카테고리에서는 LINE 앱 내 Cordova의 WebView에서 발생한 취약점에 대한 보고가 인정되었습니다. LINE 앱 내에서 다른 사용자의 개인정보를 취득할 수 있는 취약점에 대해서는 Hall of Fame으로 인정하고 있습니다.

또한, RCE(remote code execution) 카테고리에선 오래된 서비스에서 Template Injection으로 시스템 콜이 가능한 취약점이 발견되었습니다. 보고자에겐 보상금 10,000 달러(USD)를 지급했습니다.

참가자 수와 보상 금액

2018년에 보상금 지급 대상으로 인정된 보고서를 제출한 사람은 총 33명이고, 이들에게 지불한 보상금의 합계는 104,500 달러(USD)입니다. 한화로 환산하면 대략 1억 1700만 원 정도 되네요. 2017년에는 총 76,500 달러(USD)(약 8,600만 원)를 지급했었는데요. 마침내 1억 원을 넘었습니다.

통계


2016년2017년2018년
실시 기간6/2~12/31연중 무휴연중 무휴
접수 건수97건212건302건
보상금 대상인 취약점 수13개45개88개
Hall of Fame3명11명16명
Special Contributors8명21명19명
지급한 보상금미화 27,000 달러미화 76,500 달러미화 104,500 달러

Hall of Fame과 Special Contributors에 동시에 선정되는 분이 많아지는 추세입니다. 또한 Bug Bounty에 참여하는 사람이 해마다 늘면서 발견되는 취약점도 늘고 있습니다.

보상 금액 테이블 업데이트

지금까지 보상 금액 테이블에선 지급 기준을 취약점 유형으로만 나누고 있었는데요. 같은 종류의 취약점이라도 제품의 중요도와 영향력에 따라 차등 지급하기 때문에 조금 더 명확하게 지급 기준을 밝히고자 보상금 테이블을 업데이트했습니다.

카테고리예시보상금
중요한 애플리케이션그 외 애플리케이션
Remote Code Execution클라이언트나 서버에서 임의의 패킷을 전송해 시스템 콜을 실행할 수 있는 취약점미화 30,000 달러미화 10,000~30,000 달러
Full access to file system or databaseSSRF(server-side request forgery), SQL Injection 등 임의의 파일이나 데이터베이스에 접근할 수 있는 취약점미화 10,000~30,000 달러미화 3,000~10,000 달러
Account takeover사용자 인증을 우회(authentication bypass)하여 사용자 계정에 접근할 수 있는 취약점미화 5,000~10,000 달러미화 5,000~10,000 달러
Logic flaw bugs, information leaks, or bypassing significant security controlsIDOR(Insecure Direct Object Reference), impersonation, sensitive actions by user, Purchase Bypass등 사용자 조작 혹은 중요한 사용자 정보를 조작할 수 있는 취약점미화 5,000~15,000 달러미화 1,000~5,000 달러
Execute code on the clientXSS 등 사용자 단말기의 브라우저에서 앱의 행동을 조작할 수 있는 취약점미화 1,500~5,000 달러미화 500~1,500 달러
Other valid security vulnerabilitiesCSRF(Cross-site request forgery), Clickjacking, information leakage 등 위에서 분류되지 않은 기타 취약점미화 500~10,000 달러미화 500~10,000 달러

일반적인 Bug Bounty에서는 RCE가 서버에서 발생했을 때만 취약점으로 인정하지만, 저희는 메신저 앱을 개발하기 때문에 iOS나 Android에서 LINE 앱 자체를 조종할 수 있는 취약점도 RCE로 간주하고 더 많은 보상금을 지급할 수 있도록 업데이트했습니다. 만약 피해자가 별다른 조작을 하지 않아도 공격자의 조작만으로 타인의 LINE 계정을 탈취할 수 있는 방법을 발견한다면, 즉시 Bug Bounty 프로그램으로 제보해 주시기 바랍니다! LINE 앱에서 발생하는 XSS는 ‘Execute code on the client(클라이언트에서 코드가 실행됨)’로 판별되며 중요한 취약점으로 평가됩니다.

위 테이블은 어디까지나 참고용입니다. 반드시 해당 금액이 지급되진 않으니 참고하시기 바랍니다. 예를 들어 특정 기종의 특정 버전으로만 재연이 가능하다면 취약점으로 인정되더라도 지급되는 보상금이 위 테이블에 명시된 금액보다 적을 수 있으며, 일부 카테고리는 여러 취약점이 포함되면서 더 많은 보상금이 지급될 수도 있습니다.

일부 카테고리가 하나로 묶이면서 프로그램 전체 보상금이 증가했는데요. 기본적으로 기존 보고와 신규 보고는 모두 같은 기준으로 심사되고, 지급되는 보상금도 동일하게 새로운 보상 금액 테이블에 따라 결정되니 그 부분은 안심하셔도 됩니다.

새로운 SWAG 추가

LINE Bug Bounty에 많은 제보를 해주신 분들과 아쉽게 보상 대상으로 선정되지 못했지만 유익한 내용을 제보해주신 분들에게는 티셔츠를 선물하고 있습니다. 그런데 저희 서비스에 관심이 많아서 벌써 티셔츠를 여러 벌 받으신 분도 계십니다. 그런 분들의 옷장이 티셔츠로 넘칠지도 모른다는 사정을 고려하여, 조금 작고 일상에서 사용하기 쉬운 SWAG(Stuff We All Get)을 하나 추가하기로 결정했습니다.

바로 YubiKey 5입니다. FIDO2와 NFC를 지원하는 제품입니다. 2019년 2월 기준으로 이미 티셔츠를 가지고 계신 분들 중 저희 판단에 ‘보상 인정 기준에는 미치지 못했으나 좋은 내용이기 때문에 보답하고 싶다’고 인정된 분들에 한해 배포할 예정입니다.

정리하며

지난해 Bug Bounty에 참가해주신 모든 분들께 진심으로 감사의 말씀을 드립니다. 올해도 제보해주시는 모든 분들과 좋은 관계를 맺어 LINE 사용자가 보다 안전하게 LINE을 즐길 수 있도록 최선을 다하겠습니다.

LINE의 다양한 앱과 서비스에서 취약점을 찾아내는 Bug Bounty! 현재 LINE에선 Bug Bounty 운영에 관심있는 분들을 모집하고 있습니다. 많은 지원 부탁드립니다.

Related Post