컴퓨터 보안은 진행중이다. 지난 40년 동안 계속되는 도전과 대답을 찾았다. 지금부터 컴퓨터 보안 역사에 대해 배우고 원리 이해와 어떻게 발전했는지 알아보자.

목적

컴퓨터보안에대한 아웃라인을 잡는 것

기존에 발명되었던 개념으로부터의 보안의 유사성파악

컴퓨터보안측면에서의 IT 응용프로그램의 변화

보안측면에 지장을 주는 부분.

 

컴퓨터보안의 태초

새로운 컴퓨터보안이 생성되고 있다.

2차세계대전에 브래츨리 파크라는 독일 에니그마 암호 해독 비밀기관에서 처음으로 코드브레이커들이 생겼다.

1940년대에 처음으로 전자 컴퓨터가 생겼고 어플리케이션 아카태미가 생성되었다. 금융기관과 정부 에이전시도 1950년대 초에 생겼다. 컴퓨터 보안은 1960년대 초반부터 시작되었는데, 멀티유저 시스템에서필요하게 되었다. 여러사용자를 보호하기 위하여. 이때 링 개념이 등장하였다.

 

1970년대 두가지 레포트가 있었는데 랜드 리포트는 컴퓨터 보안의 기초를 세웠다 1960년 후반에. 여기서 어플리케이션 영역에서의 요구되는 정책들과 보호되어져야할 영역과같은 기초를 정립하였다. 또한 그 바로 다음의 보안컴퓨터에대한 프로그래밍방법과 보호되어져야할 정보를 분류하였다.

 

앞으로 4가지의 단락에서 살펴보도록하겠다.

1970 : 메인프래임의 시대. 1980 : PC의 시대 1990 : 인터넷의 시대, 2000: web의 시대

 

1.2 1970년 메인프래임

메모리장비의 발달로 그때 당시의 많은 양의 데이터를 처리할수 있었다. 정부랑 큰 회사에 적용되었다. 두가지 프로그램이 관리에 사용되었는데, 미국 방위산업 공군에서 .

멀티레벨을 두어 접근할 수 있는 데이터를 분류하였다(bell lapadula모델).

멀틱스 프로젝트는 개바라였다. 운영체제를 보안관점에 둔.

 

두 번째는 불류되지 않은 민감한이었다. 개인정보같은.정부에서 관리하고 있는 정보에대해 위험한 상황에 도달하여 많은 보호 개념이 등장하였다.

 

엑세스 컴트롤 메커니즘은 멀티유저보안에서 등장. - 유저는 자신의 부분을 지켜야 한다. 허락이있어야만 데이터 공유가 가능하고 관리가되어진다. 기본개념은 챕터 5에서 다룬다.

 

암호화는 데이터 저장과 보호에 있어 많은 역할을 했다. IBM에서 는 DES를 표준으로 제안하였고, 1976Diffie Hellman 의 공개키 개념이 1976년에 제시되었고 이는 14장에서 살펴본다.

 

데이터베이스의 질의문의 조합으로 인해 안전한 쿼리문이라고 판단되는 것을 해커들이 만들어 사용한다. 섹션 9.4에서 배우게 될 것이다.

 

세 번째로 합법 시스템 과 데이터 보호가 법제화 되고 USOECDprivacy guideline에 추가되었다. 섹션. 9.6에서

 

이러한결과로 암호화부분은 성숙한 결과를 이루었다. AES를 국제 표준으로 1990년 대에 만들었다.

 

1.3 1980년대 PC

소형화과 통합화로의 변화되었다. 작은 책상이면 충분함. 유저 친근한 인풋아웃풋 장비들 그래픽. 이것이 PC이다. 혁명이다. 시큐리티의 관점이 바뀌었다. 1980년대에 . 1984년에 메킨토시 등장. 워드프로세스 나 스프레드시트같은 프로그램 유저가 문서를 다룬다. 하지만 데이터의 분류는 이루어지지 않았다.

보안의 필요성에 대해 신호탄이 되었다. 정보흐름모델과 간섭없는 모델은 제안되었다.

오렌지북에서는 일반적인 컴퓨터 보안에대한 규칙, 규율을 제안하였다. 13.2에서

 

클라그 윌슨 모델 , 차이니즈 wall 모델

 

interl 80286에서는 멀티유저 OS에서 사용되는 세그멘테이션을 지원했고, 80386에서는 DOS, 처음으로 worm과 바이러스가 나타났다.

 

1.3.1 초창기웜

1988년의 인터넷 웜은 rlogin 의 무차별대입공격이나 잘못된 환경설정이나 버퍼 오버플로우같은 finger데몬의 공격을 통해 이루어졌다. 전체 머신의 5-10%정도를 감염시켰고, 60,000 대의 머신이다. 유닉스 의 4bsd 536첫바이트를 감염시킨다. 쉘을 떨어뜨리는 것.

 

1.3.2 미친 해커


1.4 1990년대 인터넷

1980년대 말 email 이나 fax중에서 어떤것이 문서교환의 방법중에 효율적인지 결정이 나지 않았었다. 1990년대 인터넷환경에대해 널리 퍼져 안정기가되는상태였고, 인터넷의 시대에대해 의심할여지가없었다. 이것은 새로운 기술이 이용가능해짐에 대함이나. 인터넷의 상업적 용도는 1992년에 시작되었다. HTTP 프로토콜과 HTML은 기본적인 비쥬얼적인 것들과 이메일과같은 용도로 사용되었다.  WWW개념은(1991년)과 1993년의 Mosaic이라는 브라우져가 생겨났고, 새로운 영역에대한 지표를 열었다. 


인터넷은 의사소통시스템이다. 따라서  이것은 인터넷 보안이 communication security 과 동등한 수준에서 시작되었지만 암호화의 사용으로 더 강해졌다. 1990년대에 암호전쟁 이있었다. US의 방위산업청과 알고리즘이 깨지지않는것을 지지하는 사람들 사이에서 40bit key 이상의 알고리즘 사용에 대한 수출을 반대하는 것에 대해 논란이있었다.  챕터 16에 1990년대의 communication security 에 대한 해결책 개발에 대해 기술되있다. 


그러나 communication security 는 쉬운 문제만을 해결한다.  예를 들어 전송중 데이터 보호같은.   실제 문제들은 다른곳에 있음을 명확히 알고 시작해야한다.  PC의 경우는 더이상 독립적이나 LAN환경에서 만 사용되어지지 않고 인터넷에 연결되어져사용된다. Machine(PC)가 인터넷에 여결되어져 있다는 것은 두가지 큰 결과를 가진다. 시스템 소유자는 더이상 인터넷을 통한 시스템내에 인풋에 대해 컨트롤 할 수 없다. 

첫번째 관심있게 볼 부분은 전통적인 신분기반의 엑세스 컨트롤이 보호 매커니즘이다. 두번째 관찰 포인트는 새로운 공격 Aleph가 논문에 묘사한 Smashing the Stack for Fun and Profit(1996) 과 같은것이다. 공격자는  의도적으로 이상한 형태의 인풋을 열린 포트로 보내고, 프로그램상의 버퍼는 공간이 넘치게 되어 공격자에의해 쉘코드가 실행되어 컨트롤이 넘어가는 상황이 발생한다. 챕터 10에서 소프트웨어 시큐리티에대해 설명한다. 


자바 시큐리티 모델은 두가지 이슈를 다룬다. 특권들은  origin of code 에 의존하여 맡겨지고, 유저가 실행한 프로그램의 신분에 따르지 않는다. 

Remote code(applet)이 실행될때 오직 제한된 권한을 가지고 sandbox에 넣어지게 된다. 안전한 언어로서 자바는 오버플로어와 같은 상황에서 안전한 메모리 보호를 보장해준다. 챕터 20에 코드베이스에서의 엑세스컨트롤을 보여준다. 


급격하게 증가하는 수의 소프트웨어 취약들은 리포트 되었다 . ~ Aleph 의 논문과  이메일을 통한 바이러스 공격들은 인터넷을 통해 PC를 휩쓸었고, 믿음과 신뢰 들은 조금씩 사라졌다. 여기에 대한 반응으로 컴팩, 휴렛팩커드 IBM 인텔 과 MS는 1999년에 '서핑에 안전한 웹환경을 만들자' 는 목표로 Trust Computing Platform연합을 만들었다.  


컴퓨터그래픽의 발전을 통해 PC를 이용한 컴퓨터게임 비디오 뮤직을 이용할 수 있게 되었다. 인터넷은 매력적이었으며, 여러 엔터테이너서비스를 제공하기 위해 회사게 나누어지기도하였다. 그러나 그들은 복사 방지에 대한 기술적인 문제에 직면하게되었다(그때당시그러한 방지 기술이 없었다. ) 복사 방지 기술은 1980년대에 발견되었다. 그러나 그때당시에는 mass market software에 적합하지 않았다.  컴퓨터 보안에서 DRM은 새로운 엑세스컨트롤의 방법으로 추가되었다. 


 첫째로 엑세스컨트롤은 시스템 소유자를 외부로부터 보호해 주지 못한다.


DRM 은 외부로부터시스템 소유자로서의 행동에대해 보안정책을  강제한다. 짧은 기간동안에  특별한 케이스의 DRM 들이 엑세스컨트롤에 사용되어지도록 등장하였다. DRM은 turst computing 에서 영향력이 커졌고, 원격에서 입증하는 매커니즘을 소개하였다.( 문서의 소유자의를 확인하기 위해 소프트웨어가 목적지인척하는). 15.6 과 20.7 에 소개. 


금융 application 에서  big three중에 하나인 가용성은  다른 무엇보다 중요한 것이다.  과거, 가용성은 설명되어졌다 - 조직의 방법 으로 - 긴급대책계획, 정기적인 데이터 백업, 회사에서 멀리떨어진 만일에 대비한 서버. 

인터넷에서 서비스 거부공격은 1990년대 말에 가능해졌다. 대응책으로 방화벽이나 IDS 은 네트웍보안 구조에 필수요소가 되었다. 챕터 17


긴급한 DOS공격은 암호화 프로토콜을 디자인하는데 재고려를 하게끔만들었다. 더강한 암호화는 DOS공격에 의해 더 많이 공격당할수있다. 오늘날 프로토콜들은 송 수신자간에 균형을 유지하도록 만들어졌다. 따라서 공격자또한 희생자와 같은 계산력이 필요하게끔 만들어져있다. 


1.5

웹에대해 얘기해보자면 한 기술적측면으로 웹브라우저는 서버와클라이언트가 상호작용을하는 메인소프트웨어 컴포넌트이고 사용자에게 화면을 디스플레이해준다. HTTP 는 application level의 communication 프로토콜로서 HTML XML 과같은 데이터 포멧을 지원한다. 또한 클라이언트 사이드와 서버사이드 스크립트 랭기지로서 역동적인 상호작용을 수행한다. WLAN 과 모바일 폰 시스템은 유비쿼터스 네트워크억세스를 제공한다. 사람의 측면에서 살펴본다면, 서비스 제공자들은 콘텐츠와 서비스를 제공하며 고객들은 해당 서비스를 제공받는다. 


The technology(웹)은 1990년대에 주된 주목받는 mainly 기술이었다. 2000년대에 들어서면서 사용자베이스의 급격한 성장을 이루었다(유저의수가많아졌다?)   회사는 자신의 고객들이 모바일을 통해 직접적으로 서비스를 받을수 있는 충분한 기회를 제공하였고, 이로인해 비용의 절감과 불필요한 중간과정을 제거하였다. 

항공을 통한 여행 예산의 경우에 첫째로 web booking을 통해 비행기편을 제공하고, 티켓을 예매하도록하였다. 다른 항공사들도 이 suit를 따랐다. 2008년에  IATA에서는 전자티켓 개념의 간소화된 비지니스를 계획, 착수 하였다. 


유사하게, 현재 여행객들은 호텔예약을 하고, 자동차 렌탈이나, 컨퍼런스 등록을 인터넷으로 하고 있다. 또 다른 경제적응용의 성공적인 측면으로 아마존이나 mail-order 비지니스나 e-banking, eBay 같은 것들이 있다. 마지막으로 특별히 흥미로운것은 private citizens 들간의 물건발송주소를 이용하여 그 크기가 드러난다는 점이다. 


웹상에서 서비스를 제공받는 어플리케이션레벨의 소프트웨어는는 주된 공격대상이 될 수 있다. 대표적인 공격패턴으로 SQL injection을 들수 있다 (10.5.2) CSS(18), DNS공격(17.2).

에플리케이션 계정에 대한 취약성공격이나 real attack은 점점증가하고 있다. 공격자는 Gmail 의 계약 문서를 훔친다. MySpace를 통해 수백만의 사람들에게 웜을 퍼트리기도한다. Cross-site scripting 를 이용한 오버플로우 공격은 CVE 리스트를 통해 2005와 2007년의 OWASP 상위 10개 안에 취약점으로 분류되기도 하였다. 2006년에는 SQL injection이 CVE리스트의 2번째로 rank되기 도 하였다. 


웹상의서 경제적 활동과 일직선을 이루는 성장은( 웹에서 유저의 활동이 많아짐에따라 경제정활동이 증가하는) 공격의 양상을 바꾸어놓았다. 

1990년대의 해커들은 주로 자신의 10대나 20대의 제한된 몇가지 기술에 고정되어 있었다. 
One could discuss whether they were laudable whistle blowers exposing flaws in commercial software or whether they were creating wanton damage simply in order to bolster their self-esteem.

드문경우로 공격자는 경제적 이득을 취하게 된다. 오늘날, 범죄집단은 web으로 옮기어졌다. 범죄자들은 빨리전파되어지는 웜공격과같은 것에 관심을 두지 않는다. 그들은 자신의 희생자의 머신에서 민감한데이터인 비밀번호나 PIN넘버나 TAN넘버나 botnet으로서의 한부분이 되는것을 더 선호한다. 


현재까지의 양상을 보면 경제 활동은 탄력을 받아왔다. 왜냐하면 높은 대역폭의 글로벌 커뮤니케이션 인프라스트럭쳐를 이용한  인터넷 이용가능성때문이다.

아웃소싱, 가상조직(virtual organizations), grid와 클라우드컴퓨팅 과같은 회사의 합병, 분리, 그리고 그들의 활동은 하청이나 해회의 자회사를 통해 기본적인 일을 처리한다. 민감한 정보에 대한 보호는 이러한 변화사이에서도 지속되어왔다. 정보는 회사의 성공에 중요한 영향을 끼친다. 보안정책은 반드시 정의되어야하고 강제되어야하고 관리는 여러개의 셋팅으로 분산되어 관리되어져야한다.  


 Policy administration, Policy decisions, 그리고 policy enforcement 은 활동이 구분되어지고, 다른 사이트에서 다른 파트너에의해 수행되어진다. 

policy language should provide support for controlling the effects of merging policies or of importing local policies into an enterprise-wide policy. 

Policy management 시스템은 local 시스템 소유자가 policy를 컨트롤하는것보다 console를 제공하여 포괄적인관점에서 기업의 다양한 정책을 세우는게 낫다. 

현재의 상태를 최신의 관점에서 바라보는것이 좋다. dynamic 하고 global 한 기업은 도전이고 관리뿐만아니라 감독당국으로서.

규칙에 따르는것은 오늘날 기업의 주된 임무다. 


명세서(설명서)작업이나 적절한 보안 메카니즘을 디자인하는 것은 여러분야에서 진행중이다. 웹서비스 보안 표준은 XML 문서, SAML(인증을 위한 일반적인 패턴), XACML(엑세스컨트롤) 등에서 암호화 보호 부분에대한것을 다루고 있다.  장래에  이런표준을 보게 될것이다.  Federated identity management(연합신분관리) 는 여러기관이 모인 시스템에서 싱글사인온과 같은 관련된 주제중 하나이다.  서로다른 인증과 허가 계정은 (authentication, authorization, accounting)

집중된다 - 인터넷이나, 모바일서비스를 이용함에 있어서. 흥미로운 도전이 증가된다. 엑세스컨트롤에서 research is pusuing ideas first introduced in the work on trust management.   Policy 언어를 디자인할때 research 는 표현의 풍부함과 strength of formal foundations 사이에서 올바른 균형을 추구한다. 챕터 20에서 소개한다. 


1.6

혁신적으로 개발되어졌던 살펴보았던 -mouse, 그래픽 유저인터페이스, 인터넷, www, , mobile 커뮤니케이션, 공개키암호화, 웜, 바이러스 , - 각자 자신의 분야에서 발전해왔다. 그러나 이러한것들은 처음에 계획했던대로 구상자가 생각했던대로 사용되지는 않았다. 예를들어 인터넷의 창시자는 이메일서비스가 가장 인기있는 서비스인것을 알게되면 놀랄것이다. PC창시자는  Internet terminal 이, SMS는  모바일 네트워크에서 오늘날 가장 주요한 서비스가 되었다. 


여기에는 보안에대한 가르침이 있다.  창시자만 창의적인것이 아니라 유저도 창의적이다. 뉴테크놀로지 지지자들은 예방적인 접근에대해 자주 묻는다. 새로운 기술을 공부하고 보안매카니즘을 개발한다. 이러한 접근은 새로운 기술이 예상대로 동작할때는 유용하다. 하지만 사용자의 innovation에 실패하는경향이있다.

이것은 위험이 추가된다(오래된 보안challenges 와 해결책 은 최신기술의 해결책의 도입을 억제하며 더이상 동작하지 않게 한다. 실질적으로 유저를 막는 장애물이된다. 멀티레벨시큐어 OS와 데이터베이스 management 시스템은 드물게 commercial organizations 에 적용된다. 추천하기는 모든 메세지에 대해 authenticate를 하는 것이다 인터넷 프로토콜에서 . 이것은  privacy protection demands를 제공한다. 


Innovations research 정의한다  지장을 주는 기술은 싸고 비교적 간단한 기술( 수준있는 요구사항을 적용하지 않고 , 사용자는 그것을 본적이 없으며, 널리공개적으로 사용되는 기술을 적용하고 고급기능에대한 적용이 없는 것을 말한다. 

결국, 새로운 기술은 더 고급 기술을 습득한다. 결과적으로 유저는 새로운 기술을 이용할 수 있다. 예를 들어 workstations 은 PC보다 더 강력한 그래픽 프로세를 가지고 있었다. 그래서 살아남았다 다른 예로는 QoS를 제공하지 않도록 디자인된 인터넷프로토콜은 전화 네트워크에서 계속적으로 교체교체되어왔다. 이러한 기술은 보안에 문제가 있다.  

처음에 보안 기능은 유저에의해 요구되는 것도 아니고 유저가 사용하는 어플리케이션에 의해 요구되는 것도 아니었다. 그때의 민감한 응용프로그램을 위한 플렛폼은 보안을 통합하기 어려웠다. 






'보안공학' 카테고리의 다른 글

4. Identification and Authentication|  (0) 2013.09.26
3. Foundations of Computer Security  (0) 2013.09.26
2. Managing Security  (0) 2013.09.26
AND