버그헌팅이란?

1. 버그헌팅(Bug Hunting) - SW/APP에서 버그를 찾는 활동 

 

버그헌팅은 소프트웨어나 웹 서비스 등에서 버그를 찾는 활동, 대상의 취약점을 제보해 금전적인보상, 명예 이득을 노리는 일련의 행위를 말한다. 여기서 버그는 취약점이라고도 하지만 버그랑 취약점은 다르다. 버그(bug)는 프로그램 개발자가 예상하지 못했던 문제 즉, 예상하지 못했던 행동과 문제들을 프로그램에서 처리하지 못해서 발생하는 걸 말한다. 하지만 취약점(vulnerbiliry)은 버그들 중에서 악용할 수 있는 나쁜목적으로 사용할 수 있는 버그를 취약점이라고 한다. 다시 말해서 버그가 더 큰 범위이고, 버그 중 일부는 취약점이다.

 

2. 버그바운티(Bug Bounty) - 버그 헌팅의 보상 제도 

 

버그바운티는 버그 헌팅의 보상제도, 개인이나 조직이 소프트웨어나 애플리케이션의 보안 취약점을 찾아내고, 이를 기업에 알려 포상금을 받는 걸 말한다.  

  • 바운티 = 보상을 준다. 
  • 포상금은 프로그램 별 상이
  • 프로그램에 따라서 지급하는 포상금이나 조건이 다름
  • 포상금은 같은 등급에 취약점이여도 프로그램에 따라 달라짐
  • 사용자 개입이 많이 필요한 경우 포상 금액이 줄어듬 
  • 새로운 공격 기법이나 버그 타입에 대해서는 좀 더 많은 포상금 부여 
  • 취약점이 더 위험하고 심각하면 그에 따른 포상금이 높아짐 

그림1. 버그바운티 포상금(Find The Gap)

 

 

 

3. 버그헌팅을 왜 해야하는가?

 

  3-1. 보안 강화에 기여 

 

버그헌터는 서비스 내 숨겨진 취약점을 발견하고 이를 사전에 제보함으로써, 많은 사람들이 안전하게 서비스를 이용할 수 있도록 기여한다. 이는 개인의 활동이 곧 공익으로 이어지는 대표적인 사례이며, 실질적으로 보안 사고를 예방하는 데 큰 역할을 한다. 

 

 

3-2. 학습과 성장의 기회 

 

버그헌팅은 실전에서 다양한 시스템 구조를 접하면서, 화이트 해커로서의 기술을 향상시키는 데 최적의 환경을 제공한다.

단순한 이론 학습이 아닌 실제 시스템을 대상으로 하는 분석과 테스트를 통해서 폭 넓은 실력을 향상할 수 있다. 

 

3-3. 자신의 가치를 증명할 수 있는 방법

 

발견한 취약점을 통해서 자신의 실력을 공개적으로 증명할 수 있다. 

 

3-4 기업 입장에서의 장점 

 

기업 입장에서는 버그바운티 프로그램을 오픈함으로써 오히려 보안을 강화하고 마케팅점 이점을 제공한다. 또한 다수의 보안 전문가에게 기업에 시스템을 점검받을 수 있으며, 짧은 시간 안에 많은 취약점을 발견할 수 있어 효율적이고 보안 점검 방식에 비해서 비용도 적게 든다는 이점들이 존재한다. 

 

 

 

4. 버그바운티 프로세스

 

프로그램 선택  >  스코프 확인  >  취약점 탐색  >  취약점 발굴  >  리포트 제출  >  리포트 리뷰  >  포상금 수령

  • 먼저 참여할 버그바운티 프로그램을 선택 후 허용된 범위(스코프)를 확인한다. 허용되지 않는 범위의 버그헌터는 보상을 못 받고 잘못하면 불법적인 접근으로 인한 법적인 처벌로도 이어진다.
  •  취약점 탐색을 하기전에 정보수집이 필요하다. 수집한 정보를 바탕으로 취약점을 분석 및 검증을 한다.
  • 취약점을 발굴해서 시나리오를 대입해본다(발견한 취약점이 실제로 악용 가능한지).
  • 취약점이 일어난 이유와 대응방안을 정리해서 기업이나 중계 플랫폼에 제공한다.
  • 시나리오나 취약점을 바탕으로 심각도와 실제 취약점이 발현될 수 있는 점들을 고려해서 윤리적해커에게 보상금을 제공한다.

📌정보수집(Reconnaissance) : 정보 수집은 취약점을 찾을 대상에 대한 정보를 수집하는 과정을 말하며, 갖은 취약점이라도 정보 수집의 과정을 거치면 효율적으로 또는 짧은 시간에 찾을 수 있다. 정보 수집은 줄여서 Recon이라고 한다. 

 

 

 

 

 

 

 

 

 

참고 

KISA 아카데미 실전사이버훈련 버그헌팅 실습훈련-초급과정

KISA 아카데미 실전사이버훈련 버그헌팅 실습훈련-중급과정

FIND the GAP 교안