ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ICNGC-2018] Our Experiences on the Design, Build and Run of CTF
    Paper/ENG 2019. 11. 18. 22:30
    [내용 요약]
     
    Abstract
    CTF(Capture The Flag)는 컴퓨터 보안 분야에서 교육적인 방면으로 중요해지고 있습니다.
    이 논문에서는 중학교, 고등학교 학생들에게 효과적인 컴퓨터 보안 교육을 제공하기 위해 CTF 설계, 구축 및 운영적인 부분에 대해 2년간의 경험을 토대로 설명합니다.
    우리의 CTF에서는 flag sharing, 2가지 힌트 제공 및 난이도 조정에 대한 세 가지 요소가 있습니다.
    디자인된 CTF의 유효성을 검증하기 위해 2017년과 2018년 87명의 중고등 학생들을 대상으로 CTF를 운영하였고, 이를 통해 수집된 데이터를 기반으로 위의 세 가지 요소를 분석하였습니다.
     
    keywords - CTF, Educaton, Cyber Security
    *해당 키워드들은 논문에서 중요하게 다뤄지는 부분입니다.
     

     
    Introduction
    CTF는 컴퓨터 보안 분야에서 교육적인 방면으로 중요해지고 있습니다.
    해당 실험에서 디자인된 CTF는 Jeopardy 스타일로 점수를 올리기 위해 flag를 획득하는 방식입니다.
     
    Online으로 진행되기 때문에 초심자가 접하기는 쉽지만 각 challenge에는 동일한 flag가 존재하기 때문에 다른 팀들과 공유가 될 가능성이 있습니다.
    이를 관찰하기 위해 coin system을 설계했습니다. 
     
    각 challenge에 엑세스하기 위해 참가자는 coin을 지불해야하며, 열려있지 않은 challenge에 대한 flag를 제출할 수 없습니다.
    열려 있지 않은 challenge의 올바른 flag를 제출하기 위해 flag 공유를 시도한다면 해당 동작이 기록됩니다.
     
    해당 실험에서 초보자가 challenge를 해결하는데 도움이 되도록 각 도전에 대해 두 가지 힌트를 제공합니다.
    힌트를 제공하는 것은 새로운 아이디어가 아니지만, 제한없이 힌트를 제공하지는 않습니다.
    초기에는 힌트가 잠겨있고, 같은 문제를 풀이 했을 때 힌트를 보고 푼 사람과 힌트를 보지 않고 풀이한 사람과 점수 차이를 두었습니다.
     
    또한 CTF에 대한 진입 장벽을 완화하기 위해 보안 지식이 부족한 참가자가 해결할 수 있는 적절한 난이도의 문제를 제공합니다.
    가능한 tool을 사용하지 않고도 풀이할 수 있도록 구성하였지만 경우에 따라 tool을 사용해야 할 경우 참가자가 문제를 풀이할 수 있도록 tool을 제공하였습니다.
     
    본 논문에서는 수집된 데이터를 분석하여 설계된 CTF의 유효성을 확인합니다.
    중고등학생을 대상으로 CTF를 2년간 운영하였고, flag sharing, Provide two Hints, Adjust Difficulty Levels of Challenge를 중점적으로 분석했습니다.
     
    Designed CTF
    - Coin System : flag sharing 을 확인하기 위해
    - Provide two Hints : 초심자의 풀이에 도움을 주기 위해
    - Adjust Difficulty Levels of Challenge : 초심자의 CTF에 대한 접근성을 높이기 위해
     

     
    CTF System for Middle and High School Students
     
     
    CTF는 위 그림[Fig. 2]과 같이 설계했습니다.
     
    A. Coint System
    Coin System의 목적은 flag sharing을 관찰하기 위함입니다.
    challenge에 엑세스하려면 그림2와 같이 서버에 문제마다 다르게 설정된 coin을 지불해야하며, 만약 coin을 지불하지 않은 상태에서 올바른 flag를 제출한다면 이를 flag sharing으로 간주하고 기록합니다. (점수는 올라가지 않습니다.)
     
    하지만 이러한 방법은 coin을 지불하고 challenge에 대해 엑세스가 가능한 사용자의 flag sharing을 확인할 수 없다는 제한이 있습니다.
     
    B. Provide two Hints
    초심자가 문제풀이에 어려움을 느낄것을 고려하여 각 문제에 대해 출제자의 힌트가 제공됩니다.
    하지만 공정성을 위해 힌트를 보고 풀이한 사람에게 힌트를 보지 않고 풀이한 사람 보다 더 적은 점수를 부여합니다.
     
    C. Adjust Difficulty Levels of Challenge
    CTF의 난이도에 따라 초보자가 크게 영향을 받습니다.
    따라서 난이도를 3가지(쉬움, 중간, 어려움)로 분류하였습니다.
     

     
    Lessons Learned
     
    A. Flag Sharing Problem
    coin system을 통해 flag sharing에 대한 데이터를 수집할 수 있었는데, 표에 나타나있듯 1년이 지난 2018년이 100회로 더 증가하였습니다.
     
    CTF를 통해 참가자들이 스스로 배우고 성취하기를 원하지만 잘못된 방법으로 문제를 해결하려고 시도하는 참가자들이 있습니다.
    공정한 경쟁이 중요한 CTF에서 플래그를 공유하는 것을 가볍게 해석해서는 안되며 주최자는 이를 방지하기 위한 조치를 고려해야합니다.
     
    B. Low Practicality of Hint
    참가자에게 문제풀이를 위한 두 가지 힌트가 제공되었습니다.
    힌트의 유효성을 확인하기 위해 각 문제에서 힌트를 열때 데이터가 수집되었습니다.
    수집된 데이터 분석 결과 미해결 비율은 2017년 75.5%, 2018년 75.6%로, 제공된 힌트가 참가자에게 유용하지 않았다는 것을 나타냅니다.
    따라서 힌트를 제공할 때 주최자는 참가자의 관점에서 생각해야합니다.
     
    C. High Score Deviation
    참가자들의 최종 점수를 분석했습니다.
    분석 방법은 통계 프로그램 SPSS 25.00을 사용하여 Kolmogorov-Smirnov 정규성 테스트를 수행했습니다.
    정규 분포에 대한 가설은 다음과 같습니다.
     
     
    모든 문제를 풀었을 때 얻을 수 있는 최대 점수는 2017년 7,000점 2018년에는 10,200점입니다.
    표에서 볼 수 있듯이 결과는 2017년 평균 794.94, 표준 편차는 754.617입니다.
    2018년 평균은 1522.76이고, 표준 편차는 1604.081입니다.
     
    두 결과 모두 총 점수에 비해 매우 낮으며 표준 편차가 높습니다.
    표준 편차가 0인 경우 참가자의 점수가 모두 같고 표준 편차가 클수록 점수가 평균에서 멀어집니다.
     
    참가자 간 지식 수준의 차이로 인해 모든 점수가 동일할 수는 없습니다.
    그러나 효과적인 보안 교육을 위해서는 적절한 수준의 난이도 조정을 통해 참가자간의 점수 차이를 줄여야합니다.
     

     
    Conclusion
    이 논문에서 보안을 효과적으로 교육하기 위한 CTF를 디자인하고, 시행했지만 flag sharing이 이뤄졌고, 제공된 힌트는 참가자들에게 도움을 주지 못했습니다. 또한 난이도 조정 실수로 참가자에게 효과적인 보안 교육을 제공할 수 없었습니다.
    우리는 이러한 CTF 운영 경험을 통해 효과적인 보안 교육을 가능하게하는 CTF 플랫폼을 구축하기 위해 노력할 것입니다.
    반응형
Designed by Tistory.