데이터 보안 복습 문제 간추리기
1.1 컴퓨터 보안을 정의하라.
자동화된 정보 시스템 내의 자원들의
기밀성, 무결성, 가용성을 보존하기 위해 제공되는 보호
1.2 OSI 보안 구조는 무엇인가?
보안을 제공하는 작업을 구성하는 방법
보안 공격 : 조직이 소유한 정보의 보안을 손상
보안 메커니즘 : 보안 공격의 탐지, 방지, 복구를 위해 설계된 메커니즘
보안 서비스 : 정보 전송의 보안을 향상시키는 서비스 여러 보안 메커니즘을 이용한다.
1.3 능동적, 수동적 보안 공격의 차이는 무엇인가?
능동적 공격 : 시스템 자원을 바꾸거나 동작에 영향
수동적 공격 : 시스템 정보를 이용하거나 알아내려는 시도, 시스템 자원에 영향을 미치지는 않는다.
1.4 능동적, 수동적 네트워크 보안 공격의 카테고리를 간략히 정의하고 기술하라.
능동적 네트워크 공격 :
데이터 스트림 변경 혹은 잘못된 스트림 생성을 포함하며
다음과 같은 네 가지 유형으로 나눌 수 있다.
재연 - 데이터 유닛을 포획 재전송함으로써 비인가된 효과
매스커레이드 - 다른 존재인 것처럼 가장
메시지 변경 - 메시지 일부분을 변경 승인되지 않은 효과를 발생
서비스 거부 - 정상적인 관리를 막거나 방해
수동적 네트워크 공격 :
메시지 콘텐츠 노출 - 전송 콘텐츠들의 노출
트래픽 분석 - 패턴을 통해 내용을 추측
능동적 네트워크 공격은 탐지와 복구,
수동적 네트워크 공격은 방지에 중점을 둔다.
1.5 보안 서비스의 카테고리를 간략히 정의하고 기술하라.
인증 - 통신 주체들이 자신이 주장하는 신원을 증명
접근 제어 - 자원의 무단 사용 방지
기밀성 - 정보의 접근과 노출에 인가된 제한을 유지
무결성 - 정보의 진위성 보증
가용성 - 정보에 대해 적절하고 신뢰성 있는 접근과 사용을 보증
부인 방지 - 통신에 참여한 주체들에 의한 거부에 대한 보호를 제공
2.1 대칭 암호의 필수 요소는 무엇인가?
평문 - 원래 메시지나 데이터
암호화 알고리즘 - 평문에 대해서 다양한 변환작업
비밀키 - 암호화 알고리즘 수행에 필요한 키
암호문 - 암호화된 메시지
복호화 알고리즘 - 암호화 알고리즘과 같지만 반대로 진행
2.3 안전한 대칭 암호화 사용을 위한 두 가지 주요 요구사항은 무엇인가?
첫 번째는 강력한 암호 알고리즘
두 번째는 송신자와 수신자는 비밀키의 복제본을 안전 획득 및 보관
2.4 메시지 인증을 위한 세 가지 접근방식을 말하라.
대칭 암호화 코드 - 발신자와 수신자만 키를 공유.
메시지 인증 코드(MAC) - 메시지와 공통된 비밀키의 복소함수로써 메시지 인증 코드를 계산한다.
단 방향 해시함수 - 공격자가 같은 해시값을 이용해서 다른 메시지를 만드는 것을 어렵게 하기 위한 보안 방법이다.
2.5 메시지 인증 코드란 무엇인가?
메시지의 정당성을 검증하기 위하여
메시지에 추가되는 어떤 값 또는 부분을 말한다.
2.6 그림 2.4의 세가지 방식에 대해 간단히 설명하라.
방향 해시 함수를 이용한 메시지 인증 방식 세 가지에 대해 간략히 설명하라.
전통적인 암호화 기법 이용 -
대칭키 암호화를 이용하여 암호화.
수신자와 발신자만 암호키를 공유한다고 가정하면 인증이 보장
공개키 암호화 기법 이용 -
비대칭 방식으로, 두가지 분리된 키를 사용하여 암호화한다.
비밀 값 이용 -
비밀키를 공유하고, 비밀키와 메시지의 결합 > 해시함수를 계산하는방식.
2.9 공개키 암호시스템의 세 가지 사용을 정의하라.
전자 서명 - 해시코드를 자신의 비밀키로 암호화 해서 전사 서명을 만든다.
공개키 인증서 - 제 3자에 의해 서명된 한 덩어리의 블록, 공개키와 키를 소유한 사용자의id 로 구성되어 있다.
전자 봉투 - 1회용 랜덤 대칭키와 수신자의 공개키를 통해 디지털 봉투 생성.
2.10 개인키와 비밀키의 차이는 무엇인가?
대칭암호에서 사용되는 키는 통상적으로 비밀키라 지칭된다. 공개키에서 사용되는 두 개는 공개키와 개인키로 지징된다. 개인키는 반드시 비밀리에 저장되지만, 혼돈을 막기 위해 비밀키라 불리는 대신 개인키라 부른다.
3.1 사용자 신원 인증의 네 가지 통상적인 방법은 무엇인가?
개인이 알고 있는 어떤 것 : PIN
개인이 소유하고 있는 어떤 것 : token
개인의 어떤 것 : 정적 생체인식
개인이 하는 것 : 동적 생체인식
3.2 패스워드의 기밀성에 대한 주요 위협을 간략히 기술하라.
오프라인 사전 공격 - 비밀번호 파일을 얻어 공격
특정 계정 공격 - 특정 계정을 목표로 비밀번호가 일치할 때까지 비밀번호 추측 공격
잘 알려진 비밀번호 공격 - 잘 알려진 비밀번호를 대입
단일 사용자에 대한 비밀번호 추측 - 사용자 정보를 파악 후 비밀번호 추측
단말기 강탈 - 단말기를 강탈
사용자 실수 이용 - 사용자의 실수를 악용
다중 비밀번호 사용 - 서로 다른 네트워크 장치가 같은 비밀번호 비슷한 경우를 이용
컴퓨터 모니터링 - 비밀번호가 네트워크상에 전달될 때 도청
3.3 패스워드 파일을 보호하기 위한 두 가지 일반적인 기법은 무엇인가?
해시된 비밀번호를 사용
파일에 대한 접근 자체를 거부
3.4 패스워드 선택이나 지정을 위한 네 가지 일반적인 기법을 기술하라.
사용자 교육,
컴퓨터에 의한 비밀번호 생성,
반응적 비밀번호 확인,
사전적 비밀번호 확인
3.5 메모리 카드와 스마트 카드의 차이점을 설명하라.
소프트웨어를 포함하고 있느냐 없느냐가 가장 큰 차이점
4.1 DAC와 MAC의 차이를 정의하라.
DAC는 한 엔터티가 자신의 뜻에 따라 자원에 접근할 수 있도록
권한을 부여하는 기법이고,
MAC는 한 엔터티가 자신의 뜻에 따라
자원에 접근할 수 있도록 권한을 부여할 수 없는 기법이다.
4.4 접근 행렬은 무엇인가?
접근 행렬의 한쪽 차원은
자원에 접근을 시도하는 확인된 주체(사용자)로 구성된다.
다른 쪽의 차원은 접근이 되는 객체(파일)로 이루어져 있다.
4.5 접근 제어 목록과 capability ticket의 차이는 무엇인가?
접근 제어 목록 ACLs ( 접근 행렬을 행으로 분리 )
->각 객체(파일1,2,3...)에 대해 사용자(a,b,c...)와 그들의 승인된 접근 권한(읽기 쓰기 소유 ) 목록을 만든다.
쉽게 설명하면 각 파일에 대해 사용자가 읽을수 있는지 등에 대한 권한을 저장하는 방법. 단점은 사용자 a가 접근할수 있는 파일의 목록은? 출력할때 각 파일별로 확인해야해서 불편.
capability ticket ( 접근 행렬을 열로 분리 )
-> 사용자 별로 승인된 객체 ( 파일 ) 과 접근 권한을 명시.
쉽게 설명하면, 사용자 a 는 파일 1,2 에 대한 수정 권한을 가지고 있다.
사용자 b 는 파일 3에 대해....
단점은 ACLs 보다 보안상 문제를 일으킬 수 있다.
4.10 NIST RBAC 모델에서 SSD와 DSD의 차이점은 무엇인가?
SSD는 사용자가 할당되어 있으면 다른 역할에 할당되지 않는 정적인 역할의 집합.
DSD는 사용자가 사용할 수 있는 접근 권한을 제한한다.
5.7 통계적 데이터베이스의 두 가지 종류는 무엇인가?
순수 통계적 데이터 베이스 : 통계적 데이터만 저장. 예로는 인구조사 데이터 베이스가 있다. 특정 사용자가 전체 데이터베이스 접근 권한
일반 데이터베이스 : 개별 엔트리를 포함하는 데이터베이스.
선택적인 부분에 접근 허가를 받은 비통계적 사용자를 지원한다.
5.8 통계적 데이터베이스에서 추론을 방지하기 위한 두 가지 접근방식을 나열하고 간단히 설명하라.
쿼리 제약 : 위협 노출 가능성 쿼리 거부
섭동 : 모든 쿼리에 답 but 근사치만 제공
5.9 데이터베이스 암호화의 단점을 설명하라.
Key Management : 선택적으로 보안 키를 제공>복잡한 작업
Inflexibility : 암호화되었을 때 레코드를 검색하는 것이 훨씬 더 어려워진다.
6.1 악성코드가 자신의 번식을 위해서 사용하는 세 가지 기법을 설명하라.
실행파일을 바이러스로 감염 > 다른 시스템으로 번식
소프트웨어 취약점 이용한 증식
사용자가 보안시스템을 생략하게 하여 트로이 설치, 피싱공격
6.2 악성코드가 운반하는 payload의 네 가지 분류를 설명하라.
시스템의 데이터 파괴
시스템을 좀비로 만들어서 봇넷공격의 일부로 활용
키로깅, 스파이웨어 사용 유출
시스템 감지기능 무력화
6.3 바이러스나 웜의 전형적인 작동의 상태를 설명하라.
바이러스는 어떤 특정 대상, 한 파일에 숙주하여 다른 파일로 확장, 사용자의 사용에 따라 전파
웜은 특정 대상이 없으며 스스로 확장_특히 이메일을 통하여 전파된다.
6.4 바이러스가 자신을 숨기기 위해서 사용하는 기법을 설명하라.
압축과 같은 코드 퓨테이션
rootkit - 흔적을 숨기면서 공격자가 관리자 권한에 접근할 수 있도록 비밀통로를 유지시키는 프로그램의 집합
6.5 실행 가능한 바이러스와 매크로 바이러스의 차이를 설명하라.
실행형 바이러스 구조
-> 다른 실행파일의 앞나 뒤에 첨부, 실행 파일을 감염시킨다.
매크로 (스크립팅) 코드 바이러스
-> 문서에 액티브 콘텐츠를 위해 사용되는 스크립팅 코드를 감엽. 실행 파일이 아닌 문서파일을 감염
6.6 웜이 번식을 위해서 원격시스템에 접근하는 방법을 설명하라.
복제본을 파일전송기능을 이용해 다른 시스템으로 전송
USB드라이브에 자신을 복제 감염
다른 시스템에 설치된 자신의 복제본을 원격 실행기능
원격 파일 전송 기능을 이용 복제하고, 실행하기를 기다린다.
원격 시스템에 사용자로 로그인 복제본을 시스템에 설치 실행
6.7 'Drive-by-download'가 무엇인지 설명하고 웜과 어떻게 다른지 설명하라.
인터넷 브라우저의 취약점을 이용해서 사용자가 전혀 눈치채지 못하도록 사용자 시스템으로 다운로드하고 설치한다. 웜처럼 적극적으로 번식으로 번식을 시도하는 대신, 의심 없는 사용자가 악성 웹사이트를 방문하기를 기다리는 방법으로 자신을 번식하게 된다.
6.8 보트넷이 무엇인지 설명하라.
인터넷에 연결되어 있는 컴퓨터를 조용히 감염시켜 조종. 수백, 수천 개의 컴퓨터에 심어진다. 이 보트의 집합이 서로 협력하는 형태의 행동을 취할 수도 있는데, 이를 보트넷이라고 한다.
6.11 악성코드에 대응요소를 설명하라.
정책, 인식, 취약점 보안, 위협의 최소화
6.12 악성코드에 대응하는 장치가 설치될 수 있는 세 가지 위치를 나열하라.
감염된 시스템 내부 실행되고 있는 프로그램들의 행동감시
주변부 보안장치의 일부에서 수행
시스템 내부나 주변부에서 감지되는 데이터를 수집하는 분산형 장치를 이용하여 악성 코드를 감지
6.13 안티바이러스 소프트웨어의 네 가지 세대를 간단히 설명하라.
제 1세대 : 악성코드의 시그너처를 스캔하는 방식.
제 2세대 : 시그너처에 의존하지 않고, 일종의 발견적 규칙을 사용해서 악성코드의 가능성을 추측해 낸다.
제 3세대 : 프로그램은 메모리에 상주하면서, 행동패턴을 감지해 내는 방법이다.
제 4세대 : 다양한 안티바이러스 기술을 종합적으로 활용하는 프로그램을 말한다.
6.14 Behavior-blocking 소프트웨어의 작동원리를 설명하라.
프로그램이 의심쩍은 행동 수행 실시간 검색
의심가는 행동을 시도시 봉쇄한다.
6.15 Zero-day exploit이란 무엇인지 설명하라.
시스템의 버그나 취약성의 발견된 문제점이 얼마 동안 어디에도 보고되지 않는 기간을 Zero Day라고 한다. 시스템 공격을 받아도 대책을 할 수 없고, 공격을 인지할 수 있는 방법도 없다.
7.1 Denial-of-service(DoS) 공격을 정의하라.
CPU, 메모리, bandwidth, 디스크공간 등의 자원을 소진시켜서 네트워크, 시스템, 혹은 응용프로그램에 대한 정상적인 사용자의 접근을 힘들게 하거나 봉쇄하는 공격이다.
7.2 이러한 공격은 어떤 자원을 목표로 삼는가?
네트워크 자원(bandwidth), 시스템 자원, 응용프로그램 자원
7.3 Flooding 공격의 목표는?
가장 간단한 공격이 flooding 공격인데, 대상 조직의 네트워크 연결의 최대 용량을 압도하는 게 목적이다. 이를 위해서 공격자는 목표네트워크보다 더 용량이 높은 시스템에 접속해서 목표네트워크가 감당하기 힘든 정보의 트래픽을 생성할 수 있다.
7.4 Flooding 공격에 많이 사용되는 패킷 타입은?
거의 어떤 종류의네트워크 패킷도 flooding 공격에 사용될 수 있다. 단지 목표 시스템으로 가는 네트워크 링크를 통과할 수만 있으면 목표 시스템의 링크 용량을 소비할 수가 있기 때문이다. 실제로 패킷사이즈가 크면 클수록 공격의 효과는 높아진다. 보통 flooding 공격은 ICMP, UDP, TCP SYN 등을 사용하게 되지만, 물론 다른 종류의 패킷도 사용이 가능하다. 하지만 다른 종류의 패킷은 상대적으로 많이 사용되지 않기 때문에 눈에 띄기가 쉽고 제어당하기가 쉽다.
7.5 왜 Dos 공격에 사용되는 패킷은 시작 주소가 조작되어 있는가?
시작 주소가 조작된 패킷을 사용하면 공격자의 시스템을 알아내기가 더 어려워진다. 더불어 조작된 패킷이 시작 주소로 흩어졌다 목적지로 다시 돌아와 flooding 공격을 악화시킨다.
7.6 Distributed Denial-of-Service(DDos) 공격을 정의하라.
하나의 시스템에서 시작되는 flooding 공격의 한계를 극복하기 위해 해킹당한 여러 시스템에서 패킷을 생성하는 방법.
7.7 DDoS는 보통 어떤 구조를 이용하는가?
공격자가 각 좀비를 개별적으로 명령을 할 수도 있지만, 보다 계층적인 방법이 사용되는 게 일반적이다. 적은 수의 시스템들이 핸들러가 되어 훨씬 많은 수의 에이전트 시스템을 관리한다.
7.8 Reflection 공격이란?
공격자는 실제 공격대상의 주소를 시작 주소로 갖는 패킷을 중간단계의 시스템에 보낸다. 공격은 중간 시스템들로부터 반사가 되어 공격대상에게 향해진다.
7.9 Amplification 공격이란?
Amplification 공격이란 reflector 공격의 변형이며 대상시스템을 겨냥한 조작된 시작 주소를 가진 패킷들이 중계시스템에 보내진다.최초의 요청을 한 네트워크의 브로드캐스트 주소로 보내 여러개의 응답 패킷을 생성한다. 결과적으로 모든 호스트가 응답하여 응답 패킷의 flood를 생성한다. 많은 호스트들이 참여하고 있는 중계네트워크 서비스를 사용하면 된다.
7.10 많은 DoS 공격에 대한 주된 방어책이 무엇이고 어디에 구현되어 있는가?
예방과 선점 -
자원의 소비를 제어
추가적인 자원을 지원
시스템이나 관련 프로토콜을 수정
감지와 선별 -
시스템의 의심가는 패턴을 찾아내어 공격과 관련이 있는 패킷을 선별해 낸다.
원천지 추적 -
공격의 원천지를 역추적
공격 대응 -
공격의 효과 최소화
7.12 TCP SYN spoofing 공격에 대한 가능한 대응책은?
TCP 연결을 다루는 코드를 수정하면 SYN spoofing 공격을 방어할 수 있다. 요청된 연결의 중요한 정보를 쿠키에 암호화 하여 저장한 후 이를 서버의 초기 순번으로 전송한다.
7.13 Slashdotted와 flash crowd란 무엇을 말하는가? 합법적인 네트워크 오버로드와 DoS 공격 간의 관계는 무엇인가?
7.14 조직의 시스템들이 amplification 공격의 중간자 역할을 하지 않도록 하기 위해서는 어떤 방어책이 있는가?
최고의 방어책은 IP - directed broadcast를 허용하지 않는 것이다. 의심가는 서비스나 시작/도착포트를 사용하는 트래픽을 제한하거나 봉쇄하는 것만으로도 reflection 공격의 상당부분을 막을 수 있다.
7.15 DoS 공격이 감지되면 어떤 관계들이 수행되어야 하는가?
공격의 종류를 결정하고 이에 따른 가장 좋은 방어방법을 찾는 것이다.
패킷을 분석하고 공격에 많이 사용되는 패킷종류를 골라내는 일
만약 이러한 자원이나 기술이 없을 때에는 ISP에 도움을 요청할 수 있다.
이 분석을 통해서 공격의 종류를 알아내고 이에 대응되는 필터링 방법을 결정한다. 이 필터링은 ISP의 라우터에 설치되어야 한다.
시스템이나 어플리케이션의 취약점을 노리는 공격이라면 이를 감지하여 취약점을 고치는 단계를 거침으로써 미래의 침투를 봉쇄해야 한다.
7.16 DoS 공격에서 사용된 다양한 패킷 종류들의 시작 주소를 알아내기 위해서 어떤 방법들이 필요한가? 시발점의 위치를 다른 패킷들보다 더 알아내기 쉬운 패킷 종류가 있는가?
라우터나 게이트웨이에서 패킷 필터링을 수행한다