2021

2021년에 개최된 OpenChain KWG 미팅 (9th ~ 12nd)

1 - 9th Meeting

Online Meeting, Mar 2021

일정

Agenda

NoAgendaSpeakerSlide
0Intro & GreetingsNewcomerspptx
1OpenChain UpdateShane Coughlan, Linux Foundation-
2FOSSLight Dependency 소개LG전자 석지영ppts
3OpenChain KWG Update /
ISO/IEC 5230 인증 3가지 방법
SK텔레콤 장학성pptx
pptx
4오픈소스와 함께한 1,273일간의 기록 (ISO 인증 취득 과정)NCSOFT 한지호pdf
5Case StudyAll-
6Free DiscussionAll-

Case Study

  • 주제 : ISO/IEC 5230 인증 취득을 고려하고 있는지?

Video

OpenChain Update

FOSSLight Dependency 소개

OpenChain KWG Update / ISO/IEC 5230 인증 3가지 방법

오픈소스와 함께한 1,273일간의 기록 (ISO 인증 취득 과정)

Minutes

1. OpenChain Update (Shane Coughlan, Linux Foundation)

ISO 인증

  • 일본, 미국, 한국의 몇몇 회사들이 인증을 받음
  • 가장 큰 뉴스는 이 회사들에 ISO 표준을 적용했을 때 잘 작동한다고 했다는 것. 이는 표준이 잘 만들어졌다는 증명이 될 수 있음
  • 꼭 규모가 큰 회사 뿐 아니라 조금 더 작은 규모의 회사에서도 인증을 받았다는 것이 아주 큰 성과였음

교육

  • 이메일로 신청하면 교육팩을 받아볼 수 있다. (오픈체인, 오픈소스, 오픈체인 인증받는 방법 등에 대한 Slidedeck)
  • Training course

설문

  • Project annual survey
  • 모든 질문에 응답할 필요는 없고 원하는 질문에만 응답하는 것도 가능
  • 60초~10분까지 소요되는 분량이며 많은 참여를 독려

2. FOSSLight Dependency 소개 (석지영, LG전자)

LG전자의 Open Source 프로젝트로 FOSSLight Scanner와 FOSSLight System 공개 예정

  • FOSSLight Scanner: 오픈소스 분석 스캐너
  • FOSSLight System: 오픈소스 컴플라이언스 통합 시스템

FOSSLight System 사용 방법

  • FOSSLight Scanner로 스캔한 결과를 업로드
  • Indentification, Packaging, Distribution 절차를 거쳐서 오픈소스 라이선스 고지문 발급 및 배포까지 완료

FOSSLight Scanner

  • 소스코드 스캔은 ScanCode 활용
  • Dependency 스캔은 FOSSLight Dependency Scanner 활용
  • Binary 스캔은 별도 바이너리 스캔 툴 활용 현재는 FOSSLight Dependency Scanner만 공개하였으나, 추후 전체 프로젝트를 공개할 예정

FOSSLight Dependency Scanner

LG전자 오픈소스 가이드 페이지

Q&A

  • ORT와 비교하면 어떤지?
    • ORT는 무거운 편이고, 간결하게 사용하기 위해 FOSSLight 라는 시스템을 개발한 것
  • Gradle의 경우, 분석 프로그램에 플러그인을 설치해야 하는데, LG전자 정책상 플러그인 설치를 강제하고 있는지?
    • FOSSLight Requirements 에 플러그인을 설치하고 스캔하라고 가이드하고 있음

3. OpenChain KWG Update (장학성, SK텔레콤)

Korea Work Group 스티커 배포 (Designed by Soim)

ISO/IEC 5230 적합성 인증 선언

  • 엔씨소프트, LG전자 인증 획득

OpenChain 규격 2.1 한국어 번역 완료

OpenChain 규격 2.1에 맞게 자체인증 질문지 개선

Korea Work Group 블로그 공간 개설

Sub Group

  • Planning Group : KWG 거버넌스 체계 구축, 정기 모임 일정/Agenda, 주요 의사결정, 회의록 작성, 굿즈 제작 등
  • Conformance Group: OpenChain 인증 획득 준비 및 정보 공유

4. ISO/IEC 5230 인증 3가지 방법 (장학성, SK텔레콤)

Self Certify

  • OpenChain 프로젝트에서 추천하는 방법, 웹사이트에서 무료로 제공하고 있고 대부분의 기업이 채택하고 있음
  • 링크: https://certification.openchainproject.org
  • 방법
    • 회원가입
    • 현수준 진단
    • 미비한 사항들 보완
    • 모든 사항 Yes 체크 후 제출
    • General Manager에게 인증 수행 결과 제출
    • General Manager가 간단한 질의응답 형태로 확인 절차 거침
    • 이상이 없다면 적합성 인증 취득 선언

Independent Assessment

  • 제3자가 평가, 미비점 보완을 위한 지원 제공
  • 아직 ISO/IEC 5230은 제3자 평가를 의무화한 조항은 없음
  • 컨설팅 제공이 주요 포인트
  • 주요 업체1 - AlektoMetis
    • 미비점 분석, 보완을 위한 Task 수행
  • 주요 업체2 - Source Code Control
    • 적합성 인증 획득을 위해 체계적인 계획 수립하여 대시보드화
    • 각 항목마다 세부 방법 및 담당자 할당하여 관리

Third Party Certification

  • 인증전문 기관에 의한 평가
  • 인증서 발행
  • 주요 업체1 - TUV SUD (글로벌 시험 인증 기관)
  • 주요 업체2 - PwC (세계 4대 회계법인 중 하나, 다국적 회계 감사 기업)

국내 인증 현황 및 시사점

  • 국내에 아직 ISO/IEC 5230 교육 및 인증을 제공하는 업체는 없음
  • 대기업 그룹사의 경우 한 기업이 전문 지식 및 경험을 획득하고, 계열사 및 관계사 대상으로 Independent Assessment 형태의 서비스를 제공할 수 있을 것 (예: 자동차 업계)

NIPA 발간한 OpenChain 해설서

  • 기업 공개SW 거버넌스 OpenChain 2.0 해설
  • ISO/IEC 5230에 맞게 개정 예정

Q&A

5. 오픈소스와 함께한 1,273일간의 기록 (한지호, 엔씨소프트)

엔씨소프트의 오픈소스 컴플라이언스 활동은 2017년 6월부터 시작

2017년

  • 오픈소스 분야의 지식이 없었기 때문에 오픈소스 라이선스와 관련된 사외 교육 수강
  • 오픈소스 분야에 이미 경험이 많은 타 기업의 담당자분들께 의견을 구하기도 하였음
    • Special Thanks to 전현준 변리사님, 장학성님, 황은경님
  • 오픈소스 컴플라이언스를 담당할 조직 세팅
  • 프로세스 수립
  • 오픈소스 검증 및 사용에 대한 가이드를 정리하여 사내 위키에 공개
  • 오픈소스 문의를 받을 사내 메일 그룹 생성

2018년

  • Protex 도입하여 오픈소스 검증 착수
  • 당시에는 소스코드 스캔 및 컴플라이언스는 주로 보안 부서에서 담당하였고, 커뮤니케이션이나 서브 업무만 지원
  • 라이브 중인 프로덕트를 대상으로 오픈소스 사용 고지 완료

2019년

  • 사내 개발자 컨퍼런스에서 오픈소스 라이선스 검증에 대한 경과 발표
  • 오픈소스 검증을 주로 담당하던 보안 부서가 사라지게 되어서 오픈소스 컴플라이언스 업무의 R&R을 새로 수립하였음
  • Protex의 한국 총판 업체도 변경되면서 Protex 계약을 종료하고, 오픈소스 스캔 도구로 Fossology를 도입함

2020년

  • OpenChain 인증 준비 착수
  • OpenChain 2.0 요구사항 중 충족하지 못한 부분들 보완
    • 문서화된 오픈소스 정책 수립
    • 오픈소스 기여 정책 수립
    • 전사 오픈소스 교육
  • 오픈소스 정책/가이드를 만들어서 사내 Developers 사이트에 공개
    • 도움이 되었던 도서: 오픈소스로 미래를 연마하라
  • 월간 전사 임원회의 및 경영회의에서 오픈소스 컴플라이언스 업무에 대해 공유
    • 대표님을 포함한 경영진 레벨에서 스폰서십 확보
  • 오픈소스 교육 콘텐츠 개발
  • 전사 오픈소스 교육 시행
    • 전사 개발자, PM, QA직군 대상
    • 약 93% 수료
    • 설문조사 시행하여 오픈소스 라이선스에 대한 이해 수준 평가 (5점 만점에 4.2점)
  • 2020년 12월 15일, OpenChain 2.1 인증 획득

그 이후

  • 현재도 오픈소스 컴플라이언스 활동 지속
  • 해외 퍼블리셔/지사에서 서비스하는 프로덕트에 대해서도 검증 및 고지 완료
  • 사내 Stackoverflow 서비스에 [오픈소스 지식채널]을 만들어서 질의 응답하고 있음

Q&A

  • 설문조사 참여율을 어떻게 높였는지?
    • 강제성 없이 설문조사했을 때에는 30%의 참여율을 보였으나, 더이상 권장하지는 않았음
    • 전사 교육 시행 시 설문조사까지 완료하여야 수료되도록 강제성을 부여했음

photo

2 - 10th Meeting

Online Meeting, June 2021

Schedule

  • Schedule: 2021-06-22 (Tue) 3:00~5:00 PM
  • How to join
    • Zoom (Please refer to the e-mail for the access address)

Agenda

NoAgendaSpeakerSlide
0Intro & GreetingsNewcomersOpenChain_Korea_20210622_intro.pptx
1OpenChain UpdateShane Coughlan, Linux Foundation-
2OpenChain KWG Update장학성, SK텔레콤OpenChain_Korea_20210622_update.pptx
3FOSSLight Open Source Project김경애, LG전자210622_OpenChain_FOSSLight_LGE.pdf
4최근 주요 동향
- Google OSV (오픈소스 취약성) & Google Insight (오픈소스 BOM)
- NIPA 오픈소스 거버넌스 가이드

Robin (황민호), 카카오
이서연, 라인플러스

Google_OSV_and_Insight_황민호.pdf
NIPAGuide_Intro.pdf
5소그룹 모임All-
6Free DiscussionAll-

소그룹 모임 주제

  1. 자기 소개
  2. 하는 일, 최근 주요 관심사
  3. 다른 회사의 담당자에게 궁금한 것이 있다면?

Attendees

  • SK Telecom
  • LINE Plus
  • Kakao
  • LG Electronics
  • NCSOFT
  • Hyundai Mobis
  • Hyundai Motors
  • Hyundai Autoever
  • Samsung Electronics
  • KT ds

Video

Intro

OpenChain Update

OpenChain KWG Update

FOSSLight Open Source Project

최근 주요 동향

NIPA 오픈소스 거버넌스 가이드

Minutes

OpenChain Update (Shane Coughlan / Linux Foundation)

  • Security Guide 를 발간할 계획이 있으며, 현재 편집 중 (Link)

OpenChain KWG Update (장학성/SK텔레콤)

FOSSLight Open Source Project 소개 (김경애/LG전자)

  • FOSSLight Open Source Project 란?
    • FOSSLight 스캐너를 통해 소스코드, 디펜던시, 바이너리를 스캔하고
    • 스캔한 결과물을 FOSSLight System에 업로드하여
    • OSS Distribution Site에 공개할 수 있도록 고지문 발급하는 시스템
  • FOSSLight Source Scanner
  • FOSSLight Dependency Scanner
  • FOSSLight System
    • Open Source Compliance Process를 효율적으로 수행하는 시스템
      • LICENSE/OSS 정보 조회 및 관리
      • Project 단위로 OSC 수행 및 Status 관리
      • 3rd Party Project 관리
      • Vulnerability 관리
      • Self-Check 기능
  • 곧 Release 될 기능
    • FOSSLight Binary Scanner
      • Binary 실제 분석하는 것은 아님
      • Path 내 Binary를 추출하여 checksum, TLSH 추출
      • System Database와 비교하여 OSS 정보 자동 출력
    • FOSSLight REUSE
  • 특징
    • 동일한 OSS 이름이지만 다양하게 불리는 경우, Nickname을 등록하여 일관된 이름으로 통합 관리 가능
    • OSS Notice Format을 커스터마이징할 수 있음 (Company Name, Email 등)
  • FOSSLight Contribution Items
    • 버그 리포팅
    • 오타
    • 문서화 작업
    • 1인 OSC 담당자를 위한 Customizing
    • Distribution 단계 구현
    • 테스트 자동화 등

Google OSV & Open Source Insight (Robin Hwang/카카오)

  • Google OSV https://osv.dev/
    • SVE와 Sonatype OSS Index 등을 통해 취약성 데이터 베이스 확인
    • 구글이 OSS-Fuzz 프로젝트에서 발견한 데이터 세트를 제공
      • OSS-Fuzz: 소프트웨어 프로그래밍 오류를 발견하는 Fuzz Test 프로젝트
    • CVE의 경우, 취약성 정보를 특정 패키지 버전에 매핑하기 어려운 경우가 많음
  • Open Source Insight https://deps.dev/
    • Google에서 Open Source Insight 서비스 공개
    • 기존에 ClearlyDefined 서비스를 제공하고 있음
    • 직관적인 UI로 서비스 구성
    • 보안 취약성 정보를 연결, 종속성 그래프도 제공
    • 차별점
      • Npm과 같은 일반적인 도구 세트를 대체하려는 것은 아니고 패키징에 정의되어 있는 정보를 토대로 구성
      • Lock 파일에 선언된 종속성과 다르거나 더 완전할 수 있음
      • OpenSSF Score 도입

기업 공개 소프트웨어 거버넌스 가이드 (이서연/LINE 플러스)

  • 기업 공개 소프트웨어 거버넌스 가이드
    • NIPA 주관하고 오픈업이 연구 수행하여 국내 기업의 올바른 오픈소스 활용을 안내하기 위함
    • SKT, 라인, Kakao 에서 NIPA 기업 공개 소프트웨어 거버넌스 가이드 집필하였음
    • 실물 책자는 발간 진행 중이고, 웹 통해서 확인 가능
  • 오픈소스 사용하기
    • “기업 관리자편” + “개발자 편”으로 구성
  • 오픈소스 기여하기
    • 기업편: 기여 전략
    • 개발자편: 기여 준비 방법
  • 오픈소스 공개하기
    • 기업편: 어떻게 공개해야 할지, 공개 후 해야 할 일 등
    • 개발자편: 오픈소스 공개 준비 방법, 운영 방법
  • 다양한 의견과 컨트리뷰션 환영합니다.

photo

OpenChain News

3 - 11st Meeting

Online Meeting, September 2021

Schedule

  • Schedule: 2021-09-30 (Thu) 2:00~4:00 PM
  • How to join
    • Zoom (Please refer to the e-mail for the access address)

Agenda

NoAgendaSpeakerSlide
0Intro & GreetingsNewcomers-
1OpenChain UpdateShane Coughlan, Linux Foundation-
2OpenChain KWG Update장학성, SK텔레콤pdf
3오픈소스 라이선스 변화의 흐름Sean (김영환), 카카오pdf
4삼성전자 오픈소스 정책 및 프로세스 현황 소개정윤환. 삼성전자-
5최근 주요 동향
- 미 정부의 ‘SBOM’ 의무화
- Github Copilot 오픈소스 라이선스 논쟁
Robin (황민호), 카카오pdf
6소그룹 모임All-
7Free DiscussionAll-

소그룹 모임 주제

  1. 자기 소개 (하는 일, 최근 주요 관심사)
  2. 오픈소스 컴플라이언스 활동 이력 관리 방법 Best Practice 공유 (개발자와 이메일로 소통? Jira 등 도구 활용?)

Attendees

  • ETRI
  • 현대자동차
  • 현대오토에버
  • 현대모비스
  • 카카오
  • LG전자
  • 라인플러스
  • 엔씨소프트
  • 삼성전자
  • SK텔레콤
  • Linux Foundation

Video

OpenChain Update

OpenChain KWG Update

오픈소스 라이선스 변화의 흐름

최근 주요 동향

Minutes

OpenChain Update (Shane Coughlan / Linux Foundation)

  1. SK Telecom OpenChain ISO 인증 획득, Telecommunication 업계 중 최초
  2. Global Case Study: 10월~12월 내 운영 중 [https://www.openchainproject.org/featured/2021/09/22/automation-case-study]
    • 주제: Open Source Compliance Automation and Interoperability
  3. SPDX Specification 2.2.1 버전이 ISO 등재되었음 [https://www.iso.org/standard/81870.html]
  4. OpenChain Security Assurance Guide 준비 중
  5. OpenChain Supplier Education Pack 배포

OpenChain KWG Update (장학성/SK텔레콤)

  1. KWG 멤버 조건에 “기업/기관"으로 변경
  2. 삼성전자 & SK Telecom OpenChain ISO 인증 획득
  3. Tooling Subgorup에서 OSS Based Compliance Tooling Group에서 소개된 오픈소스 도구들에 대해 소개 예정
  4. OpenChain KWG Charter
    • 거버넌스 문서화 진행 중
    • 초안을 작성하고 있으나 많은 분들의 의견이 필요합니다.
  5. Blog Update : [https://openchain-project.github.io/OpenChain-KWG/blog/]
    • SK 텔레콤 개발자 소통 커뮤니티 DEVOCEON 론칭 뉴스
    • LG전자의 Fosslight 공개 뉴스
    • 카카오의 OLIVE 출시 뉴스
    • GPL v2.0의 설치 정보 요구 건에 대한 뉴스

오픈소스 라이선스 변화의 흐름 (Sean(김영환)/카카오)

  1. 라이선스 변경 이력
    • 2018년 10월, MongoDB : AGPL 3.0 → SSPL 1.0
    • 2019년 11월, Sentry : BSD 3-Clause → BUSL 1.1
    • 2021년 1월, ElasticSearch : Apache 2.0 → EL 2.0 or SSPL 1.0
    • 2021년 4월, Grafana : Apache 2.0 → AGPL 3.0
  2. Grafana : Apache 2.0 → AGPL 3.0
    • 변경 목적은 오픈소스 커뮤니티의 자유를 유지하면서, 오픈소스를 수정한 경우 기여 문화를 장려하기 위함
    • AGPL 특징
      • 네트워크로 서비스하더라도 소스코드 공개 필요
      • GPL 소프트웨어를 사용해서 SaaS로 서비스를 제공하면 공개 의무 없으나, AGPL은 소스코드 공개 의무 발생
    • Grafana 사용 가이드
      • Apache 2.0 적용 버전은 사용해도 이슈 없고, AGPL 3.0이 적용된 버전부터 사용 시 코드 공개 의무 있음
  3. MongoDB : AGPL 3.0 → SSPL 1.0
    • 변경 목적은 AGPL은 클라우드에서 제공이 배포인지, 아닌지에 대한 논란의 소지가 있어서 명확하게 라이선스를 SSPL로 변경한 것
    • 클라우드 서비스 업체가 커뮤니티에 기여하지 않고 대부분의 이익을 창출하고 있다고 비판
    • 클라우드 서비스에서 Strip-Mining을 하고 있다고 비판함 (Strip Mining: 산이라는 생태계는 파괴하고 필요한 자원만 캐는 행위)
    • SSPL v1.0 특징
      • 클라우드 서비스의 경우에 대해서도 소스코드 공개 의무사항을 요구 (13조항)
      • 서비스 소스코드: 프로그램 및 관리 소프트웨어 (API, 모니터링, 백업, 저장 S/W 등)
    • MongoDB 사용 가이드
      • MongoDB를 외부에 서비스로 제공하는 경우, 서비스 소스코드를 전부 공개해야 함
  4. ElasticSearch : Apache 2.0 → Elastic License 또는 SSPL 1.0
    • 변경 목적은 MongoDB와 사례와 동일
    • Elastic License 2.0 특징
      • 거의 모든 자유를 허용하지만 아래 2가지 제한사항만 있음
        1. 호스팅 등의 서비스로 제 3자에게 제공할 수 없음
        1. S/W 라이선스키에 대한 변경 및 라이선스키로 보호되는 S/W 기능 변경 금지
    • ElasticSearch v7.10까지는 Apache 2.0 적용, v7.11 이후부터는 SSPL 1.0 또는 EL 2.0 적용
    • Elastic Search 사용 가이드
      • 7.11 이후부터 ElasticSearch를 외부에 서비스하는 경우 적용된 라이선스에 따라 서비스 소스코드를 전부 공개하거나 Elastic과 계약 필요함
      • X-pack 디렉토리 하위는 Elastic 라이선스 적용
  5. Sentry : BSD 3-Clause → BUSL 1.1
    • 변경 목적은 Sentry 초기 개발 때 1인 개발로 시작했으나, 프로젝트가 커지면서 수익 창출이 필요했고 Sentry를 판매하는 다른 회사로부터 보호하기 위해 라이선스 변경
    • BUSL 1.1 특징
      • 2016년 MariaDB에 적용된 라이선스
      • 사용자는 소스코드를 수정하고 컴파일 가능
      • 상용 서비스 목적으로 사용을 금지하며, 배포 후 특정 시점이 지나면 Apache License 2.0으로 변경됨
    • Sentry 사용 가이드
      • 9.1.2 버전까지는 BSD가 적용되며 상용 서비스에 사용 가능함
      • 10.0.0 버전부터는 BUSL가 적용되며 상용 서비스에 사용 불가, 3년 지난 후부터 상용 서비스 가능
  6. 최근 AWS와 오픈소스 프로젝트들의 협력 사례들
    • Amazon Managed Grafana 정식 출시
      • Grafana Labs와 협력을 통해 개발 진행
    • Amazon OpenSearch Service 정식 출시
      • Elastic Search의 Apache 버전을 포크하여 OpenSearch 작업
  7. Shared Source Software 등장
    • 지적재산권은 보호하면서, 소스코드는 제공하는 소프트웨어
    • 클라우드 등 상용 서비스로 제공 금지

삼성전자 오픈소스 정책 및 프로세스 현황 소개 (정윤환/삼성전자)

  1. 정책의 필요성
    • 오픈소스 사용 정책은 2009년 BusyBox 사건으로 인해 오픈소스 소프트웨어 사용에 대한 정책의 중요성이 대두되었음
    • 오픈소스 기여 정책은 2011년 Tizen 오픈소스를 출범하면서 기여에 대한 정책이 필요해짐
  2. 오픈소스 서비스(사이트, 검증도구) 구축
    • 2018년 이전
      • 사내: Protex, BSI, AVAS 등의 검증 도구 사용, 사업부 별로 관리 시스템 별도 구축
      • 사외: OSRC, GitHub
    • 2021년 현재
      • 사내: 오픈소스포털(SOSHUB) 구축
        • 검증도구, 사업부별 관리 시스템, 오픈소스 정책 통합
        • 오픈소스 프로세스 자동화
        • 오픈소스 DB 구축
        • 오픈소스 검증체계 강화: 사전/실시간 검증 추가
      • 사외: SamSung Open Soure 구축

최근 주요 동향 (Robin(황민호)/카카오)

  1. 미 정부의 SBOM 의무화
    • 미국에서 최근 대형 보안 사고가 있었음 (SolarWinds 사태, Exchange 사태, Colonial PiPeline 사태)
    • 지난 5월 행정명령을 통해 SBOM 위상을 격상하였음
    • 주요 내용 중 오픈소스와 관련된 부분은 “소프트웨어 공급망을 개선"해야 한다는 내용이 있었음
    • 관련하여 Supplier Name, Component Name 등 SBOM 최소 필수 요소를 지정하였음
  2. GitHub Copilot 오픈소스 라이선스 논쟁
    • Copilot은 GitHub에서 내놓은 서비스이며, AI 머신 러닝 기술을 이용해 코드를 자동 완성해주는 기능
    • Sentry의 한 개발자는 GiGhub에 있는 본인의 GPL 코드가 AI 학습에 포함되었음을 영상으로 제작하여 공개함
    • Copilot이 저작권 침해를 저지르고 있는가? 라는 논쟁이 있었으나 GitHub 측에서는 GitHub에 공개된 코드는 트레이닝(학습)에 쓰여질 수 있고, 라이선스 타입을 구분하지 않는다고 답변하였음
    • Fossa의 법적 해석에 따르면, 사용자는 Copilot이 제안하는 코드를 참고만 하고 그대로 사용하지 않는 것이 좋다는 의견

photo

OpenChain News

4 - 12nd Meeting

Online Meeting, December 2021

일정

  • 일정: 2021-12-20 (월) 오후2시~
  • 장소
    • Gather Town (접속 방법은 별도 메일 공지 참고)

Agenda

NoAgendaSpeakerSlide
1OpenChain UpdateShane Coughlan, Linux Foundation-
2OpenChain KWG Update장학성, SK텔레콤pdf
3중국 GPL 소송 사례장학성, SK텔레콤pdf
4최근 소송 사례 : Stockfish v. ChessBase, SFC v. Vizio박원재, LG전자pdf
5Shift-left and Automate Compliance ChecksArlo (하헌관), 카카오뱅크pdf
6소그룹 모임 (Case Study)All-
7오징어게임All-
8오픈소스 보안취약점 공격 유형Robin (황민호), 카카오pdf

소그룹 모임 주제

  1. (개인, 회사) 올 한해 어땠는지? 내년 계획이 있다면?
  2. KWG에 바라는 점이 있다면 (한분이 취합하여 공유)

Video

OpenChain Update

OpenChain KWG Update

중국 GPL 소송 사례

최근 소송 사례 : Stockfish v. ChessBase, SFC v. Vizio

Shift-left and Automate Compliance Checks

오픈소스 보안취약점 공격 유형

Minutes

OpenChain Update (Shane Coughlan / Linux Foundation)

  1. OpenSource License Compliance Management Training course 개설
    • 무료로 이용 가능하며, Certification도 획득 가능
  2. 첫번째 Playbook 발간
    • 중소 규모의 기업에서 어떻게 OpenChain을 도입할 수 있는지 가이드

위 두 자료는 [https://www.openchainproject.org/]에서 확인할 수 있음

중국 GPL 소송 사례 (장학성 / SK Telecom)

  1. VirtualApp 소송 사례
  • 원고: Jining Luohe Network Technology Co., Ltd (VirtualApp 저작권자)
  • 피고: 세 곳의 회사
    • Fujian Fengling Chuangjing Technology Co., Ltd. (Dim Sum Desktop 저작권 소유자)
    • Beijing Fengling Chuangjing Technology Co., Ltd. (1번 회사의 모회사이며, Dim Sum Desktop 개발사)
    • Shenzhen Tencent Computer System Co., Ltd. (Dim Sum Desktop을 운영하기 위한 서비스인 Application Bao 운영)
  1. VitualApp이란?
    • VirtualApp은 가상 Android 환경을 제공하는 소프트웨어이며, GPL 3.0이 적용됨
    • 그러나 2017년 1월 24일에 “당신은 이 프로젝트를 무료로 사용할 수 있는 권한이 없다” 라는 안내가 추가됨
    • 2017년 8월에 VirtualApp을 설립하고 상용 비즈니스 시작
    • 2017년 10월에 오픈소스 라이선스 제거
  2. Dim Sum Desktop
    • VirtualApp과 마찬가지로 가상 Android 환경을 제공하는 소프트웨어
    • Dim Sum Desktop은 GitHub에 공개된 VirtualApp의 2018년 8월 16일자 버전을 받아서 개발됨 (GPL 3.0이 적용된 버전이지만, 상업적 사용을 금지한다는 문구도 포함되어 있음)
  3. 소송 제기
    • 원고는 소프트웨어 저작권 침해를 중단할 것을 요구하였음 (즉, Dim Sum Desktop 소프트웨어의 다운로드, 설치, 운영 중단 요구)
    • 경제적 손실 배상과 합리 비용을 배상할 것을 요구
  4. 법원 판결
    • 중국은 영문을 기반으로 한 오픈소스 라이선스의 법적 효력을 인정하고, 라이선스 위반을 저작권 침해로 판결

상세한 내용은 링크에서 확인할 수 있음

최근 소송 사례: Stockfish vs ChessBase, SFC vs Vizio (박원재 / LG전자)

  1. Stockfish vs ChessBase
    • 원고: Stockfish 개발자들
    • 피고: ChessBase GmbH
    • 사건
      • Stockfish는 Glaurung Engine을 기반으로 개발되었으며, GPL 3.0이 적용됨
      • ChessBase에서 판매하는 Fat Fritz는 Neural Network 기술이 사용되었고, Fat Fritz 2에서는 Stockfish 가 사용됨
      • ChessBase는 Fat Fritz 2 SE를 판매하고 Source code 공개하고 있으나, Neural Network의 weight를 공개하지 않아 논란이 됨
    • 쟁점
      • Weight 값이 파생 저작물 범주에 포함되는가? 코드와 데이터의 경계이므로 애매하고, 법원 판결을 기다려야 함
      • Licensor가 License의 GPL 3.0을 일방적으로 종료할 수 있는가? Weight가 파생저작물 범주에 포함되지 않는다고 판단하면 현 시점에는 ChessBase가 위반한 것으로 판단
  2. SFC vs Vizio
    • 원고: SFC (오픈소스 프로젝트에 법률 서비스를 제공하기 위한 회사
    • 피고: Vizio (전자기기 제조 회사)
    • 사건
      • Vizio는 SmartCast 라는 자체 OS를 바탕으로 TV 제조/판매
      • SFC에 Vizio가 리눅스 기반으로 만들었으나 GPL, LGPL 소스코드의 제공 또는 Written Offer 제공에 대한 의무사항을 이행하지 않는다는 제보를 받음
      • 알고 보니, 2018년~2020년에 여러 차례에 걸처 소스코드를 제공했으나 컴파일 가능한 형태가 아니였고, 지속적인 보완을 요구함
      • 2020년 1월 이후부터는 커뮤니케이션이 단절됨
      • 2021년 10월에 SFC에서 소송 제기
    • 쟁점
      • 보통은 비영리 단체가 오픈소스 저작권자를 대신하여 소송을 제기하는데, 이번 건은 소비자가 고소를 한 것이므로 주목을 받게 됨

Shift-left and Automate Compliance Checks (Arlo(하헌관) / 카카오뱅크)

  1. Shift-left 테스트가 무엇인가?
    • 요구사항, 설계, 테스트, 배포까지의 개발 라이프사이클에서 품질에 대한 검증을 초기 단계부터 집중하자라는 것
    • 릴리즈 단계로 갈수록 리스크 대응 비용이 커지기 때문
  2. FossID를 통한 자동화 구성
    • Rest API 문서들이 잘 작성되어 있어서 자동화 구현에 용이하였음
    • 전반적인 구성
      1. Gitlab 에서 코드 다운로드
      2. FOSSID API 통해 스캔, 결과 취득, 보고서 생성
      3. Jenkins 통해 칸반에 이슈 등록 (FossID 스캔 링크와 html 리포트 첨부)
  3. 추후 Plan
    • DevSecOps 구축
      • 개발과 보안을 함께 챙길 수 있도록 프로세스 운영
  4. Q&A 세션
    1. 어느 시점에 검증 리포트 요청을 하는게 좋은가?
      • (SKT) 첫 빌드가 되면
      • (LG전자) 형상관리 생서되면
      • (카카오뱅크) 개발자가 커밋을 하는 시점
      • (LINE) 기업의 개발문화에 따라 정하는게 좋을 것
      • (현대모비스) 개발하면서 부분적인 코드를 fossID 통해서 검증해보는 기능도 있다고 함
      • (카카오) IdE 플러그인 설치하고 코드 작성 전에 체크하는 추세가 많은 듯
    2. 카카오에서 개발한 OLIVE를 사용하지 않는 이유는?
      • (카카오) 웹 서비스로만 제공하고 있어서 카카오 뱅크와 같은 금융권에서는 보안상 사용이 어려움. CLI를 준비하고 있음.

사례로 보는 오픈소스 보안 취약점 공격 유형 (Robin(황민호) / Kakao)

  1. Log4shell
    • JNDI를 통한 원격 코드 실행이 가능했음
    • 2.15.0 버전이 배포된 후에도 DDoS 공격 취약점이 발견되어 패치 버전이 계속 배포되고 있음

    CVE란 공개적으로 알려진 컴퓨터 보안 결함 목록
    CVE - 4자리 연동 – 순차 식별자로 구성됨
    NVD 사이트에서 별도 데이터베이스로 관리되고 있음

  2. Dependency Confusion
    • Dependency Hijacking
      • 패키지 매니저가 비공개 저장소에서 서드 파티 패키지를 끌어오는 기본 방식에서 발견된 결함
      • Private repository에서 가져와야 하는데, 악성 코드가 심어진 public repository에서 설치하게 만듬
      • MS 백서의 가이드
        1. 여러 개가 아닌 하나의 private feed를 참조
        2. 제어된 범위를 명시적으로 지정하여 패키지 보호
        3. Client 측에서 검증 기능을 활용
    • Typosquatting
      • 오픈소스를 검색할 때 단순한 오타를 유도하는 공격 방식
      • 주로 Pypi, NPM, Ruby gem 에서 발견
      • 예시) Jellyfish > jeIlyfish, Lodash > lodahs
    • Malware
      • 오픈소스에 악성 소프트웨어를 포함하여 배포
      • 예시
        • Event stream : 꽤 인기있던 npm 라이브러리의 하위 종속성인 flatmap-stream 에 비트코인 지갑을 훔치는 멀웨어가 포함되어 배포됨
        • Rest-client : 1.6.13에 특정 사이트에서 원격 코드를 가져오고 외부 서버로 보내도록 악성 코드를 포함시킴
        • Octopus scanner : netbean 저장소를 감염시켜 jar 바이너리, 프로젝트 파일 및 종속성 내 악성 페이로드를 배포, 감염된 저장소가 개발 환경에 복제 또는 fork 될 경우 악성코드에 감염됨
    • Stealing administrator privileges
      • 비밀번호 유출이나 무차별 대입시도로 인해 오픈소스 관리자의 계정을 탈취하여 악성코드가 포함된 오픈소스가 배포되는 케이스
      • 예시
        • Bootstrap-sass : bootstrap의 saas 버전에 악성코드가 심어져서 쿠키 파일을 로드하고 내용을 실행 시킴
        • Ua-parser-js : 클린 버전을 패치 버전으로 설치할 때 활성화되는 악성코드를 포함시킴, 암호화폐 채굴 소프트웨어를 다운로드하고 실행시키는 코드
    • Next-gen attack
      • Software supply chain 이나 IDE 플러그인 등을 대상으로 하는 차세대 공격
      • 예시
        • Codecov : 도커 이미지 생성할 때 프로세스의 버그를 악용하여 자격 증명을 취득, CDN 버킷에 access 하여 bash 스크립트를 악의적으로 변경
        • Vs-extension : visual studio 확장 프로그램을 통해 공격자는 RSA 키 등 중요한 정보를 훔쳐 VCS에 접근하거나 Production 서버에 연결하여 시스템을 손상시킴
  3. 보안취약점을 피하는 실무 팁 4가지
    1. 내 소프트웨어가 어떤 구성으로 되어 있는지 파악하기
    2. 종속성 문제 해결
    3. 코드 스캔 자동화를 통해 알려지지 않은 불확실한 요소를 찾기
    4. 라이선싱 위험에 주의하기
    5. 구글에서도 프레임워크를 제안하고 있음
      • 구글과 OSSF에서 오픈소스 위험 점수를 생성하는 자동화 도구인 SCORECARD V2 출시함

photo photo

후원