AI기반 취약점 자동탐지

<취약점이 포함된 SW 바이너리 자동 탐지 및 공격 알고리즘 개발>

 

사례


소프트웨어 기업 A사에서 보안 업무를 담당하고 있는 B씨는 KISA로부터 당사의 소프트웨어에 새로운 취약점이 발견되었다는 공지 메일을 받았습니다. 이 취약점을 패치하기도 전에 공격은 이미 시도되었고, 이를 해결하기까지 1년 이상의 시간이 소요되었습니다.

실제로 지난해 발견된 보안 취약점은 2만개에 달하고, 하루에만 50여개의 신규 취약점이 발견되었습니다. 소프트웨어의 취약점을 자동으로 탐지 및 공격, 패치 등을 통해 방어할 수 있는 자동화된 시스템 개발이 시급한 실정입니다.

 

문제


제공된 SW 바이너리를 기반으로 취약점을 탐지하는 알고리즘과 발견된 취약점을 검증할 수 있는 코드(Exploit code)를 제시하시기 바랍니다.

 

참가신청


참가신청서 작성 후 rnd_dataset@kisa.or.kr 로 발송해야 신청이 완료됩니다.

 

데이터셋(KISA-challenge 2018-Vulnerability) 설명


  • CWE 취약점 목록을 기반으로 개발한 취약점이 포함된 바이너리 데이터셋으로 한 개의 바이너리 당 한 개의 취약점을 적용시켜 구성하였습니다.

※ 바이너리는 리눅스 X86 32bit 환경에서 작동됩니다.
※ 참가자는 경연 서버에서 실행중인 바이너리에 접근해 취약점을 탐지 및 공격하여 획득한 Key값을 전송합니다.
※ 위의 전송 기능을 프로그램에 적용할 수 있도록 REST API 형태의 API를 제공합니다.

 

학습(연습) 데이터셋

  • KISA-challenge2018-Vulnerability-1st (학습(연습) 데이터 #1) : 취약점이 포함된 바이너리 15개
  • KISA-challenge2018-Vulnerability-2nd (학습(연습) 데이터 #2) : 취약점이 포함된 바이너리 15개
  • KISA-challenge2018-Vulnerability-3rd (학습(연습) 데이터 #3) : 취약점이 포함된 바이너리 15개

※ 취약점 분석 알고리즘 개발 시 테스트할 수 있도록 학습(연습) 데이터를 제공합니다.
※ 학습(연습) 데이터셋 #1은 참가신청서 확인 후 2~3일 내 순차배포, #2와 #3은 시범대회 당일 배포
※ AI기반 취약점 자동 탐지 트랙은 예선 기간 동안 3회의 시범대회 개최 예정

—————————————————————————————————————————————

<시범대회 규정>

∨시범대회 결과를 바탕으로 본선 진출팀 선청

∨참가팀이 8팀 이하일 경우 별도의 평가 없이 본선 직행

∨시범 대회 참가자들의 의견 및 대회 결과 등을 고려해 본선 규칙 확정 예정

—————————————————————————————————————————————

 

본선 데이터셋

  • KISA-challenge2018-Vulnerability-4th (제출용) : 취약점이 포함된 바이너리 50개

※ 본선 진행 시 학습 데이터와 다른 데이터셋을 라운드 별로 제공합니다. (데이터는 일부 중복될 수 있음)
※ 라운드 진행 시간 및 규칙 등 운영방식은 추후 공지 예정

 

제출 결과물


  • KEY 파일 : 취약점을 공격하여 root 권한의 쉘을 획득한 후 얻어낸 KEY 파일 제출 (시범대회와 본선당일 제출)
  • 알고리즘 설명문서 : 취약점 자동 탐지 프로그램의 알고리즘 설명문서 제출 (3차 시범대회 때 제출)
  • 발표자료 : 알고리즘 설명문서를 바탕으로 발표자료 제출 (3차 시범대회 때 제출)
  • 자동 탐지 결과 보고서 : 본선 실행 결과 및 실행 과정 등 문제 마다 풀이 과정 기록 (12/1 제출)

 

문의처


AI기반 취약점 자동 탐지 트랙 담당자

손경아 주임연구원 <061-820-1256>, rnd_dataset@kisa.or.kr