이 문서의 버전은 DevOps.com에등장; 그것은 다시 제목과 새로운 정보를 포함하도록 업데이트되었습니다.
CISOs와 CIO는 소프트웨어 보안에 대한 책임의 사자 점유율을 취하는 부러운 위치를 가지고 있지만, 특히 당황스러운 회사 데이터 유출의 경우 관련성을 높일 수있는 독특한 기회가 있습니다 : 그들은 새로운 혁신가이며 올바른 접근 방식에 큰 영향을 미칠 수 있습니다. 공공 및 상업 적 모든 조직은 빠르게 디지털화 되는 세계에서 시장 공간을 유지 (그리고 얻을) 싸우고 있다. 고객은 과거와 미래의 제품 모두에서 원활한 온라인 경험을 기대하고 있으며 "디지털 우선" 비즈니스 접근 방식이 필수적입니다. 결국, 이러한 기대를 충족하지 않는 경우, 거의 확실히 기회에 급습 할 준비가 경쟁자가있다.
그렇다면 현대 CISO 또는 CIO에게는 어떤 의미가 있을까요? 당연히, 그것은 그들이 개발자의 팀을 고용하는 것을 의미, 각각은 디지털 제품이나 서비스를 형성하는 코드의 라인 후 라인을 만드는. 사이버 보안은 수년 동안 주요 고려 사항이지만 온라인과 공격자의 시야에서 점점 더 많은 비즈니스 작업이 수행됨에 따라 증가하는 위험 요소입니다. 위반의 의미는 엄청나지만 디지털화를 거부하는 것은 선택 사항이 아닙니다.
크리에이티브 CIS와 CIO는 AppSec 및 개발 팀과 함께 디지털 선물의 경로를 계속 단조할 수 있는 최고의 위치에 있습니다. 그들은 의심 할 여지없이 온라인 비즈니스, 정부 및 공공 서비스의 장기적인 혁신을 형성할 것이지만 빠른 시장 목표, 높은 소프트웨어 품질 및 보안 위험 완화의 균형을 맞추는 데 막대한 책임을 지고 있습니다.
이 균형은 현재까지 파업하기가 대단히 어려웠습니다. 이로 인해 코드에서 만들 수 있는 취약점을 고려하지 않고도 기능과 기능을 제공하는 데 중점을 두고 종종 단편화되는 개발 팀이 있습니다. AppSec 전문가는 지속적으로 같은 실수를 해결, 상대적으로 간단한 뒷문에서 위반의 위협이 큰 열린 직기를 남아있는 동안.
당사의 데이터가 안전하게 유지된다면 CISO와 CIO는 팀이 함께 일하는 방식에 창의적이고, 긍정적인 보안 과 공동 책임문화를 만들어야 합니다. 메리어트가 2018년 위반으로 인해 직면한 치명적인 결과를 살펴보면, GDPR은 1억 2,300만 달러 이상의 GDPR 벌금, 5억 건 이상의 기록, 그리고 너덜너덜한 보안 평판을 볼 수 있습니다. 이 재해는 2016년 메리어트가 인수한 회사인 Starwoods 서버에서 2014년 초에 SQL 주입 취약점이 발견된보안 되지 않은 코딩 관행의 직접적인 결과로 주요 부분에서 발생했습니다. 소프트웨어의 후속 사용은 응용 프로그램 보안 관점에서 명확하게 확인되지 않았습니다. 이로 인해 악의적인 공격자가 데이터에 액세스하고 수집할 수 있는 수년이 지난 반면, 약한 암호와 같은 다른 취약점은 시간이 지남에 따라 악용할 구멍이 더 많이 남았습니다.
CIO와 CIO는 자체 소프트웨어 보안 환경의 상태를 매우 신중하게 고려해야 합니다. 일반 개발자는 보안 에 대해 어떻게 인식합니까? AppSec 및 개발 팀이 얼마나 잘 협력하고 있습니까? "마법의 지팡이"수정은 없지만 문화, 훈련 및 지원이 작업하고 개선 할 수 있습니다. 개발 팀은 조직의 첫 번째 데이터 유출 위험 라인에서 잘못된 코드를 중지하는 보안 슈퍼 히어로로 전환할 수 있습니다.
안전한 코딩 상태 확인: 당신은 생명 유지에 있습니까?
자신의 개발자 팀은 어디에 적합합니까? CIO와 CIO가 개발 팀이 진정으로 안전한 코딩 챔피언이 될 수 있도록 지원하는 이 보안 코딩 검사 목록을 만들어 더 빠르고, 더 좋고 안전한 코드(또는 보안 프로그램 점검이 필요한지 여부에 관계없이)로 혁신하는 데 도움을 줍니다.
1. C-Suite의 나머지 부분에서 얼마나 지지합니까? 그들은 기존의 네트워크 보안이 더 이상 충분하지 않다는 것을 이해합니까?
소프트웨어의 미래에, 오래된 보안 조치를 사용하여 네트워크 계층을 확보하는 것은 단순히 충분하지 않습니다 (그리고, 어쨌든 그것을 직면하자, 거의 성공하지 않습니다) 심지어 반 전문 해커에 대해. 많은 일관된 보고서 중 Verizon의 "2017 데이터 유출 조사 보고서"는오늘날 데이터 유출의 35 %가 웹 응용 프로그램 취약점으로 인해 발생한다고 말합니다.
웹 응용 프로그램 보안은 네트워크 보안만큼이나 중요합니다. 이를 무시하고 AppSec 조치의 기본적이고 기본적인 보호 계층에 대한 예산을 책정하고 주입하지 못하면 위반에 대해 잘 하고 진정으로 개방될 수 있습니다.
2. 왼쪽으로 충분히 이동합니까, 당신은 충분히 일찍 그것을하고 있습니까?
응용 프로그램 보안에 대한 현재의 접근 방식은 매우 도구가 무겁기 때문에 소프트웨어 개발 수명 주기(SDLC)에서 오른쪽에서 왼쪽으로 이동하는 데 중점을 두고 있습니다. 이는 정의와 설계에 따라 프로세스가 결함이 있다는 것을 인정하고 탐지 및 반응 결과를 지원합니다. 보안 팀은 이미 작성된 코드의 취약점을 검색하고 감지하여 제작할 때 버그가 없는지 확인하는 대신 커밋된 코드를 수정하는 데 반응하고 있습니다. 국립 표준 기술 연구소(NIST)에따르면, 그것은 감지 하 고 IDE에 기록 된 대로 그들을 방지 하는 것 보다 커밋된 코드에 취약점을 해결 하는 데 30 배 더 비싼. 이는 생산 지연, 이중 처리 및 동일한 잘 알려진 보안 문제를 반복해서 해결하는 데 소요되는 시간을 고려하지 않습니다.
진정으로 강력한 보안 문화는 개발 팀에게 안전한 코딩 사고 방식을 가지고 성장하고 행동할 수 있는 적절한 도구와 교육을 제공하면서 개발자 집단 내에서 보안 챔피언들에게 영감을 주는 왼쪽을 시작해야 한다고 주장합니다. 지속적인 자기 개발에 초점을 맞추고, 그들은 처음에 발생하는 일반적인 취약점을 방지, 자신의 조직에서 방어의 첫 번째 라인이 될 수 있도록 자신의 문제 해결 근육을 구부리고있다.
3. 실용적인 보안 기술을 구축하기 위해 노력중입니까, 아니면 단방향 지식을 공급하고 있습니까?
대부분의 보안 교육 솔루션(온라인 및 CBT)은 업무와 직접적인 관련이 있는 실용적인 기술 대신 지식을 구축하는 데 중점을 둡니다. 개발자가 번창하고 보안 코드를 작성하려면 실제 환경에서 교육과 기술을 지속적으로 교육하고 개발하도록 적극적으로 장려하는 상황에 맞는 실습 학습에 정기적으로 액세스해야 합니다. 실제 코드 예제를 사용하여 최근에 식별된 취약점에 대해 알아보고 선호하는 언어및 프레임워크에서 작업할 수 있어야 합니다. 이 학습 환경은 작업 과정에서 적극적으로 작업중인 코드에서 알려진 취약점을 찾고 식별하며 수정하는 방법을 이해하는 데 효과적입니다.
많은 지식이 풍부한 교사가 있고 보안 취약점을 해결하는 데 많은 정보가 있지만, 교과서를 통해 엄지 손가락을 치거나 비디오 시간을 시청하는 것은 많은 창의적이고 문제 해결 개발자의 마음을 참여하지 못하며 데이터 유출의 지속적인 흐름이 표시되는 경우 취약점이 코드를 입력하는 것을 방지하는 데 크게 비효율적입니다.
4. 실시간 메트릭으로 보안 코딩 기술을 측정하고 있습니까?
개발 팀 내에서 보안 우선 사고 방식을 구축하는 중요한 단계는 증거를 수집하고 검토하는 것입니다. 개발자는 보안에 신경을 쓰지 않거나 그렇지 않은 가정이나 추측 게임이 되어서는 안 됩니다.
메트릭은 개발자와 조직에 자신의 노력이 성과를 거두고 있으며 개별 보안 코딩 기술이 향상되고 있음을 증명하려고 합니다. 측정할 수 없는 것을 개선할 수 없습니다. 관련 평가가 있어야 하며, 이러한 평가는 개발 팀의 진행 상황을 실시간으로 파악하고 지속적인 개선을 위해 안전한 코딩 강점과 약점을 벤치마킹하는 데 도움이 될 것입니다.
보안 교육은 조직을 위한 "체크 더 박스" 운동이 되는 경우가 많으며, 이 교육이 효과적이거나 참여하거나 심지어 유지되도록 하는 데 중점을 두지 않습니다.
5. 강력한 보안 코딩 기술을 사용하여 아웃소싱 공급업체입니까?
많은 조직이 타사 기관에 개발 작업을 계약하기로 결정합니다. 그들이 온/ 또는 해외에 있든, 그들의 일반적인 안전한 코딩 능력과 관행은 클라이언트에 대한 상대적인 미스터리입니다. 가장 좋은 경우, 조직이 보안과 관련하여 받게 될 유일한 보증 형태는 결과물이 "안전"하도록 요구하는 계약서의 성명서입니다. 이러한 개발 주택의 기술을 미리 검증하기 위한 조치를 취하는 기업은 거의 없으므로 브리핑된 대로 작동하는 소프트웨어가 전달될 위험을 감수하면서도 건전한 보안 코딩 관행을 따르지 않고 구축되었습니다. 더 나쁜 것은, 구매 회사가 응용 프로그램 내에서 고유의 보안 결함을 인식하지 못하는 경우, 그것은 야생으로 취약한 소프트웨어를 보낼 위험이 있습니다.
가장 일반적인 시나리오는 모든 취약점이 전담 보안 전문가(출처가 어렵고 높은 비용으로 오기 어려운 개인)에 의해 포착되는 것입니다. 그러나 스마트한 선불로 다음 응용 프로그램을 빌드하려는 개발자의 응용 프로그램 보안 기술을 평가하는 경우 많은 잠재적 지연, 불만 및 현금을 절약할 수 있습니다.
6. 개발자가 가장 일반적으로 악용되는 보안 약점을 알고 있습니까?
악용된 웹 응용 프로그램 취약점의 85% 이상이 알려진 10개의 취약점"OWASP Top 10에기인합니다. 최소한 응용 프로그램 보안 교육은 더 많은 취약점 유형 외에도 이를 다루어야 합니다. 개발자가 다투는 교육 과제는 새로운 코딩 프레임워크 또는 새로운 취약점 유형에 대한 새로운 과제와 함께 정기적으로 수정 및 업데이트해야 합니다.
실제 보안 코딩 시나리오를 사용하는 정밀 교육이 표준이어야 합니다. 모호한 일반적인 지식은 단순히 효과적이지 않습니다. (이러한 보안 코딩 시나리오가 어떻게 생겼는지 궁금하십니까? 코더 정복 보안 블로그 시리즈를 확인하십시오. 각 게시물에 는 플레이 가능한 도전이 있습니다).
7. 사내 보안 챔피언이 있습니까?
모든 개발자가 많은 조직은 보안 챔피언에 투자해야 합니다" 개발자 팀 내에서 높은 보안 표준을 유지하는 책임을 져야 하는 사람. 그들의 목적은 보안에 관한 질문이있는 모든 사람을위한 지원 지점이 될 뿐만 아니라 보안 모범 사례를 따르는 주요 옹호자가되는 것입니다.
그들은 보안 문화 퍼즐의 중요한 조각이다; 훌륭한 보안 챔피언은 집중적인 훈련에서 기세를 유지하고 팀의 모든 구성원이 필요한 것을 가지고 있는지 확인하고 지원을 계속 옹호 할 수 있습니다.
8. 개발자가 안전한 코딩을 쉽게 할 수 있도록 도구에 투자했습니까?
조직이 민첩한 개발이 수행되는 조직이거나 실제로 회사 가 구축된 응용 프로그램에 대한 빈번한 업데이트에 직면한 경우 보안의 일부를 자동화하는 것이 혈안이 속도와 작업 량을 유지하는 유일한 방법 중 하나입니다.
SDLC의 각 단계에서는 어드바이저, 품질 게이트키퍼 또는 탐지 도구역할을 하는 도구가 있습니다. 또한 일부 도구는 코드를 통해 자동화된 테스트를 실행하여 소프트웨어가 생산되면 해킹 시도를 시뮬레이션합니다. 모든 사람은 고유한 이점과 과제를 가지고 있으며, 응용 프로그램 내에 보안 위협이 존재하지 않는다는 것을 100% 보장할 수 없습니다. 당신이 사용할 수있는 번호를 하나의 예방 조치는 당신이 약점을 캡처 할 수있는 이전, 빠르고 저렴 비즈니스에 최소한의 영향으로 그것을 해결하는 것입니다.
미래 지향적인 CISSo를 위한 다음 단계
그렇다면 조직은 위의 체크리스트에 대해 어떻게 요금을 결제했습니까?
CISOs와 CIO는 본질적으로 엔터프라이즈 DevOps 및 DecSecOps 기능을 적극적으로 구축해야 하지만 팀 간에 올바른 도구와 교육을 고려하고 구현할 시간이 없다는 의미는 아닙니다. 안전한 코딩 기술은 "혁신에 방해가 되지 않는 무기"가 될 것이며, 이를 예견하면 회사 평판과 데이터의 절대적인 파괴를 초래할 수 있습니다. 이러한 기술은 중요한 기능과 취약점을 줄이고 위험을 완화하기 위한 훨씬 저렴한 장기 솔루션을 나타냅니다.
훌륭하고 혁신적인 CISO는 위에서 아래로 건강한 보안 문화를 조율 할 수있는 능력을 가지고 있습니다. 직원들이 보안 모범 사례를 효과적으로 실행하는 데 필요한 사항을 확보하도록 합니다.
피터 단히우스는 보안 전문가이자 공동 창립자입니다. Secure Code Warrior .