computer_study

[컴퓨터 보안] 01. overview 본문

카테고리 없음

[컴퓨터 보안] 01. overview

knowable 2020. 9. 8. 11:25

Computer security란?

정보 시스템 리소스의 기밀성(confidentiality),무결성(integrity) 및 가용성(availability)을 유지하는 목표를 달성하기 위해 자동화 된 정보 시스템에 제공되는 보호 기능이다. (하드웨어, 소프트웨어, 펌웨어(ROM, flash-memory), 정보 / 데이터 및 통신 포함)

이때, 기밀성(confidentiality),무결성(integrity) 및 가용성(availability)을 CIA Triad라고 한다.

 

 

CIA Triad

Confidentiality (기밀성)

허가된 사람들만 정보에 접근할 수 있도록 정보 액세스 및 공개에 대한 승인 된 제한을 유지.

개인 정보 및 독점 정보를 보호하기위한 수단으로 많이 사용되고, Data를 암호화 하는 방법으로 가능하다.

 

Integrity (무결성)

정보 부인 방지 및 신뢰성 보장을 포함하여 정보를 비 정상적으로 파괴하고 수정하는 행위를 막는다.

 

Availability (가용성)

정보에 대한 시기 적절하고 안정적인 액세스 및 사용 보장해야된다. (적절한 delay로 접근가능해야 된다.)

시스템에 따라 기준이 다르다 (ex. 생명에 직결된 문제라면 real time으로 접근이 가능해야된다.)

 

 

이 외에 추가적인 Security Concepts (AAA)

Authentication (인증)

사용자 인증. (ex. ID, PW 사용)

 

Authorization (인가)

user가 특정 task를 진행할 수 있도록 승인한다. (사용자에게 특정 명령을 실행 할 권한이 있는지 판별)

 

Accounting (회계)

사용자가 접근해있는 동안 resource를 얼만큼 사용했는지 측정한다.(언제, 어떤 서비스를 사용했는지 기록) 

일종의 log를 의미한다.

 

 

보안 용어

Adversary(threat agent)   - 공격자

Attack                                         - 공격

  • passive - system resource에 영향을 주지 않는 공격 (ex. eavesdropping (packet sniffing과 같은 네트워크 공격), monitoring transmissions (traffic을 monioring)) 
    • '감지' 보단 '방어'를 더 강조한다.
    • traffic을 monitoring하는 것을 방지하기 위해 traffic을 암호화 하거나, 평소에 trafic을 어느정도 발생하도록 padding한다. (언제 어디서 traffic이 많이 발생하는 것인지 모르게 하기 위해서.)
  • active - system resource나 operation에 영향을 주는 공격 (passive보다 공격 탐지가 더 쉽다.)
    • '감지'와 '복구'에 초점을 맞춘다
    • 다른 사람인 척 하는 masquerade
    • 암호화된 packet을 저장해두었다가 그대로 server에 전송해보는 replay (time stamp로 해결 가능하다)
    • packet의 message내용을 바꿔서 공격하는 modification of messages
    • packet을 많이 보내서 서비스를 못하게 하는 denial of service(dos)
  • insider - 내부 요소(옛날에 함께 일하던 보안팀 같은)에 의한 공격. 전체 공격의 70%를 차지한다.
  • outsider - 외부요소(30%)

Countermeasure                  - 방어 방법

  • 목표는 자산 risk의 최소화이다.
  • prevent, detect, recover의 방법이 있다.

Risk                                             - 예상 손실 금액 ( (공격 성공 확률) * (공격 성공시 피해 액) )

System Resource (Asset) - 보호해야될 자산

Threat                                        - 위협(자산에 대한 잠재적인 위험), 취약성 악용

  • Unauthorized disclosure(비인가 정보 공개)
    • Exposure : 허가되지 않은 사람이 접근해서 공격
    • Interception : source와 destination 사이에서 주고받는 정보를 가로챈다.
    • Inference : 허가된 정보로부터 비허가된 정보(개인을 특정할 수 있는 정보, ex. ip, traffic data)에 접근한다.
    • Intrusion : 시스템 공격을 통해 비인가 정보에 접근한다.
  • Deception(속이는 방법)
    • Masquerade : 마치 인가된 존재인 것 처럼 행동한다.
    • Falsification : 가짜 data를 보내서 속인다.
    • Repudiation : 가짜 정보를 보낸적이 없다고 부인한다.
  • Disruption(정상적인 서비스를 하지 못하도록)
    • Incapacitation : 시스템 구성요소를 비활성화시켜, 동작하지 못하도록 한다.
    • Corruption : system의 functions 혹인 data(file)을 오염시켜서 동작하지 못하게 한다.
      (ex. window는 여러개의 파일로 구성되어있는데, 이를 조금씩 조금씩 감염시킨다. 파일이 잘못됨을 알게되어 backup data로 back up을 시도하더라도 이미 backup data가 감염되어있을 확률이 높고, 이후부터는 backup data에 포함된 data 모두를 사용할 수 없게 된다. )
    • Obstruction : 시스템 서비스 제공을 방해한다.
  • Usurpation(정상적인 사용자이지만, 업무 권한 밖에 있는 정보를 사용한다.)
    • Misappropriation(남용)
    • Misuse(오용)
    • ex) 국세청 직원이 특정 연예인의 건물이나 세금 정보를 알아내는 행위  

Vulnerability                           - 취약점

  • corrupted(손상)
  • leaky(누설)
  • unavailable or very slow

Security Concepts and Relationships

 

 

보안을 지키기 위한 Requirements

  • user마다 접근가능한 정보를 제한하는 Access control
  • 사용자들이 보안의식을 갖도록 하는 Awareness and traing
  • monitoring,protect,...등을 하기 위해 log기능 사용
  • 취약점의 유무를 진단하여 파악하여야 된다.
  • 기관의 보안 정책과 어긋나지 않도록 해야되는 Configuration management
  • 위급상황 발생 시 어떻게 무엇을 먼저 복구할지 미리 정해두는 Contingency planning
  • 사용자 인증, 사고대응과 유지 관리
  • 물리적 network live 저장장치 관리
  • Risk를 계산 후 가장 높은 곳의 보안에 투자하는 Risk assessment
  • 새로운 정책이나 방법을 도입할 때 어떤 절차로 도입할 것인지 정해놓은 systems and services acquisition
  • 통신라인을 잘 보호해야되고, 정보의 integrity를 잘 유지해야된다.

requirements는 3가지 분류로 나눌 수 있다.

 

1. 기술적 대응이 필요한 requirement

  • access control,   identification&authentication,   system& communication protection,   system&inormation integrity

2. 관리적 대응이 필요한 requirement

  • 거의 대부분. login,   security assesment,   contingency planning,   maintenance,   physical&environmental protection, personnell security,   risk assessment,   systems & services acquisition

3. 기술적, 관리적 대응이 필요한 requirement

  • configuration management,   incident response,   media protection

 

 

security architecture

보안을 위한 체계적인 접근 방법을 정의하였다. (TIU-T에서 OSI(Open System Interconnection)을 위한 security architecture X.800을 발표하였다.) security attack, security mechanism, security service관점에 집중한다.

 

Security Services

system resources를 보호하기 위한 processing혹은 communication service이다.

security service는 security policy를 구성하고, security mechanism에 의해 구성된다.

  • Authentication Service(인증 서비스)
    • packet을 받았을 때, 보낸 source가 packet에 적힌 source가 맞는지 확인한다.(Data Origin Authentication)
    • 인증된 두 당사자 중 하나로 가장하는 제 3자에 의해 연결이 방해받지 않도록 해야된다.(Peer Entity Authentication)-통신 시
  • Access Control Service
    • 엑세스 권한을 얻으려는 각 entity를 먼저 식별하거나, 인증해야 엑세스 권한이 조정되도록 한다.
  • Nonrepudiation Service(부인방지)
    • 메세지 통신 시, sender와 receiver가 전송,수신 여부를 부인할 수 없도록 한다.
    • 수신자는 알맞는 발신자가 보낸 것인지 확인할 수 있고, 발신자는 알맞은 수신가가 수신했는지 확인할 수 있다.
  • Data Confidentiality Service (데이터 기밀)
    • 암호화 통신을 통해 service를 제공한다. (passive attack 방지)
    • 연결된 모든 사용자의 데이터를 보호하는 Connection confidentiality (연결 기밀성)
    • traffic analysis에 대응하기 위해서 traffic-flow 또한 데이터로 보아, 기밀을 유지해야된다.
  • Data Integrity Service
    • 공격자가 data를 볼 수는 있지만 수정은 할 수 없도록 한다.
  • Availability Service
    • denial-of-service(dos)에 대응하기 위해 사용되는 방법이다.
    • 가용성을 보장하여, 서비스를 계속 유지할 수 있도록 한다.

 

Security Mechanisms

security service를 구성하기 위해 필요하다.

 

1. specific security mechanisms

특정 층이나 특정 서비스를 위해 사용되는 mechanism이다.

  • Encipherment(암호화)
  • Digital Signature(전자서명)
  • Access Control, Data Integrity(데이터 무결성), authentication exchange(데이터 무결성)
  • Traffic padding : traffic분석 시도를 방해하기 위함
  • Routing Control : 다른 경로로 돌아가도록 한다.
  • Notarization(공증) : 신뢰할 수 있는 제 3자를 사용한다. (non-represation service 위해 사용가능)

2. pervasive security mechanisms(잘 알려진 mechanisms)

특정 계층이나, 특정 서비스를 위한 보안 mechanism이 아니라 널리 사용되는 mechanism이다.

  • Trusted Functionality, Security label, Event detection, Security audit trail, Security recovery

 

 

Computer Security Strategy

기관 입장에서, 보안을 위한 전략은 필요하다.

 

Security Policy(보안이 어떻게 동작해야되는가?)

  시스템 또는 조직이, 중요한 시스템 리소스를 보호하기 위해서 보안 서비스를 제공하는 방법을 지정하거나 규제한 것이다.

 

  • 고려해야 될 요소들 : 자산의 가치가 어느정도인지, 어떤 threat이 있고 attack이 얼만큼 가능한지를 고려해서 policy를 정한다.
  • 보안을 강화할 시, 그 불편함이나 강화에 드는 비용도 함께 고려해야된다.
  • 예시 : pw는 몇글자 이상이어야 된다. 주민번호는 반드시 암호화 해서 저장하여야 된다 등등

Security Implementation(how does it do it?, policy를 준수하며 구성되는가)

  4가지 action으로 구성한다.

  • detection(탐지)
  • response(탐지 후 대응), 공격을 중단하게 한다.
  • recovery(복구), backup system을 사용한다.
  • prevention(예방), 안전한 암호화 알고리즘을 사용하고, 암호화 키에 대한 무단 access를 방지한다.

Assuarance (잘 구현되어있는지 확인한다.)

  보안 조치가 시스템에서 처리하는 정보를 보호하기 위해 의도 한대로 작동한다는 확신의 정도이다.

시스템 설계 및 구현에서부터 보안을 고려하는 것이 좋기 때문에, 설계 및 구현 때부터 보안을 확인 해야된다.

 

  evaluation(평가)

Common criterial(CC, 국제 공통 평가 기준)에 따라  EAL(Evaluated Assurance Level)을 매긴다.

level4이상은 충분히 안전한 시스템으로, system design, implementation 단계부터 보안이 고려된 시스템이다.

level5이상은 formal analytic, mathematical techniques를 이용해서 안전함이 증명된 시스템이다. ex) 원자력 발전

 

 

공격 예시

man-in-the-middle : 서비스 공급자와 사용자 사이에 해커가 끼어들어, 서로가 통신하는 것 처럼 하며 중간에서 모든 정보를 가져간다.

DDos : memory cache 취약점을 이용해서 공격한다.

 

 

Comments