디지털 서비스에 의존하거나 민감한 정보를 취급하거나 웹 또는 모바일 플랫폼을 통해 사용자와 상호작용하는 모든 현대 조직에는 강력한 웹 애플리케이션 보안이 매우 중요합니다. 웹 앱은 금융 정보, 개인 건강 기록, 로그인 자격 증명과 같이 가치가 높고 개인적인 데이터를 일상적으로 처리하기 때문에 해커의 주요 표적이 됩니다. 웹을 통해 서비스를 제공하거나 비즈니스를 수행하는 조직에는 고객의 신뢰를 보호하고, 규제 요건을 준수하며, 데이터 유출을 방지하고, 진화하는 사이버 위협 속에서도 비즈니스 운영의 연속성을 보장하기 위해 강력한 웹 앱 보안이 필수적입니다.
웹 앱과 API가 급증하고 있습니다. 현재 일반적인 조직은 226개의 앱과 404개의 API를 관리하며, 여기에 배포 옵션까지 점점 다양해지면서 잠재적인 공격 표면과 방어 측에서 감당해야 할 복잡성이 크게 확대되어 공격자가 취약점을 악용할 기회가 더 많아졌습니다. (F5의 조사에 따르면 조직의 94%가 여러 위치 또는 배포 모델에 걸쳐 앱을 관리합니다).
“강력한 웹 앱 보안 솔루션은 복잡한 애플리케이션 생태계 전반의 보호를 강화하는 동시에 보안 운영을 간소화합니다.”
이 과제의 범위가 광범위한 만큼, 웹 앱 보안 전략은 위험을 기반으로 수립하고 가장 심각하면서도 발생 가능성이 높은 위협에 집중해야 합니다. 이를 위해서는 앱 및/또는 업계를 표적으로 삼을 수 있는 공격 유형을 파악하고, 각 위협이 실제로 발생했을 때 초래할 수 있는 피해 규모를 판단하며, 공격 발생 가능성을 평가해야 합니다. 이 정보를 활용해 보안 리소스를 잠재적 영향이 가장 큰 고위험 문제에 우선적으로 집중하면, 가용한 시간과 예산 내에서 보호 효과를 극대화할 수 있습니다.
다음은 웹 앱 보안을 위한 10가지 주요 모범 사례입니다:
1. 주요 웹 애플리케이션 보안 위험 파악
비영리 단체인 Open Worldwide Application Security Project(OWASP)는 가장 심각한 10대 웹 애플리케이션 보안 위험 목록을 개발했습니다. OWASP Top 10 목록은 개발자, 보안 전문가 및 조직이 웹 애플리케이션 보안 위험을 식별하고 완화하기 위한 활동의 우선순위를 정하는 데 지침이 됩니다.
The OWASP 10대 웹 애플리케이션 보안 위험은 다음과 같습니다:
- 취약한 접근 제어. 접근 제어 및 권한 부여가 제대로 적용되지 않으면 공격자가 권한이 없는 기능이나 데이터에 접근할 수 있으며, 이로 인해 해당 취약점이 발생합니다.
- 암호화 실패. 이 위험은 전송 중이거나 저장된 민감한 데이터가 충분히 보호되지 않을 때 발생합니다. 암호화 실패는 데이터 유출, 기밀 정보에 대한 무단 접근, 데이터 개인정보 보호 규정 미준수로 이어질 수 있습니다.
- 인젝션 공격. 인젝션 취약점은 공격자가 신뢰할 수 없거나 악의적인 데이터를 명령어나 쿼리 언어에 삽입하거나, 애플리케이션이 사용자가 제공한 데이터를 검증, 필터링 또는 정제하지 않아 악성 명령이 의도치 않게 실행될 때 발생합니다.
- 안전하지 않은 설계. 이는 애플리케이션이 본질적으로 안전하지 않은 프로세스에 의존하도록 설계되거나 특정 공격을 방어하는 데 필요한 보안 통제가 구현되지 않아 발생할 수 있는, 보안 통제의 부재 또는 미흡함과 아키텍처상의 결함을 의미합니다.
- 보안 구성 오류. 웹 애플리케이션 프레임워크, 플랫폼, 서버 또는 보안 제어에 대한 보안 강화가 부족하면 무단 액세스, 민감한 정보 노출 또는 기타 보안 취약점으로 이어질 수 있습니다.
- 취약하거나 오래된 구성 요소. 라이브러리, 프레임워크 또는 플러그인과 같이 오래되었거나 패치되지 않았거나 취약한 구성 요소를 사용하면 애플리케이션이 알려진 보안 결함에 노출되어 악용 위험이 커질 수 있습니다.
- 식별 및 인증 실패. 인증, ID 및 세션 관리의 취약점으로 인해 공격자가 사용자 계정, 비밀번호 및 세션 토큰을 탈취하거나 안전하지 않은 세션 처리를 악용할 수 있습니다. 비밀번호 관련 취약점은 이러한 위험의 가장 흔한 원인입니다.
- 소프트웨어 및 데이터 무결성 오류. 이러한 취약점은 데이터와 소프트웨어의 무결성 침해를 방지하지 못하는 애플리케이션 코드와 인프라에서 발생하며, 애플리케이션이 신뢰할 수 없는 출처, 저장소 및 CDN의 플러그인, 소프트웨어 업데이트, 라이브러리 또는 모듈에 의존할 때 발생할 수 있습니다.
- 보안 로깅 및 모니터링 실패. 부적절한 로깅 및 모니터링은 보안 사고를 적시에 탐지하고 대응하는 데 방해가 되어 공격이나 무단 활동을 식별하고 완화하기 어렵게 만들 수 있습니다.
- 서버 측 요청 위조(SSRF). 이러한 취약점은 애플리케이션이 원격 리소스에서 데이터를 가져오기 전에 사용자가 입력한 URL을 검증하거나 정제하지 않을 때 발생하며, 공격자는 방화벽이나 기타 방어 수단으로 보호되는 웹 대상에도 악의적으로 접근할 수 있습니다.
2. 안전한 코딩으로 시작하기
보안 코딩은 보안 모범 사례를 준수하도록 코드를 설계하고 작성하여 악의적인 공격자나 멀웨어의 공격 및 악용에 대한 복원력을 높이는 방식입니다. 코드 보안을 개선하는 가장 효율적이고 효과적인 방법은 보안을 개발 프로세스에 통합하여 나중에 추가하는 것이 아니라 처음부터 애플리케이션에 내재되도록 하는 것입니다. 이렇게 하면 공격자가 실제 운영 환경에서 악용하기 전에 보안 구성 오류나 기타 문제를 프로세스 초기에 발견할 수 있습니다. 또한 보안 코딩은 선제적 방어를 구현하고 제로데이 위협으로부터 보호하는 데 필요한 더욱 강력한 위협 모델링과 자동화를 지원합니다. OWASP 보안 코딩 관행 체크리스트는 코드가 코딩 모범 사례를 준수하는지 확인하는 데 도움이 되는 빠른 참조 가이드입니다.
3. API 보안을 소홀히 하지 마세요
API는 현대적인 애플리케이션 아키텍처에서 핵심적인 역할을 하며, 서로 다른 소프트웨어 구성 요소, 서비스 및 시스템이 효율적으로 통신하고 데이터를 교환할 수 있도록 지원합니다. API는 마이크로서비스, 클라우드 네이티브 개발, 플랫폼 간 통합 및 AI 기반 환경의 토대입니다. 2025년 F5 애플리케이션 전략 현황 보고서에 따르면, 조직의 68%가 애플리케이션 제공 및 보안을 관리하는 데 API를 사용하며, 58%는 API의 무분별한 확산을 중대한 문제점으로 꼽았습니다.
그러나 현대 디지털 생태계에서 API가 광범위하게 사용됨에 따라, API는 점점 더 공격자의 표적이 되고 있습니다. API는 본질적으로 핵심 비즈니스 로직과 사용자 데이터 및 인증 자격 증명 같은 민감한 정보를 노출하며, 온라인 접속 및 구매, 은행 및 금융 거래, 로그인 서비스 등의 디지털 경험을 구현하고 지원합니다.
The OWASP 10대 API 보안 위험은 API가 직면할 수 있는 잠재적 위험을 강조하고 이러한 위험을 완화하는 방법을 제시하기 위해 2019년에 처음 발표되었습니다. OWASP의 API 보안 인사이트를 바탕으로, API를 종합적으로 보호하는 접근 방식을 제공하는 네 가지 핵심 API 보안 전략을 소개합니다.
- 검색. 환경 전반의 모든 API(알려진 API, 알려지지 않은 API, 더 이상 사용되지 않는 API, 섀도 API 포함)를 식별하고 매핑하여 문서화함으로써 API 위협 표면을 완전히 파악합니다.
- 모니터링. 시간 경과에 따른 API 사용 및 동작을 지속적으로 파악합니다. 모니터링은 잠재적인 공격, 오용 또는 침해를 나타낼 수 있는 이상 징후를 탐지하는 데 도움이 됩니다.
- 탐지: 자동화된 테스트와 런타임 분석을 활용하여 사전 프로덕션 단계와 프로덕션 배포 후에 취약점을 조기에 식별합니다. 모니터링 및 보호되지 않는 API는 조직을 심각한 위험에 노출시킬 수 있습니다.
- 보호: 웹 애플리케이션 방화벽(WAF), 속도 제한, 민감한 데이터 마스킹, API별 보호 규칙과 같은 실시간 인라인 보안 제어를 구현하여 정책을 적용하고, 자동화된 위협을 포함한 악의적이거나 원치 않는 활동을 완화하며, API를 통한 민감한 데이터 노출을 방지합니다.
4. 강력한 모니터링 및 로깅 관행을 적용하세요
효과적인 모니터링과 로깅은 강력한 웹 앱 보안을 유지하는 데 필수적입니다. 이러한 모범 사례를 따르면 취약점과 위협을 신속하게 탐지하고 공격자의 행동을 추적할 수 있으며, 코드 업데이트나 추가 보안 제어 적용을 통해 대응 및 문제 해결 속도를 높일 수 있습니다.
안전한 로깅을 위한 모범 사례에는 민감한 데이터 보호가 포함됩니다. 모든 민감한 데이터는 마스킹하거나 로그에서 완전히 제외해야 합니다. 비밀번호, 신용카드 번호 또는 개인 식별 정보(PII)와 같은 기밀 정보는 절대 기록하지 마세요. 또한 오류 메시지에 지나치게 많은 정보를 노출하지 마세요. 공격자가 취약점을 악용하는 데 사용할 수 있는 정보가 노출되지 않도록 외부에 공개되는 오류 메시지의 세부 내용을 제한하세요.
5. 인시던트 대응을 미리 계획하세요
보안 사고 발생 시 조직이 신속하고 효과적으로 대응할 수 있도록 종합적인 사고 대응 계획을 수립하세요. 체계적으로 준비된 계획에는 사고 대응팀 구성원별 역할과 책임을 명확히 정의하고, 사고의 범위와 심각도 및 잠재적 영향을 평가할 수 있는 보안 위험 분류 체계를 포함해야 합니다. 다양한 유형의 위협에 맞춘 여러 완화 전략과 함께, 사고 대응 중 추가 피해를 방지하기 위한 피해 확산 방지 절차도 반드시 포함하세요. 내부 커뮤니케이션, 보고 및 사고 후 조치에 관한 지침을 마련하고, 여기에는 교훈 도출과 향후 재발 방지를 위한 개선 사항도 포함해야 합니다.
조직의 내부 인시던트 대응 계획과 전략을 수립하는 것뿐만 아니라, 보안 서비스 제공업체에서도 인시던트 대응 서비스를 제공할 가능성이 높다는 점을 알아두십시오. F5 보안 인시던트 대응팀(F5 SIRT)은 모든 지원 계약에 긴급 인시던트 대응 서비스를 포함하여 숙련된 보안 엔지니어가 위협에 연중무휴 24시간 대응하며, 즉각적인 보호 계획과 장기적인 보호 계획을 모두 아우르는 종합적인 완화 조치를 제공합니다.
6. 최소 권한 원칙 구현
최소 권한 원칙은 사용자, 시스템, 애플리케이션 및 프로세스에 특정 업무나 작업을 수행하는 데 필요한 최소한의 액세스 권한만 부여해야 한다는 원칙입니다. 액세스를 제한하면 악용될 수 있는 액세스 지점의 수가 줄어 공격 표면이 축소되고, 사용자의 실수로 데이터가 노출되거나 잘못 처리될 위험도 최소화됩니다. API와 같은 프로세스나 시스템에 이 원칙을 적용하면 각 API, 서비스 또는 API와 상호 작용하는 사용자에게 의도된 기능을 수행하는 데 필요한 최소한의 액세스 권한만 부여되므로, 해당 시스템에 대한 악의적인 공격으로 발생할 수 있는 피해를 제한할 수 있습니다. 또한 최소 액세스 권한은 개인 데이터와 민감한 데이터에 대한 엄격한 액세스 제어 정책을 요구하는 경우가 많은 일반 데이터 보호 규정(GDPR), 결제 카드 산업 데이터 보안 표준(PCI-DSS), 건강보험 양도 및 책임에 관한 법률(HIPAA) 등의 규제 프레임워크를 준수하는 데에도 도움이 됩니다.
7. 소프트웨어를 최신 상태로 유지하세요
오래된 소프트웨어는 해커의 손쉬운 표적이 됩니다. 알려진 취약점은 공개적으로 문서화되어 있는 경우가 많아 쉽게 악용될 수 있기 때문입니다. 소프트웨어 업데이트에 포함된 보안 패치는 심각한 결함을 해결하고 새로운 위협으로부터 시스템을 보호합니다. 웹 서버, 운영 체제, 데이터베이스, 타사 라이브러리 및 프레임워크를 비롯한 웹 애플리케이션의 모든 구성 요소에 대한 업데이트와 패치를 정기적으로 확인하세요. 사용하지 않는 소프트웨어를 제거하여 공격 표면을 줄이고, 더 이상 보안 업데이트가 제공되지 않는 오래되었거나 지원이 종료된 애플리케이션은 교체하세요.
8. 웹 애플리케이션 보안 체크리스트를 따르세요
강력한 보안 태세를 유지하려면 웹 애플리케이션 보안 체크리스트를 마련하고 준수하는 것이 매우 중요합니다. 조직은 자체 환경에 맞는 체크리스트를 직접 만들거나, 포괄적인 모범 사례와 테스트 절차를 제공하는 OWASP 웹 보안 테스트 가이드와 같은 검증된 자료를 활용할 수 있습니다.
보안 테스트의 주요 목표에는 안전한 코딩 관행을 준수하는지 검증하고, 보안 설정 오류를 식별하여 수정하며, 인증, 권한 부여 및 ID 관리 메커니즘이 올바르게 구현되었는지 확인하는 것이 포함됩니다. 그 밖에도 입력값 검증 규칙을 테스트하고, 강력한 암호화가 사용되는지 확인하며, 비즈니스 로직에 대한 부하 테스트를 통해 잠재적인 악용 시나리오를 식별하고, 모든 API를 철저히 찾아 보안을 적용함으로써 적절히 보호되도록 하는 것이 목표입니다.
9. AI 전략 수립
AI 기술이 현대의 디지털 경험에 깊이 통합됨에 따라, 웹 애플리케이션 보안 모범 사례의 일환으로 명확한 AI 전략을 수립하고 발전시키는 것이 점점 더 중요해지고 있습니다. 이 전략에는 새로운 위협으로부터 AI 기반 애플리케이션을 보호하는 것뿐만 아니라, AI와 머신러닝을 활용하여 전반적인 보안 태세를 강화하는 것도 포함되어야 합니다.
특히 생성형 AI 애플리케이션은 고유한 보안 위험을 초래합니다. 여기에는 정보 유출, 의도하지 않았거나 예측할 수 없는 동작, 학습 데이터에 악성 코드가 삽입될 가능성 등이 포함됩니다. 이러한 위험을 완화하려면 조직은 보안 코딩, 액세스 제어, 취약점 테스트를 비롯한 표준 애플리케이션 보안 원칙을 적용하는 동시에 AI에 특화된 문제도 해결해야 합니다. 여기에는 학습 데이터 공급망의 무결성을 검증하고, 인젝션 공격을 방어하기 위해 프롬프트 정제, 입력값 검증, 프롬프트 필터링과 같은 보호 조치를 구현하는 것이 포함됩니다.
AI는 웹 애플리케이션 보안을 강화하는 데에도 강력한 역할을 할 수 있습니다. 조직은 AI를 활용해 위협을 더 빠르고 정확하게 탐지하고, 취약점을 선제적으로 식별하여 패치하며, 반복적인 보안 작업을 자동화함으로써 IT 및 보안 운영 효율성을 높일 수 있습니다.
10. 완전한 웹 애플리케이션 및 API 보호(WAAP) 솔루션 사용
애플리케이션이 점점 더 분산되고 공격자의 수법이 더욱 정교해짐에 따라, 강력한 웹 애플리케이션 보호를 구현하고 복잡한 애플리케이션 환경 전반의 보안 운영을 간소화하려면 완전한 웹 애플리케이션 및 API 보호(WAAP) 솔루션을 도입하는 것이 갈수록 중요해지고 있습니다.
WAAP 솔루션은 일반적인 웹 애플리케이션 공격으로부터 보호하는 WAF를 비롯해 엔드투엔드 애플리케이션 보호를 위한 여러 핵심 보안 기능을 통합합니다. 또한 API 검색 및 모니터링, 위협 탐지, 런타임 보호를 포함한 포괄적인 API 보안을 제공합니다. WAAP는 네트워크 및 애플리케이션 계층(계층 3, 4, 7) 전반에서 DDoS 공격을 완화하며, 악성 자동화 트래픽을 탐지·분류·차단하는 동시에 정상적인 봇은 중단 없이 작동하도록 지원하는 봇 보호 및 관리 기능도 제공합니다.
WAAP의 주요 이점으로는 배포 아키텍처나 위치에 관계없이 모든 환경에서 일관된 보호를 제공하는 중앙 집중식 보안 정책 관리와 애플리케이션 및 API 모두를 위한 통합 보안 제어 기능이 있습니다. 또한 WAAP은 전체 위협 환경에 대한 가시성과 이상 징후 탐지 기능을 향상하고, 규제 준수 및 인시던트 대응을 지원하는 상세한 감사 추적과 이벤트 상관 분석 기능을 제공합니다.
완전한 WAAP 솔루션은 보안 운영을 간소화하는 동시에 갈수록 복잡해지는 애플리케이션 생태계 전반의 보호를 강화합니다.
F5의 웹 애플리케이션 및 API 보안
The F5 Application Delivery and Security Platform은 모든 웹 앱과 API, 그리고 엣지부터 클라우드에 이르는 기반 인프라가 일관되고 포괄적인 보안, 고가용성, 고강도 워크로드를 위한 지능형 오케스트레이션을 갖추는 데 필요한 핵심 서비스를 통합합니다. 플랫폼 기반 아키텍처인 Application Delivery and Security Platform은 F5의 전체 제품 포트폴리오를 아우르며 어디에나 배포할 수 있습니다.
자세한 내용은 이 동영상을 시청하세요.
관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.
