1 |
1
단말이 해킹 대회를 제공하는 방법으로서,비밀 저장소로 설정된 원격 저장소에 도커 설정 파일을 배치하여 콘테이너를 생성하고, 상기 콘테이너에 원본 소프트웨어를 배치하는 단계,상기 원격 저장소에 배치된 원본 소프트웨어에 하나의 취약 코드를 삽입하여 취약 소프트웨어를 생성하여 문제를 생성하고, 상기 원격 저장소에 취약 소프트웨어와 원본 소프트웨어를 함께 저장하는 단계, 그리고상기 취약 코드에 대응하는 공격 코드를 검증 답안으로 생성하고, 생성한 공격 코드를 암호화하여 상기 원격 저장소에 전송하는 단계를 포함하고,상기 취약 소프트웨어는 상기 원격 저장소에서 상기 해킹 대회 문제로 공개되고, 상기 공격 코드는 상기 문제의 오류를 검증하는데 사용되는 해킹 대회 제공 방법
|
2 |
2
제1항에 있어서,상기 저장하는 단계는,상기 생성된 취약 소프트웨어와, 상기 취약 코드를 상기 원본 소프트웨어에 삽입하여 생성된 커밋을 포함하는 브랜치를 상기 문제 중 하나로써 상기 원격 저장소에 등록하는 단계를 포함하는 해킹 대회 제공 방법
|
3 |
3
제2항에 있어서,상기 커밋은 상기 취약 코드가 상기 원본 소프트웨어에 삽입된 위치, 그리고 상기 취약 코드의 종류 정보를 포함하는 해킹 대회 제공 방법
|
4 |
4
제1항에 있어서,상기 원격 저장소에 전송하는 단계 이후에,상기 원격 저장소로 암호화된 공격 코드가 업로드되면, 상기 업로드된 공격 코드가 공격한 상기 원본 소프트웨어의 취약점의 코드가 변경된 코드 변경 원본 소프트웨어를 수신하는 단계, 그리고상기 원본 소프트웨어 상기 코드 변경 원본 소프트웨어로 대체하여 상기 원격 저장소에 업로드하는 단계를 포함하는 해킹 대회 제공 방법
|
5 |
5
제1항에 있어서,상기 원격 저장소에 운영자 단말이 연결되어 있으며,상기 전송하는 단계 이후에 상기 운영자 단말은, 상기 콘테이너에 삽입할 플래그 값을 생성하는 단계,비밀 저장소로 설정된 상기 원격 저장소에 저장되어 있는 암호화된 공격 코드를 이용하여 상기 공격 코드에 대응하는 취약 코드가 삽입된 취약 소프트웨어를 공격하는 단계, 그리고상기 삽입한 플래그 값의 출력 여부를 확인하여, 상기 공격 코드의 취약 코드 공격 여부를 확인하여 상기 콘테이너의 동작 여부와 상기 공격 코드를 검증하는 단계를 포함하는 해킹 대회 제공 방법
|
6 |
6
단말이 해킹 대회에 참여하는 방법으로서,복수의 해킹 대회 참여자의 단말들과 운영자 단말이 연결되어 있는 공개 저장소로 설정된 원격 저장소에 해킹 문제인 브랜치를 포함하는 콘테이너가 저장되어 있으며,상기 원격 저장소를 복제하고, 상기 콘테이너에 삽입할 플래그 값을 생성하여 상기 콘테이너에 삽입하는 단계,상기 브랜치에 포함된 원본 소프트웨어 또는 하나 이상의 취약 소프트웨어를 공격할 공격 코드를 생성하여, 상기 원본 소프트웨어 또는 취약 소프트웨어를 공격하는 단계, 그리고상기 삽입한 플래그 값의 출력 여부를 확인하여, 상기 공격 코드의 취약 코드 공격 여부를 확인하는 단계를 포함하는 해킹 대회 제공 방법
|
7 |
7
제6항에 있어서,상기 공격하는 단계는,상기 취약 소프트웨어가 포함된 브랜치에서, 상기 취약 소프트웨어에 대응하는 커밋을 분석하는 단계, 그리고상기 분석한 커밋을 토대로 공격자가 생성한 공격 코드를 수신하는 단계를 더 포함하는 해킹 대회 제공 방법
|
8 |
8
제7항에 있어서,상기 공격 코드가 공격한 소프트웨어가 취약 소프트웨어이면,상기 취약 코드 공격 여부를 확인하는 단계에서,상기 콘테이너에 삽입한 플래그 값이 출력되면, 상기 공격 코드를 암호화하여 상기 원격 저장소에 암호화된 공격 코드를 정답으로 업로드하는 단계를 포함하는 해킹 대회 제공 방법
|
9 |
9
제8항에 있어서,상기 암호화된 공격 코드를 업로드하는 단계 이후에 상기 운영자 단말은, 상기 콘테이너에 삽입할 플래그 값을 생성하는 단계,상기 원격 저장소에 저장되어 있는 암호화된 공격 코드를 이용하여 상기 공격 코드에 대응하는 취약 코드가 삽입된 취약 소프트웨어를 공격하는 단계, 그리고상기 삽입한 플래그 값의 출력 여부를 확인하여, 상기 공격 코드의 취약 코드 공격 여부를 확인하는 단계를 포함하는 해킹 대회 제공 방법
|
10 |
10
제6항에 있어서,상기 취약 코드 공격 여부를 확인하는 단계에서,상기 공격 코드가 공격한 소프트웨어가 원본 소프트웨어이면,상기 원격 저장소에 상기 공격 코드를 암호화하여 저장하는 단계를 포함하고,상기 원본 소프트웨어를 업로드한 방어자 단말이 상기 암호화된 공격 코드를 복제하는 단계, 상기 공격 코드의 분석 결과를 토대로 상기 원본 소프트웨어에서 상기 공격 코드에 의해 공격된 취약점의 코드가 변경된 변경 코드 원본 소프트웨어를 수신하는 단계, 그리고상기 변경 코드 원본 소프트웨어를 원본 소프트웨어로써 갱신하는 단계를 포함하는 해킹 대회 제공 방법
|
11 |
11
제6항에 있어서,상기 해킹 문제는,상기 원본 소프트웨어, 상기 원본 소프트웨어에 취약 코드가 삽입된 적어도 하나의 취약 소프트웨어, 상기 취약 소프트웨어 생성시 발생한 적어도 하나의 커밋을 포함하는 해킹 대회 제공 방법
|