응용 프로그램 보안 전문가로서 조직의 응용 프로그램의 사이버 안전을 보장하는 것이 귀하의 임무입니다. 그러나 응용 프로그램에서 실행되는 코드를 작성할 책임은 없습니다. 개발 팀 내의 엔지니어는 다음과 같습니다. 그렇다면 보안을 염두에 두고 이러한 시스템을 개발하고 있는지 어떻게 해야 할까요?
대부분의 경우 다음 중 일부 또는 전부를 수행할 수 있습니다.
보안 결함에 대한 모든 코드를 검토하고 이를 개발 팀에 다시 보고하여 수정합니다. 보안 개발 수명 주기 전반에 걸쳐 엄격한 동료 검토 프로세스를 적용합니다. 정기적인 응용 프로그램 assessment /내부 또는 외부 보안 팀에 의해 수행 되는 침투 테스트. 취약점을 포착하기 위해 검색 도구를 구현합니다. 이들은 훌륭한 모범 사례입니다, 그러나 그(것)들은 또한 비싸고 당신이 아프게 될 때마다 항생제의 라운드를 취하는 것과 유사합니다. 뿐만 아니라 높은 비용으로 제공 합니까, 그것은 효능을 잃고 시간이 지남에 따라 면역 체계를 약화시킬 수 있습니다.
개발자가 제공하는 코드를 처음부터 안전하게 작성하려면 어떻게 해야 합니까? 보안을 통해 코딩을 통해 사람들이 배우는 방법을 먼저 생각해 보십시오. 우리 대부분은 시각 학습자이며, 우리는 일을 통해 배운다. 그러나 보안 코드 교육은 종종 '체크 더 박스' 활동으로 제공되며 개발자의 일상 업무와 는 관련이 없습니다. 개발자가 업계 표준을 준수하기 위해 보안 교육을 자주 받았으며 개발자가 학습 과정을 즐기는 것은 물론 실제로 이러한 지식을 보유하는 것이 아니라 보안 교육을 받았다는 것을 증명하기 위해 고안되었습니다.
인간이 배우는 경향이 있는 또 다른 방법은 우리의 면역 계통이 하는 것과 같은 방식으로 우리의 실수를 통해입니다. T 세포는 그들이 과거에 발생하고 성공적으로 근절 한 병원균의 종류를 기억, 그래서 그들은 미래에 그들에 대해 보호 할 수 있습니다. 이것은 개발자가 보안 SDLC에서 수행해야 하는 역할입니다.
실수를 하지 않기를 기대하는 것은 비현실적이지만, 향후 보안 취약점으로 이어질 코딩 패턴을 인식할 수 있는 방식으로 준비할 수 있습니다.
이는 강력한 피어 검토 프로세스가 매우 강력해지는 방식이기도 합니다. 한 개발자가 보안 결함을 알아차리지 못한다고 해서 다른 개발자가 그렇지 않다는 의미는 아닙니다. 그리고 개발 팀이 전반적으로 더 잘 훈련될수록 더 많은 취약점이 트랙에 걸려 생산되지 않을 것입니다.
소프트웨어 취약점은 병원균과 같습니다. 소프트웨어 취약점은 병원균과 같아서 그들과 싸우기 위해 이를 기억해야 한다는 의미입니다. 병원균으로, 우리의 면역 계통은 가혹한 질병 또는 더 나쁜 피하기 위하여 그것을 싸우는 방법을 기억하기 전에 수시로 여러 번 드러워야 합니다.
취약한 소프트웨어의 성공적인 사이버 공격은 조직을 심각하게 무력화하거나 죽일 수 있습니다. 그러나 개발자가 제어된 환경에서 먼저 소프트웨어 취약점을 도입하는 경우 보안 코딩 지식과 기술을 늘리고 정기적으로 연습하여 위협에 대한 면역을 구축하기 위해 노력할 수 있습니다.
제어된 환경에서 개발자를 보안 결함에 노출 우리는 아프지 않도록 완전히 보호할 수는 없지만 면역 체계를 강화하고 가능한 한 건강하게 유지하기 위해 할 수 있는 일들이 있습니다. 규칙적인 운동, 건강한 식사 및 충분한 수면과 같은 것들은 일반적으로 강한 면역 체계와 관련된 라이프 스타일 선택 사이에 있습니다. 그러나 이러한 모든 것들은 약간의 노력이 필요하며 계속되어야합니다. 일주일 동안 매일 조깅을 하거나 한 달 동안 술을 마시면 전반적인 건강에 흠집이 날 것입니다. 그것은 또한 나가서 우리가 실행 걸릴 첫 날 10k를 실행하는 것이 좋습니다. 우리는 먼저 운동에 우리의 마음과 근육을 노출해야합니다. 우리는 또한 우리가 우리의 몸과 우리가 사랑하는 건강한 음식과 운동에 대한 좋은 균형을 찾을 때까지 실험의 비트를 가지고 있다는 것을 알고있다.
소프트웨어 개발 보안에 관해서는 그렇게 다르지 않습니다. 학습은 시간이 지남에 따라 연습과 함께 발생하며 개발자는 정기적으로 안전한 코딩 기술을 향상시키기 위해 동일한 진행 교육이 필요합니다. 물론 소프트웨어 개발은 항상 진화하고 적응하고 있으며, 이는 취약점도 마찬가지입니다. 그래서 간단한 교육 과정만으로는 충분하지 않습니다. 개발자는 잠재적인 위협에 충분히 익숙해지기 위해서는 정기적인 업스킬링이 필요합니다.
개발 팀 내에서 무리 면역을 달성하는 것을 목표로 한 사람이 모든 보안 문제를 방지할 수 없습니다. 팀에 보안 챔피언이 있는 것은 좋지만, 최상의 보호를 위해 보안 취약점에 대해 알게 된 사람들이 많을수록 조직이 이를 예방할 수 있는 더 나은 기회를 얻을 수 있습니다. 다시 그것은 면역 체계가 다른 목적을 위해 T 세포의 다른 모형이 있는 방법보다는 별로 다르지 않습니다. 모든 개발자는 보안을 보장하는 팀의 일부입니다. 그들이 책임을 지고, 잘 하고, 심지어 그것을 즐기는 능력이 있다면, 결과적으로 개발 팀 내에서 사이버 위협에 대한 무리 면역을 만들 수 있습니다.
반복 노출로 보안 상단 유지 우리의 뇌는 우리의 면역 계통이 작동하는 것과 유사한 방식으로 배웁니다. 독일의 심리학자 헤르만 에빙하우스는 기억과 학습 분야의 선구자였습니다. 그는 학습이 시간이 지남에 따라 여러 학습 세션으로 이루어야 한다고 추론했습니다. 우리가 학교에 있을 때, 우리는 첫 번째 소개 후에 새로운 지식을 유지할 것으로 예상되지 않습니다. 먼저 정보가 우리에게 제시되고, 우리는 지침으로 그것을 연습한 다음 스스로 연습합니다. 그리고 시험에 합격할 수 있을 만큼 충분히 배운 후에도, 우리가 배우는 데 시간과 노력을 기울인 지식을 정기적으로 사용하지 않는다면 정보는 곧 잊혀지는 경향이 있습니다. 우리 중 얼마나 많은 사람들이 고등학교 프랑스어를 기억해야 한다는 것을 기억할 수 있습니까?
그렇다면 슬라이드를 보고 누군가보안에 대해 이야기하는 하루를 하면 실제로 출석 하는 개발자가 보다 안전하게 코딩될 수 있다고 어떻게 믿을 수 있을까요?
반복되는 취약점의 패턴은 이것이 단순히 작동하지 않는다는 것을 보여줍니다.
안전한 개발 면역을 어떻게 달성할 수 있습니까? 그 해답은 우리의 본성에 있습니다. 우리의 몸과 마음은 똑같이 작동하며, 우리가 그들과 함께 일하고 그들에 반대하지 않는 한, 그들은 문제에 대한 아름다운 해결책을 제공합니다.
응용 프로그램이 안전한지 확인하려면 개발자를 업스킬링하여 보안 코드를 작성해야 합니다. 그렇지 않으면 AppSec은 보안 결함에 대한 모든 코드를 검토하고 동일한 반복 취약점을 다시 개발로 보고하여 학습된 것이 없는 것으로 신속하게 수정되는 데 모든 시간을 할애할 것입니다. 그리고 다음 릴리스를 위해 모든 것을 다시 수행합니다.
그래서 반복하자.
이를 위해 개발 관리자와 협력하는 경우 보안 SDLC를 구현하고 규정 준수 상자에 대한 보안 교육 요구 사항을 체크할 뿐만 아니라 개발 프로세스에 실제 적인 영향을 줄 수 있습니다. 이 모든 것의 상단에 체리를 넣어, AppSec는 더 이상 발생하지 않습니다 및 다시 개발 팀에 반복 취약점을보고하고 개발자는 그들을 해결하는 데 적은 시간을 할애합니다. 즉, 세상을 더 좋게 만드는 놀라운 소프트웨어를 만들고 개선하는 데 더 많은 시간을 할애할 수 있습니다.
개발 팀을 업스킬할 준비가 되셨습니까? 가서 우리와 함께 데모를 예약합니다.