본문 바로가기

Dev.../소프트웨어 아키텍처

[SA강좌] Part 2-12 보안에 대한 프로파일

보안

표 Ⅲ-10. 보안 프로파일의 예

Category 

시나리오에 대한 설명

외부 공격

인증 받지 않은 사용자가 시스템을 공격한다.

데이터 보안

예전에 공개되었던 데이터가 private로 바뀌면서 이 데이터에 대한 엑세스도 제한되어야 한다.

보안은 인증된 사용자에게 서비스를 제공하는 동안 인증 받지 않은 사용자의 시스템 사용 요청은 차단하는 것이다. 보안을 파괴하려는 시도를 공격이라고 부르며 다양한 형태를 가지고 있다. 인증 받지 않는 공격은 데이터나 서비스에 접근하거나 데이터를 수정하거나 인증된 사용자가 서비스를 받지 못하게 하려는 목적으로 시도된다.

다양한 경로를 통해 발생하는 시스템 공격은 전자 거래의 이체 시 돈을 빼가거나 민감한 데이터를 수정하거나 신용 카드 번호를 빼가거나 컴퓨터 시스템의 파일을 파괴하고 웜이나 바이러스로 서비스를 마비시키는 등 다양하다.

보안은 부인 봉쇄, 은폐, 통합, 인증, 가용성 등으로 구분된다.

부인봉쇄(Nonreputation)란 어떤 사람도 시스템에 대해 어떤 작업을 시도했다는 사실을 부인하지 못하도록 하는 것이다. 예를 들어 사용자가 인터넷을 통해 주문 했다는 것을 부인하지 못하게 하는 것이다.

은폐(Confidentiality)는 데이터나 서비스를 인증 받지 않은 사용자의 공격에서 보호하는 것을 가리킨다. 예를 들어 해커가 정부 컴퓨터의 소비세 데이터를 접근하지 못하도록 하는 것이다.

정합성(Integrity)는 데이터나 서비스가 의도된 대로 전달되는 것을 의미한다. 예를 들어 성적은 교사가 승인한 후에는 수정할 수 없다.

Assurance는 거래를 하는 당사자가 원래 거래하려던 사람이어야 한다는 것이다. 예를 들어 고객이 인터넷으로 신용 카드 번호를 보내면 인터넷 사이트는 고객이 원래 생각하고 있던 그 사이트여야 한다.

Availability는 시스템이 정상적인 인증을 받은 사람들에게는 사용 가능해야 한다는 것이다. 이것은 해커의 공격 때문에 사용자가 주민 처리하는 것이 중단되어서는 안 된다는 것이다.

Auditing은 시스템이 시스템 안에서 이루어진 행위들을 추적할 수 있어야 한다는 것이다. 이것은 사용자가 한 계좌에서 다른 계좌로 돈을 이체할 경우 시스템이 이체에 대한 모든 기록을 유지행 한다는 것이다.

보안에 대한 시나리오 작성 지침은 다음과 같다.

표 Ⅲ-11. 보안 시나리오 작성 지침

 

설명

이벤트가 발생하는 장소

공격의 근원지는 사람이거나 다른 시스템이다. 공격의 근원지는 이미 식별되었을 수도 있지만 현재는 알려지지 않을 수도 있다.

인증 받은 사용자가

이벤트가 어떻게 시스템에 도착하는가

공격의 종류는 정보를 가로채려는 시도, 정보를 수정, 삭제하려는 시도, 시스템 서비스에 접근하려는 시도, 시스템 서비스의 가용성을 줄이려는 시도로 나눌 수 있다.

데이터를 수정하려고 시도한다.

목표

공격의 목표는 시스템의 서비스이거나 그 안에 있는 데이터이다.

시스템 내의 데이터

환경

공격은 시스템이 네트워크에 연결되어 잇거나 연결되어 있지 않을 때, 시스템이 방화벽 뒤에 있을 때나 네트워크에 열려 있을 때 이루어진다.

정상적인 운영 환경

응답

인증 받지 않고 시스템을 사용하거나 인증 받은 사용자가 시스템을 사용하는 것을 막는 것은 데이터를 가로채거나 수정하는 것과는 목표가 다르다. 따라서 시스템은 정상적인 사용자는 인증하고 데이터나 서비스를 사용하도록 허락해야 한다. 동시에 인증 받지 않은 사용자는 거부하고 서비스에 접근하는 것을 차단해야 한다.

공격을 막는 기술 중의 하나는 모든 접근 시도에 대해 로그를 남겨서 처벌하는 것이다.

시스템은 사용자의 행위를 모두 기록한다.

응답에 대한 측정치

다양한 공격을 시도하는 것이 어느 정도 어려운가, 공격을 받은 후 시스템을 복구하는 것이 얼마나 어려운가를 측정한다.

정확한 데이터를 하루 안에 복구할 수 있어야 한다.