alt
Home 취약점과 대응방안
Post
Cancel

취약점과 대응방안


취약점이란?

: 1. 소프트웨어의 결함 2. 공격자의 접근 3. 악용 가능성

  • 세가지 모두 제거하려는 노력을 해야한다. 어떠한 경우라도 완벽하게 제거했다고 말하기 어렵기 때문
    • 여러 취약점들이 계속해서 생기고 있다.
  • 보안 관련 진단을 주기적으로 계속 해야한다.


다양한 사례

Local Web Proxy를 통한 패킷 조작

  • 본인의 PC 패킷은 얼마든지 가로채서 변조가 가능하다.
  • 공격자는 이러한 패킷을 가로채서 쿼리를 넣는 등 변조할 수 있다. (e.g 자바스크립트 코드를 개발자도구에서 변조)


URL Scheme을 통한 리다이렉트

: 공격자가 목적지 URI 파라미터에 공격자의 악성사이트를 넣어 해당 주소로 리다이렉트 하도록 하는 방식

  • 모바일 클라이언트에서 발견되는 취약점.
  • 이후 원하는 정보(토큰 등)를 가져와 악용 가능


대응 방안: URL 등 정보들에 유효한 정보가 알맞게 들어있는지 strict하게 검증

Regex를 통해 검증하면 좀 더 강력할 것 같다.


SSRF(Server-side Request Forgery)

: 공격자는 웹 서버의 WAS를 호출하는 어떤 것을 호출해 내부 서버들의 실제 IP를 스캔하거나 데이터 유출, (악용)쓰기 API를 호출하는 등의 공격이 가능하다. 마찬가지로 파라미터를 이용한 공격

  • 기본적으로 웹서버를 통해 리버스 프록시를 구현하고, 이를 통해 보안성을 높인다.


대응 방안: 파라미터에 대한 검증 or redirect 필요할때만 redirect 가능하다는 헤더 추가, redirect 목적지 주소 검증


CSRF(Cross-site): 공격자의 악의적인 리소스를 사용자가 읽어, CSRF 스크립트를 실행하도록 한다.


XXE(xml external entity) injection

: 사용자로부터 xml 파일을 입력받거나 하는 곳에 XML 공격코드를 주입시킨다. 보통 External entity 사용을 금지하지 않아서 발생.


대응 방안: XML 파서 외부참조 비활성화


Command injection

: 파라미터같은 곳에 커맨드 파이프라인을 넣는 방식

대응 방안: 서버측에서 커멘드에 대해 검증. REGEX로 파이프라인 존재 여부 확인


불필요한 정보 노출

: docs html 노출(엔드포인트 명세 노출), 에러처리 미흡 등



Reference)

카카오 사내 기술학습

This post is licensed under CC BY 4.0 by the author.