2007년 01월 08일
보안에 대한 두가지 시각

내 블로그에 오는 많은 수의 사람들이, 그리고 구글이나 기타 검색엔진(내겐 구글 이외에는 기타 검색 엔진이다. 왜!!)에서 "보안" 이라는 이슈를 가지고 검색해서 들어오는 사람들의 대부분이 IT업계에서 종사를 하고 있는 사람들이고, 실제로 시스템 관리자, 혹은 시스템 엔지니어로써의 직책을 가지고 있는 사람들일 것이다.

이 부류의 사람들에게 "보안" 이 무엇이냐고 물어보면 돌아오는 답변의 대부분은 시스템적인 보안이나, 네트워크적인 보안 등에 대해서 이야기를 할 것이다. 그리고 시스템적으로 안전하게 사용하고 있고, 네트워크적으로 안전하게 사용하고 있는데 무슨 문제가 있겠느냐고 생각하는 식이다.

물론 몇몇 눈이 트인 사람들의 눈에 보이는 것이 흔히 이야기하는 "사회공학" 이나 "역사회공학" 등을 이야기를 하게 될 것이고, 나도 이쪽 업계에 몸담았던 입장으로써(안좋은 쪽으로..속칭 Black Hat이라면 너무 암울한가?) 사회공학을 심하게 악용하며 일을 해 왔던 입장에 있다.

오늘은 시스템 보안 중에서도 이 사회공학에 대한 이야기를 하려고 한다. 그 중에서도 일부 실례(실례합니다의 그 실례 말고 실제 사례의 준말)를 들어서 설명을 하도록 하자.

자..리눅스 시스템이 돌고 있고, 이 시스템이 뚫리면 안되는 아주 중요한 서버지라 아주 외부망으로부터도 막혀있다고 생각을 해 보자. (이 정도면 아마 물리적 보안은 어느정도 해소가 된 상태라고 보면 된다. 외부서비스를 하는 서버는 좀 다른 이야기가 되겠다.) 보통 이 서버에서 쉘 작업을 하려면 여러분들은 무엇을 할 것 같은가? ssh ip<혹은 hostname> 을 쳐서 접속을 해서 작업을 하거나 ssh ip 명령어 이런 식으로 작업을 하고, 물리적 보안은 어느정도 해소가 된 상태니 공개키를 등록하여 패스워드 등록은 하지 않아도 되도록 할 것이다.

자..이제 여러분을 좀 더 높은 직책에 앉히도록 하겠다. 이 시스템을 관리하는 Admin은 따로 있고 여러분은 보안 관리자의 직책에 있다고 생각해보자. 단순한 시스템 보안관리 뿐만 아니라 전사적인 보안관리등을 담당하게 되는, 뭐 시스템 엔지니어들 입장에서 보기에는 저거 뭐하는 자리냐, 뭣도 모르는게 저런 자리를 꿰차고 앉아서 헛소리나 내뱉는 쓸모없는 윗대가리가 하나 늘었구나 하는 정도로 생각하는 그런 자리 말이다.

자..처음에는 뭣모르고 이런저런걸 막 도입하고 보안에 좋다면서 상용 ssh도 도입하고 막 방화벽도 좀 더 확충하고 그럴것이다.

그렇게 한두해가 지나고, 서너해가 지나고..중간중간 중소기업이 아닌 대기업이라면 가끔 보안사고같은것도 여러번 겪을지도 모를 일이다. 왜 여러분 군대 다녀온 사람들이라면 막 군사보안 어쩌고 하면서 대외비가 어쩌고 3급 비밀, 2급 비밀, 1급 비밀 이러면서 가끔씩 보안위규사례 인쇄물을 받아서 사무실에 철을 하고 막 그랬던 기억이 있을거다. 큰 조직이란 다 그렇다. 별의별 놈이 다 있기 마련인거다.

이쯤되면 사용자들을 교육시키고 교육시키고 교육시키고 맨날 백날 천날 만날 교육을 시키는데도 별로 상황이 나아지지 않음을 느끼게 되는 날이 오고, 어느 정도 한계를 넘어서게 되면, 그리고 윗 사람들로부터 한번만 더 사고 터지면 사표쓸 줄 알라는 엄명이 떨어지게 되면 여러분들은 막 그때부터 미치기 시작하는거다.

단순히 교육을 시키는게 문제가 아니라 그때부터는 사용자 하나하나, 하다못해 신뢰를 가져야 할 시스템을 운영하고 있는 시스템 관리자까지도 막 의심을 하지 않으면 안되는 지경에 이른다. 본의아니게 사회공학이라는 단어의 뜻도 모른채 사회공학 방어자의 길에 들어서게 되는 것이다. - 참고로 사회공학 방어자라는게 별게 아니다. 사용자와 운영자를 신뢰하지 못하게 되는 순간부터 사회공학 방어자라고 보면 된다. 사회공학 방어자의 시작이자 끝은 모든 사용자는 의심해야 한다는 것이다.

도대체 당신은 모든 시스템에 대해서 알지도 못하고, 어디서 뭐가 돌아가는지도 모른다. 클라이언트에서 무슨짓을 하는지도 모르겠고, 서버에서 뭐가 돌아가는지도 모르는 일이다. 맨날 보고를 하라고 한다고 일일이 일러다 바칠 사람도 없을거고 말이다. 이쯤 되면 보안관리자 양반(당신말이다)은 머리에 스팀이 나면서 전전긍긍을 하게 된다. "어쩌지 어쩌지..한번만 더 터지면 내 목아지가 날아가는데..이거 참 큰일이다.." 그것 참 큰일이다.

이때부터 도입하는게 우선 윈도우쪽의 클라이언트 시스템에 시스템 감시/제한용 솔루션을 까는것이다. 이런 솔루션 자체야 널려있으니 문제가 될 것은 없을것이다.

자 이제 서버다. 해당 서버에서 일어나는 일을 보안관리자 양반은 당췌 그 작업이 무슨 작업인지는 잘 모르겠으나 - 여러분은 아니라고 말할수도 있겠으나 실제로 커맨드와 몇개 날라오는 출력 메세지로 실제로 시스템 관리자가 하려는 일의 의도를 모두 파악할 수 있을것이라고 보나? ls명령어를 날리는 시스템 관리자가 단지 실행파일이 어디에 있는지 확인해서 명령어를 날리려고 ls 명령어를 친다고 생각하나? 파일 위치와 종류, 크기, 이름 등을 확인해서 외부 스파이에게 알려주려고 저런다고 생각하나? 참 별것 가지고 지랄들 한다고 생각할지 모르겠으나 여러분의 생계가 달린 문제라고 생각해봐라. 다 의심하게 된다. - 어쨌거나 시스템 관리자가 무슨 일을 하는지 자신에게도 투명하게 공개되었으면 하는 바램이 있을거다.(보안관리자가 당신이라니까 그러네!!)

근데 시스템 관리자는 뭐하나? ssh로 어딘가 호스트에 접속을 했는데 그 다음부터는 ssh의 암호화 기능으로 인하여 이 관리자가 무슨 일을 하는지 전혀 알 수가 없게 되어버린다. 그럼 이제 당신은 막 마음속에 조급증이 생기면서 '어..이거 해커(해커와 크래커의 의미론적 차이는 둘째치고) 아냐? 뭐하는거야..왜 나한테 아무것도 보이지 않는 쉘을 가지고 접속해서 저 숨겨진 공간속에서 뭘 하는거지? 이 녀석 산업 스파이가 아닐까 의심스러운데? 심증은 있는데 물증은 없고 어쩌지?' 라는 망상에 사로잡혀버리게 된다. 당장 물리적 보안은 안전한테 인적자원은 의심스럽다. 서서히 미쳐간다. 광기에 사로잡힌다. "우워어어어어어~" 그리곤 결국 당신은 사내에 이렇게 공표하게 된다.

"이 녀석들아!! ssh 쓰지 말고 rsh 써!! 쿠우어어어~"


그래서 난 지금 그 편하고 안전한 ssh를 쓰지 못하고 불편하고 구식인 rsh을 쓰고 있다. OTL

by ydhoney | 2007/01/08 12:20 | IT&Linux | 트랙백 | 덧글(0)
트랙백 주소 : http://ydhoney.egloos.com/tb/2923911
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글



<< 이전 페이지 | 다음 페이지 >>