본문 바로가기
후기/공모전

제10회 소프트웨어 개발보안 경진대회 수상 후기

by swuhyeon 2025. 2. 20.
반응형

[대회 소개]

 

 

2023년 제10회 소프트웨어 개발보안 경진대회에 참가하여 최우수상을 수상했다.

 

https://www.kisa.or.kr/401/form?postSeq=3152&page=1#fnPostAttachDownload

 

KISA 한국인터넷진흥원

"2023년 제10회 소프트웨어(SW) 개발보안 경진대회 개최"  미래의 SW 개발자인 대학(원)생을 대상으로 ‘SW개발보안’을 널리 알리고 활성화시키고자 「2023년 제10회 소프트웨어(SW) 개발보안

www.kisa.or.kr

 

내가 참가한 소프트웨어 개발보안 경진대회는 단순히 개발 산출물만 만들어내는 것이 아니라, 보안 취약점을 제거해가며 안전한 개발 산출물을 완성해내는 대회이다. 보안 전공자 입장에서 가장 탐이 나는 대회가 아닐 수 없다.

 

대회 주제는 "소개딩으로 열어가는 안전한 디지털 세상"으로 고유한 아이디어를 자바 또는 파이썬으로 안전하게 개발하는 것이었다. 한 마디로 자유 주제라는 건데 개인적으로 자유 주제라는 게 어떻게 보면 좋으면서도 까다롭다 생각한다.

 

 

 

[예선]

 

대회는 예선과 본선으로 나뉘어져 있기 때문에 예선을 통과하기 위해서 주제 선정부터 개발 기획서 작성까지 아주 많은 공을 들였다.

 

아무래도 민간 기업이 아닌 정부해서 진행하는 대회이다 보니 공공을 위한, 사회 문제를 해결할 수 있는 서비스를 만들면 보너스가 되지 않을까 싶어 주제를 그 쪽으로 잡기로 했다. 주제를 더 상세히 선정하기 위해서 정부에서 제공하는 공공 데이터가 있는지, 과거에 비슷한 주제로 만들어진 개발물이 있는지를 꼼꼼히 살펴보았다.

 

최종적으로 우리 팀이 선정한 프로젝트 주제는 "무더위 쉼터 정보 제공 서비스"로 내 주변에 있는 무더위 쉼터 위치를 지도를 통해 제공함으로써 사용자의 편리성을 높여주는 서비스이다. 다만 이미 국민 재난 안전 포털에서 제공하는 안전 시설 정보나, 재난 정보 애플리케이션인 안전 디딤돌과 같이 무더위 쉼터 정보를 제공하고 있는 서비스가 존재하기 때문에 우리 팀이 개발하려는 서비스에 차별성을 부각시켜줘야 했다.

 

따라서 단순히 무더위 쉼터 정보를 제공하는 것이 아니라, 배달앱과 유사하게 사용자가 본인이 방문한 쉼터에 평점 및 리뷰를 남길 수 있도록 기능을 추가했다. 또한 담당자가 해당 무더위 쉼터가 실내인지 실외인지, 어떤 물품을 구비하고 있는지 등 정보를 상세히 등록할 수 있는 기능도 추가했다.

 

개발 기획서 작성 시에도 이러한 차별성을 부각시켜 작성했다. 개발 기획서에는 아래와 같은 내용이 들어간다.

 

1. 추진 배경 및 필요성

2. 주요 기능 및 개발환경

3. 활용방안(공공성) 및 기대효과

 

총 5페이지 분량으로 작성하여 제출하였다.

 

 

 

[본선 전 준비]

 

 

우리 팀 이름은 "그늘막"으로 운이 좋게도 예선에 통과하여 본선에 진출할 수 있게 되었다.  "그늘막"은 폭염이 지속되는 요즘 무더위 쉼터에 대한 다양한 정보를 제공하여 노인, 어린이, 취약계층이 여름을 시원하게 날 수 있도록 도움을 주는 그늘막과 같은 서비스를 개발하기 위해 만들어진 팀이라는 의미이다.

 

 

온라인으로 진행되는 본선 사전설명회에 참가하여 본선 경연환경 안내 및 주의사항을 전달 받았다. 본선까지 일주일 가량의 시간이 남아있었는데 본선 참가자 전원은 제출일 기준 3개월 내 발급된 재학증명서를 제출해야 했기에 인터넷으로 발급 받아 제출했다.

 

 

 

[본선]

 

 

본선은 예선을 통과한 25개 팀으로 운영되며, JW메리어트 동대문 그랜드볼룸에서 진행되었다. 각 테이블마다 자기 팀 이름이 붙여져 있는 종이가 있는데 그걸 보고 본인 팀 자리를 찾아 앉았다. 감사하게도 웰컴 선물이 준비되어 있어서 기분 좋게 대회를 시작할 수 있었다.

 

우리 팀은 파이썬과 장고를 활용해 간단하게 웹을 구현했다. 팀원이 나 포함 2명이기에 프론트엔드 쪽은 거대한 효과를 주기보단 부트스트랩을 활용해 간단하게 구현하고자 했다.

 

https://www.kisa.or.kr/2060204/form?postSeq=13&lang_type=KO%EF%BB%BF

 

KISA 한국인터넷진흥원

 

www.kisa.or.kr

 

또한 해당 대회가 단순한 해커톤이 아니라 보안 요소도 신경 써야 하는 대회이기에 한국인터넷진흥원에서 제공하고 있는 파이썬 시큐어코딩 가이드를 참고하며, 보안 취약점이 존재하는 것으로 보이는 코드를 수정했다.

 

추가적으로 본선 참가팀은 현장에서 제시된 현장 미션을 구현해야 했다. 만약 현장 미션을 구현하지 못하면 실격 처리되며 평가에서 제외 되었다. 처음에는 많은 걱정을 했지만 다행히도 주어진 현장 미션 중 한 개를 제외하고 모두 구현을 마쳤다. 반나절 정도만 더 시간이 주어졌다면 모든 현장 미션을 구현할 수 있었을 것 같았는데...

 

현장 미션만 구현하는 것이 아니라 다른 부분에서 오류가 일어나지는 않는지 한 번 씩 체크해야 하고, 시현 영상도 찍어야 했기 때문에 사전에 팀에서 정한 시간까지만 현장 미션을 진행하기로 했다. 이게 올바른 선택이었던 게 나중에 결과물 제출을 제 시간에 하지 못 해서 결국에 실격처리 된 팀이 있었다.

 

현장 미션에만 집중할 인원을 선정하든지 아니면 현장 미션에만 집중할 시간을 정하든지 둘 중 하나를 선택하는 것을 추천한다. 우리 팀은 나 포함 2명으로 구성되어 있었기 때문에 후자를 선택했다.

 

 

본선이 진행되는 동안 중간 중간에 호텔 직원 분들께서 직접 도시락을 배달해주시는데 와... 진짜 맛있었다. 개발하랴 밥 먹으랴 이리저리 바빠가지고 제대로 음미하면서 못 먹은게 억울할 지경이었다. 저녁 이후에는 야식으로 치킨을 주셔서 매우 행복했다.

 

대회장 밖에는 쉴 수 있는 공간이 있긴 있었는데 모든 인원이 쉴 수 있는 공간은 아니라 그냥 팀 테이블에 있는 의자를 붙여서 쉬었다. 대회장 밖에 인생네컷 포토부스도 설치되어 있고, 슬리퍼도 나눠주고 여러가지 이벤트를 진행했는데 난 인생네컷만 찍고, 슬리퍼만 수령 받아와서 다시 개발에 집중했다.

 

본선 결과물 제출은 다음 날 아침 8시까지 였고, 우리 팀은 1~2시간 전 즈음에 완성하여 제출했다. 발표는 팀별로 팀장이 나와 뽑기를 하는데 우리 팀은 딱 중간즈음 걸려서 괜찮은 순번이었다.

 

대회장에서 발표를 할 줄 알았건만, 발표하는 팀만 심사위원이 있는 방으로 이동해서 발표하는 형식이었기에 다른 팀이 어떤 주제로 개발했는지는 아무도 모른다. 다른 팀들이 발표하는 동안에 대회장 안에서는 후원기업이 와서 본인 기업 소개를 했다. 근데 다들 밤샘으로 제정신이 아닌 상태라 멍하니 흘려 들을 수 밖에 없었다.

 

발표가 거의 4~5시간 정도 이루어지기에 중간에 점심 식사 시간이 있었다. 나는 운 좋게도 발표가 끝나자마다 바로 점심이 준비되어 마음 편하게 먹을 수 있었다.

 

 

 

[결과]

 

오후 3시 즈음 발표가 마무리 되면서 심사 결과 집계도 끝이 났다.

 

사실 현장 미션을 한 개 제외하고 다 구현했으니 행정안전부장관상은 무리여도 한국인터넷진흥원장상을 받을 수 있지 않을까 내심 기대했다. 근데 끝까지 우리 팀 이름이 호명되질 않아 점차 가슴이 꽉 막히고... 밤샘 작업한 시간이 아까워지고... 눈물이 날 것 같았다. 그런데 최우수상 수상자에 우리 팀 이름이 호명되는 것이 아닌가!!! 굉장히 놀라고 벅찬 마음에 시상대 앞으로 부리나케 달려갔다.

 

 

정말 감사하게도 최우수상이자 행정안전부장관상을 받게 되었다. 사실 2명이서 대회 진행하는게 심적으로든 체력적으로든 굉장히 벅찼는데 이렇게 좋은 결과를 얻을 수 있게 되어 너무나도 기뻤다.

 

 

시상식이 끝난 이후에 경품 추첨하는 시간도 가졌는데 살면서 한 번도 이런 이벤트에 당첨된 적이 없었기에 그냥 앉아서 박수만 치고 있었다. 근데 내 이름이 호명되는 것이 아닌가!!! 사회자분께서도 우스갯소리도 나에게 상도 타고 경품도 타간다 하셨다.

 

사실 블루투스 스피커 보다 맨 끝에 추첨할 예정인 아이패드가 탐나긴 했다. 근데 아이패드 당첨된 사람이 대상 탄 팀의 팀원이라 뭔가 더 웃겼다.

 

 

수상하고 나서 다시 대회 홈페이지 방문하니 수상팀을 띄워주시길래 신나서 캡쳐했다.

 

 

 

[후기]

 

대회 관계자분들이 대회 운영에 굉장히 많은 신경을 써주셔서 대회 참가 시에 큰 어려움은 없었다.

 

다만 심사 평가 방식이 다소 아쉬웠다. 우리 팀이 제출한 최종 개발 산출물에 보안 취약점이 제대로 제거 되었는지를 알려주지 않는다. 차라리 이 코드에서 이런한 보안 취약점이 나왔는데 왜 제대로 보안 취약점을 제거하지 않았는지 평가 해주셨다면 좋았을 것 같다. 상을 받아 기쁘긴 하지만, 좀 더 제대로 된 평가를 받고 싶었기에 아쉬움이 남는다.

 

소프트웨어 개발보안 경진대회 후기를 찾아보는 사람들이 대다수 보안 전공자 일 것이라 생각하는데 이 글이 많은 도움이 되었으면 좋겠다. 좋은 결과를 얻기를!!!

반응형

'후기 > 공모전' 카테고리의 다른 글

제8회 과학치안 아이디어 공모전 수상 후기  (0) 2025.02.19