Post

화이트햇스쿨 2기 프로젝트 후기

화이트햇스쿨 2기 프로젝트 후기

0. 들어가며

길고 길었던 두달 반 가량의 프로젝트 기간이 드디어 끝이 났다.
후련하기도 하고 조금은 아쉽기도 하다.
어제 최종발표를 마치고 돌아와서 적는 후기글 겸
‘팀 안드로메다’ 의 개발 담당, 발표 담당 김우진의 프로젝트 썰풀이이다.

1. 프로젝트 소개

KITRI White Hat School 2nd
팀 안드로메다모바일 앱 버그 헌팅 프로젝트이다.
4월 중순부터 7월 중순까지 진행되었다.
김주원 멘토님, 권현지 PL님의 지도 하에 7명의 팀원이서 프로젝트를 진행하였다.

2. 진행 과정

온라인 세미나

프로젝트 기간동안 꾸준히 주 2회 온라인 세미나를 열었다.
각자 공부한 내용과 분석한 내용 등을 공유하고 노션에 공유하였다.
이외에도 팀원 모두의 동의나 의견이 필요한 의사 결정은 모두 이 세미나에서 진행하였다.

오프라인 멘토링

매 주 일요일, 약 4시간 동안 멘토님과 PL님과 팀원 전원이 함께 오프라인 멘토링을 진행하였다.
멘토님께 진행 상황에 대한 피드백 서류 작성이나 분석이나 발표등에 도움을 받았다.

타겟 선정

MOBILEINDEX와 Google Play Store 등에서 일정한 기준에 따라서 타겟 앱을 400개가량 선정하고 분석을 진행하였다.

툴 개발

안드로이드 앱 분석에 필요한 프로세스들을 자동화 한 툴을 개발하였다.
주요 기능들은 다음과 같다.

  • 앱 다운로드
  • 앱 디컴파일
  • 코드 파싱, 정보 추출
  • 불필요한 항목 필터링
  • 취약점 트리거 테스트와 알림
  • 분석 보고서 작성

취약점 제보

발견한 안드로이드 앱 취약점들에 대한 보고서를 작성하고,
이를 KISA 혹은 자체 버그바운티 프로그램에 제보하였다.

3. 프로젝트를 통해 얻은 것

안드로이드 앱 보안 인사이트

버그헌팅을 위해 기초적인 취약점들을 학습하고, 버그바운티의 주 분석 타겟으로 삼은 취약점을 학습하면서 안드로이드 앱 보안에 대한 인사이트를 키울 수 있었다.

취약점 고도화 방법

발견된 취약점에서 파급력을 높이기 위해서 다양한 벡터들을 추가적인 연구을 통해 찾고 분석하였다.
또한 취약점 고도화를 위한 다양한 시나리오를 작성하며 테스트해보았다.
이전에 버그헌팅 경험이 없었을 때에는 경험해보지 못한 것들이어서 새로웠다.

발표의 방법

프로젝트 최종 발표 담당을 하게 되고, 발표를 준비하며 멘토님과 PL님께 많은 피드백을 받았다.
교내 다양한 대회와 프로젝트, SFDC, STA+C 등 여러 차례 발표를 해 본 경험은 있었지만, 특히 이번 발표 준비하면서 정말 많은 것을 배웠다.
효과적인 발표의 구성, 목소리 톤, 주요 내용의 강조 등 많은 부분에서 피드백을 받았고 그러한 것들을 고치면서 발표 스킬이 향상된 것 같다.
‘내가 발표를 망치면 팀원들의 두달이 의미 없어지는 것’ 이라는 생각과 함께 책임감으로 발표 준비에 임했던 것 같다.

소통의 방법과 협업하는 태도

주 2회 이상을 팀원들과 프로젝트의 진행에 대해서 회의하는 시간이 있었고, 툴 개발에 있어서도 Github를 통해서 팀원들과 협업하며 진행하였다.
프로젝트 기간이 길었던 만큼 팀원들과의 의견 충돌도 잦았지만, 적당한 타협과 충분한 의논을 통해 문제를 해결할 수 있었다.

4. 아쉬웠던 점

포상금

성공적으로 여러 취약점들을 찾았으나 하나같이 포상 대상에서는 제외된다는 사실이 이해가 가지 않았다.😢
다음에 또 어딘가에서 버그헌팅 프로젝트를 할 경우에는 타겟 선정 전에 이러한 사실들을 미리 조사하고 진행하면 좋겠다는 생각이 들었다.

코드 스타일

개발한 툴의 코드가 정말 엉망이었다.
간단한 리팩터링 작업을 거쳐서 조금 나아지긴 했지만,
원래 개발자였던 두명이서 붙어서 개발한 코드라고는 믿기지 않는 수준의 코드들이었다.😂
시간에 쫓기면서 개발해서….. 라는 변명이 있지만, 아쉬움이 남는 것은 사실이다.

최종 질의응답

프로젝트 최종 발표가 끝나고도 계속 미련이 남는다.
비록 QnA 질문이 한 개밖에 들어오지 않았다지만, ‘조금 부족한 답변을 한 것이 아닌가’ 하는 생각이 자꾸 든다.
발표 준비와 QnA 대비에 조금 더 신경을 썼다면 좋았을 것 같다.

5. 추후 계획

툴 오픈소스 릴리즈

리팩터링과 코드 최적화, 기능 개선 등의 과정을 거쳐서 Github에 오픈소스로 툴을 공개하고 싶다.
국내 커뮤니티와 해외 포럼들에 우리 툴이 알려진다는 것이 상상만 해도 설렌다.😍

범위 확장

이번 프로젝트를 성공적으로 마치고 나니, 이후에는 범위를 조금 더 넓혀서 다양한 취약점들에 대한 연구와 분석을 통해 모바일 앱 버그바운티를 더 진행해보고 싶었다.

6. 마치며

리뷰는 여기까지 끝이다.
프로젝트를 성공적으로 마칠 수 있었던 것은 팀원분들 모두의 노력 덕분이라고 생각한다.
팀원분들! 지원이, 동건이, 근호님, 건모형, 동주님, 은민님,,,, 모두 정말 고맙습니다!! 덕분에 프로젝트 재밌게 했습니다!!
다음에 기회가 되면 다시 만났으면 좋겠습니다!!
멘토님, PL님도 열심히 이끌어주시고 다양한 조언 해주셔서 감사드립니다!!

This post is licensed under CC BY 4.0 by the author.