Solaris chkey 버퍼오버플로우 취약점과 대책

Security Notice

Solaris chkey 버퍼오버플로우 취약점과 대책

설명

  • Solaris 2.x 시스템의 chkey 프로그램에서 버퍼 오버플로우 취약성이 발견되었다. 이 취약성을 이용하여 일반 사용자가 관리자(root) 권한을 획득할 수 있다.
  • chkey 프로그램은 사용자의 RPC 공개키(public key)와 비밀키(secret key)를 변경하는 프로그램인데 이 프로그램으로 넘겨지는 인수들의 길이를 정확히 검사하지 않아 프로그램의 내부 데이터 영역을 덮어 쓸 수가 있다. 더구나 이 프로그램에는 setuid root가 설정되어 있기 때문에 공격자가 이 취약성을 이용하면 관리자(root)의 권한을 획득할 수 있다.
  • chkey 프로그램은 Solaris 2.x 시스템의 /usr/bin/에 위치한다. chkey에 대한 공격 프로그램이 널리 알려졌으므로 즉각적인 조치가 필요하다.
  • 패치는 아직 제공되지 않고 있다.

해결책

  1. chkey 프로그램에서 setuid 설정과 일반사용자의 실행권한을 제거한다.
    # chmod 500 /usr/bin/chkey
    이 경우 일반 사용자는 chkey 명령을 사용할 수 없게된다.
  2. 또는 AUSCERT에서 제공하는 랩퍼(wrapper)를 이용한다.
    ftp://ftp.auscert.org.au/pub/auscert/tools/overflow_wrapper/overflow_wrapper.c
0 변경된 사항