1️⃣ NIST 컴퓨터 보안 핸드북에서의 컴퓨터 보안
자동화된 정보 시스템 내의 자원(하드웨어, 소프트웨어, 펌웨어, 정보/데이터, 통신)들의 무결성, 가용성, 기밀성을 보존하기 위해 제공되는 보호
2️⃣ 주요 보안 개념 (CIA 3요소)
- 기밀성
개인 프라이버시와 소유권 정보를 보호하고, 정보의 접근 및 노출에 인가된 제한을 유지하는 것
- 무결성
정보의 부인방지와 진위성을 보증함으로써 정보의 부적절한 변경 혹은 파괴로부터 보호
- 가용성
정보에 대한 적절하고 신뢰성 있는 접근과 사용을 보증
📌 컴퓨터 보안 과제
- 컴퓨터 보안은 초보자들에게 보이는 것 만큼 간단하지 않음
- 보안 특성들에 대한 잠재공격 가능성을 반드시 고려해야 함
- 특정 서비스를 제공하기 위한 처리 과정은 예외가 발생될 수 있음
- 물리적 배치와 논리적 배치를 어떻게 하여 사용할 것인가를 판단해야 함
- 보안 메커니즘은 특정 알고리즘 혹은 프로토콜을 포함
- 공격자는 하나의 취약점만 찾아내면 되지만, 방어 측면에서는 모든 취약점을 발견하여 없애야 함
- 사용자와 시스템 매니저는 문제가 발생할 때까지 보안의 필요성에 대해 간과하고 있음
- 보안은 정기적으로 지속적인 모니터링이 요구됨
- 보안을 설계 뒷전의 업무로 간주하고 있음
- 보안은 작동의 편의와 효율성에 방해가 될 것이라는 관념이 있음
📌 컴퓨터 보안 용어
용어 | 의미 |
공격자 | 시스템을 공격하거나 위협하는 존재 |
공격 | 시스템의 보안 서비스를 회피하여 보안 정책을 위반하려는 의도된 시도 |
대응 | 위해를 최소화하거나 적절한 대응을 위해 탐지, 보고하여 위협, 노출, 공격을 제거하거나 방지하는 행위, 장비, 기법 |
위험 | 특정 위협이 가져올 확률적으로 표현되는 예상되는 손실 |
보안 정책 | 시스템이나 기관이 민감하고 중요한 시스템 자원들에 보안 서비스를 제공하기 위해 명시한 규정과 업무 |
시스템 자원(자산) | 정보 시스템내의 데이터, 시스템의 서비스, 처리 기능, 통신 대역폭, 시스템 장비(하드웨어, 펌웨어, 소프트웨어, 문서), 시스템 장치 설비 |
위협 | 보안을 침해하고 손해를 가져올 수 있는 상황, 행위, 이벤트가 존재할 때 잠재적 보안 위반 |
취약성 | 시스템 보안 정책을 위반할 수 있는 시스템 설계, 구현, 혹은 운영, 관리상의 오류 혹은 약점 |
- 공격은 구체적인 행위로, 시스템의 보안을 침해하는 실제 시도이다.
- 위협은 잠재적인 가능성으로, 아직 발생하지 않았지만 시스템에 문제를 일으킬 수 있는 위험 요인이다.
- 위험은 위협의 발생 가능성과 그로 인한 피해 규모를 평가한 결과로, 이를 기반으로 보안 정책을 수립하고 대응책을 마련한다.
📌 보안과 개념의 관계
- Owners: 자산(assets)의 소유자로서 자산의 가치를 보호하고자 한다. 보안의 주체로서 countermeasures(대책)을 설정하여 위협을 줄이고자 한다.
- Countermeasures: 보안을 강화하기 위해 소유자가 적용하는 대책으로, 시스템의 vulnerabilities(취약점)를 줄이는 역할을 한다.
- Vulnerabilities: 시스템이 갖고 있을 수 있는 취약점으로, Threat agents(위협 행위자)에 의해 악용될 수 있다. 이를 통해 threats(위협)가 발생하게 된다.
- Threat agents: 시스템을 악용하려는 행위자로서, 취약점을 이용하여 시스템에 위협을 가할 수 있다.
- Threats: 위협 요소로, vulnerabilities를 이용하여 assets(자산)에 손상을 가할 가능성을 나타내고 있다.
- Risk: threats와 vulnerabilities가 결합하여 발생하는 위험으로, 자산의 가치를 손상시킬 가능성을 의미한다.
- Assets: 보호해야 할 자산으로, 위협 행위자들이 이 자산을 손상시키거나 악용하고자 한다.
3️⃣ 취약성, 위협 및 공격
- 취약성의 범주
- 오류 (무결성 상실): 시스템이나 소프트웨어에 존재하는 결함이나 버그로 인해 무결성이 손상될 수 있는 상태
- 유출 (기밀성 상실): 중요한 정보가 외부로 유출될 수 있는 상황으로, 기밀성을 잃는 경우
- 작동 불가 혹은 속도 저하 (가용성 상실): 시스템이 제대로 작동하지 않거나 성능 저하가 발생하여 가용성을 잃는 경우
- 위협
- 취약점을 악용하는 것을 위협이라 하며, 보호해야 할 자산에 해를 끼치는 가능성을 가진다. 위협은 취약성을 탐지하고 이를 악용하려고 시도하는 행위를 의미한다.
- 공격 (위협을 실행하는 행위)
- 수동적 공격: 시스템 자원에는 직접적인 영향을 미치지 않는 공격으로, 주로 정보 수집이나 감시 같은 형태.
- 능동적 공격: 시스템 자원을 변경하거나 시스템 동작에 영향을 미치려는 시도로, 데이터 변조나 서비스 방해와 같은 행위가 포함된다.
- 내부 공격: 보안 경계 내에서 일어나는 공격으로, 권한을 가진 내부자가 시스템에 접근해 손상을 가하려는 것.
- 외부 공격: 보안 경계 외부에서 시스템에 접근해 공격을 시도하는 것, 일반적인 해킹 공격이다.
💡 위협의 결과
- 비인가 노출 (Unauthorized Disclosure)
- 허가되지 않은 데이터에 대한 접근을 얻는 상황으로 기밀성이 손상되는 경우
- 위협행위(공격):
- 노출 (Exposure): 민감한 데이터가 비인가된 존재에게 직접 노출되는 것.
- 도청 (Interception): 인가된 송수신자 사이에 전송되는 민감한 데이터에 대한 직접적 접근.
- 간섭 (Interference): 비인가된 사용자가 통신, 부사운 등을 이용해 민감한 데이터에 간접적으로 접근하는 것.
- 침입 (Intrusion): 비인가자가 시스템 보안 보호벽을 뚫고 민감한 데이터에 접근.
- 기만 (Deception)
- 인가된 사용자가 잘못된 데이터를 사용하는 상황으로 무결성이 손상되는 경우
- 위협행위(공격):
- 매스커레이드 (Masquerade): 비인가된 사용자가 인가된 사용자인 것처럼 가장하는 것.
- 변조 (Falsification): 잘못된 데이터를 인가된 사용자로 속이는 행위.
- 부인 (Repudiation): 행위에 부인함으로써 다른 사용자를 속이는 것.
- 분열 (Disruption)
- 시스템 서비스와 기능의 바른 동작을 막는 환경으로, 가용성과 무결성이 손상되는 경우
- 위협행위(공격):
- 무력화 (Incapacitation): 시스템 컴포넌트 불능화를 통해 시스템 동작을 방해하거나 단절시킴.
- 오염 (Corruption): 시스템 동작, 기능, 데이터가 원치 않는 방향으로 변경됨.
- 방해 (Obstruction): 시스템 동작을 막아서 시스템 서비스 수행을 중단시키는 위협행위.
- 횡령 (Usurpation)
- 비인가된 사용자가 시스템 서비스를 초래하는 환경으로, 무결성 또는 기밀성이 손상되는 경우
- 위협행위(공격):
- 전용 (Misappropriation): 시스템 자원에 대해 허가되지 않은 논리적, 물리적 접근.
- 오용 (Misuse): 시스템 자원의 해롭게 동작하는 기능이나 서비스를 수행하도록 컴포넌트를 초래.
📌 소극적 공격과 적극적 공격
1. 소극적 공격 (Passive Attack)
- 정의: 소극적 공격은 시스템으로부터 정보를 도청하여 얻거나 그 결과로 얻은 정보를 사용하는 시도를 말한다.이 과정에서 시스템 자원에는 직접적인 영향을 미치지 않으며, 주로 정보 수집에 목적이 있다.
소극적 공격은 시스템의 무결성이나 가용성을 해치지 않으면서, 기밀성을 위협하는 공격이다.
- 특징:
- 탐지가 어려움: 소극적 공격은 정보의 흐름을 감시하거나 도청하는 방식으로 진행되기 때문에, 시스템에 어떤 변화도 일으키지 않아서 탐지가 어렵다.
- 탐지보다 예방이 중요: 이 공격은 탐지하는 것이 매우 어렵기 때문에, 이를 사전에 예방하려 한다.
- 소극적 공격의 종류:
- 메시지 내용 방출
- 공격을 위한 트래픽 분석
2. 적극적 공격 (Active Attack)
- 정의: 적극적 공격은 데이터를 직접 변경하거나 시스템의 동작에 영향을 미치는 공격으로, 시스템의 자원과 데이터의 무결성 및 가용성을 위협한다. 공격자는 시스템을 손상시키거나 정상적인 동작을 방해하기 위해 능동적으로 개입한다.
- 특징:
- 데이터 흐름 변경: 데이터 흐름을 방해하거나 데이터를 변경하여 시스템 동작을 왜곡하는 방식
- 복구 필요: 적극적 공격은 시스템에 실질적인 손상을 입히므로 이를 탐지한 후 복구해야 할 필요성 존재
- 적극적 공격의 종류:
- 위장 (Impersonation): 공격자가 인가된 사용자처럼 행세하여 시스템에 접근해 권한을 가로채는 공격
- 재전송 (Replay): 이전에 전송된 유효한 데이터를 재전송하여 시스템을 혼란에 빠뜨리거나 정상적인 동작을 방해하는 공격
- 메시지 변조 (Modification of Messages): 전송 중인 메시지의 내용을 변조하여 그 의미를 왜곡하거나, 시스템 동작에 영향을 주는 공격
- 서비스 거부 (Denial of Service, DoS): 시스템 자원을 과도하게 사용하여 정당한 사용자에게 서비스가 제공되지 않도록 하는 공격
💡 보안 요구사항 (FIPS PUB 200 기준)
- 접근 제어 (Access Control): 시스템 정보에 대한 접근을 허가된 사용자, 인가된 장치, 혹은 허가된 프로세스만이 수행할 수 있도록 제한해야 한다.
- 인식과 교육 (Awareness and Training): 정보 시스템의 사용자와 관리자가 그들의 역할에 대한 보안 관련 인식을 높이고, 관련 업무 수행 시 적절한 조치를 취할 수 있도록 교육할 필요가 있다.
- 회계 감사와 책임 (Audit and Accountability): 시스템의 모든 활동을 모니터링, 분석, 기록함으로써 부적절한 행위를 추적하고 책임을 지도록 해야 한다.
- 증명, 인증, 보안 평가 (Certification, Accreditation, Security Assessment): 정보 시스템의 보안 평가와 인증을 정기적으로 수행하여 보안 요구 사항이 제대로 충족되는지 확인할 필요가 있다.
- 환경 설정 관리 (Configuration Management): 시스템의 하드웨어, 소프트웨어, 펌웨어 구성 요소들을 적절하게 관리하고, 변경 사항을 통제할 필요가 있다.
- 비상 계획 (Contingency Planning): 조직의 정보 시스템에 대한 비상사태 대비 방안을 마련하고 이를 주기적으로 테스트할 필요가 있다.
- 식별 및 인증 (Identification and Authentication): 정보 시스템에 접근하려는 사용자나 장치가 신뢰할 수 있는지 확인할 필요가 있다.
- 사고 대응 (Incident Response): 보안 사고 발생 시 즉각적으로 대응하고, 관련 조직에 보고하는 절차를 마련해야 한다.
- 유지 (Maintenance): 정보 시스템의 지속적인 보안을 위해 정기적인 유지 및 보수 작업을 수행해야 한다.
- 미디어 보호 (Media Protection): 문서나 전자기기 정보의 보호를 위해 접근을 허가된 사용자에게만 제한해야 하며, 불필요한 정보는 삭제해야 한다.
- 물리적 환경적 보호 (Physical and Environmental Protection): 정보 시스템이 물리적으로 안전하게 보호될 수 있도록 적절한 보안 조치를 취할 필요가 있다.
- 계획 (Planning): 보안 계획을 개발하고, 주기적으로 업데이트하여 실행할 필요가 있다.
- 개인 보안 (Personnel Security): 정보 시스템과 관련된 모든 사용자가 신뢰할 수 있는지 확인하고, 보안 교육을 통해 적절히 교육받도록 할 필요가 있다.
- 위험 평가 (Risk Assessment): 정보 시스템의 보안 위험을 평가하고 이를 관리하기 위한 조치를 마련해야 한다.
- 시스템과 서비스 획득 (Systems and Services Acquisition): 보안 요구 사항을 고려하여 시스템을 획득하고 유지해야 한다.
- 시스템 통신 보호 (System and Communications Protection): 시스템 통신과 외부 경계의 보안을 보호하기 위한 기술적 조치를 적용할 필요가 있다.
- 시스템 정보 무결성 (System and Information Integrity): 시스템의 정보가 변경되지 않고 신뢰성을 유지하도록 모니터링하고, 필요시 경고를 할 수 있는 체계를 마련해야 한다.
댓글