최신 애플리케이션을 위한 7가지 런타임 애플리케이션 자체 보호(RASP) 도구
사이버 공격은 전 세계적으로 개인과 기업 모두에게 심각한 위협이 되고 있으며, 이에 대한 효과적인 대응책 마련이 시급합니다.
애플리케이션은 사이버 범죄자들의 주요 공격 대상 중 하나이며, 이들은 앱의 취약점을 노려 데이터 유출과 같은 심각한 피해를 초래할 수 있습니다.
이러한 보안 문제에 대한 효과적인 해결책을 찾는 것은 매우 중요한 과제입니다.
그렇다면, 이 문제를 어떻게 해결해야 할까요?
한 가지 방법은 애플리케이션 스스로를 보호하도록 하는 것입니다.
조금 혼란스러울 수 있지만, 여기에는 '런타임 애플리케이션 자체 보호(RASP)'라는 기술이 있습니다. RASP는 애플리케이션을 실시간으로 온라인 위협으로부터 보호하는 방어막 역할을 합니다.
이 글에서는 RASP 기술을 애플리케이션에 통합하여 앱이 스스로를 보호할 수 있도록 하는 방법에 대해 알아보겠습니다.
RASP란 무엇인가?
RASP(Runtime Application Self-Protection)는 애플리케이션이 실행될 때 작동하는 보안 기술입니다. RASP는 앱의 동작과 컨텍스트를 분석하여 악의적인 입력으로부터 앱을 보호합니다. RASP는 지속적으로 공격을 모니터링 및 감지하고, 사람의 개입 없이 즉각적으로 공격을 완화합니다.
RASP는 애플리케이션이 위치한 서버에 관계없이 실행 중인 앱에 보안을 통합합니다. 앱 내부에서 이루어지는 요청을 직접 검증하고 시스템에 대한 호출을 가로채 안전성을 확인합니다. RASP는 웹 앱과 비 웹 앱 모두를 보호하며 앱 디자인에 영향을 주지 않습니다.
RASP 소프트웨어는 애플리케이션의 런타임 환경 내에 구축되어 앱 보호 기능을 실행합니다.
기존 WAF와의 차이점
RASP는 기존의 WAF(웹 애플리케이션 방화벽)와는 다릅니다. WAF는 취약한 애플리케이션 코드와 밀접하게 연결되어 있어 공격에 취약할 수 있습니다.
WAF는 들어오는 모든 HTTP 요청과 의심스러운 사용 패턴을 검사하여 공격 페이로드를 확인하고, 문제가 발견되면 요청을 차단하거나 보고합니다. 하지만 WAF는 앱이 데이터를 어떻게 처리하는지 알 수 없으므로 오탐지가 발생할 수 있습니다.

최신 앱 개발은 지속적인 배포 모델로 변화하고 있으며, 이는 공격 표면을 증가시키는 요인이 됩니다. 따라서 WAF는 변화하는 사용 패턴에 발맞추기 어려울 수 있습니다.
반면 RASP는 배포가 더 쉽고, 사용되는 프로그래밍 언어에 관계없이 더 나은 제어를 제공하며, 정확도가 더 높습니다. WAF와 달리 RASP는 모든 환경과 언어에 자동으로 적응하고 상황 인식을 활용하여 위협을 모니터링합니다.
RASP 기술은 페이로드를 맹목적으로 추측하는 대신, 앱에서 데이터를 활용하는 방식에 따라 변환된 데이터를 포함한 완전한 정보를 감지합니다. 이것이 바로 컨텍스트의 중요성입니다.
RASP는 일반적으로 WAF에 비해 오탐지율이 훨씬 낮습니다. 또한, WAF가 앱을 최전선에서 보호하는 강력한 방어벽을 제공한다면, RASP는 혁신적인 기능으로 앱 내부와 외부 모두를 보호하는 강력한 보호막을 제공합니다.
RASP 사용의 장점
- RASP는 정적 및 동적 분석을 결합하여 풍부한 애플리케이션 아키텍처와 상황 인식을 바탕으로 정보에 입각한 결정을 내리므로 오탐지율이 현저히 낮습니다.
- RASP는 OWASP 상위 10대 취약점(주입, 불안정한 역직렬화, 약한 임의성, IDOR, 의심스러운 클라이언트 활동, SSRF/CSRF 등)을 포함한 다양한 위험으로부터 앱을 보호할 수 있습니다.
- 앱 아키텍처에 대한 빠른 적응력과 RPC 또는 XML과 같은 웹이 아닌 표준도 보호할 수 있습니다.
- 블랙리스트, 트래픽 규칙 설정, 학습 프로세스가 필요하지 않으므로 RASP 솔루션은 유지 관리가 쉽습니다.
- RASP는 클라우드 지원을 제공합니다. 자체적으로 보호되므로 앱이 어디에 있든 코드가 항상 안전하게 보호됩니다. 구성은 빌드 스크립트에 포함되어 있어 방화벽이나 네트워크 규칙 업데이트 없이 애플리케이션을 만들고 컨테이너화할 수 있습니다.
이제 RASP에 대해 알았으니, 애플리케이션에 배포할 수 있는 최고의 RASP 솔루션을 살펴보겠습니다.
주요 RASP 솔루션
Fortify
마이크로포커스의 Fortify Application Defender는 애플리케이션을 실시간으로 모니터링하고 취약점 및 일반적인 공격으로부터 보호합니다. .NET 및 Java 앱에서 정상적인 요청과 위험한 위협을 구분하고, 제로데이 공격으로부터 프로덕션 앱을 보호합니다. 엔드 투 엔드 앱 보안 솔루션으로 전체 개발 수명 주기를 관리합니다.

Fortify는 코드 라인 세부 정보 외에도 웹 애플리케이션 관련 익스플로잇 데이터 및 로깅 가시성을 제공합니다. 소스 코드 변경 없이 익스플로잇 및 로그 이벤트를 로그 관리자 또는 SIEM으로 보내 보안 가시성 및 규정 준수를 확보할 수 있습니다.
Fortify는 앱을 안전하게 유지하고 프로덕션 환경 오버헤드를 최소화하는 강력하고 계층화된 방어 시스템을 제공합니다. 여기에는 사이트 간 스크립팅, SQL 삽입, 개인 정보 침해 등을 포함한 보안 위반으로부터 사용자를 보호하는 32개의 보안 규칙 범주가 포함되어 있습니다.
코드 라인이나 WAF 교육 변경 없이 유연하고 빠른 배포로 즉각적인 보안을 확보할 수 있으며, 사용하기 쉬운 중앙 집중식 관리 콘솔에서 보호 기능을 제어할 수 있습니다.
Sqreen
Sqreen의 RASP(Runtime Application Self-Protection)는 HTTP 계층을 넘어 애플리케이션에 대한 심층적인 가시성과 보호를 제공합니다. 많은 개발자와 보안 팀이 이 솔루션을 신뢰하고 있습니다.
Sqreen의 RASP는 완벽한 요청 컨텍스트를 활용하여 생산 프로세스에 존재하는 취약점을 악용하는 공격을 탐지하고 오탐지 없이 치명적인 공격을 완화합니다.
또한 XSS, SSRF, SQL 삽입 등과 같은 OWASP 상위 10대 취약점으로부터 애플리케이션을 보호하는 제로데이 보호 기능을 제공합니다. Sqreen은 애플리케이션 스택에 빠르게 적응하며 패턴이나 서명에 의존하지 않습니다.

애플리케이션 관련 자산, 위험 및 사고에 대한 심층적인 통찰력을 얻을 수 있습니다. 통합 대시보드를 통해 이러한 통찰력을 실시간 작업으로 전환할 수 있으며, 개별 IP를 넘어선 공격을 식별하고 개선 노력을 단축할 수 있습니다.
Sqreen은 몇 분 안에 애플리케이션, API 및 마이크로서비스 내부의 500개 이상의 포인트를 동적으로 계측하여 즉시 사용할 수 있습니다. 코드 수정이나 구성 없이 구현 가능하며, 샌드박스형 마이크로 에이전트에 내장된 가상 머신을 통해 장애 안전 분산 아키텍처를 제공합니다.
Sqreen은 인앱 WAF, 계정 탈취 방지, 콘텐츠 보안 정책 등 다양한 보호 솔루션을 하나의 패키지로 제공하여 RASP 이상의 보안 기능을 제공하며 SDLC 통합도 지원합니다.
업데이트: Sqreen은 Datadog에 인수되었습니다.
OpenRASP
Baidu에서 개발한 오픈 소스 RASP 솔루션인 OpenRASP는 계측을 통해 보호 엔진을 애플리케이션 서버에 직접 통합합니다. OpenRASP는 파일 작업, 네트워크 요청, 데이터베이스 쿼리 등 다양한 이벤트를 추적할 수 있습니다.
공격 중 WAF는 해커가 전자 서명으로 만드는 악의적인 요청을 매핑한 다음 액세스를 거부합니다. 반면 OpenRASP는 민감한 기능을 연결하고 검사하며 기능에 제공되는 입력을 차단하여 즉시 사용 가능한 접근 방식을 취합니다.
이러한 접근 방식은 다음과 같은 이점을 제공합니다.
- 성공적인 공격만 경보를 트리거하므로 오탐지율이 낮아지고 탐지율이 향상됩니다.
- 스택 추적의 자세한 로깅을 통해 포렌식 분석이 더 빠르고 쉬워집니다.
- 잘못된 프로토콜에 민감하지 않습니다.
OpenRASP는 OWASP TOP 10 사이버 공격에 직접적으로 대응하는 다양한 테스트 케이스를 제공합니다. Java 및 PHP에서 잘 작동하며 기존 SOC 및 SIEM과 통합됩니다. JSON 형식으로 경보를 기록하므로 Flume, rsyslog 및 LogStash와 같은 로그 수집기에서 쉽게 수집할 수 있습니다.
Signal Sciences
Signal Sciences는 PHP, Scala, Perl, Node.js, Python, Java, Go, .NET 및 Rails를 포함한 다양한 프로그래밍 언어 및 프레임워크를 지원하며, 성능 저하 없이 공격으로부터 애플리케이션을 보호합니다. DevOps 도구 체인에 통합하여 팀 간의 가시성을 높일 수 있습니다.
Signal Sciences는 매년 평균 40,000개 이상의 앱을 보호하고 우수한 고객 서비스를 제공하며, 100개 이상의 멀티 클라우드 및 하이브리드 플랫폼을 지원합니다.

Signal Sciences는 애플리케이션이 실행되는 위치에 관계없이 안정성, 운영 관리 용이성, 확장 가능한 보호 및 다양한 배포 옵션을 제공하여 RASP 분야의 선두주자 중 하나로 자리매김했습니다.
악성 봇, 계정 탈취, 앱 DDoS, API 남용 등을 포함한 OWASP 상위 10대 취약점을 넘어선 광범위한 보호 기능을 제공합니다. 기본 애플리케이션에서 레거시 애플리케이션, 서버리스 및 컨테이너에 이르기까지 다양한 아키텍처를 지원합니다. 하이브리드 SaaS 솔루션을 제공하여 에이전트 없이 단 한 번의 DNS 변경만으로 앱에 직접 배포할 수 있습니다.
셀프 서비스 보안 통찰력과 경고를 통해 보안 태세를 강화하고 항상 사전 예방적으로 대응할 수 있습니다.
Jscrambler
Jscrambler를 사용하여 코드 무결성을 확인하고, 기업 수준의 JavaScript 난독화, 방어 기술 및 코드 잠금을 통해 앱을 남용, 변조, 코드 도용 및 불법 복제로부터 보호하십시오.
Jscrambler는 JavaScript 코드를 보호할 때마다 중요한 로직을 숨기고 원본 기능을 유지하는 매우 안전한 버전을 제공합니다. 공격자가 코드를 수정하거나 분석하지 못하도록 의도적으로 애플리케이션을 난독화하며, 변조 및 디버깅 시도를 감지합니다.

Jscrambler를 사용하면 코드를 잠그고 특정 도메인, 브라우저, 날짜 범위 및 OS에서만 실행할 수 있습니다. 잠금 위반이 발생하면 애플리케이션이 중단됩니다. 공격자 리디렉션, 사용자 지정 기능 호출 및 실시간 알림과 같은 공격을 방지하기 위한 자동 대응을 설정합니다.
Jscrambler는 JavaScript 위협 모니터링을 통해 더욱 강력한 보호 기능을 제공합니다. 보호된 전체 코드를 실시간으로 모니터링하고 사고 발생 시 경고합니다. 명확한 대시보드를 통해 보호된 애플리케이션 관련 통계 및 데이터에 액세스하고 보안을 조정하여 최적의 성능을 보장할 수 있습니다.
Jscrambler를 CD/CI 파이프라인에 원활하게 통합하여 배포된 모든 버전이 안전하게 보호되도록 할 수 있습니다. JS 전문가의 지원을 통해 항상 최신 정보를 얻을 수 있으며 주요 언어, 프레임워크 및 브라우저와 호환됩니다.
HDIV
HDIV는 개발 과정에서부터 보호를 처리하고, 어디에 있든 애플리케이션을 강화합니다. 실시간 화이트리스트, 사전 예방적 성능을 제공하며, 별도의 코딩 방법을 배울 필요가 없습니다.
HDIV는 보안 버그 및 구문 보안 문제를 신속하게 감지하여 개발 수명 주기 동안 앱을 더욱 안전하게 보호합니다. 비즈니스 로직에 대한 공격으로부터 보호하기 위해 실시간 화이트리스트 검증과 함께 버그 보호에 필요한 IAST 기능을 통합합니다.

HDIV는 단순성을 강조하며, 프로덕션 단계에서 별도의 조정 없이 SDLC에 통합됩니다. 전체 작업과 API, 웹 앱, 마이크로서비스를 포함한 애플리케이션 배포를 단순화합니다.
또한 HDIV는 애플리케이션 수정에 대한 걱정 없이 GDPR 및 PCI와 같은 필수 규정 준수 요구 사항을 구현하는 데 도움이 됩니다. 몇 분 안에 다음 단계에 따라 HDIV를 시작할 수 있습니다.
- 한 줄의 코드로 HDIV 에이전트 다운로드
- 구성 및 앱에 HDIV 라이브러리 포함
- 실행 후 애플리케이션 재시작
HDIV는 모든 물리적 또는 클라우드 환경에 배포할 수 있는 애플리케이션을 위해 .NET, Java, Spring, React, AngularJS, ASP.NET, REST 등 다양한 기술을 지원합니다.
Imperva
Imperva는 사이버 보안 솔루션 분야에서 잘 알려진 브랜드입니다. 다양한 종류의 온라인 위협으로부터 앱을 보호하여 보안 문제에 대한 걱정 없이 비즈니스 로직에 집중할 수 있도록 합니다.
클라우드 네이티브 앱은 현재 보안 환경에서 경계 보안보다 더욱 강력한 보안을 요구합니다. Imperva는 앱 내부에서 보안을 제공하고 앱과 함께 작동합니다.
Imperva의 RASP는 제로데이 공격 및 OWASP 상위 10대 취약점으로부터 보호할 수 있는 앱 런타임 환경에 구축되어 있으며, 매우 정확하고 별도의 조정이 필요하지 않습니다. 또한 클릭재킹, 대규모 요청, HTTP 응답 및 메서드 변조, 형식이 잘못된 콘텐츠, 검증되지 않은 리디렉션, 경로 순회 등의 공격으로부터 안전합니다.
Imperva를 사용하면 명령 주입, 교차 사이트 주입, 교차 사이트 스크립팅, CSS 및 HTML 주입, JSON 및 XML 주입, 데이터베이스 접근 위반, OGNL 주입, SQL 주입 등과 같은 주입 공격으로부터 안전하게 보호할 수 있습니다.
Imperva는 안전하지 않은 쿠키 및 전송, 무단 네트워크 활동, 민감한 데이터 로깅, 취약한 인증, 브라우징 캐싱 및 암호화와 같은 취약한 영역에서 애플리케이션을 지원합니다. RASP와 WAF를 결합하여 즉시 사용 가능한 보안을 제공하는 것이 Imperva의 특징입니다.

DDoS, 스크립트 키디, 악성 봇, 외부 위협 등으로부터 전반적인 보호를 받을 수 있습니다. Imperva는 특허받은 문법 기반 기술을 사용하여 패치나 서명 없이 애플리케이션을 보호하는 동시에 추가 운영 비용을 절감합니다.
Imperva는 악의적이거나 부주의한 내부자로부터 보호하기 위해 앱 런타임에 연결되는 내부자 위협 보호 기능을 제공합니다. 공격 분류, 네트워크 데이터, 운영 체제, 사용자 세션, 파일 이름, 코드 실행 및 데이터베이스를 포함한 앱의 다양한 문제를 한 곳에서 더 폭넓게 파악할 수 있습니다.
Imperva는 Java, .NET, Nodejs, Oracle, PostgreSQL, MySQL, SQL Server, IBM DB2, IBM Radar, Elastic 등과 같은 플랫폼을 지원하며, API, 레거시, 컨테이너화를 포함한 모든 유형의 애플리케이션에서 작동합니다.
결론
사이버 보안은 매우 중요하며 간과해서는 안 됩니다. 예측하기 어려운 위협 및 악용으로부터 애플리케이션을 보호해야 합니다.
이 기사에서 소개된 효율적인 RASP 솔루션을 활용하여 다양한 유형의 취약성과 위협으로부터 애플리케이션을 보호할 수 있습니다.