공부/정보보안기사 실기

[Section 08] 웹 어플리케이션 취약점 (383~ 386pg)

남쪽마을밤송이 2022. 5. 7. 21:55

 [03 크로스 사이트 요청 위조(CSRF) ] 

 (1) 개요 

  • 웹 어플리케이션에서 정상적인 경로를 통한 요청과 비정상적인 경로를 통한 요청을 서버가 구분하지 못할 경우 공격자가 스크립트 구문을 이용하여 정상적인 사용자로 하여금 조작된 요청을 전송하도록 하여 게시판 설정 변경, 회원 정보 변경 등의 문제가 발생할 수 있는 취약점을 말한다.
  • 공격자가 GET 또는 POST 방식의 HTTP 요청을 통해 희생자 모르게 공격자의 의도된 행위를 수행하게 하여 특정 피래를 주는 형태이다.
  • 공격을 당한 사용자의 권한을 공격자가 그대로 사용하게 되므로 사용자의 권한 수준에 따라 그 피해범위가 달라질 수 있다.

 (2) 실습 

 (3) 취약점 판단 기준 

  • CSRF 취약점이 발생할 수 있는 입력 가능한 폼에 img 태그의 src 속성을 이용하여 조작된 요청을 입력, 요청이 실행되면 취약한 것으로 판단

 (4) 대응책 

  • 웹 어플리케이션에 존재하는 모든 HTTP 요청 내에 예측할 수 없는 임의의 토큰을 추가하여 정상적인 요청과 비정상적인 요청을 판별하는 것을 권장
    • 사용자가 요청한 내용이 위조된 요청인지 여부를 확인하기 위해서는 사용자 접근권한 정보가 포함된 토큰을 이용하여 세션정보에 포함된 토큰 값과 요청에 포함된 토큰 값을 비교한다.
    • 중요한 기능에 대해서는 사용자 세션검증과 더불어 재인증 유도
  • 크로스 사이트 스크립트(XSS)와 공격 방식이 유사하므로 XSS에 대한 취약점 제거 필요

 [04 서버 사이드 요청 위조(SSRF)  취약점] 

 (1) 개요 

  • 적절한 검증절차를 거치지 않은 사용자 입력값을 서버 값의 요청에 사용하여 악의적인 행위가 발생하는 취약점으로 외부에 노출된 웹서버에 취약한 어플리케이션이 존재하는 경우 공격자는 URL 요청 또는 요청 정보를 위조하여 접근통제를 우회하는 방식으로 보호된 내부 서버에 있는 정보를 획득하거나 비정상적인 행위를 유도할 수 있다.
  • 공격자가 조작된 요청을 웹서버에 전송하여 웹서버가 내부 네트워크에 위치한 다른서버에 악의적인 요청을 보내는취약점이다. 웹서버를 통해 보안장비를 우회하여 외부에서 접근이 불가능한 내부 시스템 스캔, 내부 정보 탈취 등의 악의적인 행위가 발생할 수 있다.

 (2) 실습 

개요

  • 공개된 웹서버는 사용자 입력 파라미터로 전달받은 과일 정보를 내부 이미지 서버에 URL로 요청하여 이미지 정보를 받아온 후 사용자에게 이미지 정보를 응답한다.
  • 알기사 사이트는 모든 이미지 정보를 별도의 내부 이미지 서버를 통해 서비스하도록 구축되어 있으며 해당 이미지 서버에는 중요한 고객 이미지 정보도 포함되어 있다. 공격자는 요청 파라미터 조작을 통해 웹서버가 이미지 서버에 요청하는 정보를 조작할 수 있으며 이를 통해 내부 정보 탈취 등의 악의적인 행위를 할 수 있다.

대응책

  • 사용자 입력값(입력 파라미터)을 다른 시스템의 서비스 호출에 사용하는 경우 사용자의 입력값을 화이트리스트 방식으로 필터링한다. 만약 무작위의 입력값을 사용해야 한다면 블랙리스트 방식으로 필터링한다.
  • 동일한 내부 네트워크에 있는 서버 간이라도 기기 인증, 서비스 접근권한 등을 확인하여 요청을 처리한다.