Hi! You are a th visitor to my blog. Please remain the messages if you want to know me more. :)

Friday, August 29, 2008

SSH key-based attack on Linux

* Reference : http://blogs.zdnet.com/security/?p=1803
http://www.net-security.org/secworld.php?id=6460

최근 보안 뉴스를 보다 보니, 최근 리눅스 시스템에서 탈취된 SSH Key를 이용하여 시스템 권한을 얻고, 커널에 "phalanx2"라는 루트킷을 통해 root 권한을 획득하는 공격이 있었던 것 같다.
이것은 한 시스템을 뚫어 거기에서 SSH Key들을 얻은 후, 그것을 이용하여 공격된 사이트를 통해 다른 시스템들에 대해서도 연쇄 공격을 하는 방식이라고 한다.

이 "phalanx2" 루트킷은 2005년에 나왔던 "phalanx" 커널 루트킷에 변형으로, 파일 및 소켓 숨김, tty sniffer, tty connect-back backdoor에, boot에 자동 injection되는 타입으로, 감염되면 다음과 같은 방법으로 확인을 해 볼 수 있다.

-"etc/khubd.p2" 디렉토리가 ls로 보이지 않지만, "cd /etc/khubd.p2" 명령어를 통해 해당 디렉토리에 들어갈 수 있다. (이 경로는 달라질 수도 있다.)
- "dev/shm" 디렉토리에 파일들이 들어 있을 수 있다.
- 즉, hidden process를 탐지 한다거나 "/etc/" 하위 reference count와 실제 ls시 보이는 디렉토리 수를 비교해보는 방법.

US CERT에서는 SSH Key가 패스워드 없이 자동 프로세스의 하나로 사용되지는 않는지 체크해 보고 , 키에 꼭 패스워드를 넣어 키가 탈취되어도 위험을 줄일 수 있도록 하라고 권고 했고, 

또한, US CERT에서는 자신의 리눅스 시스템이 이미 탈취되었다고 확인이 되었을 경우에는,
- key-based SSH authentication은 바로 끄도록 하며,
- 해당 탈취된 시스템에서의 모든 SSH Key를 감사, 확인하고,
- 모든 key 소유자에게 그들의 키가 탈취되었을 수 있다는 알림을 주라고

권고 했다.

생각해 보면, 원격에서 쉽게 관리를 잘 하기 위해 자동으로 무언가 스크립트를 보내거나 할 때,
패스워드를 입력해 넣기가 귀찮으니 패스워드 문구 없이 ssh 연결을 이용하는 경우가 많은데,
이런 경우에 문제가 생길 수 있는 소지가 생기는 것 같다.
하지만 뭐 대부분 보안에 대해서 어느 정도 인식이 있다고 하면, 패스워드 문구를 넣어 
공개키를 보호한 채로 쓰고 있을 테니.. 그렇게까지 큰 문제는 없지 않을까 하는 추측.
무엇보다 만약 어떤 곳에서 패스워드 문구 없이 전 서버들을 관리하는 리눅스 시스템이 있다고 하면,
그 서버를 통해 전 서버가 다 뚫릴 수 있는 위험이 있다는 것.
특별히 그 서버가 외부와의 연결이(대부분 되어 있을 테지) 되어 있는 경우라면,
그 서버에 잔존해 남아 있는 취약점은 없는지, 모든 보안 패치가 다 되었는지 필히 체크해야 할 것이다.

No comments: