자세히보기

GitHub News

포스트 코로나 시대에서의 게임 진흥을 위한 대처 방안_2편

GitHubKorea 2020. 8. 27. 19:04


[지난 이야기]

https://githubkorea.tistory.com/84

 

포스트 코로나 시대에서의 게임 진흥을 위한 대처방안_GitHub

갑작스러운 코로나-19의 영향으로 우리 삶의 많은 부분이 바뀌었습니다. 많은 분들이 다양한 방법으로 지금 상황을 대처하고 계실 텐데요. 지난 7월. 단군소프트와 GitHub에서는 포스트 코로나 시�

githubkorea.tistory.com

안녕하세요 단군소프트입니다.

오늘은 지난 시간에 이어 포스트 코로나 시대에 문화 산업으로서 게임 진흥을 위한 기업들의 대처방안과 웨비나에
대한 간단한 Q&A를 알려드리겠습니다.

 

그럼, 아래에서 자세한 내용을 살펴보세요!

 


GitHub의 보안 기능

 

GitHub의 보안 기능은 위와 같이 크게 3개의 범주로 나눌 수 있습니다.

먼저 의존성 관리 메뉴에서는 의존성 보안 취약성에 대한 전체적인 통계와 라이선스 통계를 시각적으로 확인할 수있습니다. 그리고 조직, 저장소 내에서 발생한 보안 알람을 중요성 순서로 확인이 가능하고 또한 모듈별로 어느 저장소에서 발생했는지 확인이 가능합니다.

 

그럼 GitHub의 보안 방법에 대해 자세히 알아볼까요?

 

 

GitHub Advisory Database

GitHub Advisory Database는 오픈소스 의존성에 대한 보안 취약점들의 데이터베이스입니다. GitHub Advisory Database를 이루고 있는 데이터베이스는 미국 정부 보안데이터인 NVD와 커뮤니티에서 올라오는 데이터들과 WhiteSource의 데이터로 이루어져 있습니다.

 

GitHub은 CVE(공개된 보안 결함 목록) 넘버를 등재할 수 있는 공인기관으로 GitHub의 프로젝트들은 신규 보안 알람을 가장 빠르게 받으실 수 있습니다.

 

 

보안 취약성 관리

위와 같이 보안 취약성 알림이 오면 이 알람은 패치하는 버전으로 업그레이드할 수 있도록 자동으로 Pull Request를 생성합니다. 각 프로젝트의 관리자들은 이 Pull request를 리뷰하고 승인하는 것으로 업그레이드가 이루어집니다.

 

보안 스캔(Secret scannig)

테스트하는 코드에서 실수로 보안 정보나 패스워드를 삭제하지 않아 보안 유출 사고가 일어나는 경우가 종종 있습니다. 보안 스캔(secret scanning)은 이러한 실수로 보안 관련 정보가 저장소에 Push되는 것을 자동으로 감지하고 방지하는 기능입니다. GitHub는 보안을 방지하기 위한 자동화된 서비스를 25개 이상 지원하고 있습니다.

 

코드 스캐닝(Code Scannig)

코드 스캔(Code Scanning)은 코드의 정적 기능을 수행합니다. 코드가 Push 되고 Pull Request가 생성되면 Action의 절차의 일원으로 자동화된 워크플로우에 의해 코드 스캐닝이 수행되고 코드에 대한 보안 분석이 수행됩니다. 코드 스캐닝을 위한 GitHub Action의 기본 워크플로우는 GitHub에서 기본적으로 제공하고 있습니다.

 

보안 분석 방법

 

전통적인 보안 분석 방법은 Pen testing과 Bug bounty 방식을 사용해 관련된 버그들에 대해서 분석을 수행하고 버그들을 해결하는 방식입니다.

 

반면 GitHub의 Code Scanning 방식은 발견된 버그들을 분석하는 과정에서 그 버그를 찾기 위한 Query를 코드화합니다. 그리고 이 Query를 통해 이와 비슷한 유형의 버그들을 모두 찾을 수 있도록 query를 발전시키고 정제합니다. 이렇게 발생한 query를 전체 코드베이스에 수행하고 관련된 버그들을 모두 찾아 수정합니다. 그리고 동일한 버그가 발생하지 않도록 이러한 버그 분석은 자동화된 워크플로우에 포함됩니다.

 

Query

 

코드분석을 수행하는 Query는 크게 3가지로 나눌 수 있습니다. 먼저 GitHub-Power은 GitHub 자체 보안팀에 의해 개발되는 Query입니다. GitHub에는 자체 보안팀이 있어 계속해서 Query를 업데이트되고 공유되고 있습니다. Community-Power은 코드 QL을 사용하는 보안 전문가나 커뮤니티의 보안 전문가에 의해 개발되고 공유되는 Query입니다. 그리고 마지막으로 개인 개발자들이 커스터마이징 해서 사용하는 Query가 있습니다.

 

프로젝트 협업에 대한 모니터링

멀리 떨어져 분산된 환경에서 원격으로 프로젝트를 진행하면 프로젝트가 원활하게 진행되는지를 확인하는 것이 어려울 겁니다. 그래서 프로젝트에서 협업이 잘 이루어지는지를 확인하고 방해 요소를 파악해 개선 방안을 찾는 것은 생산성을 높이기 위해서 매우 중요합니다.

 

GitHub Insights

 

GitHub Insight는 조직 내의 팀과 프로젝트의 협업상태를 확인하는 5가지의 주요 매트릭스(key metrics)와
이와 관련된 상세 리포트(Reports)를 제공합니다. 주요 매트릭스(key metrics)는 목표값을 정해 목표값 대비
달성한 것과 그렇지 못한 것을 확인하실 수 있습니다.  

 

주요 매트릭스(key metrics)

주요 매트릭스(key metrics)는 Code review turnaround time, Time to open, Pull Request Size, Work in Progress, Code Review Distribution 총 5가지가 있습니다.

 

  • Code review turnaround time: Pull Request를 요청하고 받기까지의 시간

  • Time to open: 개발자가 개발을 위해 브랜치를 생성하고 Pull Request를 요청하기까지의 시간

  • Pull Request Size: Pull Request에 포함되는 수정된 코드 라인 수.

  • Work in Progress: 현재 open되어 있는 Pull Request의 수

  • Code Review Distribution: 코드리뷰에 대한 요청이 팀내에 얼마나 잘 분산되는지에 대한 지표

 

리포트(Reports)

리포트는 Pull request와 Code base, 그리고 Activity에 대한 상세 내역이 리포트됩니다.  Pull request에서는 전체 Pull request에 대한 추이를 확인하실 수 있습니다. 그리고 Merge된 개수와 평균 시간, Activity 된 PR의 개수, open 또는 close 된 PR의 개수를 확인하실 수 있습니다

 

Code base에서는 일정 기간 동안의 Commit 횟수 수정되는 라인수 또는 보전되는 범위 수정되는 파일의 수
와 개발에 사용되는 언어들 등 개발에 사용되는 코드의 다양한 측면에 대한 것이 리포트됩니다.

 

Activity에서는 시간대별 Commit, PR, 코멘트 횟수와 같은 팀원들의 다양한 활동들의 추이를 확인해 보실 수
있습니다.

 

Q. GitHub는 한국 지사가 있나요?

 

손건 이사님: 네, GitHub의 한국 지사는 작년에 설립되었습니다. 국내에 있는 GitHub Enterprise를 사용하는 기업들을 지원하면서 다양한 활동을 하고 있습니다.

 

Q. GitHub는 실제로 코로나 이후 사용량이 늘었나요?

 

손건 이사님: 네. 정확한 데이터를 뽑아내기에는 어려움이 있긴 하지만 GitHub 사용자들이 사용하시는 양은 꾸준히 늘고 있습니다. 그래서 원격 근무를 하시면서 GitHub Enterprise에서 원격으로 개발을 하시는 분들이 많이 늘었다고 생각합니다.

 

Q. GitHub에서 재택근무자들이 얼마나 일을 하고 있는지, 재사용 코드로 얼마나 이전과 비교해서 효율적으로
조직이 운영되고 있는지 등을 확인할 수 있나요?

 

손건 이사님: 네 제가 앞에서 설명해 드렸는데요. 저희 GitHub에 GitHub Insights라는 기능이 있습니다. 그 기능을 보시면 개발자분들이 어떤 방식으로 협업을 하는지 얼마나 많은 Activity를 하는지 등 여러 가지 다양한 데이터들을 시각적으로 확인하실 수 있습니다.

 

Q. SVN과 달리 Git기반은 저장소당 용량 문제로 고품질(용량)의 게임을 개발하는 데 적합하지 못하다는 애기를
들었고, LFS 또한 한계가 있다고 알고 있습니다. 요즘은 이러한 문제가 해결되었나요?

 

손건 이사님: 네. 대용량을 다루는 기술이 이미 Git에 들어가 있습니다. 그리고 GitHub이나 오픈소스를 사용하는 개발자분들이 이미 LFS 기술을 활용하고 있습니다. 그리고 현재 저희 GitHub에서 VFS for Git이라고 대용량을 다루는 기술을 개발 중입니다.

 

Q. 원격 업무를 하면서 보안 업무와 컴퓨터 바이러스에 관한 문제를 어떻게 처리하면 좋을까요?

 

손건 이사님: 네. 보안과 관련된 문제는 발표 중에 저도 강조한 만큼 매우 중요한 문제인데요. 특히 개발자들의 개발환경을 안전하게 보호해야 합니다. 우선 기본적인 보안에 관련한 사항은 코드 스캐닝과 같은 GitHub 플랫폼 내에서자체적으로 지원하는 보안 시스템을 이용하시고 그 이외의 추가적으로 회사에서 보안 및 관리를 하면 충분할 것이라 생각합니다.


▶▶▶▶GitHub 이사(솔루션 엔지니어), 손건 자료 다운로드


 

 

재미있게 보셨나요?

웨비나에 대해 더 궁금하신 점이 있으시면 언제든지 단군소프트(GitHub@tangunsoft.com)로 연락해주세요!

 

무더운 여름철 건강 조심하시고 다음에 뵙겠습니다.

감사합니다.