IT이론 정리노트/IT보안(CISSP)

CISSP IT보안이론 요약: 보안 구조 취약점, 위협, 대응 방안

G. Hong 2022. 2. 10. 23:08
728x90
반응형

1. 컴퓨터 구조

프로세서

- CPU(중앙처리장치). 컴퓨터의 중추신경. 오직 계산적/논리적 연산의 제한된 집합만을 수행

실행 형태

  • 멀티 태스킹: 2개 이상의 작업을 동시에 처리하는 것. 엄밀히 말하면 명령어 순서를 구조화 해 다중 작업이 되는 것 처럼 함.
  • 멀티 프로세싱: 멀티 프로세서 컴퓨팅 시스템이 어플리케이션 실행을 위해 하나 이상의 프로세서를 사용 하는 것.
    • SMP(대칭 멀티 프로세싱): 단일 OS에 의해 제어되는 것. 빠른속도로 단일연산을 처리하는 것에 적합함.
    • MPP(대규모 병렬처리): 수백·수천개의 프로세서가 각각의 OS와 메모리/버스를 가지고 있음. 매우 크고 복잡하며 계산 집중적인 작업을 나누고 분배해 하부에서 처리하는데 적합함.
  • 멀티 프로그래밍: OS가 연산성을 높이기 위해 단일  프로세서 상에  두 가지 작업을 의사동시(pseudo-simultaneous) 실행
      멀티 프로그래밍 멀티 태스킹
    시스템 대규모 시스템(메인프레임 등) PC OS(윈도우, 리눅스 등)
    관리 특별한 SW가 필요 OS에 의해 조정
  • 멀티 스레딩: 단일 프로세스 내에서 다중의 동시 작업들이 일어나는 것. 예: 하나의 프로그램 내의 여러개의 작업창.

 

처리형태

  • 단일 상태 시스템: 다른 수준 상의 정보들을 관리하기 위한 정책적인 방법의 사용. 보안관리자는 시스템이 한번에 오직 하나의 보안수준만 다룰 수 있게 승인.
  • 다중 상태 시스템: 보안 매커니즘을 사용해 복수의 보안수준을 동시에 처리 할 수 있음. 보안수준 사이에서도 보호 가능.

 

보호 매커니즘

- 보호링:

  • OS 내의 코드와 구성요소를 동심원들 내에 조직화 한다. 대부분의 현대 OS들은 4개의 링모델을 사용.
보호링: 0-OS커널/메모리, 1-OS구성요소, 2-드라이버/프로토콜, 3- 사용자수준 어플리케이션
  • 핵심: 우선 순위, 특권, 메모리 분할. 실행되어야 하는 프로세스는 큐에 쌓이고, 낮은 링 번호에 속한 프로세스가 항상 먼저 처리 된다.
  • 높은 링 번호에 속한 프로세스가 낮은 링번호에 속한 주소를 요청 할 때, 해당 주소와 관계된 도우미 프로세스를 호출 해야한다.
  • 메모리 세그먼트
    • 커널모드(특권모드): 시스템수준(레벨0-2) 접근을 위한 것
    • 사용자모드: 사용자수준 프로그램,어플리케이션(레벨3)

 

- 프로세스 상태(동작상태)

 : 프로세스가 동작 할 수 있는 실행 상태

  • 준비: 실행을 위해 스케쥴링이 되는 순간, 작업을 재개 하거나 시작 할 준비를 함. CPU가 가용 할 경우 동작상태로 전환.
  • 대기: 필요한 자원을 위해 대기 함. 외부이벤트가 일어날 때 까지 실행되지 못함.
  • 동작: 작업이 끝나거나 작업이 덜 끝난 상태에서 제한시간이 종료되면 프로세스는 준비상태로 돌아간다.
  • 관리: 프로세스의 행위가 동작상태(문제상태라고 하기도 함)의 특권보다 더 높은 수준의 특권을 요구할 때 사용.
  • 정지: 프로세스가 끝나거나 반드시 종료 돼야 할 때. OS는 할당된 자원을 회수 할 수 있다.

 

보안모드

- 전용모드 : 단일상태 시스템과 동일

  • 요구사항
    • 모든 사용자는 모든 정보에 접근하기 위한 접근승인이 필요
    • 모든 사용자는 시스템이 모든 정보에 접근 할 수 있게 허락하는 보안승인이 필요
    • 모든 사용자는 모든 정보에 대한 유효한 알 필요성의 원칙이 필요.

- 시스템 상위모드: 모든 사용자가 처리되는 모든 정보에 대해 알 필요성은 없음

  • 요구사항
    • 모든 사용자는 모든 정보에 접근하기 위한 접근승인이 필요
    • 모든 사용자는 시스템이 모든 정보에 접근 할 수 있게 허락하는 보안승인이 필요
    • 처리되는 특정 정보에 대한 유효한 알 필요성을 가져야 하지만 모든 정보에 대해 반드시 필요한 것은 아니다.

- 분리된 모드: 한 단계 더 약화된 요구사항

  • 요구사항
    • 각 사용자는 시스템 상의 특정 정보에 대한 알 필요성의 원칙을 가져야 한다.
    • 시스템 상의 모든 정보에 대한 접근승인이 필요 없다.
    • 각 사용자는 시스템이 처리하는 모든 정보에 접근에 대한 보안승인이 필요.
    • 각 사용자는 접근 할 시스템 상의 특정 정보에 대한 접근승인이 필요.

- 멀티레벨 모드

  • 접근은 대상의 승인 수준이 객체의 기밀수준보다 높은지에 따라 결정.
  • 각 사용자는 접근 하려는 시스템의 모든 정보에 대한 접근승인이 필요.
  • 각 사용자는 접근하려는 시스템의 모든 정보에 대한 알 필요성의 원칙 필요.

- 비교

모드보안승인알 필요성PDMCL*
전용모든사용자가 같음시스템이 처리하는 모든 데이터에 대해 필요해당없음
시스템상위시스템이 처리하는 일부 데이터에 대해 필요해당없음
분리접근 할 데이터에 대해 필요CMW구현*
멀티레벨다름CMW구현

* PDMCL: 다중 승인 수준으로 부터 데이터를 처리하기 위한 능력
* CMW(Compartmented Mode Workstation): 분리된 모드의 워크스테이션
 

운영모드

- 사용자모드

  • CPU가 사용자 애플리케이션을 실행 할 때 사용.
  • CPU는 전체 명령어 집합 중 일부 만 실행 되는 것을 허용.
  • 프로세스들은 보통 가상의 제어된 환경에서 실행된다.

- 특권모드

  • CPU가 지원하는 모든 명령어를 제공
  • 관리자모드, 시스템모드, 커널모드 라고도 불린다.

 

메모리

- 컴퓨터가 상시 읽을 수 있는 정보를 위한 저장소
 

ROM (읽기 전용 메모리)

  • 사용자가 쉽게 변경하지 못함
  • 부트스트랩, POST진단 포함

- PROM (프로그램가능 ROM)

  • 제조과정이 아닌 사용자가 ROM의 내용을 굽는다.
  • 커스텀기능이 필요하지만, 한 번 프로그램되면 거의 변경되지 않는 HW 애플리케이션에서 사용됨.

- EPROM (삭제가능한 PROM)

  • 자외선을 통해 내용 삭제가 가능

- EEPROM (전기로 삭제 가능한 PROM)

  • 전기를 통해 삭제 가능.
  • 플레시 메모리

 

RAM (임의 접근 메모리)

  • RW가 가능한 메모리, 컴퓨터 처리과정에서 사용하는 정보.
  • 전원이 공급되는 동안 정보를 유지

- 실제 메모리(메인, 1차 메모리)

  • 컴퓨터에서 사용가능 한 가장 큰 RAM.
  • 여러 동적 RAM으로 구성되어 주기적인 리프레시가 필요.

- 캐시 메모리

  • 반복적으로 사용되는 데이타를  속도가 빠른 장치에 임시로 저장해서 성능을 향상 시킴
  • 주변장치들도 온보드 캐시를 포함 한다.

 

레지스터

  • CPU의 온보드 메모리. ALU가 연산수행·명령처리시 사용.

 

메모리 주소지정 (addressing)

- 레지스터 주소 지정

  • CPU가 레지스터의 정보가 필요할 때, 레지스터 주소를 사용해 정보에 접근 한다.

- 즉시 주소 지정

  • 메모리 주소 지정이 아님.
  • CPU에 명령어를 통한 데이터 제공 방법.
  • 예: "레지스터 1에 값 2를 더하기" => '레지스터 1에' 부분은 레지스터 주소지정, '값 2를 더하기' 부분은 즉시 주소지정.

- 직접 주소지정

  • CPU가 접근 할 메모리 위치의 실제 주소를 제공 받음.
  • 즉시주소지정 보다 유연함을 제공

- 간접 주소 지정

  • CPU에 제공되는 메모리 주소에 다른 메모리 주소를 담고 있다.

-  Base + Offset 주소지정

  • 레지스터 중 하나에 저장된 값을 베이스 위치로 사용.
  • 명령어에 제공된 오프셋을 베이스 주소에 더해 메모리 위치를 파악.

 

보조기억장치

  • CPU가 직접 접근 할 수 없는 데이터를 담고 있는 자기/광학 등의 미디어
  • CPU가 데이터에 접근 하려면 먼저 데이터가 OS에 의해 메모리로 저장 되어야 한다.

- 가상메모리

  • OS에서 보조기억장치가 실제 메모리 처럼 보이고 행동하게 하는 방법
  • 컴퓨터가 실제 메모리 보다 더 많은 메모리를 가진 것 처럼 동작하게 함
  • 페이징 연상이 느리고, 컴퓨터 오버헤드를 많이 소비하며 시스템을 느리게 함

 

메모리 보안 문제

  • 민감한 데이터를 담고 있는 메모리는 조직에서 벗어나기 전에 제거되어야 한다.
  • RAM도 이론적으로는 제한 된 시간 안에 데이터 복구가 가능하다. (현실적으로는 거의 불가능)
  • RAM이 분리되거나 시스템 전원이 꺼질 때, 메모리 칩을 얼려서 데이터 소멸을 지연시키는 공격이 존재한다.
  • 컴퓨터를 사용 중일 때, 메모리에 저장된 데이터에 접근하는 사람을 제어해야 함.

 

저장소

  • 주 기억장치: 컴퓨터가 동작 중 일 때, 필요한 자료를 저장하는 RAM
  • 보조 기억장치: 장기간 저장을 위한 모든 저장 장치

 

  • 휘발성(Volatile): 전원이 끊겼을 때, 데이터가 사라짐.
  • 비 휘발성: 전원이 없어도 데이터가 유지 됨.

 

  • 랜덤 접근: OS에서 주소지정방식을 통해 장치 내의 어떤 부분이든 즉시 RW가 가능.
    예: RAM, HDD, CD 등
  • 순차적 접근: 원하는 위치로 접근하려면 물리적으로 이전에 저장된 모든 데이터를 지나쳐야 한다.
    예: 테이프 드라이브
    느리지만 저렴하여 백업작업에 적합

 

- 저장장치 보안

  • 보조기억장치에서 삭제된 이후에도 잔존 데이터가 있을 수 있다.
  • 잔존 데이터까지 제거하는 유틸리티를 사용하거나 디스크를 복구 불가능하게 파괴해야함.
  • 보조기억장치는 도난 당하기 쉽다. 기밀정보가 손실 될 경우 큰 위협을 가져온다.
  • HDD는 OS에서 접근 통제를 조합하여 보호한다.
  • 이동식 디스크는 보안을 위해 암호화 기술이 요구 된다.

 

입출력장치

모니터

  • 템페스트 기술은 모니터의 전자발산을 읽는 기술.
  • CRT 모니터가 취약하고 LCD모니터는 노출이 덜하다.
  • 화면 도용, 망원렌즈를 통한 위험도 존재함.

프린터

  • 기밀 데이터를 프린트해서 나가는게 쉬울 수 있음.
  • 출력된 프린트물을 타인이 가져 갈 수 있음.

키보드/마우스

  • 장치 속이나 연결선에 간단한 장치 설치로 입력값을 가로챌 수 있다.
  • 무선 키보드/마우스는 무선신호가 가로채 질 수 있다.

모뎀

  • 네트워크 내의 제어되지 않는 AP를 만드는 것을 허용.
  • 보안메커니즘을 우회하는 치명적인 취약점을 만들 수 있음.
  • 업무적으로 필요하지 않다면 모뎀사용을 금지하는 정책을 고려해야 한다.

 

입력/출력 구조

레거시 장치 수동설정을 필요로 하는 세가지 연산

1. 메모리 맵 입출력

  • CPU가 관리하는 주소공간의 일부는 몇가지 종류의 장치에게 매핑된 주소나 위치를 통해 접근 가능하게 한다.
  • 보안관점에서 매핑된 메모리 위치에 접근하는 것은 적절하게 관리 되어야 한다.

2. 인터럽트

  • 특정한 장치에 인터럽트를 할당.
  • 장치가 필요시에 할당된 IQR(Interrupt Request)에 신호를 보냄.

3. DMA(직접 메모리 접근)

  • 2개의 라인으로 이뤄진 채널로 동작 (DMA: DMA요청, DACK: DMA응답)
  • CPU의 도움없이 RAM에 직접 데이타를 교환 할 수 있는 장치들은 DMA를 사용한다.
  • 보안관점에서 OS만이 DMA를 할당과 IO장치제어를 위한 DMA의 사용을 중재 할 수 있어야 한다.

 

펌웨어

  • ROM칩에 저장된 SW를 의미

- 바이오스(BIOS)

  • 컴퓨터가 시작 될 때, 디스크로 부터 OS를 읽어오기 위해 필요한 명령어를 담고 있다.

- 플래싱(phlashing)

  • 바이오스나 펌웨어에 악성코드가 심어진 경우.

- 장치 펌웨어

  • 주변 HW장치의 작업을 처리하기 위한 '작은OS'가 장치의 칩에 포함 됨.

 

2. 단일실패지점 회피

단일실패지점(Single Points of Failure): 어떤 구성요소에 문제가 발생 할 경우 상당시간 시스템이 정지되게 된다.
 

이중서버

- 서버 미러링

  • 주 서버와 백업 서버를 구축 하는 것
  • 주 서버의 변경이 백업 서버에 즉시 반영

- 전자금고

  • 변경문서(주 시스템의 변화의 모음)는 주기적으로 중복서버로 보내져서 변화가 적용 됨(배치처리)

- 원격저널링

  • 전자금고와 같지만 실시간으로 변화가 적용.

- DB 셰도잉

  • 1개 이상의 원격 중복서버에 대한 원격 저널링
  • 1개 이상의 로컬중복과 1개 이상의 외부중복이 존재

- 클러스터

  • 중복서버의 한 종류.
  • 어플리케이션으로 작업로드를 공유하기 위해 2개 이상의 중복서버를 구성하는 것.
  • 사용자는 클러스트화 된 시스템을 단일 요소로 본다.

 

장애극복 솔루션

  • 백업시스템이나 중복서버가 있다면 장애시에 백업으로 전환하는 방법이 필요

Rollover (Failover)

  • 콜드 롤오버: 관리자가 수동으로 트래픽 로드를 보조서버로 바꿈
  • 핫 롤오버: 문제 발생시 자동으로 롤오버가 진행.

 

  • Fail-Secure: 장애나 보안위반이 일어날 경우 안전한 상태로 복구.
  • Fail-Safe: 장애가 발생 할 경우 사람의 안전이 보호된다.
  • Fail-Soft:
    • Fail-Secure의 개선.
    • 장애나 보안침해가 일어난 부분만 비활성화 또는 안전화되고, 나머지는 정상 동작.

 

RAID

  • 여러개의 HDD를 특유의 조합으로 사용해 더 빠른 속도와 가용성을 제공한다.

 

- 종류

  • RAID 0: 스트리핑
  • RAID 1: 미러링
  • RAID 2: 해밍코드 패리티
  • RAID 3: 바이트수준 패리티
  • RAID 4: 블록수준 패리티
  • RAID 5: 인터리브 패리티
  • RAID 6: 2차 패리티 데이타
  • 그 외 RAID 10, RAID 15, RAID 01 가 존재

 

- 구현 방식

  • HW 기반 RAID: 더 안정적인 성능과 고장방지 보호. 복수 드라이브 접근처리를 드라이브 컨트롤러에서 제공.
  • SW 기반 RAID: OS의 일부로 처리. 관리와 사용을 위해 시스템 자원이 소비된다.

 

- 장애 디스크 교체 방식

  • Hot Swappable: 정상 동작 중에 장애 드라이브 제가 가능
  • Cold Swappable: 시스템을 완전히 중단 시킨 뒤, 장애 드라이브 제거·교체 가능
  • Warm Swappable: RAID를 비활성화(Offline)을 한 뒤, 제거·교체 가능

=> 단일 실패지점 회피를 위한 방안들이 도입 되더라도 백업 솔루션이 없이는 어떤 보안 예방책도 완벽하지 않다.
 

3.  분산구조

- 클라이언트-서버 컴퓨팅 모델에서는 클라이언트도 컴퓨팅과 저장능력을 가지고 있으므로 보안도 중앙호스트 뿐만 아니라 모든 지점에서 언급 되어야 한다.
 

취약점

  • 분산환경에서는 PC가 오용 될 경우 위협이 되므로 취약점이 적절히 관리 되어야 한다.
  • 통신장치를 통한 공격 가능성 존재
  • 많은 애플리케이션과 시스템의 취약점과 위협 존재
  • SAML : XML공격의 대안. 웹기반 SSO제공
  • OWASP : 웹기반 애플리케이션의 보안을 향상 시키기 위한 비영리 보안 프로젝트

 

애플릿

  • 서버에서 클라이언트로 보내진 코드객체로 자립적인 작은 프로그램
  • 자바애플릿: 샌드박스 개념으로 자바코드의 특권을 제한.
  • 액티브X: 윈도우에 대한 전체 접근권한이 있고, 몇가지 특권행위를 수행 할 수 있다.

 

보호장치

  • 취약점의 제거,완화,치료를 요구
  • 이메일 검열
  • 데이터를 검사하는 업로드/다운로드 정책
  • 시스템의 견고한 접근통제: 다중요소(MFA) 인증 등
  • GUI와 DBMS에 중요한 정보에 대한 접근은 제한·관리
  • 파일 암호화
  • 사용자모드/관리자모드의 프로세스 분리·격리
  • 클라이언트의 감염이 확산되지 않도록 보호도메인이 만들어 져야함
  • 디스크와 민감한 자료들은 기밀성·민감도에 따라 바르게 레이블링 되어야 한다.
  • PC와 서버의 파일은 백업되어야 한다.
  • PC사용자들은 주기적으로 보안의식 교육을 받아야 한다.
  • PC와 스토리지는 환경적 위협에 대한 보호가 필요.
  • PC는 DR과 DCP에 반드시 포함되어야 함.
  • SW개발자는 보안을 고려해 개발과 배치를 위해 정형화된 방법을 사용하여야 한다.

심층방어를 통해서 다양한 종류의 접근통제를 사용하는 것이 안전하며 일반적이다.
 

클라우드 컴퓨팅

  • 처리와 저장이 로컬이 아닌 네트워크에 연결된 어딘가에서 이뤄지는 개념
  • 프라이버시, 규제준수, 오픈/폐쇄 솔루션, 오픈표준수용, 클라우드기반의 데이타가 실제로 안전한지 등의 문제가 있음.

 

서비스형 플랫폼(PaaS)

  • 컴퓨팅 플랫폼과 SW솔루션 스택을 서비스로 제공하는 개념

서비스형 소프트웨어(SaaS)

  • 특정 SW를 개인컴퓨터에 설치하지 않고, 필요할 때 온라인으로 즉시 제공

서비스형 기반시설(IaaS)

  • 운영솔루션 뿐만 아니라 완전한 아웃소싱 옵션을 제공. 
  • 궁극적으로 기업이 클라우드 시스템을 통해 새로운 SW나 데이터 기반의 솔루션을 거대한 HW설치 없이 확장 할 수 있음.

 

그리드 컴퓨팅

  • 병렬분산처리의 한 형태
  • 특정 처리 목표를 위해 많은 수의 노드들이 느슨한 그룹을 형성한다.
  • 그리드 맴버는 리소스에 여유가 있을 때 그룹에 들어와 작업을 하고, 그리드를 떠날 때 저장 후 업로드 한다.
  • 분야: 외계인 탐색, 담백질 합성, 소수계산 등
  • 보안문제: 각 작업패킷의 내용이 외부에 노출 될 수 있음. 따라서 그리드 프로젝트는 비밀유지가 어렵다. 중앙 그리드 서버가 공격을 당해 맴버를 공격하는 잠재적인 위협도 있다.

 

P2P(Peer to Peer)

  • 네트워킹과 분산 애플리케이션 솔루션으로 개인에게 작업을 공유한다. 
  • 중앙관리 시스템이 없다.
  • 보안문제: 해적판 자료 배포, 중앙제어관리 부재, 가용한 대역폭을 모두 소비하는 잠재적 서비스 등.

 

4. 보안보호 메커니즘

기술적 메커니즘

  • 시스템 설계자들이 시스템에 바로 적용 가능한 제어

 

계층화

  • 프로세스를 계층화하여 운영모드에서 사용된 링모델과 비슷한 구조를 제현
  • 바깥(덜 민감한) 레이어에서 안쪽으로 들어오는 요청은 모두 엄격한 인증과 승인과정의 대상이 된다.
  • 보안과 무결성 유지를 위해 레이어 간에는 특정 인터페이스를 통해서만 통신이 가능하다. 
  • 각 레이어는 다른 레이어로 부터의 간섭에서 보호된다.

 

추상화

  • 객체지향 프로그래밍의 가장 기본적인 개념
  • 사용자는 객체가 어떻게 동작하는지 알 필요가 없이 객체를 사용하기 위한 입·출력 형태만 알면 된다.

 

데이터 숨김

  • 멀티레벨 보안 시스템에서 중요한 특성. 
  • 한 레벨에 존재하는 데이터가 다른 보안 레벨에서 동작하는 프로세스에 보이지 않게 함.

 

프로세스 격리

  • OS에게 각 프로세스의 명령어와 데이터를 위한 독립적인 메모리 공간을 제공 할 것을 요구.
  • 장점
    • 인가되지 않은 데이터 접근을 방지
    • 프로세스의 무결성을 보호
  • 사용자 별 VM 또는 프로세스 별 VM을 통해 구현

 

하드웨어 세그먼테이션

  • 프로세스 격리와 목적이 비슷하지만 이 과정을 물리적 HW제어를 통해 강제함.
  • 드물게 구현되며 국가안보와 같은 영역에 사용 됨.

 

보안정책과 컴퓨터 구조

시스템 설계 구현에서 보안정책의 역할

  • 시스템의 설계, 개발, 구현, 테스트, 유지를 안내하고 알리는 것
  • 시스템이 민감한 정보를 어떻게 관리, 보호, 배포 해야 하는지 절차, 규칙, 관례를 정의 하는 문서

 

정책 메커니즘

최소권한의 원칙

  • 컴퓨터와 OS를 설계 할 때에도 최소권한의 원칙 적용이 중요하다.

 

권한 분리

  • 최소권한의 원칙을 기반으로 계층적인 접근권한의 사용을 요구해 각 특권 명령마다 다른 권한을 부여.

 

책임 추적성

  • 신뢰할 수 있는 감사와 책임성을 지원하는 모니터링 시스템과 함께 오류에 강한 승인 시스템과 완벽한 인증 시스템이 있어야 한다.

 

5. 일반적인 결함과 보안 문제

모든 컴퓨터시스템은 약점과 취약점을 가지고 있고, 어떤 보안구조도 완벽하게 안전하지 않다.
 

은닉채널

  • 일반적으로 사용되지 않는 경로로 정보를 넘기는 방법
  • 일반적이지 않은 경로라서 보호되지 않을 수 있다.
  • 은닉 타이밍 채널
    • 시스템 구성요소의 성능을 변경하거나 자원의 타이밍을 수정해 정보를 전송한다.
  • 은닉 저장소 채널
    • 다른 프로세스도 읽을 수 있는 일반 저장공간에 데이타를 써서 정보를 전달 한다.

 

설계나 코딩 결함을 기반으로 한 공격과 보안문제

  • 수준 낮은 설계기법, 문제가 있는 구현 습관과 절차, 잘못된 검증으로 부터 공격이 비롯 될 수 있다.

- 초기화와 실패상태: 시스템이 초기화 중에 고장이 나고 이후에 복구가 될 경우

  1. 고장이 났을 경우에도 모든 제어가 손상되지 않음을 보장
  2. 보안제어가 비활성화된 시점에 어떤 접근도 발생 할 가능성이 없음을 보장
  3. 복구과정도 모든 제어가 손상되지 않은 상태에서 실행

- 입력과 매개변수 확인: 버퍼 오버플로우는 프로그래머가 입력 데이터의 검증을 충분히 하지 않았을 때 발생
- 유지보수 훅

  • 개발자만이 알고 있는 시스템 출입지점(백도어)
  • 이러한 진입은 명시적으로 금지하고 비안가된 관리자 접근을 나타내는 모든 기록들을 필수적으로 감시

- 특권 프로그램

  • 프로그램이 실행되는 동안 보안권한이 상승되는 실행 관습.
  • 높은 보안레벨에서 운영되는 프로그램들이 적절한 사용자들에 의해서만 접근 가능하게 보장해야 한다.

- 점진적 공격

  • 느리고 점진적인 증가로 발생
  • 데이터 디들링
    • 시스템에 대한 접근을 얻은 공격자가 데이터에 작고 점진적인 변화를 가하는 것
    • 암호화FS, 파일수준 암호화, 파일감시도구를 통해 예방 가능
    • 주로 내부자에 의한 공격
  • 살라미 공격
    • 매우 작은 양의 자산을 주기적이고 조직적으로 훔치는 행위

- 프로그래밍

  • 버퍼 오버플로우 이외에도 예외를 적절히 처리하지 않을 경우 불안정한 상태로 종료 될 수 있다.
  • 모든 프로그램은 보안모델을 잘 따르는지 검사 돼야 한다.

- 타이밍, 상태변화, 통신단절

  • TOC(자원확인시점)와 TOU(자원사용시간)
  • TOCTOU 공격: TOC와 TOU사이에 객체를 다른 객체로 바꾸는 것. 경쟁조건(Race Condition)이라고 함.
  • 이 외에도 자원이나 시스템의 상태가 바뀔 때에 행동을 취하는 공격을 상태공격(State Attack)이라 한다.
    • 예: TOCTOU, 경쟁조건 취약점, 통신단절

- 기술과 프로세스 통합

  • 시스템이 통합되면 단일실패지점 이외에도 SOA(서비스지향구조)의 새로운 취약점이 발생

- 전자기 방사선

  • 많은 HW들은 동작하는 동안 전자기방사선(EM)을 방출한다.
  • 방사물 유출이 보안문제를 야기 할 수 있음.
  • 케이블 차폐, 도관, 물리적 보안제어 도입으로 예방.
  • 페러데이 케이지, 전파방해, 관제지대를 통해 전자기 가로채임 예방.

 

* 추가내용

SCADA(Supervisory Control and Data Acquisition)

  • 산업환경에서 제어,데이터 수집에 사용. 발전소나 산업환경에서 주로 사용.

Assurance(확인,확약)

  • 조직의 보안제어가 정확히 적용이 되었는지에 대한 신뢰도(degree of confidence)

 

728x90
반응형