농협의 전산장애도 보안 사고로 인한 장애로 드러났다. [2011년 4월 12일]

4월 12일 발생한 농협의 금융서비스 전면 중단 장애의 원인이 농협 전산부서 내부자의 고의 혹은 실수에 의한 것으로 드러난 듯 하다. 만약 이번 장애가 하드웨어 혹은 S/W의 장애였다면 24시간이 지나도록 복구가 불가능하지는 않았을 가능성이 90% 이상된다고 본다.

누군가 고의적으로 혹은 실수로 시스템의 파일을 손상시켰다면 이것은 명백한 보안사고로 분류된다. 실수에 의한 파일삭제는 사실 많은 곳에서 종종 발생하는 사고다. 그리고 그 사고의 여파는 생각보다 크게 나타나는 경우가 대부분이다.

이런 장애의 경우 운영체제부터 재설치하는 경우도 있고 파일 삭제의 원인을 몰라 서로 책임을 전가하거나 서로를 의심의 눈초리로 바라보는 경도 있다. 많은 경우 전산부서 내부적으로는 “누군가 파일을 삭제하거나 훼손한 것 같다”는 것을 결론으로 내리지만 외적으로는 애꿎은 S/W 혹은 H/W의 결함에 의한것 같다거나 시스템이 “꼬였다”는 전문가들 입장에서 볼때는 말도 안되는 “원인”으로 경영진에 보고하는 웃지못할 상황도 발생한다.

농협의 경우 수년전에 대부분의 서버에 국산 SecureOS를 설치한 것으로 알고 있다. 그리고 이번의 내부자에 의한 파일삭제(실수이든 고의든)의 증거를 SecureOS가 찾아내지 않았을까 싶다. 아쉬운 점이라면 파일접근통제 정책을 적용하여 왜 그토록 중요한 파일의 삭제를 차단하지 못했을까 하는 점이다.

SecureOS는 서버내에 접근한 내부사용자 혹은 외부사용자가 주요 파일에 접근하는 것을 “읽기, 수정, 삭제, 생성, 권한변경, 소유자변경 등 세부적인 접근에 대해 통제할 수 있는 보안기능을 갖고 있다. 심지어 telnet, ssh, rlogin 등으로 로그인하여 명령을 실행하거나 파일을 생성/수정/삭제할 경우 로그인한 단말의 IP, MAC주소, 계정, 시간, 로그인 방법, 어떤 명령을 사용했는지와 심지어 어떤 내용을 수정했는지도 확인할 수 있는 강력한 접근통제 및 감사추적 기능을 갖고 있다.

이렇듯 강력한 보안기능을 갖고 있는 SecureOS를 운영하고 있었음에도 이번 사건과 같은 중대한 사고가 발생했다는 것은 보안에 대한 우리나라 IT 종사자들의 마인드 및 보안조직 운영에 큰 문제가 있음을 시사하고 있다.

SecureOS에서 제공하는 사용자추적(Session Trace) 기능

사용자 추적이란 서버에 Telnet, SSH, rlogin 등 운영체제의 Prompt를 받아 명령을 수행할 수 있는 로그인서비스를 통해 접근한 뒤 수행하는 작업내용을 모두 감사로그로 기록하는 기능을 말한다.
이 사용자추적 기능은 운영체제의 두 레이어에서 구현할 수 있는데 첫번째는 커널레이어다.
사용자가 Telnet 로그인을 하게되면 PAM 모듈에서 Session ID에 해당되는 정보를 가져와 해당 세션이 커널에서 실행하는 파일에 대한 접근(system call)을 후킹하여 세션별로 로깅하는 것이 커널수준의 사용자 추적이다. (현재 커널수준에서 Session을 구분하여 사용자추적기능을 제공하는 제품은 RedGate의 RedCastle이 유일하다.)
이 커널수준의 사용자추적의 장점은 사용자가 직접 키보드로 입력하지 않은, 즉 Profile이나 스크립트 혹은 명령어 내부에서 호출하는 다른 명령어의 수행기록까지도 모두 추적이 가능하다는 점이다.
즉 특정 실행파일이 해커에 의해 변조되어 있을 경우 해킹된 실행파일에서 다른 명령어를 실행할 경우 모두 잡아낼 수 있다.

[커널수준의 사용자추적 화면]

다른 한가지는 입출력디바이스 수준 즉 TTY 수준의 사용자 추적이다. 이 방식은 키보드 입력과 화면의 출력을 모니터링하는 방식이라 생각하면 된다. 따라서 키보드로 입력하지 않고 화면에 출력되지 않는 행위는 감사가 불가능하다. 또한 /etc/profile  과같이 사용자가 로그인할 때 실행되는 프로파일에서 tty 모니터링 관련 명령을 실행해줘야한다. 즉 해커가 빠져나갈 방법이 존재한다는 단점이 있다.

반면 장점도 분명히 존재하는데 바로 화면의 입출력이 모두 감사로그로 기록되기 때문에 명령어 수행의 결과를 모두 로깅할 수 있다. 즉 vi와 같은 명령으로 파일을 수정했을 때 그 수정과정을 그대로 확인할 수 있다.

이 두가지 사용자 추적 기능을 활성화시켜 놓게 되면 관리자 혹은 외부의 엔지니어가 방문하여 어떤 작업, 어떤 파일을 수정했는지를 모두 실시간으로 모니터링하거나 사후에 분석할 수 있는 감사기록을 확보할 수 있다.

[TTY 수준의 사용자 추적 : TTY모니터링]

이 두가지 감사추적 기능은 최근 그 수요가 증가하고 있다. 보안사고가 이번 농협사태에서 나타난 것처럼 내부자에 의한 실수 혹은 고의로 발생하는 경우가 점점 많아지고 있다. 이는 점점 복잡해지는 시스템 환경과 열악한 근무조건이 관리자나 엔지니어의 실수 유발의 가능성을 높이기도 하고 불만을 갖고 있는 내부자에 의해 고의적으로 사고가 발생할 수도 있기 때문이다.

하여튼 조금의 불편과 비용을 들이더라도 보안을 강화하고 IT종사자들의 근무여건을 개선하는 것이 서비스의 안정화와 가용성을 보장하는 길임을 최고경영자들이 빨리 깨달아주었으면 좋겠다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top