공격의 시각적 예시
아래 표는 공격자 Darth가 Alice와 Bob 사이의 키 교환을 어떻게 가로채고 자신의 키를 삽입하는지를 보여줍니다. 여기서 Alice의 개인 키는 \( X_A \), Bob의 개인 키는 \( X_B \)로 표기합니다.
단계 | Alice의 동작 | Darth의 동작 | Bob의 동작 |
1 | 전송 | 를 가로채고 대신 전송 | - |
2 | - | ㅤ | 대신 을 받아 계산 |
3 | - | 를 가로채고 대신 전송 | 전송 |
4 | 대신 수신하고 계산 | - | - |
5 | - | Darth는 Alice와 공유된 및 Bob과 공유된 을 사용하여 두 사용자 간의 통신을 제어 | ㅤ |
PDF 파일의 내용 전체를 기반으로 시험 준비를 위한 요약을 제공할게. 가능한 한 모든 내용을 포함해서 정리할게.
3장 사용자 인증 요약
1. 사용자 인증의 정의 및 절차 (RFC 4949):
- 사용자 인증은 시스템에 접근하는 자격에 대한 신원을 확인하는 절차.
- 인증의 핵심 요소: 정보보안의 근본적인 요소이며 접근 제어 및 사용자 책임의 기반.
- 단계:
- 식별 단계: 사용자가 자신의 신분을 보안 시스템에 제시.
- 입증 단계: 인증 정보를 제시하거나 생성하여 식별자와의 유대를 증명.
2. 사용자 인증 수단:
- 알고 있는 것을 통한 인증: 패스워드, PIN, 질문에 대한 응답.
- 소유물을 통한 인증: 스마트 카드, 전자 키 카드, 물리적 키.
- 생체 조직을 통한 인증: 지문, 망막, 얼굴.
- 행동을 통한 인증: 목소리 패턴, 필적, 타이핑 리듬.
3. 패스워드 인증:
- 패스워드 취약점:
- 오프라인 사전 공격, 특정 계정 공격, 대중적인 패스워드 공격, 다수 패스워드 사용, 전자 감시 등.
- 조치 방안:
- 패스워드 파일 접근 통제, 침입 탐지, 계정 잠김 메커니즘, 패스워드 정책 강화.
- 해시화된 패스워드 사용: 유닉스 초기 스키마에서 8자리 패스워드, 12비트 솔트 사용. 현대에는 훨씬 강력한 해시/솔트 스키마가 사용됨.
4. 패스워드 크랙킹:
- 사전 공격: 사전에 수록된 패스워드를 패스워드 파일과 대조하여 암호를 알아내는 방법. 솔트와 해시를 사용해 방어.
- 레인보우 테이블 공격: 모든 솔트에 대한 해시 값 테이블을 미리 계산한 후 패스워드 해시와 대조.
5. 패스워드 파일 접근 제어:
- 암호화된 패스워드에 대한 접근을 차단해 오프라인 예측 공격 방지.
- 섀도 패스워드 파일 사용: 해시된 패스워드를 개별 사용자 ID와 함께 저장.
6. 패스워드 선택 및 교육:
- 사전 패스워드 검사: 사용자가 선택한 패스워드가 유추 가능하거나 약한 경우 이를 거절.
- 패스워드 검사의 활성화: 시스템 자체에서 주기적으로 패스워드 크래커 실행.
- 컴퓨터 발생 패스워드: 사용자는 기억하기 어렵지만 더 안전한 패스워드.
- 사용자 교육: 강력한 패스워드 사용의 중요성을 교육.
7. 토큰 기반 인증:
- 카드 유형: 금형 도안, 전자기 띠, 메모리 카드, 스마트 카드 등.
- 메모리 카드: 데이터 저장만 가능하며 처리 능력 없음. ATM기 등에서 사용.
- 스마트 카드: 내장된 마이크로프로세서를 포함해 더욱 강력한 보안 제공.
8. 생체 인증:
- 생체 인증: 신체적 특징(얼굴, 지문, 망막 등)을 기반으로 개인을 인증. 패턴 인식에 기반하며 비용이 많이 든다.
- 생체 인증 시스템의 작동: 생체 정보를 등록하고 그 정보를 기반으로 사용자 인증.
9. 원격 사용자 인증:
- 추가적인 보안 위협: 도청, 패스워드 캡처, 인증 시퀀스 재전송 공격.
- 이를 방어하기 위해 시도-응답(challenge-response) 프로토콜을 사용.
10. 인증 프로토콜:
- 패스워드 프로토콜: 사용자 신원을 전송하고, 호스트는 난수를 생성해 패스워드 해시로 검증.
- 토큰 프로토콜: 정적 패스워드 또는 일회성 패스워드를 생성해 인증.
- 생체 프로토콜: 정적 생체 정보 또는 동적 생체 정보(목소리, 타자 패턴 등)를 이용한 인증.
이렇게 정리된 내용은 시험에 대비하여 모든 필수적인 정보를 포함하고 있어.
PDF의 내용에 기반하여, 4장을 누락 없이 시험을 위해 요약 정리해줄게.
4장: 접근 제어 요약
1. 접근 제어 정의:
- NIST 정의: 정보의 획득, 사용 및 관련된 정보 처리 서비스 또는 특정 장비 접근을 관리.
- RFC 4949 정의: 시스템 자원의 사용을 규제하고, 인가된 사용자만 접근을 허가하는 보안 정책.
2. 접근 제어의 세 가지 구성 요소:
- 인증(Authentication): 사용자의 신원을 검증.
- 접근 제어(Access Control): 자원에 접근할 수 있는 권한을 부여.
- 감사(Auditing): 자원에 대한 접근 기록을 유지하고, 변화를 모니터링.
3. 접근 제어 정책:
- 임의 접근 제어(DAC):
- 신원 기반 접근 제어.
- 사용자가 소유한 자원에 대해 다른 사용자에게 권한을 부여할 수 있음.
- 접근 제어 행렬로 구성됨:
- 주체(사용자)와 객체(파일, 자원)에 대한 접근 권한을 매트릭스로 표현.
- 접근 제어 목록(ACL):
- 각 객체에 대한 접근 권한을 리스트 형태로 관리.
- 가용성 티켓(Capability tickets):
- 주체가 가진 접근 가능한 객체와 기능을 리스트로 표현.
- 강제 접근 제어(MAC):
- 보안 레벨과 허가를 기반으로 접근 제어.
- 주체와 객체의 보안 레벨을 비교하여 접근을 허용.
- 역할 기반 접근 제어(RBAC):
- 사용자에게 직접 권한을 부여하는 대신 역할에 권한을 부여하고, 사용자는 역할에 할당됨.
- 사용자와 역할, 역할과 자원 간의 관계는 다대다 관계.
- 사용자의 변화가 잦으나, 역할 자체는 비교적 고정적임.
- 속성 기반 접근 제어(ABAC):
- 주체, 객체, 환경의 속성에 기반하여 접근을 제어.
- 유연성과 표현력이 뛰어나지만, 복잡한 신뢰 관계를 요구함.
4. 접근 권한 및 모델:
- 주체(Subject): 시스템 자원에 접근하는 사용자, 프로세스 등을 말함.
- 객체(Object): 보호되는 자원(파일, 레코드, 페이지 등).
- 접근 권한(Access Rights): 주체가 객체에 대해 수행할 수 있는 권한(읽기, 쓰기, 실행 등).
- 접근 제어 모델(Access Control Model): 주체가 객체에 접근할 수 있는 방법과 권한을 나타내는 규칙 집합.
5. 접근 제어 시스템에서의 보호 도메인:
- 주체가 객체에 대해 가지는 모든 접근 권한의 집합.
- 사용자는 프로세스를 생성하며, 프로세스는 새로운 보호 도메인을 정의.
- 프로세스와 보호 도메인의 연관성은 정적 또는 동적일 수 있음.
6. UNIX 파일 접근 제어:
- inode는 파일의 속성 및 제어 정보를 담고 있는 제어 구조체.
- 사용자 ID 및 그룹 ID를 기반으로 접근 권한을 설정.
- 12개의 보호 비트로 파일 소유자, 그룹, 기타 사용자에 대한 읽기, 쓰기, 실행 권한을 지정.
7. 역할 기반 접근 제어(RBAC):
- *역할(Role)**을 중심으로 접근 권한을 할당.
- RBAC 모델:
- RBAC0: 기본적인 역할 할당.
- RBAC1: 역할 간의 계층 구조를 지원.
- RBAC2: 역할에 대한 제약 조건 추가.
- RBAC3: 모든 RBAC 기능을 포함.
- RBAC의 제약 조건:
- 상호 배타적 역할: 사용자는 하나의 역할만 할당 가능.
- 카디널리티: 역할에 할당 가능한 사용자의 최대 수 제한.
- 전제조건 역할: 특정 역할을 할당받기 위한 선행 역할이 필요.
8. 속성 기반 접근 제어(ABAC):
- 주체, 객체, 환경의 속성을 기반으로 접근 제어.
- ABAC의 주요 요소:
- 속성(Attributes): 주체나 객체의 속성.
- 정책 모델(Policy Model): 접근 허가를 정의하는 규칙 집합.
- 구조 모델(Structure Model): 정책을 적용하는 시스템 구조.
9. ABAC와 ACL, RBAC 비교:
- ABAC는 유연성 및 표현력이 뛰어나지만, ACL이나 RBAC보다 더 복잡한 신뢰 관계를 요구.
- RBAC는 역할을 사용해 사용자와 권한을 관리하며, 관리적인 작업이 필요.
이렇게 정리된 내용은 4장의 모든 주요 개념을 다루고 있어.
공격 유형 | 인증자 | 예시 | 전형적 방어 |
클라이언트 공격 | 비밀번호 | 전수 검색 | 시도-응답 프로토콜, 많은 후보자 보호 |
ㅤ | 토큰 | 전수 검색 | 1회용 패스코드, 다중 인증 |
ㅤ | 생체 | False match 가능성 | 생체 인식 정확도 강화 |
호스트 공격 | 비밀번호 | 평문 도난, 사전전/전수 검색 | 패스워드 데이터베이스 보호, 해시 사용 |
ㅤ | 토큰 | 비밀번호 도난 | Challenge-response 프로토콜, 1회용 패스코드 |
ㅤ | 생체 | 템플릿 도난 | 장비 인증 강화 |
도청, 도난, 복사 | 비밀번호 | Shoulder surfing | 비밀번호 관리자의 보호, 다중 인증 |
ㅤ | 토큰 | 하드웨어 도난, 위조 | Multifactor 인증 |
ㅤ | 생체 | 생체 복제 (Spoofing) | Challenge-response 프로토콜을 통한 생체 데이터 보호 |
재사용 공격 | 비밀번호 | 도난된 비밀번호 응답 재전송 | Challenge-response 프로토콜 사용 |
ㅤ | 토큰 | 도난된 비밀번호 응답 재전송 | Challenge-response 프로토콜, 1회용 패스코드 |
ㅤ | 생체 | 도난된 생체 템플릿 응답 재전송 | Challenge-response 프로토콜을 통한 보호 |
트로이 목마 | 비밀번호, 토큰, 생체 | 가짜 클라이언트 생성 및 탈취 | 신뢰성 있는 어플리케이션 사용, 다중 인증 |
서비스 거부 | 비밀번호 | 과도한 인증 시도로 인한 시스템 마비 | Multifactor with token |
공격 유형 | 인증자 | 예시 | 전형적 방어 |
클라이언트 공격 | 비밀번호 | 전수 검색 | 시도-응답 프로토콜, 많은 후보자 보호 |
ㅤ | 토큰 | 전수 검색 | 1회용 패스코드, 다중 인증 |
ㅤ | 생체 | False match 가능성 | 생체 인식 정확도 강화 |
호스트 공격 | 비밀번호 | 평문 도난, 사전전/전수 검색 | 패스워드 데이터베이스 보호, 해시 사용 |
ㅤ | 토큰 | 비밀번호 도난 | Challenge-response 프로토콜, 1회용 패스코드 |
ㅤ | 생체 | 템플릿 도난 | 장비 인증 강화 |
도청, 도난, 복사 | 비밀번호 | Shoulder surfing | 비밀번호 관리자의 보호, 다중 인증 |
ㅤ | 토큰 | 하드웨어 도난, 위조 | Multifactor 인증 |
ㅤ | 생체 | 생체 복제 (Spoofing) | Challenge-response 프로토콜을 통한 생체 데이터 보호 |
재사용 공격 | 비밀번호 | 도난된 비밀번호 응답 재전송 | Challenge-response 프로토콜 사용 |
ㅤ | 토큰 | 도난된 비밀번호 응답 재전송 | Challenge-response 프로토콜, 1회용 패스코드 |
ㅤ | 생체 | 도난된 생체 템플릿 응답 재전송 | Challenge-response 프로토콜을 통한 보호 |
트로이 목마 & 서비스 거부 | 비밀번호 | 가짜 클라이언트 생성 및 비밀번호 탈취 | 신뢰성 있는 어플리케이션 사용, 다중 인증 |
ㅤ | 토큰 | 가짜 클라이언트 생성 및 토큰 탈취 | Multifactor 인증 |
ㅤ | 생체 | 가짜 클라이언트 생성 및 생체 정보 탈취 | 생체 인증 강화 및 Challenge-response 프로토콜 |
ㅤ | 비밀번호, 토큰, 생체 | 과도한 인증 시도로 인한 시스템 마비 | 인증 시도의 한도 설정, 다수 오류 시 잠금 |
댓글