일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Docker
- 클라우드가 뭐야
- 페니빙
- 클라우드란?
- kotlin
- 6566
- pwnable
- UNIQUE constraint failed
- tlqkf
- 쏘큩
- 애너그램 그룹
- cmd2
- 10814
- 백준
- col -1 from CursorWindow
- 나이순 정렬
- Drive-By-Download
- 파이썬
- 포너블
- cmd1
- Couldn't read row 0
- pwable.kr
- 액션바 필요없숴
- python
- pwnable.kr
- 블록체인
- SQLiteConstraintException
- Make sure the Cursor is initialized correctly before accessing data for it.
- 코틀린
- java.lang.IllegalStateException
- Today
- Total
푸르미르
[ModSecurity]6장 응답 데이터 분석 본문
응답 데이터 분석
웹 애플리케이션 보안제품, 절차, 도구들은 인바운드 데이터에만 너무 초점을 맞추고 있다. 그들은 인바운드 HTTP 요청 데이터에만 분서의 중심을 두고 아웃 바운드 HTTP응답은 본질적으로 무시한다. 이 전략에 대한 이론적 근거는 모든 인바운드 공격을 식별하고 차단할 수 있다면 아웃바운드 응답 문제에 대해 걱정할 필요가 없다는 무지한 신념이다. 웹 애플리케이션에 영향을 주는 모든 가능한 공격 방법을 간단히 차단할 수는 없으므로 이것은 무모한 패러다임으로 보인다. 관련된 예시로서 어떤 공격은 인바운드 공격 전송을 위해 HTTP조차 사용하지 않는다. 아웃바운드 응답 데이터를 분석하기 전에는 공격이 성공적으로 수행됐다는 것을 발견하지 못할 수 있다. 그래서 아웃바운드 데이터 내에 감염됐거나 설정이 잘못됐다는 징후를 모니터링할 수 있는 넓은 범위의 검출 포인트를 제공한다.
비정상적인 응답 헤더 탐지
HTTP 상태 코드
HTTP상태코드는 클라이언트에게 트랜잭션에 대한 일반적인 상태 정보를 제공한다. 이는 크게 다섯개의 범주를 가지며 많은 하위 범주를 포함하고 있다.
404오류로 많이 표시되는 400은 클라리언트 오류로 404는 NOT FOUND 찾을 수 없음 이다.
500번은 서버 오류로 502같은 경우 올바르지 않은 게이트 웨이로 볼 수 있다.
보안 관점에서 볼 때 보호되는 웹 애플리케이션에서 400번대에서 또는 500번대의 상태 코드가 생성된다면 이는 문제가 있거나 실패한 작업이 있다는 의미이므로 경고가 발생하기를 원한다. 이와 같은 유형의 상태 코드는 종종 초기 정찰 과정이나 공격시도 과정에서 발생한다.
HTTP응답 분할공격
클라이언트에 보내지는 데이터에 캐리지 리턴과 줄바꿈 문자를 주입하도록 조작해 클라이언트 또는 중간 프락시 서버가 가 데이터를 잘못 해석하도록 하는 공격이다. 새로운 Set-Cookie데이터는 정상적인 쿠키 값이라고 클라이언트 웹 브라우저가 판단하도록 적절한 양식으로 구성되어 있다. 그 결과 웹 브라우저는 새로운 값으로 기존 쿠키값을 덮어쓴다. 후속 요청에서도 새로운 쿠키값이 사용된다. 이 공격은 공격자가 알려진 쿠키값을 이용해 인증된 사용자가 이 값을 강제적으로 사용하도록 만드는 세션 고정이라는 최종 목표를 달성했다. 이와 같은 HTTP응답 분할을 방지하기 위해 클라이언트는 일반적인 응답 헤더이름과 값을 포함하는 데이터를 삽입하지 못하도록 확인해야 한다.
악성코드 리다이렉션 공격
웹사이트 소유자에게 빠르게 커지는 위협은 악성 링크를 주입하는 것이다. 이와 같은 공격 시나리오에서 공격자의 목표는 민감한 고객 데이터가 아니라 다수의 사용자다. 공격자는 웹 애플리케이션을 봇넷 클라이언트, 키 로거, 뱅킹 트로이 목마 등 다양한 악성 코드를 사용자에게 감염시키기 위한 배포 플랫폼으로 사용한다. 공격자는 사용자가 악성자원에 접근하도록 유도하기 위해 다양한 방법을 사용한다. 그 중에서 .htaccess파일을 생성하는 것에 대해 간단히 언급하자면, .htaccess파일은 웹 서버 기능의 분산된 관리를 허용하고 웹 호스팅 환경에서 종종 사용된다. .htaccess파일 자체의 의도는 합법적이지만 불행히도 공격자는 이를 악용해 사용자를 악성코드 배포 사이트로 이동하는데 사용된다.
.htaccess파일의 예시를 보여주겠다.
이 파일은 아파치의 mod_rewrite 모듈을 활성화 시켜 Referer 요청 헤더 데이터를 검사한다. 만약 클라이언트가 유명한 검색 엔진 사이트를 통해 왔다면 HTTP 300번대의 리다이렉션응답을 함으로써 사용자 브라우저를 악성코드 배포 사이트로 이동시킨다. 이와 같은 비정상적인 HTTP응답 코드를 식별하기 위해 모드시큐리티 루아API를 이용해 각 자원별로 정상적인 응답상태코드를 조사해 영구 컬렉션에 데이터를 저장할 수 있다.
[사진 및 내용 출처]ModSecurity를 활용한 웹 애플리케이션 방어www.yes24.com/Product/Goods/33350329
'SECURITY > VaccineServerSecurity' 카테고리의 다른 글
[server]php안에서 python2.7 스크립트 실행하기 (0) | 2021.10.26 |
---|---|
ICMP 플러딩 공격/ 죽음의 핑 공격 (1) | 2021.03.29 |
[ModSecurity]5장 요청 데이터 분석 (0) | 2021.03.07 |
[ModSecurity]3장 독을 품은 해커트랩 (0) | 2021.02.28 |
[ModSecurity]2장 취약점 확인 및 개선 (0) | 2021.02.19 |