정보시스템 환경이 급변함에 대내외적 정보보호 요구사항 증대되고, 차세대 시스템 구축에 표준적인 차세대 IT보안아키텍처 설계의 필요성이 증대
- 중/장기적으로 차세대시스템 개발에 따른 망 변경 및 접근통제 등 네트워크 관리 체계를 개선하여야 함 - 차세대시스템 개발단계(분석,설계,구현,이행)별 보안 요건을 정의하고 개발 시 반영해야 함 - 확정된 보안요구사항 및 보안아키텍처는 차세대시스템 개발 시 필수적으로 적용하도록 반영할 수 있는 체계를 수립
해야 함 - 데이터 통제 강화(DB 보안), PC 정보유출 대응, 고객정보보호 강화(접근통제 및 테스트 데이터 통제 등) 등을
HTTP by itself is a stateless protocol. Therefore the server is unable to determine which requests are performed by which client, and which clients are authenticated or unauthenticated.
The use of HTTP cookies within the headers, allows a web server to identify each individual client and can therefore determine which clients hold valid authentication, from those that do not. These are known as session cookies.
When a cookie is set by the server (sent the header of an HTTP response) there are several flags that can be set to configure the properties of the cookie and how it is to be handled by the browser.
TheHttpOnlyflag assists in the prevention of client side-scripts (such as JavaScript) accessing and using the cookie.
This can help prevent XSS attacks targeting the cookies holding the client’s session token (setting theHttpOnlyflag does not prevent, nor safeguard against XSS vulnerabilities themselves).
Logs the existence of HTML object tags. Since Arachni can’t execute things like Java Applets and Flash this serves as a heads-up to the penetration tester to review the objects in question using a different method.
HTTP는 그 자체로 상태 비저장 프로토콜입니다. 따라서 서버는 어떤 클라이언트가 어떤 요청을 수행하는지, 어떤 클라이언트가 인증되었는지 또는 인증되지 않았는지 확인할 수 없습니다. 헤더 내에서 HTTP 쿠키를 사용하면 웹 서버가 각 개별 클라이언트를 식별할 수 있으므로 유효한 인증을 보유한 클라이언트와 그렇지 않은 클라이언트를 결정할 수 있습니다. 이를 세션 쿠키라고 합니다.
쿠키가 서버에 의해 설정되면(HTTP 응답의 헤더가 전송됨) 쿠키의 속성과 브라우저에서 쿠키를 처리하는 방법을 구성하기 위해 설정할 수 있는 몇 가지 플래그가 있습니다. 이러한 플래그 중 하나를 보안 플래그라고 합니다. 보안 플래그가 설정되면 브라우저는 일반 텍스트 채널(HTTP)을 통해 전송되는 것을 방지하고 암호화된 채널(HTTPS)이 사용될 때만 전송되도록 허용합니다.
이 헤더는 사용자의 눈에 보이지 않는 영역을 추가하여 사용자는 의도한대로 버튼을 누르지만 실제로는 다른 곳을 클릭하게 만드는 Clickjacking을 방지 할 수 있는 옵션입니다. 페이지 내부에 심어질 수 있는 iframe과 같은 곳에 접근을 제어하는 옵션으로 설정 가능
대상: Spring Cloud Function 3.1.6v, 3.2.2v, 더 오래된 이전 버전도 영향 있음.
설명: 악성 Spring Expression에 의한 Spring Cloud Function의 원격 코드 실행
Spring Cloud Function 버전 3.1.6, 3.2.2 및 이전 지원되지 않는 버전에서 라우팅 기능을 사용할 때 사용자가 특수하게 조작된 SpEL (Spring Expression Language injection)을 라우팅 표현식으로 제공할 수 있어 원격 코드 실행 및 로컬 리소스 액세스가 발생할 수 있음.
Spring Cloud Function은 특정 런타임에서 비즈니스 로직을 분리할 수 있는 기술입니다. SpEL은(Spring Expression Language)은 Spring에서 사용하는 표현 방식으로 런타임에 개체 그래프 쿼리 및 작업을 수행할 때 주로 사용합니다.
=>이번 취약점은 SpEL 주입과 관련한 원격 코드의 실행을 애플리케이션이 신뢰할 수 없는 사용자 입력 코드 표현식을 사용하여 결과적으로 안전하지 않은 실행에 대한 CVE가 발견된 것.
Spring Cloud Functions는 Log4j 라이브러리만큼 널리 사용되지 않지만 보안 전문가들은 이 새로운 취약점으로 인해 많은 위협 행위자가 향후 몇 년 동안 암호화폐 채굴, 디도스, 랜섬웨어 캠페인을 시작할 것으로 예상.
조치 방안:
- Spring Cloud Function 3.1.7, 3.2.3으로 업그레이드
- WAF에서의 방어
Spring Framework RCE 취약점 (CVE-2022-22965), Spring4Shell in Spring Core
대상: JDK 9+에서 실행되는 Spring MVC 또는 Spring WebFlux 애플리케이션, 모든 버전의 Spring Core
설명: JDK 9+에서 데이터 바인딩을 통한 Spring Framework RCE
JDK 9++에서 실행되는 Spring MVC 또는 Spring WebFlux 애플리케이션은 데이터 바인딩을 통한 원격 코드 실행(RCE)에 취약할 수 있습니다. 특히 Tomcat에서 WAR 형태로 배포되는 경우입니다.
- Spring Boot 실행 가능한 jar, 즉 기본값으로 배포되는 경우 익스플로잇에 취약하지 않습니다
이것은 모든 Spring 프로젝트가 잠재적으로 영향을 박기 때문에 CVE-2022-22963보다 영향력이 클 것으로 예상됨.
취약점 대상:
- JDK 9+ 이상
- 서블릿 컨테이너로서의 Apache Tomcat 사용
- WAR로 패키징
- spring-webmvc 또는 spring-webflux 사용
대상 Spring framework 버전
- 5.3.0 ~ 5.3.17
- 5.2.0 ~ 5.2.19
조치방안:
- 5.3.18+ 상위 버전 업그레이드
- 5.2.20+ 상위 버전 업그레이드
- WAF에서의 방어
==> 테스트 시
최종적으로 사용할 Spring MVC는 DispatcherServlet을 시작으로 다양한 객체들이 상호작용하며 클라이언트의 요청을 처리한다.