ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Q. Secure SDLC란?
    정보처리기사 2023. 4. 18. 23:22

    Q. Secure SDLC란 무엇인가요?

    A. Secure SDLC(Software Development Life Cycle)는 소프트웨어 개발 과정 전반에 걸쳐 보안을 강조하고 적용하는 접근 방식입니다. 목표는 개발 초기 단계부터 보안을 고려하여 시스템 내 취약점을 최소화하고, 소프트웨어가 안전하게 배포되도록 하는 것입니다.

     

    Q. Secure SDLC의 주요 단계는?

    • 요구사항 분석: 보안 요구사항을 정의하고 이를 프로젝트 초기 단계부터 고려합니다. 이를 통해 시스템 내 보안 취약점을 사전에 예방할 수 있습니다.
    • 설계: 소프트웨어의 설계 과정에서 보안 관점을 고려하여 안전한 시스템 아키텍처를 구축합니다. 데이터 분류, 암호화, 접근 제어 등을 설계 단계에서 고려해야 합니다.
    • 구현: 개발자는 보안 코딩 가이드라인을 따라 안전한 코드를 작성합니다. 이를 통해 공격자가 악용할 수 있는 취약점을 줄일 수 있습니다.
    • 테스트: 테스트 단계에서는 정적 및 동적 보안 테스트, 펜 테스트, 코드 리뷰 등 다양한 방식으로 소프트웨어의 보안 취약점을 찾아내고 수정합니다.
    • 배포 및 유지 보수: 소프트웨어를 안전하게 배포한 후, 지속적인 보안 업데이트와 패치를 적용하여 시스템의 보안 상태를 유지합니다. 이 과정에서 발견되는 취약점은 즉시 수정되어야 합니다.

     

    Q. Secure SDLC의 대표적인 방법론은?

    A. Secure SDLC의 대표적인 방법론 중 하나는 Microsoft에서 개발한 Security Development Lifecycle (SDL)입니다. SDL은 소프트웨어 개발 과정에서 보안 취약점을 줄이기 위한 일련의 보안 활동을 포함합니다.

     

    Q. 소프트웨어 개발 보안 요소는 어떤 것들이 있나요?

    기밀성(Confidentiality): 기밀성은 정보의 접근이 허가된 사용자에게만 허용되도록 보장하는 것입니다. 암호화, 접근 제어 목록, 인증 기능 등을 사용하여 데이터의 기밀성을 보호할 수 있습니다. 기밀성은 데이터를 보호하고, 민감한 정보가 무단으로 유출되는 것을 방지하는 데 중요합니다.

    무결성(Integrity): 무결성은 데이터가 정확하고 완전한 상태로 유지되는 것을 보장하는 것입니다. 무결성을 유지하려면 데이터가 권한이 없는 사용자나 시스템에 의해 수정, 삭제 또는 손상되지 않도록 해야 합니다. 데이터 무결성을 보장하기 위한 기술에는 디지털 서명, 해시 함수, 변경 감지 등이 있습니다.

    가용성(Availability): 가용성은 시스템 및 데이터가 필요한 경우 언제든지 사용 가능한 상태를 유지하는 것입니다. 가용성을 보장하기 위해 시스템의 성능, 안정성, 로드 밸런싱, 백업 등 여러 요소를 고려해야 합니다. 가용성은 시스템이 정상적으로 작동하고, 사용자가 필요한 정보에 접근할 수 있도록 하는 데 중요합니다.

    인증(Authentication): 인증은 사용자의 신원을 확인하는 과정으로, 시스템이 사용자가 자신이 주장하는 대로 누구인지를 확인할 수 있도록 합니다. 인증 방법에는 암호, 토큰, 생체 인식 등이 포함됩니다. 인증은 시스템에 액세스하는 사용자의 권한을 제어하고, 무단 액세스를 방지하는 데 중요합니다.

    부인방지(Non-repudiation): 부인방지는 사용자가 특정 행위나 이벤트에 대한 책임을 부인하는 것을 방지하는 것입니다. 이를 위해 디지털 서명, 감사 로그, 타임스탬프 등의 기술을 사용하여 사용자의 행동을 추적하고 기록합니다. 부인방지는 사용자의 행위에 대한 책임을 확실히 하여, 법적 쟁점이나 분쟁이나 분쟁 해결에 도움을 주는 데 중요합니다.

     

    Q. 시큐어 코딩(Secure Coding)이란?

    A. 시큐어 코딩(Secure Coding)은 프로그래밍을 할 때 보안 취약점을 최소화하고, 안전한 코드를 작성하기 위해 따르는 일련의 원칙과 가이드라인입니다. 시큐어 코딩의 목표는 공격자가 악용할 수 있는 취약점이 포함된 소프트웨어를 방지하고, 시스템의 보안을 높이는 것입니다.

Designed by Tistory.