셸쇼크
From IT Wiki
Revision as of 12:27, 4 August 2021 by 58.229.38.18 (talk)
- Shell Shock
- CVE-2014-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 페이지 공격
- CGI는 HTTP 패킷의 헤더의 데이터를 환경변수로 설정하여 쉘을 실행
- 헤더 부분에 취약점을 공격하는 페이로드를 삽입하면 CGI페이지를 운영 중인 서버에 임의의 명령어를 실행 시킬 수 있음
- 공격자가 접속할 수 있도록 포트를 열어두고 공격자는 웹을 통해 편하게 원하는 악성코드를 전송시켜 시스템을 장악할 수 있음
대응
- Bash Shell을 최신으로 업데이트
- 사용하지 않는 CGI 페이지 삭제 또는 관련 서비스 중지
- IPS/IDS 등을 이용하여 공격 시그니처를 등록하여 차단 할 수 있음
출처
- GNU Bash 원격코드실행 취약점 FOCUS4 이슈 분석 및 대응방안
- 보안 공부 블로그