'쉘쇼크'에 해당되는 글 1건

  1. 2014.09.27 배시 버그(bash bug) 또는 쉘쇼크(shellshock) 1
2014. 9. 27. 02:54

25일 OS X와 Linux/Unix에서는 사용 중이 "Bash" 쉘에 보안적인 큰 결함이 있다는 발표가 있었다.  배시 버그 혹은 쉘쇼크로 불리우는 이 결함은 공격자가 컴퓨터에 접근하기 위하여 bash script를 사용하여 패스워드나 기타 정보가 없이도 악의적인 공격을 위하여 코드를 심어 넣어 프로그램을 실행하거나 특정 기능을 권한을 획득하고 파일들에 접근하는 등 심각한 위험을 초래할 수 있다.


테스트 명령어

다음의 명령어를 실행하여 시스템을 체크할 수 있다.

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"


정상적인 결과

만약, 사용 중이 bash의 버전이 shellshock에 취약하지 않다면 다음과 같은 결과를 얻을 것이다.

bash: warning: x: ignoring function definition attempt bash: error importing function definition for 'x' this is a test


비정상적인 결과

만약, 취약하면, 다음의 결과를 얻을 것이다.

vulnerable

this is a test

그리고, bash의 버전을 체크해봐야 할것이다.

$ bash --version

만약 3.2.51(1)-release 버전을 사용하고 있다면 , 업데이트가 필요한 상황이다. 이미 리눅스 배포사들이 패치를 제공하고 있으며 맥사용자들은 애플의 패치를 대기중이다.


직접 컴파일

패치를 기다릴 수 없는 사람들을 위해 친절히 직접 컴파일 하는 수고로움까지... [바로가기]

Klauss-MacBook-Pro:Developments mobilehunter$ mkdir bash-fix

$ mk bash-fix

$ cd bash-fix

$ curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -

# downloading ...

$ cd bash-92/bash-3.2

$ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0

# downloading ...

# patching

$ cd ..

$ xcodebuild 

# Building ...

** BUILD SUCCEEDED **

$ sudo cp /bin/bash /bin/bash.old

Password:

$ sudo cp /bin/sh /bin/sh.old

$ build/Release/bash --version

GNU bash, version 3.2.52(1)-release (x86_64-apple-darwin13)

Copyright (C) 2007 Free Software Foundation, Inc.

$ sh --version

GNU bash, version 3.2.52(1)-release (x86_64-apple-darwin13)

Copyright (C) 2007 Free Software Foundation, Inc.

$ sudo cp build/Release/bash /bin

$ sudo cp build/Release/sh /bin

$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

bash: warning: x: ignoring function definition attempt

bash: error importing function definition for `x'

this is a test 


용어 정리

해커와 크래커
해커의 사전적 의미는 권한 없이 데이터에 접근하여 컴퓨터를 사용하는 사람이라고 되어 있지만 실제로 컴퓨터 시스템이나 네트워크 분야 등 다방면에 전문문적인 지식을 보유한 사람을 가리키는 성향이 높아가고 있다.  흥미나 도전을 위하여 때로는 집단적 항거를 하거나 이익을 위하여도 움직이지만 악의적인 목적을 갖고 행동하는 사람들을 지칭하는 것을 거부하는 움직이 있으며 특별히 악의적 목적을 갖은 사람들을 크래커라고 지칭한다.
화이트햇과 블랙햇
시스템을 공격을 하는 전문가들를 목적에 따라 화이트햇과 블랙햇으로 나눈다. 화이트햇은 시스템의 취약점을 분석하여 취약점을 해결하려고 하는 부류이고 블랙햇은 불법으로 정보를 훔치거나 피해를 줄 목적으로 시스템에 침투하는 부류이다.  따라서 화이트햇을 해커로 블랙햇을 크래커로 부른다.
Hacker와 Cracker 차이

한때 보안 전문가(해커)를 인터뷰 하면서 음성변조와 화면을 음영처리 하는 것을 보면서 의문이 들기도 했는데 전문가와 범죄자를 구분하는 것은 필요할 것 같다.



Posted by 모바일헌터