ClickCease 오픈 소스 코드를 통한 엔터프라이즈급 보안? |tuxcare.com

인기 뉴스레터 구독하기

4,500명 이상의 Linux 및 오픈소스 전문가와 함께하세요!

한 달에 두 번. 스팸이 없습니다.

오픈소스 보안 연구의 윤리

2021년 5월 20일 - 2021 TuxCare 홍보팀

보안 연구는 사이버 보안의 중요한 측면이지만, 사이버 보안 연구를 수행하거나 과학적으로 수행하기는 쉽지 않습니다. 따라서 연구팀이 연구를 수행하기 위해 "새로운" 전술을 시도하는 것은 전혀 놀라운 일이 아닙니다.

하지만 올해 4월, 미네소타 대학의 보안 연구팀이 윤리적 경계를 넘나드는 방법으로 구설수에 올랐습니다.

이 글에서는 오픈소스 보안 연구가 필요한 이유, 사이버 보안 연구에 과학적 근거가 필요한 이유, 미네소타 대학교 연구팀이 어떻게 잘못 이해했는지에 대해 설명합니다.

콘텐츠

오픈소스 보안 연구 소개

과학적 연구 이해

과학적 방법이 중요한 이유

그렇다면 미네소타에서는 어떤 일이 있었나요?

미네소타 대학교의 접근 방식이 비윤리적인 이유

사이버 보안 연구의 윤리성 유지

결론

보너스 콘텐츠: 제이 라크루아와의 대화(LearnLinuxTV) - 오픈 소스 윤리, 그리고 미네소타 대학교의 Linux 실패 사례

 

오픈소스 보안 연구 소개

사이버 보안은 본질적으로 경쟁입니다. 한 진영에는 오픈 소스 소프트웨어를 포함하여 컴퓨터 소프트웨어에서 알려지지 않은 새로운 결함(취약점)을 찾기 위해 경쟁하는 악의적인 행위자들이 있습니다.

제로데이 취약점이라고도 하는 이러한 새로운 발견되지 않은 결함은 공격자에게 매우 유용합니다. 사용자가 아직 이러한 취약점으로부터 시스템을 보호하지 않았기 때문에 제로데이 취약점은 익스플로잇하기 더 쉽고 수익성이 높습니다.

다른 진영에는 악의적인 공격자가 취약점을 발견하기 전에 결함을 찾아내는 사이버 보안 연구팀이 있습니다. 보안 연구원이 오픈 소스 소프트웨어의 결함을 발견하면 수정 조치를 취할 수 있습니다. 연구자들은 패치와 같은 완화 방법을 신중하게 테스트한 다음 결함을 공개하고 완화 방법도 게시합니다.

다른 경주와 마찬가지로, 한 팀이 더 많은 노력을 기울일수록 그 팀이 승리할 가능성이 높아집니다. 더 많은 연구가 이루어질수록 악의적인 공격자가 제로데이 결함을 악용할 기회를 얻을 가능성이 줄어들기 때문에 오픈 소스 보안 연구의 노력이 매우 중요합니다.

위의 설명은 다소 단순화되었습니다. 예를 들어, 소프트웨어 코드의 경우 연구자들은 하나의 결함이 어떻게 연쇄적인 침해로 이어질 수 있는지 살펴봅니다. 그리고 넓게 보면 사이버 보안 연구자들은 소프트웨어 코드뿐만 아니라 네트워킹 및 하드웨어 결함, 절차 및 정책, 사이버 보안의 보다 전략적인 측면도 살펴봅니다.

오픈소스 보안 연구가 시급하다는 것은 틀림없는 사실입니다. 결함이 발견되는 것은 시간 문제이며, 해커가 아닌 보안 연구자가 결함을 발견하는 것이 더 낫습니다.

하지만 이러한 긴박함이 지름길을 택하는 것을 정당화하지는 않습니다. 사이버 보안 연구에서도 자연과학이나 사회과학과 마찬가지로 과학적이고 윤리적인 연구 방법론을 따르는 것이 중요합니다.

 

과학적 연구 이해

과학적 연구 방법은 불필요하게 엄격하고 제한적인 것처럼 보일 수 있지만, 연구자가 면밀한 조사를 견딜 수 있는 결과를 제출할 수 있도록 과학적 연구 방법은 시도와 검증을 거쳐 존재합니다. 엄격하고 구조화된 연구 방법은 연구자가 연구의 타당성을 훼손할 수 있는 일반적인 연구 함정과 오류를 피하는 데 도움이 됩니다.

예를 들어, 연구 방법은 고의든 실수든 데이터 조작과 관련된 문제를 방지하도록 설계되어 있으며, 이는 강력한 연구 설계를 통해 이루어집니다. 정해진 방법론에 따라 연구를 설계하면 표절과 같은 연구 부정행위의 위험도 완화됩니다.

과학적 방법에 대한 전체 개요는 이 글의 범위를 벗어나지만, 요약하자면 구조화된 과학적 연구는 방법과 지배 원리로 나눌 수 있습니다.

과학적 연구는 기본적으로 가설을 바탕으로 이루어집니다. 먼저 연구자는 이전의 관찰, 실험 또는 측정을 바탕으로 가설을 세웁니다. 그런 다음 실험을 통해 이를 검증하는 예측을 합니다. 결과가 나오면 가설을 분석하여 확인하거나 결과에 비추어 수정합니다.

다음으로, 이 프로세스를 지배하는 일련의 원칙이 있습니다. 연구는 항상 객관적이고 편견이 없어야 합니다. 예를 들어, 결과를 조작하기 위해 원본 데이터에서 트리밍한 데이터 세트가 아닌 대표성이 있는 데이터를 사용해야 합니다.

 

과학적 방법이 중요한 이유

과학적 방법의 다른 주요 원칙으로는 결과를 재현하는 능력과 결과를 검증하는 능력이 있습니다. 이러한 원칙이 함께 작용하여 과학 연구에 투입되는 노력이 견고하고 신뢰할 수 있으며 테스트 가능한 결과를 도출할 수 있도록 연구자를 안내합니다.

두 가지 핵심 영역을 지적할 수 있습니다. 첫째, 사이버 보안이든 다른 분야든 과학적 진보에 대해 생각할 때 우리는 종종 빌딩 블록을 떠올립니다. 연구자들은 전임자들의 연구 결과를 바탕으로 연구를 진행하므로 이러한 구성 요소는 충분히 견고해야 합니다.

연구자들은 견고한 과학적 방법을 따름으로써 미래의 연구자들이 구축할 수 있는 '구조'를 만듭니다. 반대로 과학에 결함이 있으면 구조가 무너질 수 있습니다. 그렇기 때문에 과학적 방법은 매우 느리고 절제된 방식으로 진행됩니다. 과학은 체계적이고 실증적인 증거를 수집할 때만 작동하며, 이를 통해 과학은 면밀한 조사를 견딜 수 있습니다.

그러나 과학적 연구 방법의 두 번째이자 아마도 가장 중요한 요소 중 하나는 윤리입니다. 피험자에게 해를 끼치는 '지름길'이 왜 과학 연구에서 더 빠른 결과를 가져올 수 있는지는 어렵지 않게 알 수 있습니다. 이러한 이유로 연구는 윤리에 대한 면밀한 조사가 필요하며, 주요 교육 기관에 윤리 위원회를 설치하여 연구 프로젝트의 윤리를 면밀히 조사하는 이유도 여기에 있습니다.

윤리적 제한이 없는 상태에서 의학 및 사회학 연구가 연구 대상자에게 어떤 해를 끼칠 수 있는지 쉽게 상상할 수 있습니다.

사이버 보안 연구에서도 연구 대상에게 해를 끼치는 연구를 진행하여 훨씬 더 빠른 성과를 내고 싶은 유혹이 있을 수 있습니다. 올해 미네소타 대학교에서 일어난 일이 바로 이런 경우입니다.

 

그렇다면 미네소타에서는 어떤 일이 있었나요?

지난 4월, 미네소타 대학교(UMN)의 연구원 3명은 소프트웨어 공급망 공격에 대한 연구를 진행 중이었습니다. 즉, 연구팀은 해커가 소프트웨어 개발 과정을 방해하여 공격을 개시할 수 있는 방법을 연구하고 있었습니다. UMN 팀은 이 개발 프로세스가 얼마나 견고한지 테스트하고 싶었습니다.

UMN 팀은 Linux Kernel 개발을 관장하는 그룹을 연구 대상으로 선택했습니다. 이 연구는 오픈 소스 소프트웨어 개발의 일부이자 핵심인 방법론, 즉 다양한 조직과 개인이 검토 과정을 거쳐 Linux Kernel에 코드를 기여할 수 있는 능력에 의존했습니다.

다른 많은 중요한 교육 기관과 마찬가지로 UMN 팀도 Linux Kernel에 직접 기여할 수 있습니다. UMN에 기여하면 검토를 받게 되는데, 세 명의 대학원생이 관심을 가졌던 것은 바로 이 검토 과정이었습니다.

이 연구에서 연구팀은 결함이 있는 코드를 Kernel에 제출할 수 있다는 점을 악용하여 Linux Kernel에 UAF(사용 후 무료) 취약점을 삽입하려고 시도했습니다. 연구팀은 이 결함이 있는 코드가 검토 프로세스에서 발견되는지 여부를 평가하고자 했습니다.

여러 차례 제출이 이루어졌고, Linux Kernel에 대한 제출을 모니터링하는 팀에서 결함을 발견한 것으로 밝혀졌습니다. 그러나 Linux Kernel 감독 팀은 자신들도 모르는 연구 대상이라는 사실을 알고는 달갑지 않은 반응을 보였습니다. 연구원들은 결함이 있는 코드를 제출한 것으로 밝혀졌고, 그 결과 UMN은 Linux Kernel에 대한 추가 업데이트 제출이 금지되었습니다.

연구 관점에서 보면 UMN 학생들이 왜 그런 질문을 했는지 알 수 있습니다. 결함이 있는 코드가 Linux Kernel에 제출되면 플래그가 지정되나요? 그렇다면 이 코드가 플래그를 받는 데 얼마나 걸리나요? 그러나 윤리적 관점에서 볼 때 이 팀의 방법은 허용되지 않았습니다.

 

미네소타 대학교의 접근 방식이 비윤리적인 이유

UMN 팀의 접근 방식에는 몇 가지 윤리적 결함이 있었습니다. 첫째, 연구팀은 오픈소스 커뮤니티에 이 연구를 수행할 계획이라는 사실을 알리지 않았습니다. 그 결과 연구 대상자들은 동의 없이 실험에 참여했으며, 이는 과학 연구에 대한 윤리적 접근 방식에 위배됩니다.

다음으로, UMN이 제출한 결함이 있는 코드가 Kernel에 남아있어 결국 다양한 Linux 배포판에 포함될 수 있는 위험이 있었으며, 이는 추후 여러 당사자에게 피해를 줄 수 있었습니다.

다시 한 번 말하지만, 연구는 결코 해를 끼쳐서는 안 되기 때문에 이는 비윤리적인 행위입니다. 흥미롭게도 UMN 팀이 발각된 후 UMN의 연구원들이 자신들의 노력을 명확하게 문서화하지 않았기 때문에 정리하는 과정이 상당히 어려웠습니다. 본질적으로, "실험적인" 결함이 있는 코드가 주류 Linux 배포판에 포함될 가능성을 없애기 위해 Kernel에 대한 UMN의 모든 기여를 제거해야 했습니다.

이 연구를 수행한 연구자들은 피험자의 동의를 얻지 않았으며, 이는 연구 윤리의 주요 위반입니다. 또한 연구자들은 고의로 Kernel에 버그를 삽입하여 오픈소스 개발의 핵심 원칙 중 하나인 신뢰를 위반했습니다. 이 사건은 전체 커뮤니티의 분노를 불러일으켰습니다.

연구의 장점에 대한 견해가 무엇이든, 윤리적 경계를 위반했다는 사실에는 의문의 여지가 없으며, 따라서 몇 주 전 Linux Kernel 감독 팀이 미네소타 대학의 학생과 교직원의 추가 기여를 차단한 것은 당연한 일입니다.

 

사이버 보안 연구의 윤리성 유지

이 글의 서두에서 사이버 보안 연구가 중요한 이유를 설명하면서 기술 사용자는 일반 범죄자부터 국가 전체에 이르는 악의적인 행위자들과 본질적으로 전쟁을 벌이고 있다고 설명했습니다. 사이버 공격은 경제에 수십억 달러의 비용을 초래하고 조직 전체를 파괴할 수 있습니다.

사이버 보안 연구를 윤리적인 방식으로 수행하는 것은 결과를 신뢰하고, 검증하고, 학습할 수 있도록 하고, 피해를 예방하기 위해서도 매우 중요합니다. 하지만 또 다른 문제가 있습니다.

사이버 보안 연구에 대한 공포와 불신의 분위기가 조성되면 연구 수행 동기와 연구 결과에 대한 신뢰 등 향후 연구 노력에 영향을 미칠 가능성이 높습니다.

그렇기 때문에 사이버 보안 분야의 연구자들은 사이버 보안 연구에 대한 윤리적 접근을 포함하여 과학적 방법과 그와 관련된 모든 특성을 따르는 것이 매우 중요합니다.

UMN의 경우 윤리 위원회는 연구를 면밀히 조사하고 윤리적 우려 사항을 표시해야 합니다. UMN 이사회가 이 연구를 중단시키지 않은 이유는 추측만 할 수 있습니다. 아마도 윤리위원회가 오픈소스 소프트웨어 개발의 미묘한 차이나 해당 연구에서 제기된 윤리적 문제를 충분히 인식하지 못했을 수도 있습니다.

UMN 팀의 경우, 연구원들은 최소한 Kernel 관리자에게 실험을 실행할 수 있도록 허가를 요청했어야 했습니다. 그렇게 하지 않은 것은 Kernel 제출이 그냥 받아들여지고 포함된다는 점에서 오픈 소스 커뮤니티의 선의를 남용한 것입니다.

 

결론

과학 연구를 전반적으로 살펴보면 방금 설명한 것과 같은 사건은 흔하지는 않지만 전례가 없는 것은 아닙니다. 시간이 지남에 따라 연구 및 개요 프로세스가 더욱 철저해짐에 따라 이러한 사건은 확실히 줄어들고 있습니다. 예를 들어, 한 세기 정도 전에 보았던 황당한 의학 실험은 거의 찾아볼 수 없습니다.

비윤리적인 연구 행위가 발견되면 단호한 대응과 홍보를 통해 유사한 행동을 억제하는 데 도움이 될 수 있습니다. UMN 팀은 질책을 받았고 대학 컴퓨터 과학과의 전반적인 평판은 다소 타격을 입었습니다.

사이버 보안 연구에서도 과학적 방법과 윤리가 중요하다는 교훈을 다른 사람들에게 전해야 합니다. 모든 사람의 이익을 존중하는 협력적인 접근 방식이 없다면 사이버 범죄 위협에 맞서 의미 있는 진전을 이루지 못할 것입니다.

마지막으로, 오픈소스 커뮤니티의 신뢰성을 지켜야 합니다. 사이버 보안 연구자들이 오픈소스 소프트웨어의 발전에 필수적인 신뢰를 악용하는 것은 용납될 수 없습니다. 오픈소스 소프트웨어 개발을 관리하는 사람들은 경계를 늦추지 말고 불필요한 실험을 적극적으로 막아야 합니다.

 

보너스 콘텐츠: 오픈 소스 윤리, 그리고 미네소타 대학교가 Linux에 실패한 이유

미네소타 대학교가 오픈소스를 잘못 이해한 이유와 오픈소스 전반의 강점과 약점에 대해 LearnLinuxTV의 Jay와 TuxCare 에반젤리스트 Joao Correia가 나눈 토론을 확인하세요.

Kernel 재부팅, 시스템 다운타임 또는 예정된 유지 보수 기간 없이 취약성 패치를 자동화하고 싶으신가요?

TuxCare로 라이브 패치에 대해 알아보기

TuxCare 게스트 작가 되기

시작하기

메일

가입

4,500

Linux & 오픈 소스
전문가!


뉴스레터 구독하기