티스토리 뷰

반응형

 

 

 

가. 원인

  - 도메인 명에 의존하여 보안결정을 하는 경우

 

 

나. 영향

  - DNS 스푸핑 등을 통해 DNS 캐시가 오염될 경우, 사용자와 서버 사이의 트래픽이 공격자를 경유

 

 

다. 보안대책

  - 보안결정에 DNS 조회결과를 사용하지 않도록 구현

 

 

라. 안전한 코드

1. IP로 보안결정

 

 

  public doGet( HttpServletRequest req, HttpServletResponse res ) {

     ...

     String ip = req.getRemoteAddr();

     // DNS로 보안결정할 경우 DNS 스푸핑에 취약

     // InetAddress addr = InetAddress.getByName( ip );

     // if ( !addr.getCaonicalHostName().endWith( "trustsite.com" ) ){

     if ( ip.equals( "127.0.0.1" ) {

        showAlert( "Not trust site" );

     }     

     ...

  }

 

 

 

마. 진단방법

<DNS Lookup 확인>

  1. DNS Lookup을 하는 로직 확인

  2. 보안결정을 하는 로직인지 확인

 

반응형
댓글
반응형
최근에 올라온 글
Total
Today
Yesterday