보안 코드 정의

게시일: 2022년 10월 20일
으로 Secure Code Warrior
사례 연구

보안 코드 정의

게시일: 2022년 10월 20일
으로 Secure Code Warrior
리소스 보기
리소스 보기

디지털 비즈니스를 주도하는 소프트웨어, 응용 프로그램 및 프로그램을 만드는 개발자는 많은 조직의 생명선이되었습니다. 대부분의 현대 비즈니스는 경쟁력있는 응용 프로그램 및 프로그램 없이는 또는 웹 사이트 및 기타 인프라에 24 시간 액세스하지 않고는 (수익성이있는) 기능을 수행 할 수 없습니다.

하지만 이러한 접점은 해커와 기타 악의적인 사용자가 정보를 훔치고 공격을 시작하며 사기 및 랜섬웨어와 같은 다른 범죄 활동의 발판이 되는 관문이 되기도 합니다. 최신 Verizon 데이터 유출 조사 보고서에서는 오늘날 기업과 조직에 대한 위협이 역사상 그 어느 때보다 더 위험하고 비용이 많이 든다는 점을 강조합니다.

대부분의 조직에서 사이버 보안에 대한 지출이 크게 증가하고 DevSecOps와 같은 움직임으로 인해 오늘날 비즈니스의 핵심인 개발자에게 보안이 집중되고 있음에도 불구하고 공격은 여전히 만연해 있습니다.

개발자는 보안의 중요성을 잘 알고 있으며 안전하고 품질이 우수한 코드를 배포하기를 원하지만 소프트웨어 취약점은 계속해서 악용되고 있습니다.

왜 그럴까요?

Secure Code Warrior 는 2021년 12월에 Evans Data Corp와 협력하여 2년째 개발자 주도 보안 현황 설문조사를 실시했습니다. 전 세계 1,200명의 개발자를 대상으로 보안 코딩 관행에 관한 기술, 인식, 행동, 소프트웨어 개발 수명주기(SDLC)에 미치는 영향과 관련성을 파악하기 위해 설문조사를 실시했습니다.

설문조사 결과 보안 코드에 대한 명확한 정의나 이해가 부재한 것으로 나타났습니다. 개발자가 생각하는 보안 코드와 실제 보안 코드 사이에는 큰 차이가 있는 것으로 나타났습니다.

개발 커뮤니티에서 양질의 코드를 작성하는 것이 최우선 순위라는 것은 놀라운 일이 아니었지만, 보안 코드에 대해 구체적으로 질문했을 때 취약점이 없는 코드를 작성하는 적극적인 관행이 최우선 순위라고 답한 비율은 29%에 불과했습니다. 대신 개발자들은 안전성이 떨어지고 신뢰성이 훨씬 낮은 관행을 안전한 코드 작성과 연관시켰습니다. 예를 들어, 개발자들이 보안 코딩과 관련하여 가장 중요하게 생각하는 관행은 기존 코드를 면밀히 검토하는 것(37%)과 안전한 코드를 위해 외부에서 제공한 라이브러리에 의존하는 것(37%)이었습니다. 이미 안전한 것으로 확인된 코드를 재사용하는 것(32%)도 인기 있는 선택이었습니다. 취약점이 없는 코드를 작성하는 적극적인 관행은 29%가 안전한 코드를 작성하는 데 있어 가장 중요한 관행이라고 답해 6위를 차지했습니다. 추가 질문에서는 시간 부족과 경영진의 일관된 접근 방식 부족이 보안 코드를 만드는 데 가장 큰 장애물로 꼽혔습니다.

기존 코드에 의존하는 것은 소프트웨어가 익스플로잇 가능한 취약점을 가지고 출시될 위험을 높이는 요인 중 하나입니다. 보안 코드를 구성하는 요소의 이러한 단절을 해결해야 개발자가 안전한 고품질 코드를 만들 수 있습니다.

개발자가 생각하는 보안 코드와 실제 보안 코드 사이에는 큰 차이가 있는 것으로 나타났습니다.

이 상황을 해결하기 위해 조직은 무엇을 할 수 있나요?

설문조사에서 가장 중요한 메시지 중 하나는 개발자 커뮤니티 전체가 자신이 하는 일에 관심이 있는 전문가들로 가득 차 있다는 것이었습니다. 이들은 최고 품질의 코드를 작성하는 것을 압도적으로 중요하게 생각했습니다. 문제는 이들이 근무하는 조직이 안전한 코드를 작성하는 데 필요한 모범 사례를 파악하지 못했고, 개발자가 이러한 목표를 달성할 수 있도록 충분한 리소스를 교육에 투입하거나 지원하지 않은 경우가 많다는 점입니다.

실제로 대부분의 개발자는 조직에서 보안 코드를 구성하는 요소에 대한 명확한 정의조차 가지고 있지 않다고 답했습니다. 가장 우려스러운 사례 중 하나는 설문조사 응답자의 28%가 애플리케이션이나 프로그램이 프로덕션 환경에 배포되거나 대중에게 공개된 후 보안 침해가 보고되지 않으면 코드가 안전한 것으로 간주한다고 답했다는 점입니다.

당연한 말이지만, 오늘날의 복잡한 위협 환경에서 실제로 노력하지 않고 좋은 결과를 기대하는 것은 더 많은 보안 침해라는 예측 가능한 결과를 초래할 가능성이 높습니다.

다행히도 이러한 상황에서는 최소한 문제 해결을 시작하고 안전한 코드라는 목표를 향한 작업을 시작하기가 비교적 쉽습니다. 첫 번째이자 가장 중요한 단계는 조직이 보안 코드로 간주하는 것을 정의하는 것입니다. 그리고 그 정의를 벗어난 모든 것은 안전하지 않은 것으로 간주해야 합니다.

보안 코딩은 SDLC를 시작할 때부터 숙련된 개발자가 취약점이 없는 코드를 작성하는 관행으로 정의되어야 합니다. 이러한 관행이 정의되어야만 개발자 커뮤니티가 그 목표를 향해 노력할 수 있습니다.

보안 코드의 목표를 현실로 만들기

보안 코드에 대한 정의가 확립되면 조직은 이러한 노력과 전체 보안 코드 관행을 구현하는 목표를 수행할 개발자를 지원할 준비가 되어 있어야 합니다. 이러한 지원은 매우 중요합니다. 이러한 지원이 없다면 조직 내에서 보안 코드에 대한 정의는 중요하지만 종이호랑이에 불과할 것입니다. 보안 코딩 관행이 성공하려면 경영진이 이를 지지하고 적절한 고려와 권한, 예산을 부여해야 합니다.

이는 전통적으로 코딩 속도로 측정되어 온 개발자에게 새로운 벤치마킹 목표를 요구할 수 있습니다. 실제로 설문조사에 참여한 개발자의 37%는 촉박한 마감일 때문에 취약점을 수정하거나 처음부터 제대로 코딩하는 데 필요한 시간을 확보할 수 없어 알려진 취약점을 코드 내에 그대로 두었다고 답했습니다. 처음에는 개발자가 제대로 코딩할 시간을 더 확보하기 위해 마감일을 늘릴 수 있지만, 코딩 프로세스 초기의 시간 낭비는 나중에 프로그램 수정, 패치 및 배포 후 작업의 필요성이 줄어들기 때문에 보상될 가능성이 높습니다. 또한 배포된 보안 침해 가능성을 제거하면 수백 시간을 절약하고 수백만 달러의 매출 손실, 벌금 및 복구 비용을 절감할 수 있습니다.

또한 개발자는 특히 발생할 가능성이 높은 특정 취약점과 관련된 관련 실습 교육이 필요하며, 코드 취약점을 식별하고 수정하는 방법을 배우는 데 도움이 됩니다. 설문조사 응답자의 36%가 코드에서 취약점을 제거하고 싶지만 그럴 수 있는 기술이나 지식이 없다고 답한 것을 고려하면 특히 그렇습니다.

설문조사에 참여한 개발자의 37%는 촉박한 마감일 때문에 알려진 취약점을 수정하거나 처음부터 제대로 코딩하는 데 필요한 시간을 확보할 수 없어 코드 내에 취약점을 그대로 두었다고 답했습니다.

이 주제에 대해 더 자세히 알고 싶으신가요?

백서: 소프트웨어 보안을 개선하기 위한 과제(및 기회)를 살펴보세요.
보고서:
개발자 주도 보안 현황 조사, 2022.

리소스 보기
리소스 보기

저자

Secure Code Warrior

Secure Code Warrior 는 개발자에게 안전하게 코딩할 수 있는 기술을 제공하여 보안 중심의 개발자 문화를 구축합니다. Atlassian의 대표적인 애자일( Learning Platform )은 관련 기술 기반 경로, 실습( missions) 및 상황에 맞는 도구를 제공하여 개발자가 빠르게 기술을 배우고, 구축하고, 적용하여 보안 코드를 빠르게 작성할 수 있도록 지원합니다.

더 알고 싶으신가요?

블로그에서 최신 보안 코딩 인사이트에 대해 자세히 알아보세요.

Atlassian의 광범위한 리소스 라이브러리는 안전한 코딩 숙련도를 확보하기 위한 인적 접근 방식을 강화하는 것을 목표로 합니다.

블로그 보기
더 알고 싶으신가요?

개발자 중심 보안에 대한 최신 연구 보기

광범위한 리소스 라이브러리에는 개발자 중심의 보안 코딩을 시작하는 데 도움이 되는 백서부터 웨비나까지 유용한 리소스가 가득합니다. 지금 살펴보세요.

리소스 허브

보안 코드 정의

게시일: 2022년 10월 20일
으로 Secure Code Warrior

디지털 비즈니스를 주도하는 소프트웨어, 응용 프로그램 및 프로그램을 만드는 개발자는 많은 조직의 생명선이되었습니다. 대부분의 현대 비즈니스는 경쟁력있는 응용 프로그램 및 프로그램 없이는 또는 웹 사이트 및 기타 인프라에 24 시간 액세스하지 않고는 (수익성이있는) 기능을 수행 할 수 없습니다.

하지만 이러한 접점은 해커와 기타 악의적인 사용자가 정보를 훔치고 공격을 시작하며 사기 및 랜섬웨어와 같은 다른 범죄 활동의 발판이 되는 관문이 되기도 합니다. 최신 Verizon 데이터 유출 조사 보고서에서는 오늘날 기업과 조직에 대한 위협이 역사상 그 어느 때보다 더 위험하고 비용이 많이 든다는 점을 강조합니다.

대부분의 조직에서 사이버 보안에 대한 지출이 크게 증가하고 DevSecOps와 같은 움직임으로 인해 오늘날 비즈니스의 핵심인 개발자에게 보안이 집중되고 있음에도 불구하고 공격은 여전히 만연해 있습니다.

개발자는 보안의 중요성을 잘 알고 있으며 안전하고 품질이 우수한 코드를 배포하기를 원하지만 소프트웨어 취약점은 계속해서 악용되고 있습니다.

왜 그럴까요?

Secure Code Warrior 는 2021년 12월에 Evans Data Corp와 협력하여 2년째 개발자 주도 보안 현황 설문조사를 실시했습니다. 전 세계 1,200명의 개발자를 대상으로 보안 코딩 관행에 관한 기술, 인식, 행동, 소프트웨어 개발 수명주기(SDLC)에 미치는 영향과 관련성을 파악하기 위해 설문조사를 실시했습니다.

설문조사 결과 보안 코드에 대한 명확한 정의나 이해가 부재한 것으로 나타났습니다. 개발자가 생각하는 보안 코드와 실제 보안 코드 사이에는 큰 차이가 있는 것으로 나타났습니다.

개발 커뮤니티에서 양질의 코드를 작성하는 것이 최우선 순위라는 것은 놀라운 일이 아니었지만, 보안 코드에 대해 구체적으로 질문했을 때 취약점이 없는 코드를 작성하는 적극적인 관행이 최우선 순위라고 답한 비율은 29%에 불과했습니다. 대신 개발자들은 안전성이 떨어지고 신뢰성이 훨씬 낮은 관행을 안전한 코드 작성과 연관시켰습니다. 예를 들어, 개발자들이 보안 코딩과 관련하여 가장 중요하게 생각하는 관행은 기존 코드를 면밀히 검토하는 것(37%)과 안전한 코드를 위해 외부에서 제공한 라이브러리에 의존하는 것(37%)이었습니다. 이미 안전한 것으로 확인된 코드를 재사용하는 것(32%)도 인기 있는 선택이었습니다. 취약점이 없는 코드를 작성하는 적극적인 관행은 29%가 안전한 코드를 작성하는 데 있어 가장 중요한 관행이라고 답해 6위를 차지했습니다. 추가 질문에서는 시간 부족과 경영진의 일관된 접근 방식 부족이 보안 코드를 만드는 데 가장 큰 장애물로 꼽혔습니다.

기존 코드에 의존하는 것은 소프트웨어가 익스플로잇 가능한 취약점을 가지고 출시될 위험을 높이는 요인 중 하나입니다. 보안 코드를 구성하는 요소의 이러한 단절을 해결해야 개발자가 안전한 고품질 코드를 만들 수 있습니다.

개발자가 생각하는 보안 코드와 실제 보안 코드 사이에는 큰 차이가 있는 것으로 나타났습니다.

이 상황을 해결하기 위해 조직은 무엇을 할 수 있나요?

설문조사에서 가장 중요한 메시지 중 하나는 개발자 커뮤니티 전체가 자신이 하는 일에 관심이 있는 전문가들로 가득 차 있다는 것이었습니다. 이들은 최고 품질의 코드를 작성하는 것을 압도적으로 중요하게 생각했습니다. 문제는 이들이 근무하는 조직이 안전한 코드를 작성하는 데 필요한 모범 사례를 파악하지 못했고, 개발자가 이러한 목표를 달성할 수 있도록 충분한 리소스를 교육에 투입하거나 지원하지 않은 경우가 많다는 점입니다.

실제로 대부분의 개발자는 조직에서 보안 코드를 구성하는 요소에 대한 명확한 정의조차 가지고 있지 않다고 답했습니다. 가장 우려스러운 사례 중 하나는 설문조사 응답자의 28%가 애플리케이션이나 프로그램이 프로덕션 환경에 배포되거나 대중에게 공개된 후 보안 침해가 보고되지 않으면 코드가 안전한 것으로 간주한다고 답했다는 점입니다.

당연한 말이지만, 오늘날의 복잡한 위협 환경에서 실제로 노력하지 않고 좋은 결과를 기대하는 것은 더 많은 보안 침해라는 예측 가능한 결과를 초래할 가능성이 높습니다.

다행히도 이러한 상황에서는 최소한 문제 해결을 시작하고 안전한 코드라는 목표를 향한 작업을 시작하기가 비교적 쉽습니다. 첫 번째이자 가장 중요한 단계는 조직이 보안 코드로 간주하는 것을 정의하는 것입니다. 그리고 그 정의를 벗어난 모든 것은 안전하지 않은 것으로 간주해야 합니다.

보안 코딩은 SDLC를 시작할 때부터 숙련된 개발자가 취약점이 없는 코드를 작성하는 관행으로 정의되어야 합니다. 이러한 관행이 정의되어야만 개발자 커뮤니티가 그 목표를 향해 노력할 수 있습니다.

보안 코드의 목표를 현실로 만들기

보안 코드에 대한 정의가 확립되면 조직은 이러한 노력과 전체 보안 코드 관행을 구현하는 목표를 수행할 개발자를 지원할 준비가 되어 있어야 합니다. 이러한 지원은 매우 중요합니다. 이러한 지원이 없다면 조직 내에서 보안 코드에 대한 정의는 중요하지만 종이호랑이에 불과할 것입니다. 보안 코딩 관행이 성공하려면 경영진이 이를 지지하고 적절한 고려와 권한, 예산을 부여해야 합니다.

이는 전통적으로 코딩 속도로 측정되어 온 개발자에게 새로운 벤치마킹 목표를 요구할 수 있습니다. 실제로 설문조사에 참여한 개발자의 37%는 촉박한 마감일 때문에 취약점을 수정하거나 처음부터 제대로 코딩하는 데 필요한 시간을 확보할 수 없어 알려진 취약점을 코드 내에 그대로 두었다고 답했습니다. 처음에는 개발자가 제대로 코딩할 시간을 더 확보하기 위해 마감일을 늘릴 수 있지만, 코딩 프로세스 초기의 시간 낭비는 나중에 프로그램 수정, 패치 및 배포 후 작업의 필요성이 줄어들기 때문에 보상될 가능성이 높습니다. 또한 배포된 보안 침해 가능성을 제거하면 수백 시간을 절약하고 수백만 달러의 매출 손실, 벌금 및 복구 비용을 절감할 수 있습니다.

또한 개발자는 특히 발생할 가능성이 높은 특정 취약점과 관련된 관련 실습 교육이 필요하며, 코드 취약점을 식별하고 수정하는 방법을 배우는 데 도움이 됩니다. 설문조사 응답자의 36%가 코드에서 취약점을 제거하고 싶지만 그럴 수 있는 기술이나 지식이 없다고 답한 것을 고려하면 특히 그렇습니다.

설문조사에 참여한 개발자의 37%는 촉박한 마감일 때문에 알려진 취약점을 수정하거나 처음부터 제대로 코딩하는 데 필요한 시간을 확보할 수 없어 코드 내에 취약점을 그대로 두었다고 답했습니다.

이 주제에 대해 더 자세히 알고 싶으신가요?

백서: 소프트웨어 보안을 개선하기 위한 과제(및 기회)를 살펴보세요.
보고서:
개발자 주도 보안 현황 조사, 2022.

우리는 당신에게 우리의 제품 및 / 또는 관련 보안 코딩 주제에 대한 정보를 보낼 수있는 귀하의 허가를 바랍니다. 우리는 항상 최대한의주의를 기울여 귀하의 개인 정보를 취급 할 것이며 마케팅 목적으로 다른 회사에 판매하지 않을 것입니다.

전송
양식을 제출하려면 '분석' 쿠키를 활성화하세요. 완료되면 언제든지 다시 비활성화할 수 있습니다.