오픈 리소스 마감: 환상의 불화
게시 됨: 2022-03-312021년 12월 Log4j 취약점 공개를 추적하고 자신이 소유한 Javascript 라이브러리 'color.js' 및 'faker.js'를 방해하는 개발자의 새로운 상황, 오픈 소스 컴퓨터 소프트웨어의 상태가 문제로 제기되었습니다.
공개 소스에 대한 White Property의 고위급 회의와 바이든 미국 대통령의 정부 명령으로 일부에서는 '자원 공개의 결론'을 촉구하기까지 했습니다. 개방 공급이 어떻게든 부족한 상태로 남아 있다는 신호로 주요 취약점을 확인하고 싶은 유혹이 있을 수 있지만, 진실은 그로부터 상당히 중요합니다.
오픈 소스 소프트웨어는 비즈니스 소프트웨어 패키지보다 훨씬 더 안전하지도 덜하지도 않습니다. 실제로 대부분의 전문 컴퓨터 소프트웨어는 오픈 소스 시스템을 특징으로 하거나 작동합니다. 공개 공급은 공급 코드를 원하는 모든 개인이 액세스할 수 있는 정확한 방식으로 소프트웨어 프로그램이 공식화되었음을 의미합니다.
Apache Log4j 팀의 Log4j 응답에서 우리가 보고 있는 것은 정확히 우리가 보고 싶어하는 것입니다. 즉, 개발 중인 소프트웨어 패키지를 진지하게 받아들이고 현재 설정 기반의 요구에 응답하고 있는 팀입니다. 그들이 자원 봉사자라는 것을 보면 이러한 종류의 응답은 우리가 오픈 리소스 커뮤니티 내에서 자주 볼 수있는 소유권의 즐거움을 나타냅니다.
오픈 소스 폐쇄를 선동하기보다는 Log4j와 같은 사건이 전체적으로 오픈 소스 향상을 향상시킬 가능성이 가장 높습니다. 따라서 오픈 소스가 계속해서 여기에 나열된다면 조직은 취약점을 훨씬 더 능숙하게 감지하고 완화하기 위해 이전해야 할 일은 무엇입니까?
조직 수준에서 컴퓨터 소프트웨어 보호 문제 해결
완벽하게, 취약점을 식별하고 완화하는 전략을 사용하려면 몇 가지 역할을 미리 설명해야 합니다. 대부분의 개인은 소프트웨어 패키지 공급업체, 즉 자신이 의존하는 컴퓨터 소프트웨어를 개발하는 사람들이 해당 소프트웨어를 확인하기를 바랍니다. 해당 테스트의 최종 결과는 공급자가 제공하는 소프트웨어의 약점을 강조하는 결과로 설정됩니다. 위대한 전 세계에서 이러한 모든 약점은 프로그램 배송 및 전달 전에 해결될 것입니다.
진정한 행성에서는 그렇다 할지라도 그러한 모든 약점 중 일부는 사전 설정되고 일부는 "고칠 프로그램 없음"으로 표시되며 일부는 장기적 출시에서 낙관적으로 수정될 것입니다. 약점 목록은 무엇이며 결국 어떤 약점이 설정되었는지는 공급자가 일반적으로 공개하는 것이 아닙니다. 또한 모든 약점을 발견할 수 있는 단일 도구는 없으며 일부는 리소스 코드가 있는 경우에만 작업을 수행하지만 다른 사람들은 실행 중인 소프트웨어를 요구합니다.
여기에서 '취약성'이라는 단어는 구체적이고 기본적인 의미를 담고 있으므로 언급하지 않았음을 알 수 있습니다. 응용 프로그램에서 취약점은 단지 악용될 수 있거나 악용될 현실적인 기회가 있는 약점입니다.
전부는 아니지만 대부분의 취약성은 NVD 또는 NVD로만 인식되는 중앙 집중식 절차를 통해 공개됩니다. NVD가 미국에 뿌리를 두고 있고 미국 당국에서 관리하고 있지만 NVD의 내용은 모두가 액세스할 수 있고 여러 국제 위치에 복제됩니다. 거버넌스의 관점에서 NVD 콘텐츠의 개선 사항을 확인하는 것은 새로운 취약성 공개를 최대한 활용하는 훌륭한 방법입니다.
문제는 NVD 업데이트가 미디어 보도보다 느리기 때문에 Log4Shell, HeartBleed 및 Dirty Cow와 같은 주요 취약점으로 인해 취약점을 발견한 인력이 어려움에 대한 인식을 넓히기 위해 노력하는 과정에서 취약점에 대한 브랜드 제목을 만들 수 있다는 것입니다. 이러한 사이버 모임의 미디어 보호를 위한 거버넌스 계획을 수립하는 것은 확실히 환상적인 관행이 아닙니다.
취약점 관리에 대한 언론 보도가 좋지 않은 생각이고 NVD가 모든 사실을 제시하는 데 약간 점진적인 경우 가장 효과적인 거버넌스 정책은 무엇입니까? 이는 "소프트웨어 구성 분석" 또는 SCA로 알려진 보안 도구 형태에서 나옵니다. SCA 소프트웨어는 응용 프로그램의 소스 코드 또는 응용 프로그램을 정의하는 실행 파일이나 라이브러리에 있는 것으로 보이며 해당 소프트웨어를 빌드하는 데 사용된 오픈 소스 라이브러리를 파악하려고 시도합니다.
이러한 사람 라이브러리의 목록을 SBOM 또는 컴퓨터 소프트웨어 BOM이라고 합니다. SCA 응용 프로그램이 효과적으로 작업을 수행한다고 가정하면 NVD 세부 정보를 SBOM에 매핑하는 거버넌스 정책을 만들 수 있으므로 무엇을 패치해야 하는지 알 수 있습니다... 그럼에도 불구하고 설명해야 할 잠재적인 NVD 사실이 있다는 점은 예외입니다.

훨씬 더 우수한 SCA 도구 중 일부는 보류 중인 NVD 항목이 있을 때 사전에 고객에게 경고하는 권고를 생성하여 해당 NVD 항목의 세부 사항이 SCA 공급업체에 의해 보강되어 이러한 문제를 해결합니다. 최첨단 장비 중 일부는 또한 취약점 공개의 영향을 받는 컴퓨터 소프트웨어의 변형을 선별하거나 검증하는 데 사용합니다.
그럼에도 불구하고 SCA 소프트웨어 프로그램은 공개와 식별 사이의 구멍을 메울 수 있지만 근본적인 한계가 있음을 관찰할 필요가 있습니다. SCA 프로그램이 모든 프로그램을 스캔하지 않았다면 기껏해야 프로그램의 하위 집합에 대한 새로운 취약점 공개에만 플래그를 지정할 수 있습니다.
거버넌스 적용 범위 관점에서 IT는 모든 소프트웨어 프로그램과 조달 기능을 설정하여 업데이트 및 무료 다운로드와 같은 모든 애플리케이션이 SBOM 아래에 표시되고 SBOM이 적용되는 것으로 검증되었는지 확인합니다. SCA 소프트웨어 프로그램. 프로그램은 소스 형식과 바이너리 형식 모두에서 사용할 수 있기 때문에 이 경로를 따라가는 거버넌스 팀이 모든 종류와 형식의 컴퓨터 소프트웨어를 효과적으로 실행할 수 있는 SCA 소프트웨어 프로그램을 선택하는 것이 중요합니다. 이러한 유형의 거버넌스 계획은 새로운 취약성 공개 및 비즈니스 기업에 대한 영향을 식별하는 데 도움이 되지만 완화에 소프트웨어 테스트가 필요하다는 점을 감안할 때 고유한 정책에 대한 생산적인 완화의 차이를 만들 것입니다.
자신의 엔지니어링 보안을 확인하는 것은 한 가지 요점이지만 오픈 리소스의 우아함은 협업을 위해 설계되었다는 점입니다.
에이브러햄 링컨의 말을 빌리자면, 자원 개방은 개인에 의한, 개인을 위한 개인의 노하우입니다. 유행하는 오픈 소스 운동은 코드가 작동하는 방식이 마음에 들지 않으면 코드를 수정하고 결국 존재하는 것으로 인식되는 기능의 격차에 관계없이 해결할 수 있다는 기본 원칙에서 시작되었습니다.
오늘날 우리가 직면한 어려움의 요소는 오픈 소스 프로젝트의 소비자 또는 최종 사용자가 오픈 공급 문제가 비즈니스 애플리케이션 판매자인 것처럼 행동하게 하는 감정입니다.
GitHub에서 실행 중인 합리적으로 잘 알려진 공개 리소스의 문제 목록에 나타나면 선택한 문제가 언제 해결될 수 있는지에 대한 기능 요청 및 리뷰를 볼 수 있습니다. 서비스 가능성에 대한 이러한 문제 스토리와 불만은 제품 관리자가 이러한 사람들의 요청을 처리하고 있으며 로드맵에 추가되고 어느 시점에 출시될 것이라는 암묵적인 기대를 가지고 있습니다. 이 모든 것이 무료입니다.
사실, 기능의 격차와 인식된 버그는 무료 프로그래밍 전문가 서비스를 요청할 기회가 아니라 불만을 제기하는 사람에게 실질적으로 중요한 장기적 코드 달성에 기여할 수 있는 대안을 의미합니다.
물론 어떤 사람들은 프로젝트에서 사용하는 프로그래밍 언어를 알지 못할 것이지만 다른 사람들이 활동적인 기여자의 복잡성을 해결하는 변형보다 알려지지 않은 제3자의 불만을 우선시하기를 기대하는 것은 실제처럼 보이지 않습니다. 무엇보다도 중요한 것은 기여자의 이타주의를 통한 오픈 리소스 기능입니다.
현대보다 오랫동안 우리는 소프트웨어 패키지를 사용하여 대규모 기업이 벌어들인 수입에 대해 잘 알려진 공개 리소스 작업에 대한 주요 기여자의 말을 들어왔습니다. 누군가가 시도에서 얻은 수입을 3분의 1로 모으기 위해 자신의 힘을 과업에 투입하는 것과 관련되기 쉽지만, 현실은 그 세 번째 강타가 공개 자원 발전 인력의 시도에서 이익을 얻고 있다면, 장기적인 성공에 기여해야 합니다.
그렇지 않은 경우 문제의 코드가 기대하지 않은 방식으로 변형될 수 있을 뿐만 아니라 보호 문제가 식별되고 해결될 때 사람들이 수정한 사항을 적용하는 데 지연이 발생할 수 있는 위험이 있습니다. 결국, 소규모 비즈니스가 비즈니스 기업을 지원하는 컴퓨터 소프트웨어를 생산하는 팀과 상호 작용할 시간이 없다면 비즈니스 기업을 지원하는 모든 프로그램의 출처를 모르고 안정적으로 패치할 수 없는 것일 수 있습니다. 그것.
개방된 공급에서 취약점을 발견하는 것은 문제가 되지 않지만, 악용될 수 있는 취약점을 나타내는 프로그램 결함의 탐지는 중요한 주제입니다. 공개 소스 및 비공개 공급 소프트웨어 패키지는 안정성 문제에 대해 동등한 잠재력을 가지고 있지만 공개 리소스를 사용하면 누구나 이러한 문제를 결정할 수 있습니다. 이를 염두에 두고 조직은 미디어 보호에 의존하지 않는 사전 조치를 취하여 최신 취약점을 관찰해야 합니다.
똑같이 중요한 것은 그들이 보상하는 공개 공급 할당에 기여하는 목적을 수행해야 한다는 것입니다.
Tim Mackey는 Synopsys 의 수석 보호 전략가 입니다.