소프트웨어 개발 보안은 행정안전부의 시큐어 코딩 가이드라인과 연계된 문제가 자주 출제됩니다. SDLC 각 단계의 보안 활동, 입력 데이터 검증, 보안 취약점 유형을 정확히 이해해야 합니다.
기출 문제 예시: 소프트웨어 개발 생명주기(SDLC)에서 보안 요구사항을 정의하고 위협 모델링을 수행하는 단계는?
해설: 보안은 SDLC 초기 단계부터 내재화해야 합니다(Security by Design). 요구사항/설계 단계에서 보안 요구사항 정의와 위협 모델링(STRIDE 등)을 수행하고, 구현 단계에서 시큐어 코딩, 테스트 단계에서 취약점 점검(SAST/DAST), 유지보수 단계에서 패치 관리를 수행합니다.
기출 문제 예시: 행정안전부 소프트웨어 개발 보안 가이드의 입력 데이터 검증 및 표현 항목에 해당하지 않는 것은?
해설: 행정안전부 시큐어 코딩 가이드는 7개 보안 항목으로 구성됩니다. 입력 데이터 검증 및 표현에는 인젝션(SQL, OS, LDAP), XSS, 경로 조작 등이 포함됩니다. 부적절한 인가는 ‘보안 기능’ 항목에 해당합니다.
7개 보안 항목 암기: 입력 데이터 검증/보안 기능/시간 및 상태/에러처리/코드 오류/캡슐화/API 오용
기출 문제 예시: 이미 해제된 메모리 영역을 다시 참조하는 취약점으로, 임의 코드 실행이나 데이터 손상을 유발할 수 있는 것은?
해설: Use After Free는 동적 메모리 해제(free/delete) 후 해당 포인터를 다시 사용하는 취약점입니다. 해제된 메모리에 공격자가 악성 데이터를 채워놓으면 임의 코드 실행이 가능합니다.
메모리 취약점 종류:
기출 문제 예시: 소스코드를 실행하지 않고 코드 자체를 분석하여 취약점을 탐지하는 방법은?
해설: SAST(Static Application Security Testing)는 코드 실행 없이 소스코드를 분석합니다. 개발 초기에 취약점 발견이 가능하지만 오탐이 많습니다. DAST(Dynamic)는 실행 중인 애플리케이션을 테스트하며 런타임 취약점을 탐지합니다.
SDLC 각 단계의 보안 활동, 행정안전부 7개 보안 항목, 메모리 취약점 유형, SAST/DAST 차이를 중심으로 학습하세요. 실제 개발 경험과 연결 지어 이해하면 암기가 훨씬 쉬워집니다.
클라우드 VPC 보안이란? Virtual Private Cloud(VPC)는 퍼블릭 클라우드 내 격리된 가상 네트워크 환경입니다. 네트워크관리사 시험에서는…
네트워크 성능 측정이란? 네트워크 성능 측정은 SLA 준수 확인, 병목 구간 발견, 용량 계획의 기반입니다.…
네트워크 가상화와 오버레이 네트워크란? 오버레이 네트워크는 물리 네트워크 위에 논리적 네트워크를 구성해 가상 머신·컨테이너 간…
인터넷 교환 지점(IXP)이란? 인터넷 교환 지점(IXP)은 서로 다른 네트워크(AS)가 트래픽을 교환하는 물리적 인프라입니다. 네트워크관리사 시험에서는…
5G 코어와 네트워크 슬라이싱이란? 5G 코어 네트워크는 클라우드 네이티브 아키텍처로 완전히 재설계되었습니다. 네트워크관리사 시험에서는 5G…
플랫폼 엔지니어링이란? 플랫폼 엔지니어링은 개발팀에게 셀프 서비스 인프라와 도구를 제공하는 규율입니다. 내부 개발자 플랫폼(IDP)을 통해…