WIPIVERSE

애플리케이션 보안

애플리케이션 보안(Application Security, AppSec)은 소프트웨어 애플리케이션의 보안 속성을 설계, 구축, 테스트하는 일련의 과정 및 관행을 가리키는 정보 보안 분야의 개념이다. 이 용어는 널리 인정된 정립된 개념으로, 정보 보안 및 사이버 보안 분야에서 폭넓게 사용된다.

애플리케이션 보안은 개발 팀에 안전한 소프트웨어 개발 수명 주기(SDLC)를 도입하는 모든 작업을 포괄한다. 그 최종 목표는 보안 관행을 개선하고, 이를 통해 애플리케이션 내의 보안 문제를 발견하고 수정하며, 가능한 경우 사전에 예방하는 것이다. 애플리케이션 보안은 요구사항 분석, 설계, 구현, 검증, 유지보수에 이르는 애플리케이션의 전체 수명 주기를 아우른다.

애플리케이션 보안의 세부 영역으로는 웹 애플리케이션 보안과 모바일 애플리케이션 보안이 있다. 웹 애플리케이션 보안은 웹사이트, 웹 애플리케이션, 웹 서비스의 보안을 특별히 다루는 정보 보안의 한 분야이다. 모바일 애플리케이션 보안은 iOS 및 Android 애플리케이션의 보안에 중점을 둔다.

애플리케이션 보안에서 활용되는 대표적인 접근 방식은 다음과 같다.

  • 설계 검토(Design Review): 코드가 작성되기 전에 애플리케이션의 아키텍처와 설계를 보안 관점에서 검토하며, 이 단계에서 흔히 위협 모델링(threat modeling)이 수행된다.
  • 화이트박스 테스트 및 코드 검토: 애플리케이션의 내부 구조, 아키텍처, 설계 등을 비판적으로 검토하는 방식이다.
  • 블랙박스 테스트: 내부 구조보다 기능에 초점을 맞춰 테스트하는 방식이다.
  • 자동화 도구 활용: 정적 애플리케이션 보안 테스트(SAST), 동적 애플리케이션 보안 테스트(DAST), 대화형 애플리케이션 보안 테스트(IAST), 소프트웨어 구성 분석(SCA) 등이 대표적이다. 이러한 도구들은 CI/CD 파이프라인이나 개발 환경에 통합되어 자동화될 수 있다.
  • 조정된 취약점 공개 플랫폼(버그 바운티 프로그램): 개인이 버그를 신고하는 대가로 인정과 보상을 받을 수 있는 방식으로, 많은 웹사이트와 소프트웨어 개발사가 활용한다.

애플리케이션 보안 분야에서 국제적으로 널리 참고되는 비영리 단체로는 OWASP(Open Worldwide Application Security Project)가 있다. OWASP는 오픈소스 정보와 자원을 제공하며, 그중 OWASP Top 10은 웹 애플리케이션 보안에서 가장 중요한 위험 요소를 정리한 목록으로 업계의 참고 기준으로 널리 사용된다. OWASP Top 10(2021년 기준)에 포함된 주요 위험으로는 손상된 접근 제어, 암호화 실패, 인젝션, 안전하지 않은 설계, 보안 구성 오류, 취약하거나 오래된 구성 요소, 식별 및 인증 실패, 소프트웨어 및 데이터 무결성 실패, 보안 로깅 및 모니터링 실패, 서버 측 요청 위조(SSRF) 등이 있다.

애플리케이션 보안은 단일한 기술이나 일회성 조치가 아니라 지속적인 프로세스로 이해된다. 최근에는 DevOps의 확장 개념인 DevSecOps를 통해 개발(Dev), 보안(Sec), 운영(Ops) 간의 협업을 촉진하고, 보안을 소프트웨어 개발 수명 주기 전반에 자동화된 방식으로 통합하는 접근이 강조되고 있다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기