애플리케이션 보안

(웹 응용프로그램 보안에서 리디렉션됨)

애플리케이션 보안(짧은 AppSec)에는 안전한 소프트웨어 개발 라이프사이클을 개발 팀에 도입하는 모든 작업이 포함된다. 그것의 최종 목표는 보안 관행을 개선하고, 이를 통해 응용프로그램 내에서 보안 문제를 찾고, 수정하고, 가급적 방지하는 것이다. 요구사항 분석, 설계, 구현, 검증 및 유지보수의 전체 애플리케이션 수명주기를 포함한다.[1]

접근

다른 접근방식은 응용프로그램에 숨어 있는 보안 취약성의 다른 하위 집합을 발견하며 소프트웨어 라이프사이클의 다른 시간에 가장 효과적이다. 그것들은 각각 발견된 시간, 노력, 비용 및 취약성의 서로 다른 트레이드오프를 나타낸다.

  • 설계 검토. 코드가 작성되기 전에 애플리케이션의 아키텍처와 설계는 보안 문제를 검토할 수 있다. 이 단계에서 공통적인 기법은 위협 모델을 만드는 것이다.
  • 화이트박스 보안 검토 또는 코드 검토 소스 코드를 수동으로 검토하고 보안 결함을 파악하여 애플리케이션을 깊이 이해하는 보안 엔지니어다. 응용 프로그램 고유의 응용 프로그램 취약점을 이해하면 찾을 수 있다.
  • 블랙박스 보안 감사. 이는 보안 취약성에 대해 테스트하는 응용프로그램을 통해서만 가능하며, 소스 코드가 필요하지 않다.
  • 자동화된 툴링. 많은 보안 툴은 개발 또는 테스트 환경에 포함시킴으로써 자동화할 수 있다. 그 예로는 코드 편집기 또는 CI/CD 플랫폼에 통합된 자동 DAST/SAST 도구가 있다.
  • 조정된 취약성 플랫폼. 이는 많은 웹사이트와 소프트웨어 개발자들이 제공하는 해커가 제공하는 애플리케이션 보안 솔루션으로, 개인이 버그 보고에 대한 인식과 보상을 받을 수 있다.

웹 응용 프로그램 보안

웹 응용 프로그램 보안은 사이트, 웹 응용 프로그램 및 웹 서비스의 보안을 구체적으로 다루는 정보 보안의 한 분야다. 웹 응용 프로그램 보안은 높은 수준에서 응용 프로그램 보안의 원리를 이용하지만 인터넷과 웹 시스템에 특별히 적용한다.[2][3]

웹 응용 프로그램 보안 도구는 HTTP 트래픽(예: 웹 응용 프로그램 방화벽)으로 작업하기 위한 특수 도구다.

보안 위협

OWASP(Open Web Application Security Project)는 무료 및 개방형 리소스를 제공한다. OWASP 재단이라는 비영리단체가 이끌고 있다. OWASP TOP 10 - 2017은 40개 이상의 파트너 기관에서 수집한 종합 데이터를 바탕으로 최근 발표된 연구 결과물이다. 이 데이터로부터 약 230만 개의 취약성이 50,000개 이상의 애플리케이션에서 발견되었다.[4] OWASP TOP 10 - 2017에 따르면, 가장 중요한 웹 애플리케이션 보안 위험 10가지에는 [5]다음이 포함된다.

  1. 주사
  2. 인증 실패
  3. 민감한 데이터 노출
  4. XML 외부 엔티티(XXE)
  5. 액세스 제어 실패
  6. 보안 구성이 잘못됨
  7. 사이트 간 스크립팅(XSS)
  8. 불안정 탈직렬화
  9. 알려진 취약성이 있는 구성 요소 사용
  10. 로깅 및 모니터링 부족

보안 테스트를 위한 툴링

보안 테스트 기법은 응용프로그램의 취약성 또는 보안 결함을 조사한다. 이러한 취약성으로 인해 응용프로그램이 악용될 수 있다. 이상적으로는 취약성을 적시에 철저하게 해결할 수 있도록 전체 소프트웨어 개발 수명 주기(SDLC)에 걸쳐 보안 시험이 구현된다.

응용 프로그램의 취약점을 식별하기 위한 자동화 툴에는 여러 종류가 있다. 응용 프로그램 취약성을 식별하는 데 사용되는 일반적인 도구 범주는 다음과 같다.

  • SAST(Static Application Security Testing)는 응용 프로그램 개발 중에 보안 취약성을 위해 소스 코드를 분석한다. DAST에 비해 SAST는 응용 프로그램이 실행 가능한 상태에 있기 전에도 활용할 수 있다. SAST는 전체 소스 코드에 접근할 수 있으므로 화이트박스 접근방식이다. 이것은 더 자세한 결과를 산출할 수 있지만 수동으로 검증해야 하는 많은 잘못된 긍정을 초래할 수 있다.
  • DAST(Dynamic Application Security Testing, 흔히 취약성 스캐너라고 함)는 웹 사이트를 탐색하고 분석하여 취약성을 자동으로 탐지한다. 이 방법은 확장성이 뛰어나고 통합이 용이하며 신속하다. DAST 도구는 주입 결함과 같은 낮은 수준의 공격을 처리하는 데 적합하지만 논리 또는 비즈니스 논리 결함과 같은 높은 수준의 결함을 탐지하는 데는 적합하지 않다.[6] 솜털,[7] 공구는 일반적으로 입력 테스트에 사용된다.
  • IAST(Interactive Application Security Testing)는 소프트웨어 계측기를 사용하여 내부에서 애플리케이션을 평가한다. 이것은 SAST와 DAST 방법의 장점뿐만 아니라 코드, HTTP 트래픽, 라이브러리 정보, 백엔드 연결 및 구성 정보에 대한 액세스를 제공한다.[8] [9] 일부 IAST 제품은 애플리케이션을 공격해야 하는 반면, 다른 제품은 정상적인 품질 보증 테스트 중에 사용할 수 있다.[10][promotional source?][11][promotional source?]
  • 런타임 애플리케이션 자체 보호는 기존 애플리케이션을 강화하여 애플리케이션 런타임 내에서 침입 탐지 및 차단 기능을 제공한다.
  • 종속성 스캐너(Software Composition Analysis라고도 함)는 취약성이 알려진 소프트웨어 구성 요소의 사용을 탐지하려고 시도한다. 이러한 도구는 소스코드 구축 프로세스와 같은 온디맨드 방식으로 작동하거나 주기적으로 작동할 수 있다.
  • 추상화는 더 복잡한 것들을 덜 복잡하게 만드는 생각이다.

보안 표준 및 규정

  • CERT 보안 코드화
  • ISO/IEC 27034-1:2011 정보 기술 - 보안 기술 - 응용프로그램 보안 - 제1부: 개요개념
  • ISO/IEC TR 24772:2013 정보 기술 프로그래밍 언어 언어 선택 사용을 통한 프로그래밍 언어의 취약성 방지 지침
  • NIST 특별 간행물 800-53
  • OWASP ASVS: 웹 애플리케이션 보안 검증 표준[12]

참고 항목

참조

  1. ^ Happe, Andreas (3 June 2021). "What is AppSec anyways?". snikt.net.
  2. ^ "Web Application Security Overview". 2015-10-23.
  3. ^ Shuaibu, Bala Musa; Norwawi, Norita Md; Selamat, Mohd Hasan; Al-Alwani, Abdulkareem (2013-01-17). "Systematic review of web application security development model". Artificial Intelligence Review. 43 (2): 259–276. doi:10.1007/s10462-012-9375-6. ISSN 0269-2821. S2CID 15221613.
  4. ^ Korolov, Maria (Apr 27, 2017). "Latest OWASP Top 10 looks at APIs, web apps: The new OWASP Top 10 list is out, and while most of it remains the same, there are new additions focusing on web applications and APIs". CSO. ProQuest 1892694046.
  5. ^ "OWASP Top 10 - 2017: The Ten Most Critical Web Application Security Risks" (PDF). Open Web Application Security Project. 2017. Retrieved June 30, 2018.
  6. ^ "Web Application Vulnerability Scanners". NIST.
  7. ^ "Fuzzing". OWASP.
  8. ^ Williams, Jeff (2 July 2015). "I Understand SAST and DAST But What is an IAST and Why Does it Matter?". Contrast Security. Retrieved 10 April 2018.
  9. ^ Velasco, Roberto (7 May 2020). "What is IAST? All About Interactive Application Security Testing". Hdiv Security. Retrieved 7 May 2020.
  10. ^ Abezgauz, Irene (February 17, 2014). "Introduction to Interactive Application Security Testing". Quotium.
  11. ^ Rohr, Matthias (November 26, 2015). "IAST: A New Approach For Agile Security Testing". Secodis.
  12. ^ "OWASP Application Security Verification Standard".