다음 이전 차례

10. 침입 도중이나 후에 할 일들

드디어 여기에 적혀 있는 (혹은 다른 곳의) 조언을 따른 결과로 침입을 감지해 내었다면? 첫 번째로 할 일은 침착성을 유지하는 것이다. 성급한 행동은 공격자가 저지를 수 있는 것보다 더 큰 해를 끼칠 수 있다.

10.1 보안 공격 진행 중!

진행 중인 보안 공격을 알아차리는 것은 긴장되는 일일 수 있다. 여러분이 어떻게 대응하는가에 따라 중요한 결과를 가져올 수 있다.

공격이 물리적인 것이라면, 누군가 여러분의 집이나 사무실, 연구실에 침입한 것을 감지한 경우일 것이다. 경찰에 알려야 한다. 연구실 환경에서 누군가가 케이스를 열려고 하거나 컴퓨터를 재부팅 하려고 하는 것을 여러분이 볼 수도 있다. 여러분의 권한과 절차에 따라, 여러분은 그들에게 중지하도록 요구하거나 지역 보안 책임자에게 연락할 수 있다.

지역 사용자가 보안을 훼손하고자 하는 것을 감지했을 경우, 가장 먼저 해야 할 일은 그 사용자가 실제 본인인지 확인하는 것이다. 그 사용자가 어디에서 로그인하려고 하고 있는지 확인해 보도록 하라. 그 곳이 평상시에 로그인해서 들어오는 곳인가? 그렇지 않은가? 다음에는 (이 메일을 쓰는 등으로) 컴퓨터를 통하지 않은, 직접적인 연락을 취해 보도록 하라. 예를 들어 전화를 걸거나 그 사용자의 집 혹은 사무실로 직접 찾아가서 이야기를 나눌 수 있다. 만일 그 사용자가 자기의 행위를 시인한다면, 그의 행위에 대해서 설명하도록 요구할 수 있고 그런 행위를 중지하라고 말할 수도 있다. 그가 부인하거나, 여러분이 말하는 사건에 대해서 모른다면 좀 더 조사를 해야 한다. 비슷한 사건들을 알아보고 고발이나 비난을 하기 전에 많은 정보를 확보하도록 하라.

네트워크를 통한 침투를 감지했다면, 처음 할 일은 (할 수 있다면) 네트워크 연결을 끊는 것이다. 침입자가 모뎀으로 접속했다면 모뎀 선을 뽑아 버리도록 하고, 이떠넷을 통해 접속해 들어온다면 이떠넷 선을 뽑아라. 이렇게 하면 침입자가 더 큰 피해를 입히는 것을 막을 수 있고, 침입자는 아마 자신이 들통났다고 생각하기보다는 네트워크에 문제가 생긴 모양이라고 여길 것이다.

여러분이 네트워크 연결을 끊을 수 없다면 (접속이 빈번한 사이트이거나, 컴퓨터에 대한 물리적 관리 권한이 없다면), 차선책은 침입자의 사이트로부터 접속해 들어오는 것을 막기 위해 tcp_wrapper나 ipfwadm 같은 풀그림을 사용하는 것이다.

침입자의 사이트에서 들어오는 모든 사람들의 접근을 거부할 수 없는 입장이라면, 사용자들의 계정을 폐쇄하여야 한다. 하나의 계정을 폐쇄하는 것은 쉬운 일이 아니라는 점에 주의하라. .rhosts 파일과 ftp를 통한 접근, 매우 많은 뒷문 (backdoor)의 가능성을 염두에 두어야 한다.

위의 조치들 (네트워크 절단, 공격자의 사이트로부터 오는 접근 시도 거부, 그리고/혹은 그들의 계정 폐쇄) 가운데 한 가지를 하고 나면, 공격자의 모든 사용자 프로세스를 죽이고 그들을 로그오프 시켜야 한다.

공격자는 다시 들어오려고 시도할 것이므로, 다음 몇 분 동안은 여러분의 사이트를 자세히 감시해야 한다. 공격자는 아마도 다른 계정을 쓸 것이고, 다른 네트워크 주소를 쓸 수도 있다.

10.2 보안 훼손이 이미 일어난 경우

이미 일어난 사고를 뒤늦게 겨우 알아차렸거나, (바라기로는) 감지된 공격자를 여러분의 시스템에서 잠가서 쫓아내 버렸다.. 이제는 무엇을 해야 할까?

개구멍 막아내기

공격자가 여러분의 시스템에 들어오기 위해 사용한 방법이 무엇인지 알 수 있다면, 그 구멍을 막도록 해야 한다. 예를 들어서, 어쩌면 침입자가 들어오기 바로 직전에 FTP 사용이 여러 번 보이는 것을 보았다고 하자. 이런 경우에는 FTP 서비스를 중지하고 개정 버전이나 알려진 교정 사항 목록이 있는지 찾아봐야 한다.

일지 문서들을 확인해 보고, 여러분의 보안 리스트와 페이지 사이트에 가서, 고쳐야 하는 새롭거나 잘 알려지고 있는 침탈법이 올려져 있는지 목록을 살펴보도록 하라. 칼데라 보안 수정안은 http://www.calderasystems.com/support/security/에서 구할 수 있다. 레드 햇은 아직 보안 수정안 목록을 버그 수정안에서 구분하지 않고 있지만, 배포본의 수정안 정보는 http://www.redhat.com/corp/support/errata/에서 구할 수 있다.

데비안은 웹에 보안 관련 메일링 리스트를 구성해 놓았다. http://www.debian.org/security/

또한 한 제작자가 보안 수정안을 내면, 다른 대부분의 제작자 또한 곧 수정본을 내놓을 수 있다.

리눅스 보안 감사 프로젝트 (保安 監査: Linux Security Auditing Project)도 있다. 그들은 사용자 공간 도구들에서 보안 침탈법과 오버플로우들을 찾기 위해서 하나씩 철저히 검사하고 있는 작업을 하고 잇다. 그들의 공고문을 보면:

"저희는 OpenBSD 정도로 보안이 잘 되도록 만들기 위해서 리눅스 소스를 체계적으로 감사하려는 시도를 하고 있습니다. 이미 여러 개의 문제점을 발견했고 (그리고 고쳐 놓은) 상황입니다만, 많은 도움이 필요합니다. 이 메일링 리스트는 조정자가 없고, 일반적인 보안 관련 토론에 있어서 쓸모 있는 수단이 되고 있습니다. 리스트의 주소는 security-audit@freet.lm.h.ox.ac.uk입니다. 가입하시고 싶으시면 security-audit-subscribe@ferret.lm.h.ox.ac.uk로 메일 주시기 바랍니다".

공격자를 완전히 차단하지 않으면, 그는 대개 다시 돌아온다. 여러분의 컴퓨터뿐 아니라, 여러분의 네트워크 안의 어딘 가로 말이다. 공격자가 패켓 스니퍼를 작동시키고 있었다면, 그는 지역 내의 다른 컴퓨터로 접근할 수 있다.

피해 평가

첫 번째 할 일은 피해를 평가하는 것이다. 무엇이 훼손되었는가? 트립와이어 같은 완전성 검사 풀그림을 사용하고 있다면, 트립와이어를 실행시켜서 무결성의 검사를 실시할 수 있다. 이런 풀그림이 없다면, 모든 중요한 자료들을 일일이 살펴보아야 한다.

리눅스 시스템은 갈수록 설치하기 쉬워지고 있으므로, 중요한 설정 파일들을 따로 저장해 두고 디스크를 아예 지워 버린 다음 리눅스를 처음부터 다시 설치한 뒤, 백업으로부터 사용자 파일과 설정 파일들을 복구하는 것을 고려해 볼 수도 있다. 이렇게 하면 깨끗한 시스템을 새로 갖게 된다. 만약 보안이 깨진 컴퓨터의 백업을 만든다면 -- 침입자가 심어 둔 트로이의 목마일 수 있으므로 -- 어떠한 이진 파일이라도 주의해서 보아야 할 것이다.

침입자가 루트 권한을 가지게 된다면, 재설치 작업은 반드시 실행되어야 할 작업 중의 하나로 인지되어야 한다. 덧붙여서, 여러분이 증거를 확보하려 한다면 여분의 디스크를 금고에 보관하는 것도 나쁜 것은 아닐 것이다.

그 뒷일로는 언제 침탈이 실행되었는지를 걱정해야 할 것이고, 그에 따라서 백업이 어느 정도나 손상된 데이타를 소지하고 있는가를 봐야 할 것이다. 백업에 대해서는 뒤에 더 설명하겠다.

백업, 백업, 그리고 또 백업!

정기적으로 백업을 해 두는 습관은 보안 문제에 있어서는 정말 중요하다. 시스템의 보안이 깨졌 을 때, 필요한 자료를 백업으로부터 복구할 수 있기 때문이다. 공격자에가 가치 있게 생각하는 자료는, 훔쳐서 자기의 사본을 만들어 둔 다음에 원본을 파괴하려 하겠지만, 최소한 원래의 자료를 도난 당할지언정 아주 잃어 버리지는 않게 되는 것이다.

변조된 파일을 백업된 것으로 복구하기 전에, 이전의 여러 백업본들을 확인해 보아야 한다. 침입자가 파일을 오래 전에 망쳐 놓았다면, 이미 변조된 파일들만 잔뜩 백업해 놓았을 수도 있기 때문이다.

물론 백업본들에 대해서도 보안 문제가 있다. 백업본들을 안전한 장소에 두었는지 확인하여야 하고, 누가 거기 접근할 수 있는지 알고 있어야 한다. (공격자가 백업본을 얻을 수 있다면, 여러분이 모르는 사이에 여러분의 모든 자료에 접근할 수 있게 되는 것이다.)

침입자 추적

침입자를 몰아내고, 시스템을 복구했다고 해서 모든 일이 끝난 것은 아니다. 대개 침입자들은 잡히지 않지만, 그래도 공격 사건을 보고해야 한다.

공격자가 여러분 시스템을 공격하던 사이트의 관리자에게 그 사건을 알려주어야 한다. 연락처는 whois나 인터닉 데이타베이스를 이용해서 찾아볼 수 있다. 상관된 모든 일지 내용과 날짜 및 시간을 첨부해서 저쪽 관리자에게 메일을 보내는 것도 좋다. 침입자에 대해서 어떤 특이한 점을 발견했다면 그것도 함께 알려주도록 하라. 메일을 보낸 뒤에 (하고 싶다면) 전화를 써서 연락을 계속하도록 하라. 저쪽 관리자가 그 공격자를 찾아냈다면, 그 관리자가 다시 공격자가 들어온 사이트의 관리자에게 말하고 뭐 그렇다.

뛰어난 크랙커는 대개 많은 건너뛰기용 중간 시스템들을 사용한다. 이 시스템들 중의 어떤 (혹은 여러분의) 장소에서는 침입 당했다는 사실조차 모를 수도 있다. 크래커의 원래 시스템까지 쫓아가는 것은 어려운 일이다. 여러분이 이야기하게 되는 관리자들에게 공손하게 대하는 것은 그들로부터 도움을 얻어내는데 좋다.

여러분이 관계되는 ( CERT나, 이와 비슷한) 모든 보안 조직들에도 알려주어야 한다.


다음 이전 차례