셸쇼크

From IT Wiki
Revision as of 19:22, 10 June 2019 by Itwiki (talk | contribs)
Shell Shock
CVE-2016-6271

리눅스 OS에서 가장 흔하게 사용되는 Bash Shell의 취약점으로, 공격자가 원격에서 악의적인 명령을 실행시킬 수 있다.

역사

  • 2014년 9월 12일 영국에서 IT매니저로 근무하는 프랑스인인 스테판 챠젤라스가 최초 발견
  • 해당 취약점이 존재하는 코드는 1993년도 이전부터 최근에 발견되기 전까지 20년 동안 존재
  • 취약점 정보와 공격 도구가 공개된 즉시 인터넷 트래픽에서 이를 악용하는 공격들이 급증
  • CGI 웹서버만을 대상으로 하는 공격자의 활동이 점점 NAS 장비등 여러 환경으로 확산
  • 각 OS 개발자에서는 급히 보안 패치를 발표
  • 구글의 보안 연구원인 타비스 오르만디는 자신의 트위트를 통해 해결된 패치를 적용해도 함수 선언문 처리 과정에 여전히 문제점이 있다고 밝혀 재 이슈화
  • 구글의 미첼 잘루스키는 Bash의 함수 처리 부분을 퍼징(Fuzzing)하는 동안 두가지 취약점을 추가적으로 발견
  • 이후 레드햇의 연구원인 토드사빈, 플로리안 웨이머는 Bash가 10개 이상의 리다이렉트 명령문을 처리하거나 특수한 반복문을 처리하는 과정에서 잘못된 메모리 접근을 유발할 수 있다는 추가적인 취약점을 공개
  • 지속해서 패치가 발표됨

공격에 노출된 경우

  • 쉘쇼크 취약점은 시스템에 GNU Bash가 설치되어있다고 무조건 공격에 영향을 받는 것은 아니며 환경변수를 통해 Bash를 호출할 수 있는 프로그램 또는 스크립트가 시스템 내에 존재할 경우 취약점에 영향을 받는 특성을 가짐
  • 그러나 흔히 사용되는 많은 프로그램이 취약한 특성을 보이고 있어 인터넷에서 홈페이지를 운영하고 있는 수많은 웹서버들이 공격에 노출됨
  • 특히 Apache를 통해 인터넷에 CGI 페이지를 서비스하고 있는 경우 공격에 별다른 제약 조건이 없어 공격자들이 가장 선호하는 공격 대상
  • 취약한 프로그램 : Apache mod_cgi, VOIP SIP Server, QMail, SSH, suPHP, Postfix, gopher, Nginx, procmail

취약 정도

  • 정말 간단한 방법으로도 시스템을 장악할 수 있는 극도로 취약한 취약점이다.
  • 미국국립표준기술연구소(NIST)에선 취약점 등급을 하트블리드 취약점의 5점 보다 높은 최고 점수인 10점을 부여하였다.

공격 예시

  • 악용 가능성이 제일 높은 CGI 페이지 공격
  1. CGI는 HTTP 패킷의 헤더의 데이터를 환경변수로 설정하여 쉘을 실행
  2. 헤더 부분에 취약점을 공격하는 페이로드를 삽입하면 CGI페이지를 운영 중인 서버에 임의의 명령어를 실행 시킬 수 있음
  3. 공격자가 접속할 수 있도록 포트를 열어두고 공격자는 웹을 통해 편하게 원하는 악성코드를 전송시켜 시스템을 장악할 수 있음

대응

  • Bash Shell을 최신으로 업데이트
  • 사용하지 않는 CGI 페이지 삭제 또는 관련 서비스 중지
  • IPS/IDS 등을 이용하여 공격 시그니처를 등록하여 차단 할 수 있음

출처