오늘날 정보화가 심화되면서 보안 위협의 파괴력은 전례 없는 속도로 커지고 있습니다. 일반적으로 디지털 비즈니스를 확장하고 구축하면 공격 표면이 더 커집니다. 현재와 미래의 보안 위협에 대처하기 위해서는 보안 제품에 대한 전통적인 투자에만 의존하기에는 부족합니다. 보안 제품을 구매하는 것 외에도 보안 인식 제고와 보안 프로세스 구축이 더 중요합니다.
다양한 보안 구축 방안에서 '보안 역량 우선'은 대세다. 기초가 불안정하고 벽이 약하고 바닥이 무너진 집이 완공 후에도 기둥 몇 개만으로 지탱할 수 없듯이, 안전한 개발 프로세스를 적용하지 않으면 향후 운영에 허점이 생길 수밖에 없습니다. .
우리는 보안 개발 관행에 다음과 같은 5가지 중요한 원칙이 있다고 믿습니다.
1. 보안 교육
보안 기술 교육은 기술 역량 격차를 해소하고 제품 수명 주기의 모든 측면에서 보안을 관리하는 데 중요합니다. 기업은 보안 인식 및 보안 기술 교육에 명시적으로 투자하여 개발자의 안전한 코딩에 대한 인식과 능력을 향상시키고 보안 부서의 권장 사항과 조치를 이해해야 하며 이는 비즈니스 팀과 보안 팀 간의 효율적인 협업에 필수적입니다.
SANS Institute의 보안 상태 보고서에 따르면 2016년 초에 미국에서 조사 대상 기업 샘플의 절반 이상이 보안 교육을 회사의 주요 업무 중 하나로 삼았습니다. 현재까지 안전 교육의 중요성을 이해하고 있는 중국 기업은 소수에 불과하며, 교육 의도를 교육 행동으로 전환할 수 있는 기업은 더욱 적습니다.
2. 안전한 애플리케이션 개발
요즘에는 애플리케이션 보안이 기업의 폭넓은 관심을 받고 있습니다. 개발의 보안을 보장하기 위해서는 두 가지 중요한 실질적인 방법이 있습니다:
(1) 보안 중심의 프로세스 프레임워크를 사용합니다.
(2) 보안 팀 피드백을 개발자 워크플로우에 통합하고 각 반복에 대한 데모 검토를 수행합니다.
프로세스 프레임워크에 관해서는 모범 사례, 소프트웨어 라이브러리, 표준 및 조직의 산업별 규정을 기반으로 입증되고 적절한 보안 중심 프레임워크를 선택하는 것이 가장 좋다고 믿습니다. 다음 두 가지 잘 알려진 프레임워크는 개발 조직을 안내하고 적용 가능한 리소스를 제공하는 규칙, 기술 및 프로세스의 모음입니다. 서로 다른 우려사항이 있지만 모두 근본적으로 안전을 지향합니다.
Microsoft SDL(Security Development Lifecycle) : 이 프로세스는 기존 DevOps 환경에 잘 맞으며 전체적으로 보안을 잘 통합하는 보다 일반적인 구조를 제공합니다. 경험상 특정 코드 유형이나 운영 환경에 국한되지 않습니다.
오픈 소스 웹 애플리케이션 보안 프로젝트(OWASP): 이 커뮤니티 웹사이트는 보안 웹 애플리케이션 개발 및 탐지를 위한 모범 사례 지침은 물론 취약점, 관련 영향 및 위험에 대한 데이터를 제공합니다.
기업은 보안 팀을 개발 프로세스에 적극적으로 참여시켜 초기에 피드백을 받고 개발 워크플로 및 반복적인 프로토타입 데모 전반에 걸쳐 보안 팀을 참여시켜야 합니다. 이것의 이점은 팀이 개발 단계에서 보안 위험을 동시에 해결하여 개발 프로세스에 비용이 많이 드는 위험을 도입하는 것을 방지할 수 있다는 것입니다.
개발 단계에 비해 제품 운영 및 유지 관리 단계에서 위험을 제거하는 데 드는 비용은 최소 수십 배 이상 높을 것입니다. 그러나 많은 개발 팀은 보안 팀과 협력하는 것을 꺼려합니다. 궁극적으로 보안 기반 개발 워크플로는 전체 보안 전략에서 큰 이점이 될 것입니다.
3. Security+DevOps=DevSecOps
DevSecOps는 보안을 DevOps 워크플로에 완전히 통합하여 통합 프로세스를 만드는 새로운 트렌드입니다. DevOps가 개발과 운영, 유지보수 문제를 동시에 해결하기 위해 제안된 것처럼, 이제는 보안 문제도 동시에 해결해야 합니다.
Security + DevOp
또는 DevSecOps
에는 보안 요소를 포함하도록 각 단계의 작업 내용을 확장할 뿐만 아니라 다음을 보장하기 위한 여러 단계, 부서 간 교육도 포함됩니다. 위험을 줄이기 위해 코드 시간을 개발할 때. Security + DevOp
或者DevSecOps
不仅涉及扩展每个阶段的工作内容以包含安全要素,而且还包括跨阶段,跨部门的培训,以便在开发代码时降低风险。
4、应用安全测试(AST)
持续测试非常重要,应用程序安全测试(AST)工具应该成为每个开发人员工具链的一个必备的组成部分。现在有很多优秀的工具,包括开源工具。在考虑应用程序安全测试工具时,最好预先确定要使用的工具集,以便优化代码检测的步骤和流程。否则,工具可能无法完整且高效地检测代码。
AST工具分为几个基本的类别:
(1)静态应用程序安全测试(SAST)
(2)动态应用程序安全测试(DAST)
(3)交互式应用程序安全测试(IAST)
Gartner在2017年的报告指出,“大多数开发应用程序的企业都已经采用了某种形式的AST,但不同的技术在成熟度上有所不同。DAST
和SAST
4. 애플리케이션 보안 테스트(AST)
지속적인 테스트는 매우 중요하며 AST(애플리케이션 보안 테스트) 도구는 모든 개발자의 도구 체인에서 필수적인 부분이 되어야 합니다. 오늘날 오픈 소스 도구를 포함하여 훌륭한 도구가 많이 있습니다. 애플리케이션 보안 테스트 도구를 고려할 때 코드 계측을 위한 단계와 프로세스를 최적화하기 위해 사용할 도구 세트를 미리 결정하는 것이 좋습니다. 그렇지 않으면 도구가 코드를 완전하고 효율적으로 계측하지 못할 수도 있습니다. 🎜🎜AST 도구는 여러 기본 범주로 나뉩니다. 🎜🎜 (1) 정적 애플리케이션 보안 테스트(SAST) 🎜🎜 (2) 동적 애플리케이션 보안 테스트(DAST) 🎜🎜 (3) 대화형 애플리케이션 보안 테스트(IAST) 🎜🎜Gartner 2017년에 보고된 바에 따르면 "애플리케이션을 개발하는 대부분의 기업은 어떤 형태로든 AST를 채택했지만 기술마다 성숙도가 다릅니다.DAST
및 SAST
는 현재 가장 널리 사용되는 제품 유형이지만, IAST에 대한 시장 수요는 빠른 성장을 보이고 있습니다.”🎜🎜🎜5. 지속적인 모니터링 및 분석🎜🎜지속적인 모니터링 및 분석은 운영 및 유지 관리 단계에서 애플리케이션을 보호하는 데 도움이 됩니다. 모니터링을 통해 지속적인 피드백을 받고 이를 개발 프로세스에 다시 반영합니다. 운영 및 유지 관리 단계를 모니터링하고 분석하는 것은 기업에 귀중한 정보와 데이터를 제공하고 잠재적인 허점을 차단하고 잠재적인 위험을 줄이는 데 도움이 되는 기본적인 상식 작업입니다.
개발 보안 없이 운영 및 유지 관리 단계의 보안을 달성할 수 없듯이, 운영 및 유지 관리 보안과 별개로 개발 보안도 달성할 수 없습니다. 피드백 메커니즘이 없는 프로세스는 확실히 좋은 프로세스가 아닙니다.
추천 관련 기사: 웹 보안 튜토리얼
위 내용은 안전한 개발 실천 원칙의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!