보안글2009.02.04 14:00

홈페이지 보안 강화 도구 캐슬(CASTLE, 이하 캐슬) 에 의해 접근이 차단이 되는 경우, 특정 이미지를 포함하는 페이지를 보여주거나 경고창을 띄우도록 되어 있습니다.

지난번 포스트에서 이야기했듯이 특정 이미지가 포함되어서 캐슬설치 경로가 노출이 될 가능성이 있었습니다.
메세지모드로 탐지를 할경우 다음 이미지와 같은 메세지가 표시가 됩니다.

홈페이지 보안강화 도구 캐슬 - 차단 메세지

차단 메세지

저 이미지의 경로가 어디로 되어 있는지 확인해보면 [캐슬설치폴더/img/sorry.gif] 로 되어 있습니다.

차단 메세지

캐슬공개된 홈페이지 보안 강화 도구 입니다. 다운을 받아서 누구나 내용을 분석할수 있으며, 캐슬의 있을지모를 버그를 발견할수도 있습니다. 버그는 논의로 치더라도 설정파일이 어디에 있는지는 바로 확인이 가능합니다.

설정파일은 [캐슬 설치폴더/castle_policy.asp] 입니다. 물론 캐슬설치 전제조건인 CAPICOM.Utilities 를 이용해서 base64로 인코딩되어 있기때문에 사람이 알아볼수 있는 내용으로 변경하는 디코딩을 해야합니다. 다만, 직접적인 페이지접근으로는 인증때문에 내용이 보이지 않습니다.[주:내용자체가 인코딩된 내용이기때문에 디코딩하기전까지는 확인하기 어렵습니다.]

그렇기 때문에 메세지 모드으로 사용할 경우, 캐슬의 기본 이미지가 아닌 사용자가 임의로 이미지로 변경하는 편이 보다 나은 보안을 유지하실수가 있습니다.

  1. 캐슬 설치폴더/castle_referee.asp 를 좋아하는 편집기(예: Acroedit )로 연다.
  2. 이 파일중 136번째줄의 부분을 원하는 경로의 이미지로 변경한다
    변경전
    136:        Response.Write("<center><br><br><br><img src=" & error_img & "></center>")

    변경후
    136:        Response.Write("<center><br><br><br><img src=/img/error.gif></center>")
관련 링크
    [tag]홈페이지 보안 강화도구|10|date|asc[/tag]
Posted by Zasfe

댓글을 달아 주세요

  1. ^^; 훗날 반영되어야할 기능중에 하나인 것 같습니다.
    감사합니다.

    2009.02.05 10:36 [ ADDR : EDIT/ DEL : REPLY ]
    • zasfe

      아무런 메세지도 표시하지 않는 스텔스모드같은것은 웹소스의 변경이 없는 홈페이지를 운영하는데 문제는 없지만 웹소스의 내용이 변경될경우 개발서버와 웹서비스용서버사이의 버그를 찾는데 많은 시간이 소요될수도 있습니다.
      또한 사이트를 지속적으로 모니터링하고 있지 않는다면 특정 사용자들에게 거부감이 들게 만드는 경고창차단 모드를 보여줌으로써 안좋은 인식을 심어줄수도 있다고 생각합니다.

      2009.02.05 14:36 [ ADDR : EDIT/ DEL ]
  2. APS 판만 있는 줄알았는데 PHP 판도 있군요. 저도 한번 설치해 봐야겠습니다.

    2009.02.09 17:28 [ ADDR : EDIT/ DEL : REPLY ]
    • zasfe

      범용이라 로그분석기도 없고 괜춘하다고 생각이 들면서도 조금 아쉽다는 생각이 드는 프로그램입니다.

      2009.02.09 17:47 [ ADDR : EDIT/ DEL ]
  3. 비밀댓글입니다

    2009.02.19 12:56 [ ADDR : EDIT/ DEL : REPLY ]
    • zasfe

      좋은정보 감사합니다.
      확인해 보도록 하겠습니다. ^^

      2009.02.20 09:01 [ ADDR : EDIT/ DEL ]
  4. 빨리 적용하셨군요.

    2009.03.05 16:19 [ ADDR : EDIT/ DEL : REPLY ]
    • 좋은 플러그인을 만들어주셔서 감사합니다. ^^

      2009.03.05 16:32 [ ADDR : EDIT/ DEL ]
  5. 삭제

    삭제는 어떻게 할 수 있나요?

    2019.08.19 21:18 [ ADDR : EDIT/ DEL : REPLY ]

보안글2009.01.30 16:05

이전에 배포하던 웹쉘 탐지 프로그램(Whistl)[주:물론 사용자동의는 구하지만 검색된 웹쉘로 추측되는 정보를 추후 동의 사용자동의 없이 타서버로 전송된다는것은 그다지 유쾌하지 않은 기억이였습니다.]에 대해서 안좋은 기억이 있었는데,지난 1월 20일에 인터넷침해사고대응센터(http://www.krcert.or.kt) 에서는 홈페이지 보안 강화 도구(CASTLE) 를 보급하기 시작했습니다.

많은 분들이 설치가이드나 FaQ, 등을 참고하여서 포스팅을 하고 있기때문에 많은 분들이 이런게 있다라는 것에 대해서는 보안에 관심이 있는 관련업계분들은 들어보셨으리라 생각합니다.

그래서 설치되는 부분의 소스를 분석해보고 설치후 약간의 악의적인 접근을 시도하면서 몇가지 겪은점에 대해서 이야기를 해보겠습니다.

홈페이지 보안 강화도구(CASTLE)

CASTLE 다운로드(ASP, PHP, JSP)
CASTLE 사용자 설명서 다운로드
CASTLE 설치 가이드 다운로드
CASTLE FAQ 다운로드

□ CASTLE의 주요기능
o 보안성 강화
- OWASP 10대 주요 취약점 해결
- 소스코드 수준의 웹 어플리케이션 보안성 강화

o 사용자 편리성 강화
- 관리기능으로 편리한 정책 설정 지원
- 운영 중인 프로그램 소스의 최소 수정으로도 적용 가능
o 높은 호환성 지원

- 다양한 웹 서버 환경과 웹 어플리케이션에서 동작할 수 있는 호환성 지원

□ 기대효과
o CASTLE 확산으로 국내 웹 어플리케이션의 보안성 향상
o 개발자들은 개발 단계에서부터 CASTLE 통합적으로 적용하여 보안성 강화
o 서버 관리자들은 편리한 사용과정을 통해 기존 웹 어플리케이션 수정용이

일단 제가 직접 실행해보고 느낀점은 편하기는 한데, 사용중인 사이트가 개별적인 단일파일로 이루어진 구조라면 사용이 좀 어렵지 번거롭다는 것입니다. 왜냐하면 설치 가이드를 보시면 아시겠지만, CASTLE 소스로 연결(include)를 하는 부분이 있는데, 몇개의 파일을 연결(include) 하는 는 구조일경우에는 정말 편하게 소스몇줄 추가하는 것으로 가능하여서 손쉬운 적용이 가능하지만 그렇지 않은 사이트는 어쩔수 없이 모든 소스를 수정하는 번거로운 작업을 감수해야 하기 때문입니다.

<%
' 설치시 추가되어야 하는 소스 예제
' 설치 디렉토리가 castle-asp 인 경우
Application("CASTLE_ASP_VERSION_BASE_DIR") = "castle-asp"
Server.Execute(Application("CASTLE_ASP_VERSION_BASE_DIR") & "/castle_referee.asp")
%>

차라리 소스파일들이 각기 다른 파일로 이루어져있다면 그나마 사이트내 모든 asp 파일을 찾은 다음, 최상단에 위의 코드를 추가하는 방법으로 처리할수도 있습니다.

(테스트를 해보니 중복으로 CASTLE에 연결되어 있어도 사용상에는 문제가 없습니다. 2번 중복으로 CASTLE에 연결하는 테스트를하면서 우려했던 로그 2방찍기도 발견되지 않았습니다. 원래 되어야 하는거 아닌가요.? ;; )

- 차후 소스분석후 이부분에 대한 내용을 올리도록 하겠습니다.

간단요약

홈페이지 보안 강화도구(CASTLE)
  1. 장점
    1. 웹페이지로 이루어진 간단한 관리자 페이지.
    2. 모드설정을 통한 사용시 발생할수 있는 문제에 대한 정책적용결과에 대한 예측 가능.
    3. Webknight 처럼 서버관리자를 통하지 않고 직접적인 설정을 통한 빠른 대처가능.
    4. 서비스의 중단없는 빠른 차단효과
  2. 단점
    1. 소스를 연결(include)를 사용하지 않을 경우, 일괄적으로 모든 웹페이지소스에 코드추가를 하여야 하는 불편함.
    2. txt 파일로의 로그 기록을 통한 통계의 어려움.
    3. 정규식을 통한 차단이기때문에 추가적인 정책설정을 위해서는 반드시 정규식에 대한 이해가 필요.
    4. GET, POST, COOKIE(쿠키) 에 대한 개별 설정 불가.
  3. 추가 개선되어야할 부분
    1. 문제발생에 대한 경고문구의 수정불가. ( 소스수정을 통해서만 가능 )
    2. 에러메시지를 표시하는 부분에서 캐슬의 설치경로 노출가능성 있음. ( 텍스트등의 문자로만 표시할수 있는 기능이필요)

관련 링크
    [tag]홈페이지 보안 강화도구|10|date|asc[/tag]
Posted by Zasfe

댓글을 달아 주세요

  1. 어익후, 제가 미처 실례를,, 바로 삭제하였습니다.;;

    2009.02.02 11:09 [ ADDR : EDIT/ DEL : REPLY ]
    • zasfe

      감사합니다. 인용이나 링크를 부탁드립니다.

      2009.02.02 13:31 [ ADDR : EDIT/ DEL ]
  2. ^_^// 안녕하세요.
    우연찮게 서치하다가 들립니다.
    훌륭한 Review를 잘 보았습니다^^.

    2009.02.02 11:28 [ ADDR : EDIT/ DEL : REPLY ]
    • zasfe

      좋은 툴을 만들어주셔서 감사합니다.

      내용을 쭉 긁어가시는것은 자제를 부탁드립니다.;;

      2009.02.02 10:23 [ ADDR : EDIT/ DEL ]