d라이브러리









복잡한 기계 컴퓨터는 어떻게 작동하는가. 컴퓨터범죄와 그 예방대책을 통해 컴퓨터의 작동원리인 운영체제(Operating System)란 무엇인가를 알아본다.​

국내 굴지의 모은행 온라인 예금의 감사담당대리인 김대리는 며칠 전부터 자신을 사로잡고 있는 이상한 갈등에 고민하고 있었다. 오늘날까지 자신을 지원하고 믿어준 주위 선배나 동료에 대한 기대감과 신임을 저버리고 자신의 영달을 위하여 범죄를 저지를 것인가, 아니면 오늘날까지 자신이 살아왔던 양심적인 생활태도를 계속하여 나갈 것인가에 대한 기로에서 망설이고 있었던 것이다. 그러나 결국 그의 양심은 현실적인 악마의 유혹에 굴복하고 말았다. 그는 1981년 3월 예금 단말기 조작담당 여직원이 단말기 열쇠를 맡기고 잠시 자리를 비운 사이 2개의 가명 예금 구좌를 개설하여 각각 1억원씩 허위 입금한 후, 다음 날 오전 은행업무 개시 전에 모지점 발행 자기앞 수표를 대불한 것처럼 허위로 은행 전표 및 장부를 기재하여 대변과 차변을 조정한 후 같은 은행의 여러 지점에서 현금을 인출하여 횡령했던 것이다. 이와같은 유사한 형태의 사고는 82년 2월부터 8월까지 6개월간 다른 은행에서도 3건이나 발생하여 그 피해액이 1억 7천만원에 이르렀다.

 

모험을 즐기는 지능범죄
 

이상의 컴퓨터를 이용한 범죄는 고도의 컴퓨터 지식을 기반으로 행해지기 때문에 단시간내에는 발각될 확률이 극히 적은 범죄의 일종이다. 이와같은 범죄가 우리나라에서 첫선을 보인 것은 1973년 서울지역의 모아파트 입주자를 컴퓨터로 추첨하는 과정에서 프로그래머가 주위의 유혹에 빠져 부정 당첨시킨 이래 현재까지 약 20건이 넘게 발생되었다.
 

이상과 같은 컴퓨터 범죄는 비단 우리나라에만 국한된 사고는 아니고 우리보다 더 일찍 정보화 사회가 시작된 미국이나 일본 등에서는 훨씬 그 정도가 심각하여 현재는 물론 앞으로 더욱 사회적인 문제로 대두될 것으로 예상된다. 이미 잘 알려진 대로 미국에는 가정용이나 업무용으로 적어도 3백 60만대의 개인용 컴퓨터가 보급되어 있는데 컴퓨터 통신 및 네트웍의 발달로 이러한 개인용 컴퓨터가 공중전화선이나 전용선을 통해 통신장비로 활용되고 있는 추세에 있고 컴퓨터를 잘 알거나 또는 관심이 많은 수많은 젊은이들이 이들 컴퓨터를 이용하여 복잡한 통신망을 통해서 호스트컴퓨터(Host Computer)의 데이타베이스에 접근하거나 또는 기존의 데이타를 쓸모없게 하는 법을 알아내려고 애쓰고 있다.
 

특히 요즘의 미국 대학가에서는 컴퓨터에만 전문지식을 갖춘 소수 학생들이 간혹 시분할시스템(time-sharing system)의 운영체제내에 있는 보안체제를 뚫고 들어가서 그들의 성공을 표시했던 경우도 공개된바 있었다. 이로 인해 학생들의 성적 화일이 수정되어지고 컴퓨터 이용자들의 패스워드(암호)가 들어있는 마스터화일이 게시판에 공고되는 등 운영체제의 보안시스템을 극복해내는 복잡한 모험을 즐기고 있는 셈이다. 또 어느 대학의 시스템 강의에서 대학에 설치되어 있는 컴퓨터 운영체제에 침투할 수 있는 학생에게 A학점을 주겠다는 교수의 약속에 따라 이를 성취한 학생들이 상상외로 많아 이로 인해 비정상적으로 A학점을 많이 준 사례도 있다.
 

지금까지 소개한 사례를 포함하여 세계 각국의 컴퓨터 범죄를 유형별로 나누어 보면 컴퓨터 조작상의 범죄, 컴퓨터 사보타지(기능방해), 컴퓨터 스파이, 컴퓨터 하드웨어 및 소프트웨어의 부정사용, 현금지급카드를 이용한 현금부정 인출 등 5가지로 대별할 수 있다.
 

지난 수십년간 컴퓨터 기술이 발전함에 따라 일반 사용자들의 컴퓨터 사용이 더욱 쉽게 되었고 또 이 기간 동안에 컴퓨터의 숫자도 현저히 증가함에 따라 컴퓨터를 이용한 범죄행위가 새로운 사회의 골칫거리로 등장하게 된 것이다. 금융, 행정, 산업, 의료, 교육 등 수많은 경제활동이나 사회활동 분야에서 중추적인 역할을 담당하고 있는 컴퓨터는 국민생활과 불과분의 관계를 맺어가고 있고 따라서 컴퓨터 정보망에 대한 인간의 의존도는 더욱 더 고조될 것임에 틀림없다. 따라서 자연적인 재해나 사고 특히 고의적인 범죄행위에 의한 사고가 발생할 경우 범행자도 상상치 못했던 심각한 사고와 사회혼란을 초래하게 되며 자료의 전송시 그 보호가 중요한 보안문제로 대두하게 되었다.
 

이러한 자료의 보호문제는 컴퓨터 네트웍이 좀더 보편화되면서 현대사회의 새로운 사회문제로까지 확산되기에 이르렀다. 따라서 이상의 어떠한 사고의 경우에도 컴퓨터 본래의 작업이 중단되거나 방해받지 않도록 보장되어야 하며 또 그러한 임무를 수행하는 보안장치가 필요하게 되는 것이다. 이제부터 이와같은 보안기법을 위한 운영체제의 지원적인 측면서에 어떻게 현대사회의 새로운 열병인 컴퓨터 범죄를 막을 것인가에 대하여 언급하고자 한다.

 

야누스적 존재
 

운영체제 혹은 OS(Operating System) 가 무엇인가를 설명하기 앞서 컴퓨터 시스템 내에 있는 운영체제의 기능을 밝히고자 한다. 컴퓨터는 그 내부구조가 매우 복잡하지만 우리는 비교적 간단한 방법으로 컴퓨터를 이용하고 있다. 이것은 기계내부에 운영체제라고 하는 일종의 프로그램이 내장되어 컴퓨터 사용자가 컴퓨터 시스템의 각종 자원들을 손쉽게 효과적으로 사용할 수 있도록 지원하고 있기 때문이다. 이러한 운영체제와 컴퓨터 하드웨어, 시스템 프로그램, 응용프로그램 및 사용자와의 연관성은 (그림 1)과 같다.
 

여기에서 하드웨어는 단순히 계산능력과 기계적인 동작만을 제공하며 이 하드웨어의 모든 능력을 이용할 수 있도록 해주는 역할을 운영체제가 담당하고 있다.
 

따라서 운영체제란 컴퓨터 시스템에서 실행되고 있는 여러 소프트웨어의 일부분으로서 컴퓨터 사용자가 컴퓨터를 보다 손쉽고 효과적으로 사용할 수 있도로 지원하여 주는 역할을 담당하고 있다고 정의될 수 있다. 다른 모든 소프트웨어들은 운영체제를 통해서 여러 자원들을 사용하는 반면 운영체제도 다른 모든 소프트웨어가 컴퓨터 기기를 사용하는 것을 통제한다. 따라서 컴퓨터 보안을 철저히 하려면 먼저 운영체제의 보안이 우선적으로 또 집중적으로 고려되어져야만 한다. 그러나 이 운영체제의 보안만 해결한다고 해서 모든 문제가 다 해결되는 것은 아니고 보안대책은 모든 컴퓨터 측면에서 대비를 하여야 한다. 그러면 어떠한 방법으로 컴퓨터 시스템의 안전대책을 강구하며 또 운영체제의 지원을 받을 수 있을까?

 

(그림 1) 컴퓨터의 조직구조


범죄예방은 운영체제의 보안으로
 

우선 컴퓨터 시스템 전체의 보안유지나 안전대책으로 '외부보안'을 들 수 있다. 이는 주로 외부 침입자나 화재 및 홍수 등과 같은 천재지변으로부터 컴퓨터 기재를 보호하는 것을 뜻한다. 이를 위하여서는 컴퓨터 설치시 각종 재해로부터 보호될 수 있도록 안전하고 완벽한 시공을 하거나 모든 사용자는 컴퓨터 자원을 이용하기 앞서 일단 운영체제가 그 사용자의 신원 및 이용가능 여부를 확인하고 나서 시스템의 프로그램과 각종 데이타를 활용 또는 변경할 수 있도록 하는 것이다.
 

이와는 별도로 '내부보안'의 방법으로는 컴퓨터 하드웨어나 운영체제를 컴퓨터시스템의 안전한 운영에 부합되도록 설계함으로써 일차적으로 컴퓨터 시스템의 신뢰성을 높이고 또 각종 범죄행위로부터 보호하는 것이다.
 

다음은 이러한 목적에 적합한 운영체제를 구축하기 위한 몇가지 방법들을 살펴보기로 한다.
 

우선 운영체제의 기능을 하드웨어화 하는 것이다. 근래의 추세는 하드웨어의 값과 부피가 점점 작아지는 경향이 있으므로 중요한 운영체제의 기능들을 하드웨어로 구축하므로써 운영체제가 소프트웨어의 형태로 있을 때보다 수행속도가 빨라질 수 있으며 또 안전해진다.
 

다음은 생존력있는(survival) 시스템을 구축하는 일이다. 신뢰성있는 컴퓨터란 만약의 경우 기능상의 장애가 발생하더라도 계속 작동이 되어야 하고 이러한 고장을 신속하게 발견하고 회복시킬 수 있는 고장발견 기능과 비상안전장치가 고려되어야 하겠다. 또 컴퓨터 시스템에서의 침입방지가 설사 실패하였다 할지라도 모든 보안이 위태롭게 되지 않도록 사전에 대책을 강구하여야 한다.
 

예를들어 어떤 사람이 시스템 화일에 있는 사용자들의 패스워드(암호) 리스트를 입수하였다면 그 사람은 마음대로 시스템에 침입하여 사고 발생의 원인을 야기할 수도 있을 것이다. 그러나 이 리스트를 쓸모없게 만들기 위해 그 패스워드를 다시 해독할 수 있는 키(key)를 갖고 있지 않으면 그 리스트는 쓸모가 없도록 함으로써 좀 더 명확한 보안대책이 강구될 수도 있다.
 

보안에 대한 위험요소를 사전에 줄이기 위한 또 다른 방법으로는 중요한 작업에 대한 제어권을 사용자가 직접 가지지 못하게 하고 운영체제가 갖도록 함으로써 시스템내부의 중요한 내용을 사용자가 직접 호출할 때 운영체제 내부의 감시프로그램이 통제를 가하거나 또는 이와같은 부당한 시스템 침입을 시스템 책임자에게 즉시 통보하도록 하는 것이다, 이상과 같은 방법외에도 사전에 침입자에 대한 함정을 만들어 놓고 미숙한 침입자들은 시스템이 마련해 놓은 이 함정에 빠지도록 유도함으로써 범죄를 방지할 수 있고 사용자의 패스워드를 자주 바꾸도록 권장함으로써 침입자가 패스워드를 입수하더라도 곧 못쓰게 만드는 것이다.
 

이와는 별도로 컴퓨터 시스템 내에 반복적인 시도에 의한 시스템 침입을 방지하는 제도적인 장치를 강구할 수도 있다. 예를들어 어떤 사람이 현급 지급카드를 길거리에서 습득하여 현금지급기에서 가능한 패스워드를 무난히 반복하여 현금인출을 시도한다면 언젠가는 성공하게 될 것이다. 따라서 시스템 내에 잘못된 패스워드로 인한 현금인출 시도횟수를 확인케 하는 장치를 두어 제한된 시도횟수를 넘는 사용자에 대해서는 현금인출을 불가능하게 한다면 위와 같은 사고를 방지할 수 있을 것이다.
 

마지막으로 좀 어려운 방법이기는 하지만 운영체제의 커널(kernel)에 집중적으로 보완장치가 있도록 설계함으로써 가장 강력한 보안대책을 강구할 수 있다. 그러나 이 방법은 자칫 잘못하면 보완장치의 설치로 인하여 커널의 규모가 시스템 전체의 문제시 될 수 있다는 점에서 운영체제 설계시 충분한 분석이 선행되어야 한다.
 

이상과 같이 시스템 보안을 위한 여러가지 방법이 제시되었으나 운영체제란 매우 복잡하게 구성되어 있기 때문에 이들 운영체제의 보호문제를 고려한다는 것은 쉬운 일이 아니다. 따라서 시스템 모듈간의 상호작용을 명확히 하고 엄격히 통제한다면 외부로부터의 침입이나 허락되지 않은 권한을 사용하는 행위를 사전에 방지할 수 있고 보다 신뢰성과 안정성이 보장되는 운영체제를 구축할 수 있을 것이다.

 

편리와 보안의 모순관계
 

오늘날 컴퓨터 제조업자들은사용자에게 최대의 편의를 제공해 줄 수 있는 컴퓨터를 구축하려는 의도하에서 새로운 상품을 개발하고 있다. 이것은 사용자들이 컴퓨터에 친근감을 가지고 효율적으로 일할 수 있도록 개발되어야 한다는 것이다. 그러나 사용자에게 편리하면 할수록 더 많은 보안문제를 수반하여야 한다. 이와같이 컴퓨터 공유 및 이용과 컴퓨터의 보안대책이라는 두 측면은 서로 상충되는 내용을 내포하고 있다.
 

끝으로 보안대책이 완벽하려면 운영체제내의 여러 가지 보안기법 예를 들어 암호법, 공용키 시스템, 그리고 디지틀 서명 등이 서로 효율적으로 정확하게 협조되어야 하며 그중 어느 하나라도 취약성이 드러났을 때 다른 모든 보안대책이나 조치들도 무용지물이 되어 외부로부터의 침투를 받게 되는 것이다. 그러나 외부로부터의 침투를 운영 체제가 완벽하게 막는다는 것은 어려운 일이며 다만 침투가 힘들도록 만드는 것이 현실적이다. 따라서 운영체제의 설계자는 우선 어떤 점들이 보안상 위협적인 문제가 될수 있는가를 살펴보고 외부로부터의 침투기법도 자세히 검토하여 그와같은 결함을 피할 수 있도록 노력하여야 할 것이다. 아울러 컴퓨터 시스템에 적절한 안전대책의 기준을 설정하여 공급자와 이용자에 필요한 조치를 취할 수 있어야 한다. 또한 컴퓨터 관리자 측면에서 볼 때는 아무리 완벽한 시스템이라고 할지라도 과신하지 말고 컴퓨터 범죄 및 사고에 대비한 깊은 연구가 뒤따라야 할 것이다.

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

1986년 06월 과학동아 정보

  • 김영찬 교수

🎓️ 진로 추천

  • 컴퓨터공학
  • 정보·통신공학
  • 법학
이 기사를 읽은 분이 본
다른 인기기사는?