새로운 NIST 가이드라인: 안전한 소프트웨어를 만들기 위해 맞춤형 교육이 필요한 이유

게시일: 2019년 12월 2일
작성자: 피터 댄히외
사례 연구

새로운 NIST 가이드라인: 안전한 소프트웨어를 만들기 위해 맞춤형 교육이 필요한 이유

게시일: 2019년 12월 2일
작성자: 피터 댄히외
리소스 보기
리소스 보기

2019년 6월 11일, 미국 국립표준기술연구소(NIST)소프트웨어 취약성과 사이버 위험을 줄이기 위한 몇 가지 실행 계획을 자세히 설명하는 업데이트된 백서를 발표했습니다. ' 보안 소프트웨어 개발 프레임워크(SSDF) 도입을 통한 소프트웨어 취약성 위험 완화'라는 제목의 이 백서에서는 데이터 유출로 인한 막대한 비용은 물론이고 끔찍한 결과를 피할 수 있는 확실한 가이드라인을 조직에 제공합니다.

SSDF는 의도적으로 일반적이며 모든 조직이 동일한 소프트웨어 보안 목표를 가지고 있다고 가정하지 않으며 이를 달성하기 위한 정확한 메커니즘을 규정하지도 않습니다. 주요 목적은 보안 모범 사례를 구현하는 것입니다. 작가 Donna Dodson은 "각 보안 생산자가 모든 적용 가능한 관행을 따르려는 욕구는 있지만, 각 관행이 실행되는 정도는 생산자의 보안 가정에 따라 달라질 것이라는 기대입니다. 이 관행은 구현자에게 유연성을 제공하지만 해석에 너무 많은 개방을 남기지 않도록 분명합니다."

물론 저에게 특히 관심은 개발자를 위한 소프트웨어 보안 교육과 관련된 구체적인 포함이었습니다. 이제 우리는 소프트웨어 개발 프로세스의 처음부터 조직을 방어하기 위해 개발자가 적절한 교육이 필요하다는 것을 오랫동안 알고 있습니다... 그러나 정확히 무엇이 적절합니까? 거기에 다른 의견이 많이 있습니다. 그러나 봉투가 마침내 상당한 긍정적 인 결과를 촉발시키는 방향으로 밀려나고 있다고 생각합니다.

보안 교육이 있습니다... 효과적인 보안 교육이 있습니다.

저는 소프트웨어 보안 교육이 개발자의 요구에 맞게 보다 효과적으로 구현되고, 참여하고, 조정해야 할 필요성에 대해 긴 이야기를 나눴습니다. 지금도 많은 조직에서는 "체크 더 박스" 운동이 기껏해야 있습니다. 아마도 몇 시간의 비디오 교육이나 교실 기반 학습을 위한 도구에서 벗어난 귀중한 시간이 있을 것입니다. 잘 알려진 (일반적으로 쉽게 고정) 취약점을 악용하는 공격자가 격일로 대규모 데이터 유출이 있다는 사실은 소프트웨어 보안 교육이 필요한 만큼 효과적이지 않다는 증거입니다. 그리고 아마도 가장 중요한 것은 교육이 효과적인지 여부를 확인하는 장소가 거의 없다는 것입니다: 취약점이 더 빨리 해결되고 있습니까? 코드에서 취약점이 줄어들고 있습니까? 사람들이 실제로 교육을 완료했습니까, 아니면 그냥 "다음"을 클릭하여 완료했습니까?

개발자는 바쁜 사람들, 엄격한 마감에 전달하기 위해 열심히 노력. 보안은 많은 시간 동안 불편하며 사이버 위험을 성공적으로 완화하기 위해 교육 중에 지식을 갖추는 경우는 거의 없습니다. "보안"이라는 단어는 일반적으로 AppSec 팀의 구성원이 작업의 결함을 지적하여 다소 춥고 기능 장애가 있는 관계를 만들 때 나옵니다. "당신의 아기는 못생겼다; 고쳐보시면 시나리오를 수정해 보시고 있습니다.

이것은 우리에게 무엇을 말해 줄까요? 그것은 우리가 보안에 개발자를 이기기에 충분히 하지 않는 수십 년 된 붉은 깃발; 그들은 책임을 지도록 동기를 부여받지 않으며, 기능적이면서도 보안 모범 사례를 염두에 두고 만든 소프트웨어를 만드는 데 필요한 도구를 추구하지 않습니다.

개발자는 영리하고 창의적이며 문제를 해결하는 것을 좋아합니다. 보안 취약점에 대한 끝없는 비디오를 보는 것이 그들을 흥분시킬 것 같지 않거나 계속 참여할 수 있도록 도울 가능성은 거의 없습니다. SANS 강사로 일하던 시절, 저는 최고의 훈련이 실습이라는 것을 매우 빠르게 배웠고, 뇌를 테스트하고 사전 학습을 구축하는 실제 예제를 사용하여 지적으로 분석하고 도전하도록 강요했습니다. 게임화와 친근한 경쟁은 또한 응용 분야에서 유용하고 실용적인 유지하면서, 새로운 개념으로 모든 사람을 얻을 수있는 강력한 도구입니다.

NIST의 지침은 "개발 보안에 기여하는 책임을 가진 역할의 모든 직원에게 역할별 교육을 제공합니다. 역할별 교육을 주기적으로 검토하고 필요에 따라 업데이트할 수 있습니다." 그리고 나중에: "사이버 보안 직원, 보안 챔피언, 고위 경영진, 소프트웨어 개발자, 제품 소유자 및 SDLC에 관련된 다른 사람에 대한 역할과 책임을 정의합니다."

이 문은 교육 유형에 대해 구체적으로 밝히지는 않지만 여전히 조직을 왼쪽으로 이동하고 보안 모범 사례를 염두에 두는 데 도움이 됩니다. 효과적이고 구체적인 교육 솔루션을 회사에 다시 찾는 데 어려움을 초래하고 있으며, 이로 인해 개발자가 성공할 수 있는 올바른 도구와 지식으로 무장하게 될 것입니다.

문화: 누락된 링크입니다.

조직이 개발자와 다른 핵심 직원을 교육하는 데 시간과 자원을 투입하고 취약점을 방지하고 보안 위험을 줄이는 데 중점을 두더라도 조직의 보안 문화가 근본적으로 깨지면 노력이 낭비될 수 있습니다.

개인이 효과적으로 훈련을 받을 때, 목표 설정과 기대치가 명확해지면 보안 환경에서 자신의 위치를 이해하고 적절한 경우 책임을 지는 것이 훨씬 쉬워집니다. 특히 개발자의 경우 처음부터 보안 코드를 작성하는 도구와 지식이 제공됩니다. 그러나 이중 처리, 손가락 포인팅 및 사일로 프로젝트 작업이 덜 있는 긍정적인 보안 환경에서 는 가장 잘 조율됩니다.

보안은 크고 안전한 소프트웨어를 제공하기 위한 지원적이고 협력적인 노력과 함께 전체 조직에 앞장져야 합니다. 이는 예산이 실제 코드 취약점을 활용하는 재미있고 매력적인 교육을 출시하기에 충분하며, 조직 전체에 걸쳐 구매하여 모멘텀을 유지할 수 있습니다. 끊임없이 진화하는 디지털 환경에서 교육은 배달만큼 이나 지속되어야 합니다. 과거에 "일회성" 또는 "설정 및 잊어버리기" 규정 준수 교육이 적절하거나 효과적이라는 말을 들었다면 이는 오류입니다.

이 새로운 NIST 프레임워크는 긍정적인 보안 문화를 육성하기 위한 요구 사항을 구체적으로 명확히 밝히지는 않지만, 가이드라인을 성공적으로 준수하려면 반드시 필요한 것이 가장 중요합니다. 그러나 조직은 "개발자가 따라야 할 보안 코딩 관행을 포함하여 조직의 소프트웨어가 충족할 보안 요구 사항을 지정하는 정책을 정의"해야 합니다.

위의 기능은 팀 내에서 보안 기술을 확장하고 연마하는 데 매우 중요하며, 자체 정책 및 현재 AppSec 기후를 평가할 때 다음을 고려하는 것이 도움이 될 수 있습니다.

  • 소프트웨어 보안 지침과 기대치가 명확하게 정의되어 있습니까?
  • 모두가 그들이 그들을 달성하는 데 에서 역할을 명확히?
  • 교육이 빈번하고 평가되는가?
  • 개발자는 일반적인 보안 버그가 발생하기 전에 제거할 때 할 수 있는 막대한 역할을 인식하고 있습니까?

지금, 그 마지막 부분은, 내가 말했듯이, 주로 조직과 그들이 선택하는 교육에 달려 있습니다. 그것은 관련이 있어야합니다, 그것은 자주해야합니다, 그것은 참여해야합니다. 일상 업무에 적용할 수 있는 솔루션을 찾고 문맥적으로 지식을 구축할 수 있습니다.

이번엔 또 뭐예요?

이러한 새로운 지침에 대한 심층 조사는 상당히 압도적 일 것입니다. 대부분의 기업이 가장 안전한 방법으로 필요한 철옷을 입은 보안 소프트웨어를 만들고, 검증하고, 배포하는 데 는 마을이 필요합니다. 그것은 단지 훈련에 관한 것이 아닙니다. 타사 소프트웨어를 사용할 때 고려해야 할 지침이있습니다(알려진 취약점이 있는 구성 요소를 사용하여 결국 OWASP Top 10에위치함), 확인, 침투 테스트 및 코드 검토에 대한 제안뿐만 아니라 보안 기록 보관, 적절한 도구 체인 및 기타 모든 것에 대한 지침이 있습니다. 전체 그림에 대한 실행 가능한 통찰력은 NIST의 문서를 통해 참조되는 게리 맥그로 박사의 BSIMM 모델에서찾을 수 있습니다.

그러나 개발자가 처음부터 보안 소프트웨어를 구축하는 데 성공할 수 있는 올바른 도구와 지식에 힘을 실어주면 가장 빠른 승리를 거둘 수 있습니다. SDLC의 후반 단계에서 몇 번이고 몇 번이고 일반적인 취약점이 나타나는 것을 막기 위해 비즈니스(전체적으로 더 빠름)가 저렴합니다. 자신의 강점을 재생하고 조직의 보안 측면에 참여하는 인센티브를 제공합니다. 정말 재미있을 수 있으며, 악당을 안전하게 유지하는 데 필요한 바로 시간 별 영웅이 될 수 있습니다.

참조:

  1. SSDF(2019년 6월 11일) 2페이지(2019년 6월 11일)를 채택하여 소프트웨어 취약점의 위험을 완화합니다.
  2. SSDF(2019년 6월 11일) 5페이지)를채택하여 소프트웨어 취약점의 위험을 완화합니다.
  3. SSDF(2019년 6월 11일) 4페이지(6월11일)를 채택하여 소프트웨어 취약점의 위험을 완화합니다.
리소스 보기
리소스 보기

저자

피터 다뉴

피터 댄히외는 보안 컨설턴트로 12년 이상 경력을 쌓았으며, 조직, 시스템 및 개인의 보안 취약점을 타겟팅하고 평가하는 방법에 대한 공격 기법을 가르치는 SANS의 수석 강사로 8년 이상 활동한 세계적으로 인정받는 보안 전문가입니다. 2016년에는 호주에서 가장 멋진 기술자 중 한 명으로 선정(비즈니스 인사이더)되었고, 올해의 사이버 보안 전문가(AISA - 호주 정보 보안 협회)로 선정되었으며, GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA 자격증을 보유하고 있습니다.

더 알고 싶으신가요?

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

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

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

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

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

리소스 허브

새로운 NIST 가이드라인: 안전한 소프트웨어를 만들기 위해 맞춤형 교육이 필요한 이유

게시일: 2019년 12월 2일
By 피터 댄히외

2019년 6월 11일, 미국 국립표준기술연구소(NIST)소프트웨어 취약성과 사이버 위험을 줄이기 위한 몇 가지 실행 계획을 자세히 설명하는 업데이트된 백서를 발표했습니다. ' 보안 소프트웨어 개발 프레임워크(SSDF) 도입을 통한 소프트웨어 취약성 위험 완화'라는 제목의 이 백서에서는 데이터 유출로 인한 막대한 비용은 물론이고 끔찍한 결과를 피할 수 있는 확실한 가이드라인을 조직에 제공합니다.

SSDF는 의도적으로 일반적이며 모든 조직이 동일한 소프트웨어 보안 목표를 가지고 있다고 가정하지 않으며 이를 달성하기 위한 정확한 메커니즘을 규정하지도 않습니다. 주요 목적은 보안 모범 사례를 구현하는 것입니다. 작가 Donna Dodson은 "각 보안 생산자가 모든 적용 가능한 관행을 따르려는 욕구는 있지만, 각 관행이 실행되는 정도는 생산자의 보안 가정에 따라 달라질 것이라는 기대입니다. 이 관행은 구현자에게 유연성을 제공하지만 해석에 너무 많은 개방을 남기지 않도록 분명합니다."

물론 저에게 특히 관심은 개발자를 위한 소프트웨어 보안 교육과 관련된 구체적인 포함이었습니다. 이제 우리는 소프트웨어 개발 프로세스의 처음부터 조직을 방어하기 위해 개발자가 적절한 교육이 필요하다는 것을 오랫동안 알고 있습니다... 그러나 정확히 무엇이 적절합니까? 거기에 다른 의견이 많이 있습니다. 그러나 봉투가 마침내 상당한 긍정적 인 결과를 촉발시키는 방향으로 밀려나고 있다고 생각합니다.

보안 교육이 있습니다... 효과적인 보안 교육이 있습니다.

저는 소프트웨어 보안 교육이 개발자의 요구에 맞게 보다 효과적으로 구현되고, 참여하고, 조정해야 할 필요성에 대해 긴 이야기를 나눴습니다. 지금도 많은 조직에서는 "체크 더 박스" 운동이 기껏해야 있습니다. 아마도 몇 시간의 비디오 교육이나 교실 기반 학습을 위한 도구에서 벗어난 귀중한 시간이 있을 것입니다. 잘 알려진 (일반적으로 쉽게 고정) 취약점을 악용하는 공격자가 격일로 대규모 데이터 유출이 있다는 사실은 소프트웨어 보안 교육이 필요한 만큼 효과적이지 않다는 증거입니다. 그리고 아마도 가장 중요한 것은 교육이 효과적인지 여부를 확인하는 장소가 거의 없다는 것입니다: 취약점이 더 빨리 해결되고 있습니까? 코드에서 취약점이 줄어들고 있습니까? 사람들이 실제로 교육을 완료했습니까, 아니면 그냥 "다음"을 클릭하여 완료했습니까?

개발자는 바쁜 사람들, 엄격한 마감에 전달하기 위해 열심히 노력. 보안은 많은 시간 동안 불편하며 사이버 위험을 성공적으로 완화하기 위해 교육 중에 지식을 갖추는 경우는 거의 없습니다. "보안"이라는 단어는 일반적으로 AppSec 팀의 구성원이 작업의 결함을 지적하여 다소 춥고 기능 장애가 있는 관계를 만들 때 나옵니다. "당신의 아기는 못생겼다; 고쳐보시면 시나리오를 수정해 보시고 있습니다.

이것은 우리에게 무엇을 말해 줄까요? 그것은 우리가 보안에 개발자를 이기기에 충분히 하지 않는 수십 년 된 붉은 깃발; 그들은 책임을 지도록 동기를 부여받지 않으며, 기능적이면서도 보안 모범 사례를 염두에 두고 만든 소프트웨어를 만드는 데 필요한 도구를 추구하지 않습니다.

개발자는 영리하고 창의적이며 문제를 해결하는 것을 좋아합니다. 보안 취약점에 대한 끝없는 비디오를 보는 것이 그들을 흥분시킬 것 같지 않거나 계속 참여할 수 있도록 도울 가능성은 거의 없습니다. SANS 강사로 일하던 시절, 저는 최고의 훈련이 실습이라는 것을 매우 빠르게 배웠고, 뇌를 테스트하고 사전 학습을 구축하는 실제 예제를 사용하여 지적으로 분석하고 도전하도록 강요했습니다. 게임화와 친근한 경쟁은 또한 응용 분야에서 유용하고 실용적인 유지하면서, 새로운 개념으로 모든 사람을 얻을 수있는 강력한 도구입니다.

NIST의 지침은 "개발 보안에 기여하는 책임을 가진 역할의 모든 직원에게 역할별 교육을 제공합니다. 역할별 교육을 주기적으로 검토하고 필요에 따라 업데이트할 수 있습니다." 그리고 나중에: "사이버 보안 직원, 보안 챔피언, 고위 경영진, 소프트웨어 개발자, 제품 소유자 및 SDLC에 관련된 다른 사람에 대한 역할과 책임을 정의합니다."

이 문은 교육 유형에 대해 구체적으로 밝히지는 않지만 여전히 조직을 왼쪽으로 이동하고 보안 모범 사례를 염두에 두는 데 도움이 됩니다. 효과적이고 구체적인 교육 솔루션을 회사에 다시 찾는 데 어려움을 초래하고 있으며, 이로 인해 개발자가 성공할 수 있는 올바른 도구와 지식으로 무장하게 될 것입니다.

문화: 누락된 링크입니다.

조직이 개발자와 다른 핵심 직원을 교육하는 데 시간과 자원을 투입하고 취약점을 방지하고 보안 위험을 줄이는 데 중점을 두더라도 조직의 보안 문화가 근본적으로 깨지면 노력이 낭비될 수 있습니다.

개인이 효과적으로 훈련을 받을 때, 목표 설정과 기대치가 명확해지면 보안 환경에서 자신의 위치를 이해하고 적절한 경우 책임을 지는 것이 훨씬 쉬워집니다. 특히 개발자의 경우 처음부터 보안 코드를 작성하는 도구와 지식이 제공됩니다. 그러나 이중 처리, 손가락 포인팅 및 사일로 프로젝트 작업이 덜 있는 긍정적인 보안 환경에서 는 가장 잘 조율됩니다.

보안은 크고 안전한 소프트웨어를 제공하기 위한 지원적이고 협력적인 노력과 함께 전체 조직에 앞장져야 합니다. 이는 예산이 실제 코드 취약점을 활용하는 재미있고 매력적인 교육을 출시하기에 충분하며, 조직 전체에 걸쳐 구매하여 모멘텀을 유지할 수 있습니다. 끊임없이 진화하는 디지털 환경에서 교육은 배달만큼 이나 지속되어야 합니다. 과거에 "일회성" 또는 "설정 및 잊어버리기" 규정 준수 교육이 적절하거나 효과적이라는 말을 들었다면 이는 오류입니다.

이 새로운 NIST 프레임워크는 긍정적인 보안 문화를 육성하기 위한 요구 사항을 구체적으로 명확히 밝히지는 않지만, 가이드라인을 성공적으로 준수하려면 반드시 필요한 것이 가장 중요합니다. 그러나 조직은 "개발자가 따라야 할 보안 코딩 관행을 포함하여 조직의 소프트웨어가 충족할 보안 요구 사항을 지정하는 정책을 정의"해야 합니다.

위의 기능은 팀 내에서 보안 기술을 확장하고 연마하는 데 매우 중요하며, 자체 정책 및 현재 AppSec 기후를 평가할 때 다음을 고려하는 것이 도움이 될 수 있습니다.

  • 소프트웨어 보안 지침과 기대치가 명확하게 정의되어 있습니까?
  • 모두가 그들이 그들을 달성하는 데 에서 역할을 명확히?
  • 교육이 빈번하고 평가되는가?
  • 개발자는 일반적인 보안 버그가 발생하기 전에 제거할 때 할 수 있는 막대한 역할을 인식하고 있습니까?

지금, 그 마지막 부분은, 내가 말했듯이, 주로 조직과 그들이 선택하는 교육에 달려 있습니다. 그것은 관련이 있어야합니다, 그것은 자주해야합니다, 그것은 참여해야합니다. 일상 업무에 적용할 수 있는 솔루션을 찾고 문맥적으로 지식을 구축할 수 있습니다.

이번엔 또 뭐예요?

이러한 새로운 지침에 대한 심층 조사는 상당히 압도적 일 것입니다. 대부분의 기업이 가장 안전한 방법으로 필요한 철옷을 입은 보안 소프트웨어를 만들고, 검증하고, 배포하는 데 는 마을이 필요합니다. 그것은 단지 훈련에 관한 것이 아닙니다. 타사 소프트웨어를 사용할 때 고려해야 할 지침이있습니다(알려진 취약점이 있는 구성 요소를 사용하여 결국 OWASP Top 10에위치함), 확인, 침투 테스트 및 코드 검토에 대한 제안뿐만 아니라 보안 기록 보관, 적절한 도구 체인 및 기타 모든 것에 대한 지침이 있습니다. 전체 그림에 대한 실행 가능한 통찰력은 NIST의 문서를 통해 참조되는 게리 맥그로 박사의 BSIMM 모델에서찾을 수 있습니다.

그러나 개발자가 처음부터 보안 소프트웨어를 구축하는 데 성공할 수 있는 올바른 도구와 지식에 힘을 실어주면 가장 빠른 승리를 거둘 수 있습니다. SDLC의 후반 단계에서 몇 번이고 몇 번이고 일반적인 취약점이 나타나는 것을 막기 위해 비즈니스(전체적으로 더 빠름)가 저렴합니다. 자신의 강점을 재생하고 조직의 보안 측면에 참여하는 인센티브를 제공합니다. 정말 재미있을 수 있으며, 악당을 안전하게 유지하는 데 필요한 바로 시간 별 영웅이 될 수 있습니다.

참조:

  1. SSDF(2019년 6월 11일) 2페이지(2019년 6월 11일)를 채택하여 소프트웨어 취약점의 위험을 완화합니다.
  2. SSDF(2019년 6월 11일) 5페이지)를채택하여 소프트웨어 취약점의 위험을 완화합니다.
  3. SSDF(2019년 6월 11일) 4페이지(6월11일)를 채택하여 소프트웨어 취약점의 위험을 완화합니다.

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

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