조.중.동. 바로알기

농협 사태. 믿을 수 없는 기사 내용

YOROKOBI 2011. 4. 19. 20:39

언론 기사를 보면 이번 농협 사태는 중계 서버, 정확히 말하면 EAI 서버에서 특정 명령어가 실행되어 시스템 파일이 삭제되었고 전원을 내려야만 동작을 멈출 수 있었다고 한다. 그리고 그 특정 명령어는 rm.dd라는 명령어라고 한다.

 

IBM, HP, SUN 등 3대 밴더 들은 서버 제품에 기본적으로 유닉스를 OS로 사용한다. 유닉스 계열이라고 해서 모든 기능이 동일한 것이 아니라 유닉스라는 오픈소스 운영체제를 각각 자사의 기준에 맞게 에뮬레이트하여 탑재, 판매하고 있으며 IBM 서버의 경우 AIX라는 유닉스 계열의 운영체제를 주로 판매한다.

 

하지만 AIX의 명령어에 rm.dd라는 명령어는 존재하지 않는다. rm이면 rm이고 dd면 dd이지 rm.dd라는 명령어는 본적도 들은적도 없다...(내가 SE가 아니라 몰라서일지도..ㅡㅡ;;) 머 해당 중계서버의 OS가 AIX가 아니라 비유닉스 계열의 운영체제면 나도 모르겠으나 일단 IBM 서버는 대부분 AIX를 탑재한 서버이며 rm이나 dd 명령어가 유닉스 명령이므로 AIX라고 생각된다.

유닉스 계열에서 공통적으로 기본적으로 디렉토리 또는 파일을 삭제하는 명령어는 rm 명령어 이며 rm -rf / 이렇게 실행할 경우 루트(/) 디렉토리 전체를 삭제하는 동작을 수행한다.

 

하지만 해당 명령어를 실행하는 사용자 계정이 루트 디렉토리에 대한 쓰기(w) 권한이 없는 경우 절대 삭제 불가능하다.(유닉스는 삭제 권한별도로 존재하지 않으며 쓰기 권한을 가지면 해당 디렉토리나 파일에 삭제 권한을 자동으로 취득한다) 기본적으로 이 명령어를 유효하게 하려면 사용자 계정이 root 권한(유닉스 또는 리눅스에서는 기본적으로 슈퍼유저 권한를 가지는 계정이 root임)으로 접속이 되어야만 가능한 명령이다. 즉 다른 계정으로 rm -rf / 명령을 수행하더라도 OS가 권한없음으로 해당 명령의 수행을 거부한다는 것이다.(시스템 파일과 디렉토리의 소유권은 대부분 root임)

 

유닉스나 리눅스 계열에서 실행되는 명령어는 명령어 자체가 디렉토리나 파일에 대한 쓰기 권한 또는 소유권을 취득할 수는 없다. 거꾸로 해당 디렉토리 또는 파일에 대한 권한을 가진 사용자 계정으로 접속해야 그 디렉토리/파일에 대해 작업을 할 수 있으며 소유권이나 쓰기 권한 등을 다른 사용자 계정으로 변경하려 해도 원래 소유권을 가진 계정으로 접속을 해야만 변경이 가능하다. 즉 원래 소유권이 root인 시스템 파일의 소유권이나 쓰기 권한을 다른 계정으로 변경하여 삭제를 하려해도 root로 접속해야만 소유권이나 권한을 변경할 수 있다는 것이다.

 

그럼에도 농협 측이 말하는 rm.dd 명령어가 스스로 디렉토리/파일에 대한 소유권이나 root 권한을 취득해서 삭제했다고 한다면 대사건이 아닐 수 없다.

만약 전해진 기사 내용이 잘못알고 씌여진 것이 아니라 실제 rm.dd이라는 명령어가 한국IBM에서 AIX 서버를 납품할 때 운영체제 소스에 따로 해당 명령어를 심어서 에뮬레이트하였다 해도 여전히 큰 문제가 생긴다.

 

그동안 마이크로소프트의 NT에 비교하여 유닉스의 가장 큰 장점은 보안성에 있었다. 마이크로소프트의 서버 또는 클라이언트 OS인 NT나 Window가 바이러스에 취약했던 것은 유닉스에 비해 쉬운 인터페이스를 제공하는 대신 바이러스등에 의해 관리자 권한이 상대적으로 쉽게 노출될 수 있었기 때문에 보안성이 약했기 때문이다.

 

그런데 가격이 NT에 비해서 수배 더 비싸면서도 보안성에서의 우위로 서버 시장을 점유했던 유닉스 서버, 그것도 오픈 소스가 아닌 상용 유닉스 서버가 단 하나의 명령어로 root 권한이 탈취될 수 있으며 밴더사에 의해 그것이 운영체제에 에뮬레이트 될 수 있다는 사실이 알려지면 어찌 되겠는가.

전세계 금융, 공공서비스 등 보안이 우선인 시스템의 운영체제는 거의 유닉스 계열임을 감안하면 전세계 서버 보안의 핫이슈가 되는 것 뿐만 아니라 IBM, HP, SUN등의 글로벌 밴더들은 한마디로 장사를 다한 것이고 나아가 간판을 내려야 할 사항인 것이다.

 

또한 이런 사고를 밴더사인 IBM 직원이 아니라 고객사인 농협의 직원이 벌인 일이라면 더더욱 문제가 생긴다. 밴더인 IBM 입장에서 일개 사용자인 농협 직원이 자사의 AIX 운영체제의 권한 체계를 무력화 할 수 있는 명령어를 제작하고 실행할 수 있다고 한다면 이만저만한 일이 아닐 수 없다. 이것은 클라이언트 os인 윈도우의 바이러스와는 수준이 다른 상황이며 기껏해야 서버를 일시적으로 다운시키는 d-dos와는 차원이 다른 문제인 것이다.

 

이 사고가 농협측이 말한 대로라면 이 사안은 한국 IBM의 손을 떠나 미국의 IBM 본사가 손을 걷어부치고 나서야 할 판인 것이다.