반응형

1. 암호화(Encryption)

암호화는 평문의 데이터를 암호화키를 사용해서 암호문으로 만들거나 암호문을 복호화키로 복호화해서 평문으로 만드는 일련의 과정을 말한다.


2. 스트림(Stream) 암호화

스트림 암호화는 비트 또는 바이트 단위로 암호화를 수행하며, 고속으로 암호화할 수 있고 경량적이어서 무선 환경이나 고속으로 동작하는 시스템에서 사용된다.

키 스트림이 암호화키가 되므로 암호화키가 유출되면 암호문은 복호화되어 문제 발생하기 때문에 송/수신자의 키 스트림 공유를 위해 동기식 스트림 암호와 비동기식 스트림 암호로 분류된다.

RC4 스트림 암호화

1) 동기식 스트림 암호

- 키 스트림을 생성할 때 랜덤하게 생성하는 One Time Pad

- 랜덤 번호를 생성해서 송신자와 수신자가 랜덤 키를 교환

- 랜덤 키를 암호화/복호화 키로 사용

2) 비동기식 스트림 암호

- 키 스트림을 생성할 때 이전의 평문 및 암호문에 종속적으로 생성


3. 블록 암호화

1) 블록 암호화 알고리즘 구조

- 사전에 공유한 암호키를 사용해서 고정된 길이의 입력 블록을 고정된 길이의 출력 블록으로 변환하는 알고리즘

- Feistel 구조: 암호화 방식을 역으로 수행하면 복호화 가능

- SPN 구조: 암호화 방식을 역으로 수행해도 복호화가 불가능

 

2) 블록 암호화 기법(Block Cipher)

(1) ECB(Electronic Code Book) Mode

- 가장 단순한 모드로, 평문을 일정한 블록단위로 나누어 순차적으로 암호화하는 구조

- 블록의 단위는 알고리즘에 따라 다름 (DES: 64Bit, AES: 128Bit)

- 각각의 블록은 독립적이므로 특정 블록의 에러가 다른 블록에 영향을 주지 않음

- 평문을 각각의 단위로 나눌 때, 배수에 미치지 못하여 남는 Bit는 패딩(Padding, 빈 데이터)을 추가하여 크기를 맞춤

- 한 개의 블록만 해독되면 나머지 블록 또한 해독되는 단점이 있음

ECB Mode (출처: IT Wiki)

 

(2) CBC(Cipher Block Chainging) Mode

- ECB 모드와 동일한 방법으로 평문을 일정한 블록단위로 나눔

- 최초 키의 생성 버퍼로 IV(Initialization Vector)가 사용되어 첫 번째 블록과 XOR 연산을 통해 암호화

- IV는 나누어진 일정한 블록 중 하나가 되거나 단위 블록과 길이가 같은 임의의 값이 될 수 있음

- 두 번째 블록부터는 첫 번째 블록의 암호화된 블록과 XOR 연산을 하여 암호화 진행

- 블록 암호화 모드 중 보안이 가장 강력한 암호화 모드로 평가되며 가장 많이 사용됨

- 암호문 한 개의 블록에서 에러 발생 시 현재 복호화되는 평문 블록과 다음 블록에 영향을 줌

CBC Mode (출처: IT Wiki)

(3) CFB(Cipher FeedBack) Mode

- 앞의 두가지 모드와 달리 평문과 암호문의 길이가 같음

- 패딩을 추가하지 않고 블록단위 암호화를 스트림 암호화 방식으로 구성하여 Bit 단위로 암호화 수행

- CBC와 마찬가지로 IV가 사용되고, 암호화는 순차적으로 처리하며 복호화는 병렬 처리가 가능

- 암호문 한 개의 블록에서 에러 발생 시 현재 복호화되는 평문 블록과 다음 블록에 영향을 줌

 

CFB Mode (출처: IT Wiki)

(4) OFB(Output FeedBack) Mode

- CFB Mode와 동일하게 패딩을 추가하지 않고 블록단위 암호화를 스트림 암호화 방식으로 구성

- 최초 키의 생성 버퍼로 IV 사용

- 암호문 한 개의 블록에서 에러 발생 시 현재 복호화되는 평문 블록에만 영향을 주므로 영상 데이터, 음성 데이터와 같은 Digitized analog(디지털화된 아날로그) 신호에 주로 사용

OFB Mode (출처: IT Wiki)

(5) CTR(CounTeR) Mode

- 평문 블록과 키스트림을 XOR 연산하여 암호문 생성

- 키스트림 암호화 시, 1씩 증가하는 카운터를 암호화하며, 암호화/복호화 방법이 동일하므로 구현이 간단

- OFB와 마찬가지로 암호문 블록의 에러 발생 시, 한 개의 평문블록에만 영향

- IV는 사용하지 않고 Counter 값 사용

CTR Mode (출처: IT Wiki)


4. Diffie-Hellman 키 교환 알고리즘

1) Diffie-Hellman 키 교환 알고리즘 

- 공개키는 1개의 정수와 1개의 소수로 통신 직전에 상대방과 공유하며, 비밀키 전용 숫자는 양쪽에서 각각 보유

- 공개키의 수치를 사용해서 공통 암호키용 수치를 산출하는 방식

- IPSEC에서 IKE의 Default 키 교환 알고리즘으로 채택

 

2) Diffie-Hellman 키 교환 과정

출처: IT Wiki

3) 취약점

- Diffie-Hellman 키 교환은 단순히 키 교환에 의한 안전성에 의존하므로 단독으로 사용하기엔 부족

- 많은 프로토콜에서 사용되고 있지만 모두 인증, 무결성, 부인방지 등 추가적인 안정성을 더해서 사용


5. RSA(Rivest, Shamir, Adelman)

1) RSA

- 대표적인 공개키 암호화 방식으로, 소인수분해의 어려움을 기반으로 안정성 제공

- 암호화 및 디지털 서명 용도로 사용이 가능

 

2) RSA 암호화, 복호화

- 송신자는 수신자의 공개키로 암호화

- 수신자는 본인의 개인키로 복호화

3) RSA 전자서명

- 송신자는 본인의 개인키로 서명

- 수신자는 송신자의 공개키로 복호화


6. 해시 함수

1) 해시(Hash) 알고리즘

- 키가 없고 복호화가 불가능한 특징을 가지는 암호화 방식으로, 일방향 암호 기술

- 다양한 길이의 입력을 고정된 짧은 길이의 출력으로 변환하는 함수

- y=h(x)에서 x는 가변 길이의 메시지, y는 해시 함수를 통해서 생성, h는 해시값(Hash Code)

 

2) 해시 함수의 조건

조건 설명
압축 - 임의 길이의 평문을 고정된 길이의 출력 값으로 변환함
일방향
(One Way Function, 선이미지 회피성)
- 메시지에서 해시값(Hash Code)을 구하는 것은 쉬움
- 해시값에서 원래의 메시지를 구하는 것은 매우 어려움(역방향 계산 불가능)
효율성 - 메시지로부터 h(메시지)를 구하는데 많은 자원고 노력이 소요되지 않아야 함
충돌 회피
(Collision free, 강한 충돌회피성)
- 다른 문장을 사용하였는데도 동일한 암호문이 나오는 현상
- h(M1) = h(M2)인 서로 다른 M1과 M2를 구하기는 계산상 불가능해야 함
2차 선이미지 회피성(약한 충돌 회피성) - 어떤 블록 x에 대해서 H(y)=H(x)인 y!=x인 것을 찾는 것이 계산적으로 불가능해야 함

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

 

반응형
반응형

1. 전자서명 인증 구조 및 주요 특징

1) 전자서명(Digital Signature)

- 작성자의 신원과 전자문서 변경 여부를 확인할 수 있도록 전자문서를 비대칭 암호화 방식을 이용하여 전자서명 생성키로 생성한 정보

- 개인의 고유성을 주장하고 인증받기 위해 전자적 문서에 서명하는 방법으로 무결성, 추적성 확보를 목적으로 함

- 전자서명 과정에서 총 5개의 암호화키가 사용된다. (송신자의 개인키, 공개키, 수신자의 개인키, 공개키, 비밀키(=대칭키))

- 전자서명의 특징

특징 상세 내용
서명자 인증 전자서명을 생성한 서명인을 검증 가능(서명자의 공개키)
부인방지 서명인은 자신이 서명한 사실을 부인 불가
위조 불가 서명인의 개인키가 없으면 서명을 위조하는 것은 불가
변경 불가 이미 한 서명을 변경하는 것은 불가
재사용 불가 한 문서의 서명을 다른 문서의 서명으로 재사용 불가

- 전자서명 기법의 종류: RSA, ElGamel. Schnorr, DSS, KCDSA, ECC

- 전자서명 과정

전자서명 생성 과정(송신자)

① 송신자는 메시지를 해시함수에 넣고 Message Digest 생성 (Digest: hash 함수를 통과된 이후의 Data)

② 송신자만 가지고 있는 송신자의 사설키(=개인키)로 전자서명 진행

③ 대칭키 기법인 비밀키(=대칭키)를 사용해서 전자서명을 암호화

비밀키로 암호화하여 암호문 생성

⑤ 송신자의 비밀키를 수신자의 공개키로 암호화 (수신자는 송신자의 비밀키가 없어서 복호화 불가능하니까)

⑥ 전송

 

전자서명 확인 과정(수신자)

⑦ 수신자는 수신자의 사설키(=개인키)로 암호문을 복호화하고 송신자의 비밀키를 획득

⑧ 수신자는 송신자의 비밀키로 평문의 메시지를 획득

⑩ 암호화된 전자서명을 복호화하고 전자서명을 통해 송신자의 공개키 확인

⑨⑪⑫ 사용자 인증, 메시지 인증 과정

※ 개인키=사설키, 비대칭키 / 비밀키=대칭키

구분 키(Key) 설명
송신자 개인키 전자서명
공개키 전자서명 확인
수신자 개인키 복호화
공개키 암호화

2. PKI 구조

1) PKI(Public Key Infrastructure) 개요

- 은행, 증권, 카드, 보험에서 사용하는 공인인증의 구조로, 공인인증서를 통해 인증받는 구조

- 인증기관(CA)에 사용자 정보를 입력하고 공인인증서를 발급받음

 

Cf) 인증기관(CA), 등록기관(RA)

- 인증기관: 사용자 신원을 확인하고 인증서를 발급

- 등록기관: 많은 사용자의 신원확인을 대행 해주는 기관

- 등록기관이 신원확인을 하고, 인증기관이 공인인증서를 발급

 

2) PKI 구성

- PKI 세부 구성 내용

출처: 해시넷 위키

구성 요소 주요 기능
인증기관(CA)
Certification Authority
- 인증 정책 수립, 인증서 및 인증서 폐기 목록 관리(생성, 공개, 취소, 재발급)
- 공개키 인증서를 자신의 개인키로 서명
- 공개키와 개인키 쌍의 소유자 신분 증명
- 다른 CA와 상호 인증
- CRL 등록 및 인증 절차 작성
등록기관(RA)
Registration Authority
- 사용자 신원 확인, 인증서 요구 승인, CA에 인증서 발급 요청
- 디지털 인증서 신청자의 식별과 인증을 책임
- PKI를 이용하는 Application과 CA 간 인터페이스 제공
- 대표적 RA : 은행, 증권사
CRL
(Certificate Revocation List)
- 인증서 폐기 목록으로, 인증서의 지속적인 유효함을 점검하는 도구
- 폐지 사유 : 디지털 서명의 개인키 노출, 인증서가 필요 없을 경우, 개인키 분실, 효력 정지 등
Directory - 인증서, 암호키에 대한 저장, 관리, 검색 등의 기능, PKI 관련 정보 공개
- 디렉터리 표준 형식으로는 X.500과 이것을 간략화시킨 LDAP가 있음
CPS
(Certification Practice Statement)
- PKI를 구현하기 위한 절차를 상세히 설명해놓은 문서로, CA의 운영을 통제하는 상세한 일련의 규정
- 인증 정책, 인증 절차, 비밀키 관리 절차 등 포함
- 모든 사용자에게 반드시 공개해야 함(홈페이지에 게시)
X.509 - X.500 디렉터리 서비스에서 서로 간의 인증을 위해 개발된 것
- CA에서 발행하는 인증서를 기반으로 하며, 공개키 인증서 표준 포맷
- 사용자의 신원과 키 정보를 서로 결합한다는 것을 의미

 

3) PKI 세부 내용

- 인증기관은 인증에 대한 정책 승인 기관, 정책 인증기관, 인증기관으로 나누어짐

- 사용자들이 사용하는 X.509 인증서(공인인증서)를 발급함

- 인증기관을 대행해서 등록기관(RA)이 인증기관 하위에서 사용자 신원 확인의 역할을 수행

 

Cf) OCSP(Online Certificate Status Protocol)

- 은행에서 발급받은 인증서를 인증받기 위해 인증기관 간의 상호인증을 수행하는 실시간 프로토콜

OCSP

Cf) Directory Service

- API(Application Program Interface)를 활용하여 데이터를 입력, 수정, 삭제, 조회할 수 있는 서비스

- X.500과 LDAP이 있음

- DAP(Directory Access Protocol)라는 프로토콜을 활용하여 작업을 수행

 

Cf) 공개키 인증서(X.509 인증서)

- 인증서 버전, 인증서 고유번호, 발급자의 성명, 발급자 정보, 유효기간, 주체 정보, 공개키, 주체키 등을 포함

tistory.com 인증서

 

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다

반응형
반응형

1. 접근 통제 기술

접근 통제는 정당한 사용자에게는 권한을 부여하고 그 외의 다른 사용자는 거부하는 것이다.

 

1) 2-Factor 인증

- 지식, 소유, 존재, 행동기반의 인증 중 2개를 같이 사용하는 인증 방법

- 같은 생체인증인 홍채와 지문을 같이 사용하는 것은 2-Factor 인증이 아님

 

2) MAC(Mandatory Access Control)

- 비밀 취급 인가 레이블 및 객체의 민감도 레이블에 따라 지정되는 방식으로, 강제적 접근 통제 방식

- 관리자에 의해 권한이 할당, 해제됨

- 데이터에 대한 접근을 시스템이 결정(정해진 Rule에 의해)

- 데이터 소유자가 아닌 오직 관리자만이 자원의 카테고리를 변경시킬 수 있음

- MAC의 종류

종류 설명
Rule-based MAC - 주체와 객체의 특성에 관계된 특정 규칙에 따른 접근 통제 방화벽
Administratively-directed MAC - 객체에 접근할 수 있는 시스템 관리자에 의한 통제
CBP
(Compartment-Based Policy)
- 일련의 객체 집합을 다른 객체들과 분리
- 동일 수준의 접근 허가를 갖는 부서라도 다른 보안 등급을 가질 수 있음
MLP
(Multi-Level Policy)
- Top Secret, Secret, Confidentiality와 같이 객체별 지정된 허용 등급을 할당하여 운영
- 미국 국방성 컴퓨터 보안 평가지표에 사용, BLP 수학적 모델로 표현 가능

 

3) DAC(Discretionary Access Control)

- 자율적 접근 통제 방식으로, 객체의 소유자가 권한을 부여함

- User-based, Identity: 사용자의 신분에 따라 임의로 접근을 제어하는 방식

- 접근 통제 목록(ACL, Access Control List) 사용 : Read, Write, Execute

- DAC의 종류

종류 설명
Identity-based DAC - 주체와 객체의 ID에 따른 접근 통제, 주로 유닉스에서 사용
User-directed - 객체 소유자가 접근 권한을 설정 및 변경할 수 있는 방식

 

4) Non-DAC

- 비임의적 접근 통제 방식으로, 주체의 역할에 따라 접근할 수 있는 객체를 지정하는 방식

- 기업 내 개인의 작은 이동 및 조직 특성에 밀접하게 적용하기 위한 통제 방식

- Role-based 또는 Task-based라고도 하며, 중ㅇㅇ 관리자에 의해 접근 규칙을 지정함

- Non-DAC의 종류

종류 설명
Role-based Access Control (RBAC) - 사용자의 역할에 의해 권한이 부여 (ex. PM, 개발자, 디자이너)
Lattice-based Non-DAC - 역할에 할당된 민감도 레벨에 의해 결정
- 관련된 정보로만 접근 가능
Task-based Non-Doc - 조직 내 개인의 임무에 의한 접근 통제
ex. 핵 무기와 관련된 임무를 수행하고 있는 경우, 다른 관련 업무는 볼 수 없음

 

5) RBAC(Role Based Access Control)

- 권한들의 묶음으로 Role을 만들어서 사용자에게 Role 단위로 권한을 할당하고 관리

 

Cf) RBAC의 장점

- 관리 수월: 관리자에게 편리한 관리 능력을 제공

- 보안관리 단순화: 권한 지정을 논리적, 독립적으로 할당하거나 회수 가능

- 최소 권한: 최소한의 권리만 허용하여 권한 남용을 방지

- 직무분리: 시스템상에서 오용을 일으킬 정도의 충분한 특권이 사용된 사용자를 없게 함


2. 접근 통제 기법과 각 모델의 특징

접근 통제는 크게 Access Control List와 Capability List 방법이 존재한다.

 

1) Access Control List

- 주체와 객체간의 접근 권한을 테이블로 구성한 것

- 행: 주체, 열: 객체를 두고 행과 열의 교차점에는 주체가 객체에 대한 접근 권한을 기술

 

2) Capability List 

- 주체별로 객체를 LinkedList로 연결하고 권한을 할당한 구조

- 사람(주체)별로 모든 파일 리스트가 존재하므로 권한을 알기 위한 탐색시간이 오래 걸리는 문제 존재

 

3) 접근 통제 모델

(1) Bell-Lapadula

기밀성 모델로서 높은 등급의 정보가 낮은 레벨로 유출되는 것을 통제하는 모델로, 시스템의 비밀성을 보호하기 위한 보안 정책이며 최초의 수학적 모델로서 보안 등급과 범주를 이용한 강제적 정책에 의한 접근 통제 모델이다. 

- No Read-Up (NRU or ss-property) : 단순 보안 규칙

주체는 자신보다 높은 등급의 객체를 읽을 수 없음 (같거나 높아야됨)

- No Write-Down(NWD or *-property) : Confinement Property

주체는 자신보다 낮은 등급의 객체에 정보를 쓸 수 없음(낮거나 같아야 함)

- Strong*-property

더욱 강화한 모델로, 주체는 자신과 등급이 다른 객체에 대해 읽거나 쓸 수 없음

Level ss-property
읽기 권한(Read Access)
*-property
쓰기 권한(Write Access)
Strong*-property
읽기/쓰기(R/W Access)
높은 등급 통제 (No Read Up) 가능 (OK Write Up) 통제
같은 등급 가능 가능 가능
낮은 등급 가능 (OK Read Down) 통제 (No Write Down) 통제

 

(2) Bida

Bell-Lapadula 모델의 단점인 무결성을 보장할 수 있는 모델로서, 주체에 의한 객체 접근의 항목으로 무결성을 다룬다.

- No Read Down (NRD or Simple Integrity Axiom)

- No Write Up (NWU or *Integrity Axiom)

Level 단순 무결성 규칙
(Simple Integrity property)
읽기 권한(Read Access)
*-무결성 규칙
(Integrity *-property)
쓰기 권한(Write Access)
높은 등급 가능 (OK Read Up) 통제
같은 등급 가능 가능
낮은 등급 통제 가능 (OK Write Down)

 

(3) Clark and Wilson (클락 윌슨 모델)

무결성 중심의 상업용으로 설계한 것으로 Application의 보안 요구사항을 다루며, 정보의 특성에 따라 비밀 노출 방지보다 자료의 변조 방지가 더 중요한 경우가 있음을 기초로 한다.


3. 보안 운영체제(Secure OS)

기존의 OS에서 발생 가능한 보안 취약성으로부터 시스템 자체를 보호하기 위해 기존 OS의 커널 등급에 부가적인 보안 기능을 강화시킨 OS다.


4. 키 분배 프로토콜

1) 대칭키 암호화(Symmetric Key)

암호화키와 복호화키가 동일한 암호화 기법으로, 암호문을 송/수신 하는 사용자는 사전에 암호화키를 교환해야 함

- 가장 큰 장점은 작은 비트의 암호화키를 사용하여 빠르게 암호화/복호화를 할 수 있다는 것

- Session Key, Shared Key, Secret Key, 대칭키, 관용키 라고도 함

- 기밀성을 제공하지만 무결성, 인증, 부인방지는 보장할 수 없으며, 암호화/복호화 속도가 빠름

- 같은 키를 사용하므로 안전한 키 전달 및 공유 방법이 필요하며, 대용량 Data 암호화에 적합

대칭키 암호화 기법의 암호화, 복호화 과정

- 종류

구분 스트림 암호(Stream Cipher) 블록 암호(Block Cipher)
개념 하나의 Bit 또는 Byte 단위로 암호화 여러개의 Bit를 묶어 블록 단위로 암호화
방법 평문을 XOR로 1Bit 단위로 암호화 블록 단위로 치환/대칭을 반복하여 암호화
장점 실시간 암호, 복호화, 블록 암호화보다 빠름 대용량의 평문 암호화
종류 RC4, SEAL, OTP DES, 3DES, AES, IDEA, Blowish, SEED

Cf) Session Key

- 송신자와 수신자가 연결하고 있는 동안만 사용하는 암호화 키

- 송신자와 수신자가 같은 암호화키를 가지고 있음

- 임시키라고도 하며, 연결이 종료되면 세션키는 사라짐

 

2) 공개키(비대칭키) 기반 키 분배 방식의 원리

- 공개키 암호화 기법은 공개키와 개인키 두 개의 암호화키를 사용해서 암호화/복호화를 함

- 송신자는 공개키를 수신 받은 후 공개키로 암호화하여 메시지를 전송

- 수신자는 자신만 가지고 있는 개인키로 복호화하여 메시지를 수신

- 대칭키 암호화 기법의 키 공유 문제를 해결한 방법이지만 암호화키의 길이가 길어 암호화/복호화의 성능이 떨어짐

대칭키 암호화 기법의 암호화, 복호화 과정

- 공개키 암호화의 필요성

필요성 주요 내용
키 관리 문제 비밀키의 배분, 공유 문제, 수많은 키의 저장 및 관리 문제
인증 메시지의 주인을 인증할 필요
부인방지 메시지의 주인이 아니라고 부인하는 것을 방지

- 공개키 암호화의 종류: Diffie Hellman, RSA, DSA, ECC 등

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

반응형
반응형

1. 정보보호 개요

1) 정보보호 목표

- 기밀성(Confidentiality) : 허가되지 않은 사용자에게 노출되지 않는 것을 보장

- 무결성(Integrity) : 권한이 없는 사용자에 의해 변경되지 않는 것을 보장

- 가용성(Availability) : 인가된 사용자가 필요로 할 때 원하는 객체 또는 자원에 접근하고 사용할 수 있는 것을 보장

 

2) 정보보호 공격유형과 보호대책

- 변조(Modification) : 원래의 데이터를 조작하는 행위로, 소스 프로그램을 변경하여 악성코드 실행 또는 특정 URL로 접속하게 함

- 가로채기(Interception) : 네트워크상에서 전송되는 데이터에 대하여 복사, 열람 등을 하는 공격유형으로 중요 정보가 유출될 수 있음 (ex. Sniffing)

- 차단(Interruption) : 정상적인 서비스를 방해하는 행위로, DOS 및 프로세스 고갈 공격이 대표적임

- 위조(Fabrication) : 송신되는 메시지를 변조하여 상대방을 속이는 것으로, 송신자의 IP를 변경하여 상대를 속일 수 있음


2. 사용자 인증 방식 및 원리

1) 지식기반 인증

- 사용자의 기억으로만 인증하는 방식으로, 패스워드, Pin 번호 등이 있음

 

Cf) 패스워드의 문제점

- 패스워드 전송 시 암호화하지 않으면 Sniffing Tool에 의해 도청이 가능

- 패스워드 전송구간에 도청을 막기위해 암호화를 해야하며, 복호화될 필요가 없으므로 일방향 암호화 실행

 

2) 소유기반 인증

- 소유기반 인증의 가장 대표적인 예는 열쇠이며, 이러한 소유기반 인증은 복제와 분실의 문제점을 가짐

 

3) 존재(생체)기반 인증

- 평생 불변의 특성을 지닌 생체적, 행동적 특징을 자동화된 수단으로 등록하여 인증하는 방식

- 생체인증 분류

분류 내용
존재 특징 - 생체 특성, 지문, 장문, 얼굴, 손 모양, 홍채, 망막, 정맥
행동 특징 - 서명, 음성, 키보드 입력

- 생체인증 특징

평가항목 내용
보편성(University) - 모든 사람들이 보편적으로 지니고 있어야 함
유일성(Uniqueness) - 개인별로 특징이 명확히 구분되어야 함
지속성(Permanence) - 개인의 생체 정보는 지속적이어야 함
성능(Performance) - 개인 확인 및 인식의 우수성, 시스템 성능
수용성(Acceptance) - 거부감이 없어야 함
저항성(Resistance) - 위조 가능성이 없어야 함

3. 커버로스(Kerberos) 인증

대칭키 암호화 기법에 바탕을 둔 티켓기반 인증 프로토콜로 Client <> Server 사이의 인증을 제공하며, Windows OS의 기본 인증 방식으로 사용된다.

3A(Authentication, Authorization, Accounting)를 지원한다. (인증, 인가, 과금)

 

1) Kerberos의 구성요소

구성요소 설명
KDC - 키 분배센터(Key Distriction Center), TGS + AS로 구성
- 사용자와 서비스 암호화 키(비밀키)를 유지하고 인증 서비스를 제공하며 세션 키를 만들고 분배
AS - 인증 서비스(Authentication Service), 실질적 인증 수행
Principals - 인증을 위해 Kerberos Protocol을 사용하는 모든 실제를 이르는 말
TGS - 티켓 부여 서비스(Ticket Granting Service)
- 티켓을 만들고 세션 키를 포함한 Principals에 티켓을 분배하는 KDC의 한 부분
Ticket - 인증 토큰
TimeStamp - 시간 제한을 두어, 다른 사람이 티켓을 복사 후 위장하여 티켓을 사용하는 것을 막음
- Replay 공격 예방

 

2) Kerberos 인증의 동작

① 사용자는 AS에 인증 요청

② 인증 서비스는 사용자에게 시작 티켓을 전송 (사용자 이름, 발급시간, 유효시간)

③ 사용자는 서비스 접근 요청

④ TGS는 세션 키가 포함된 새로운 티켓을 생성

⑤ 사용자는 하나의 세션 키를 추출하고 티켓을 파일 서버로 전송

⑥ 티켓을 받은 서버는 사용자에 대한 서비스 제공 여부 결정

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

 

반응형
반응형

1. OWASP(Open Web Application Security Project)

신뢰성 있는 웹 어플리케이션 개발 및 운영을 위한 웹 취약점의 우선순위와 위험도 기준의 정보보안 가이드라인을 제시하는 프로젝트로, 웹 사이트에서 가장 취약한 부분을 분석하여 2013년부터 발표하고 있다.

출처: owasp.blogspot.com

 

1) A1 - Injection

- SQL, OS, XXE, LDAP 인젝션 취약점으로 신뢰할 수 없는 데이터가 명령이나 쿼리문의 일부분으로 Interpreter되어 전송될 때 발생하는 취약점

- 공격자가 입력값을 악의적으로 변조하여 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에 접근할 수 있는 보안 취약점이 발생

2) A2 - Broken Authentication

- 인증 및 세션 관리와 관련된 애플리케이션 기능이 잘못 구현되어 공격자에게 취약한 암호, 암호키, 세션 토큰 제공

- 일시적 혹은 영구적으로 다른 사용자의 권한 획득을 위해 구현한 결함을 악용하여 Exploit

3) A3 - Sensitive Data Exposure

- 중요한 정보를 제대로 보호하지 않는 경우가 있는데, 공격자는 이러한 보호가 취약한 데이터를 훔치거나 수정

- 중요한 데이터를 저장, 전송할 때 암호화 같은 보호조치가 없으면 탈취당할 수 있음

4) A4 - XML External Entities

- 설정이 잘못된 XML 프로세서들은 XML 문서 내에서 외부 개체를 참조

- 외부 개체는 파일 URI 처리기, 내부 파일 공유, 내부 포트스캔, 원격코드 실행과 서비스 거부 공격을 사용하여 내부파일을 공개하는데 사용될 수 있음

5) A5 - Broken Access Control

- 인증된 사용자가 수행할 수 있는 작업에 대한 제한이 제대로 적용되지 않은 경우 발생

- 공격자는 결함을 악용하여 다른 사용자의 계정에 접근하거나 중요한 파일을 열람, 수정, 접근권한 변경 등 가능

6) A6 - Security Misconfiguration

- 취약한 기본설정, 임시설정 등 잘못 구성된 HTTP 헤더 및 민감한 정보가 포함된 정확한 에러 메시지 제공

- 모든 운영체제, 프레임워크, 라이브러리와 애플리케이션을 안전하게 설정하고 패치를 진행해야 함

7) A7 - Cross-Site Scripting

- 애플리케이션에 적절한 유효성 검사를 하지 않거나 Escape 처리 없이 신뢰할 수 없는 데이터를 포함

- 공격자는 피해자의 웹브라우저에서 세션을 도용하거나 웹 사이트를 변조하여 악성 사이트로 리다이렉션 할 수 있음

8) A8 - Insecure Deserialization

- 안전하지 않은 역직렬화는 원격 코드를 실행할 수 있음

- 원격 코드를 실행하지 못하더라도 권한 상승 공격, Injection 공격 등 다양한 공격 수행이 가능

9) A9 - Using Components with Known Vulnerabilites

- Library, Framework, Software module 같은 컴포넌트는 애플리케이션과 같은 권한으로 실행

- 취약한 컴포넌트가 악용된 경우, 심각한 데이터 손실 발생이나 서버 장악이 가능

- 알려진 취약점이 있는 컴포넌트를 사용한 애플리케이션, API는 보안을 악화시키거나 공격에 영향을 줌

10) A10 - Insufficient Logging & Monitering

- 불충분한 로깅, 모니터링은 공격자가 시스템을 더 공격하고 지속하며 더 많은 시스템을 중심으로 공격할 수 있도록 함

출처: https://www.law.go.kr/행정규칙/주요정보통신기반시설취약점분석·평가기준


2. 소프트웨어 개발 보안

안전한 소프트웨어 개발을 위해 소스코드 등에 존재할 수 있는 잠재적인 보안 약점을 제거하고 보안을 고려한 기능 설계, 구현 등 SDLC 전반에서 수행하는 일련의 보안 활동을 말한다.

(기존 구현 중심의 활동에서 분석/설계 단계부터 보안을 강화하는 것으로 변경됨)

 

1) SDLC 단계별 소프트웨어 개발 보안 활동 (SDLC: Software Development Life Cycle)

① 요구사항 분석 ② 설계 단계 ③ 구현 단계
보안 항목 요구사항 식별
- 암호화해야 할 중요 정보
- 중요 기능에 대한 분류

보안 구 항목 20개 목록화
- 내부 54개로 세분화
위협원 도출
- 위협 모델링: 보안 전문가, 개발 전문가 필요
- MS 등에서 전문 방법론 제공
- 분석/설계 20개, 구현 54개의 위협원이 반영될 수 있게 설계
표준 코딩, SW 개발 보안 가이드 준수
-구현 단계에서 준수할 수 있도록 설계단계에서 가이드

개발 가이드 제공
- 개발 보안 가이드를 래퍼런스로 하여 개발 환경에 적합하도록 구축

소스코드 보안 약점 진단 (도구 활용)

2) Secure SDLC

방법론 내용
CLASP - OWASP의 보안 약점을 고려한 개발 보안 방법론
- 개념, 역할 활동을 정의한 모델
MS-SDL - PreSDL 단계에서 위협 분석을 수행하고 SDLC 단계에서 보안을 고려한 모델링 수행
- Microsoft의 자동화 진단 도구 활용
7-Touch Point - 위협 분석, 코드 리뷰, 자동화 진단 등의 활동 정의

 

Cf) 포맷 스트링 (Format String)

- 데이터에 대한 포맷 스트링을 정확하게 정의하지 않아서 발생되는 취약점

- 포맷 스트링 문자를 사용한 메모리 열람, 변조, Shell Code 삽입 등 보안 취약점 발생

ex) C 언어에서 문자열에 '%X'를 입력하면 문자열의 메모리 주소를 알 수 있음


3. SSO(Single Sign On)

다수의 서비스를 한번의 login으로 기업의 업무 시스템이나 인터넷 서비스에 접속할 수 있게 해주는 보안 시스템이다.

중앙집중형 접근 관리, 보안 기능 PKI(Public Key Infrastructure), 암호화 기능 등이 있다.

 

- 장점: ID/PW 개별 관리의 위험성 해소, 사용자 편의성 증가

- 단점: 구축 비용이 비싸고 시스템 복잡도 증가

 

Cf) SSO 종류

종류 상세 내용
Delegation 방식 - 대상 애플리케이션의 인증 방식을 변경하기 어려울 때 많이 사용
- 대상 애플리케이션의 인증 방식을 변경하지 않고, 사용자의 인증 정보를 SSO 에이전트가 관리하며 로그인 대신 수행
Propagation 방식 - SSO에서 인증을 받아 대상 애플리케이션으로 전달할 토큰을 발급
- 애플리케이션에 사용자가 접근할 때 토큰을 자동으로 전달해 사용자를 확인할 수 있도록 하는 방식
Delegation & Propagation 방식 - 애플리케이션의 특성들이 다양한 경우, 각 애플리케이션에 두가지 방식을 혼용해서 전체 시스템의 SSO를 구성
Web 기반 One Cookie Domain SSO - SSO 서비스와 애플리케이션들이 하나의 Cookie Domain 안에 존재할 경우 사용
- 통합 인증을 받은 사용자는 토큰을 발급받고, 이 토큰은 Cookie Domain에 Cookie로 설정되어 Cookie Domain 내 다른 서비스로 접근할 때 자동으로 토큰 제공
- 서비스에서 동작하는 SSO 에이전트는 토큰으로부터 사용자 신원확인

출처: IT위키


4. DRM(Digital Rights Management)

디지털 컨텐츠를 안전하게 보호할 목적으로 암호화 기술을 이용하여 허가되지 않은 사용자로부터 컨텐츠 저작권 관련 당사자의 권리 및 이익을 지속적으로 보호, 관리하는 시스템이다.

저작자 및 유통업자의 의도에 따라 디지털 컨텐츠가 안전하고 편리하게 유통될 수 있도록 제공되는 모든 기술과 서비스 절차 등을 포함하는 개념이다.

 

Cf) DRM 요소 기술

- 암호화: 대칭키, 비대칭키 암호화 기술

- 인증: 정당한 사용자 식별을 위한 인증

- Watermarking: 원저작권 정보 삽입 및 식별 수행

- 사용자 Repository: 정당한 사용자 및 라이선스 정보 저장

- 사용자 권한 관리: 열람 및 배포에 대한 권리, 편집, 복사, 다운로드 등의 권한 관리

- Temper Proofing: 불법 수정 여부 검증, Cracking 방지


5. Watermarking

디지털 정보에 사람이 인지할 수 없는 마크를 삽입하여 디지털 컨텐츠에 대한 소유권을 추적할 수 있는 기술이다. (저작권자에 대한 정보를 은닉함으로써 저작권자를 확인시켜주고 불법 복제, 유통여부를 확인하는 기술)

'정보은닉기술'로 오디오, 비디오 이미지 등의 디지털 데이터에 삽입되는 또 다른 디지털 데이터로 Steganography 기법 중 하나이다.

* Steganography 기법: 데이터 은폐 기술 중 하나이며, 데이터를 다른 데이터에 삽입하는 기술 

 

Cf) Watermarking 공격 기법

- Filtering Attack: 워터마크를 노이즈로 보고 노이즈 제거 방법을 활용

- Copy Attack: 임의의 신호를 추가하여 워터마크를 사용하지 못하게 함

- Mosaic Attack: 워터마크가 검출되지 않도록 작은 조각으로 분해하여 다시 합침

- Template Attack: 워터마크의 패턴을 파괴하여 검출되지 않도록 함

 

Cf) Fingerprint

- 워터마킹 기법 중 하나로, 디지털 컨텐츠에 원저작자 정보와 함께 디지털 컨텐츠 구매자 정보도 삽입

- 디지털 컨텐츠가 불법으로 유통될 때 유통시킨 구매자를 확인할 수 있는 디지털 컨텐츠 추적 기술

- 원저작자 정보와 구매자 정보를 같이 삽입하기 때문에 Dual Watermarking 라고도 함


6. Digital Forensic

디지털 기기를 대상으로 발생하는 특정 행위의 사실관계를 법정에서 증명하기 위한 방법 및 절차로, 과학수사 및 수사과학 분야에서 디지털기기를 대상으로 하는 기술이다.

 

- 디지털 증거 휘발성

용어 내용
디지털 증거 - 디지털 저장매체에 저장되거나 네트워크를 통해 전송중인 자료
- 조사 및 수사 업무에 필요한 증거자료를 말함
디지털 증거분석 - 디지털 저장매체에 남아있는 자료에 대한 원본 보존과 사건 관련 증거를 과학적인 절차를 통해 추출, 검증, 판단하는 조사 및 수사과정
휘발성 증거 - 컴퓨터 실행 시 일시적으로 메모리 또는 임시파일에 저장되는 증거
- 네트워크 접속 상태, 프로세스 구동 상태, 사용중인 파일 내역 등 컴퓨터 종료와 함께 삭제되는 증거
비휘발성 증거 - 컴퓨터 종료 시에도 삭제되지 않고 남아있는 디지털 증거

- 디지털 포렌식 원칙

기본 원칙 내용
정당성 원칙 - 증거가 적법절차에 의해 수집되었는가?
- 위법수집 증거 배제법칙: 위법절차를 통해 수집된 증거는 증거 능력이 없음
- 독수 독과 이론: 위법하게 수집된 증거에서 얻어진 2차 증거도 증거 능력이 없음
재현 원칙 - 같은 조건과 상황 하에서 항상 같은 결과가 나오는지?
- 불법 해킹 용의자의 해킹 Tool이 증거능력을 가지기 위해서는 같은 상황의 피해 시스템에 툴을 적용할 경우 피해결과와 일치하는 결과가 나와야 함
신속성 원칙 - 디지털 포렌식의 전 과정이 신속하게 진행되었는가?
- 휘발성 데이터의 특성 상 수사 진행의 신속성에 따라 증거수집 가능 여부가 달라짐
절차 연속성 원칙 - 증거물 수집, 이동, 보관, 분석, 법정제출의 각 단계에서 담당자 및 책임자가 명확해야 함
- 수집된 저장매체가 이동단계에서 물리적 손상이 발생하였다면, 이동 담당자는 이를 확인하고 해당 내용을 정확히 인수인계하여 이후의 단계에서 적절한 조치가 취해지도록 해야함
무결성 원칙 - 수집된 증거가 위변조되지 않았는가?
- 일반적으로 해시 값을 이용하여 수집 당시 저장매체의 해시 값과 법정 제출 시 저장매체의 해시 값을 비교하여 무결성을 입증해야 함

 

Cf) 휘발성 데이터 수집 우선순위

- Register 및 Cache 정보

- Routing Table, ARP Cache, Process Table, Kernal Statistics

- Memory

- Temporary File Systems

- Disk

- Remote Logging, Monitoring Data

- Physical Configuration, Network Topology

- Archival media

 

Cf) 비휘발성 데이터 수집 우선순위

- Registry, 시간정보, Cache, Cookie, History, E-Mail

- 암호화된 파일, 윈도우 로그 등

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

반응형
반응형

1. 전자화폐

디지털 서명이 있는 금액 가치 정보로, 전자기호 형태로 화폐적 가치를 저장하여 상품 등 구매에 사용할 수 있는 전자적 지급 수단이다.

 

Cf) 전자화폐 요구 조건

- 불추적성, 가치이전성(양도성), 분할성, 독립성(완전 정보화), 이중사용 방지, 익명성 취소


2. SET (Secure Electronic Transaction)

VISA와 MASTER CARD사에서 공동으로 개발된 프로토콜로, 전자 서명과 인증서를 통한 안전한 거래가 가능하다. (SSL에 비해 상대적으로 느리다.)

 

Cf) SET 이중서명(Dual Signature)

- 사용자는 판매자에게 지불 정보(계좌 정보)를 숨기고 싶음

- 사용자는 PG(Payment Gateway)에게 주문 정보를 숨기고 싶음

- PG는 판매자가 전송한 결제 요청이 실제 고객이 의뢰한 정보인지 확인하고 싶음

 

Cf) SET 장점과 단점

장점 단점
- 전자상거래의 사기 방지
- 기존의 신용카드 기반을 그대로 사용
- 암호 프로토콜이 너무 복잡함
- RSA 속도 저하, 카드 소지자에게 전자지갑 S/W 요구

3. SSL(Secures Socket Layer)

개인 정보를 전송하는 네트워크 구간은 Sniffer 등으로부터 보호하기위해 보안 서버를 사용해서 송/수신되는 데이터를 암호화하는 것이 안전하다.

암호문 전송을 위해 RSA 공개키 알고리즘을 사용하며, X.509 인증서 지원, 443 포트 사용, Transport ~ Application Layer에서 동작한다.

 

1) SSL 보안 서비스

보안 서비스 세부 내용
인증(Authentication) - 거래하고자하는 사이트가 검증된 사이트인지 개인정보를 송신하기 전에 사이트를 인증
무결성(Integrity) - 송신자에서 상대편까지 송신 중 공격자나 제 3자에 의해 데이터가 위/변조되는 것을 방지
기밀성(Confidentiality) - 여러가지 암호화 방식을 사용하여 데이터의 송/수신 중 불법적인 접근을 통제
- 데이터가 공격에 의해 유출되더라도 쉽게 읽힐 수 없는 형태로 변환

 

2) SSL Handshaking

TCP 연결 후 웹 브라우저는 443 포트를 호출하여 3-way handshaking을 수행하며, 그 과정은 아래와 같다.

 

a. Client -> Server

- 'Client Hello' 메시지를 전송하는데, 웹 브라우저에서 지원하는 SSL 버전, 암호화 알고리즘 등의 정보가 포함됨

- 'Random'을 전송하는데, 이는 Replay Attack을 방지하기 위한 임의적인 숫자임

 

b. Server -> Client

- 서버가 지원할 수 있는 알고리즘과 함께 'Server Hello' 메시지를 전송

- 웹 서버도 'Random'을 전송

 

c. Client -> 공인 또는 사설 CA

- 전달받은 서버 인증서를 CA를 통해 신뢰할 수 있는 서버인지 확인

* 공인 CA 인증서: 인증서의 공개키로 복호화

* 사설 CA 인증서: 브라우저에 저장된 CA 리스트에 없기 때문에 https 경고 표시

 

d. Client -> Server

- 암호 통신에 사용할 Session Key 생성 후 서버의 공개키로 암호화해 Pre-master Key를 만들어 서버에 전송 (Change Cipher Spec)

- 서버에게 협의 종료를 전달 (Finished)

 

e. Server -> Client

- Client의 응답에 동의하고 협의된 알고리즘의 적용을 알림 (Change Cipher Spec)

- 클라이언트에게 협의 종료를 전달 (Finished)

SSL Handshaking 과정 (https://teacheryoon.tistory.com/5)

 

3) OpenSSL 사용

SSL을 사용하여 보안 서버를 구축하기 위해서는 웹 서버에 OpenSSL 패키지를 설치하고 개인키와 인증서 등을 생성해야 한다.

 

Cf) OpenSSL 보안 취약점 (HeartBleed 취약점)

- OpenSSL 암호화 라이브러리의 Heartbeat라는 확장 모듈에서 발생

- 웹 브라우저가 Request 했을 때, 데이터 길이를 검증하지 않아 메모리에 저장되어 있는 평문의 64KByte가 노툴되는 현상


4. IPSEC (IP Security)

인터넷 상에서 전용 회선처럼 이용 가능한 가상의 전용 회선을 구축하여 데이터를 도청당하는 등의 행위를 방지하기 위한 통신 규약으로, 전송 방법으로는 터널 모드와 전송 모드가 있다.

종류 설명
전송 모드 - 출발지에서 암호화를 하고 목적지에서 복호화가 이루어지므로 End-to-End 보안을 제공
터널 모드 - VPN과 같은 구성으로, 일반 패킷이 보내지면 중간에서 IPSec을 탑재한 중계 장비가 패킷 전체를 암호화하고 중계 장비의 IP 주소를 붙여 전송

https://teacheryoon.tistory.com/5

Cf) IPSEC Header 구조

종류 설명
AH - 데이터 무결성과 IP 패킷의 인증을 제공 (MAC 기반)
- Replay Attack으로부터 보호
- 인증 시 MD5, SHA-1 인증 알고리즘 사용
- 수신자는 같은 키를 이용하여 인증 값 검증
ESP - 전송 자료를 암호화하여 전송하고, 수신자가 받은 자료를 복호화하여 수신
- AH와 달리 암호화를 제공(대칭키, DES, 3DES 알고리즘)
- TCP/UDP 등의 Transport Layer까지 암호화할 경우, Transport Mode
- 전체 IP 패킷에 대해 암호화할 경우, Tunnel Mode

5. OTP (One Time Password)

매번 다른 난수를 생성하여 인증 시 패스워드를 대신하는 방법으로, 높은 보안수준을 가진 사용자 동적 비밀번호이며 사용된 비밀번호는 일회용으로서 다시 생성되지 않는다.

 

1) 동기화 방식

OTP 생성기와 은행의 OTP 인증서버 사이에 동기화된 기준값에 따라 OTP가 생성되는 방식으로, 동기화된 기준값에 따라 시간 동기화 방식과 이벤트 동기화 방식으로 분류된다.

 

[시간 동기화 방식]

- OTP 생성 매체가 매시간 비밀번호를 자동으로 생성

- 시간을 기준값으로 하여 OTP 생성 매체와 OTP 인증서버가 동기화

- 간편한 장점이 있지만 일정 시간 은행에 OTP를 전송하지 못하면 다시 새로운 OTP가 생성될때까지 기다려야 함

[이벤트 동기화 방식]

- OTP 생성 매체와 인증서버의 동기화된 인증 횟수를 기준값으로 생성

- OTP 생성 매체에서 생성된 비밀번호 횟수와 인증서버가 생성한 횟수가 자동으로 동기화되기 때문에 시간 동기화의 불편성을 완화

 

2) 비동기 방식 : 질의응답(Challenge-Response)

- 사용자의 OTP 생성 매체와 은행의 OTP 인증서버 사이에 동기화되는 기준값이 없음

- 사용자가 직접 임의의 난수를 OTP 생성 매체에 입력하여 OTP를 생성하는 방식

- 사용자가 인증서버로부터 받은 질의 값을 OTP 생성 매체에 직접 입력하면 응답값이 생성된다.

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

반응형
반응형

1. FTP(File Transfer Protocol)

인터넷에 연결된 시스템 간 파일을 전송하는 통신 프로토콜의 하나로, FTP 명령을 FTP 서버에 전송하기 위한 명령포트(21번 고정)와 실제 파일을 업로드 하거나 다운로드 하기 위한 데이터 포트를 사용한다.

 

1) FTP Active Mode와 Passive Mode

- 명령 포트는 고정되어 있지만, 데이터 포트는 전송 모드에 따라 변함

- Active Mode: 20번, Passive Mode: FTP 서버가 결정

- FTP 클라이언트의 데이터 포트는 클라이언트가 결정

출처: https://slideplayer.com/slide/5933080/

전송 방식 내용
Active Mode - FTP Client에서 FTP Server 21번 포트로 접속
- FTP Client는 FTP Server 20번 포트로 데이터 전송
Passive Mode - FTP Client에서 FTP Server 21번 포트로 접속
- FTP Server가 FTP Client로 데이터 송수신을 위해 1024~65535 범위의 Random 포트 선택
- FTP Client에서 데이터 송수신을 위해서 Random 포트 사용

 

Cf) FTP 서비스 로그 기록

- FTP 서비스의 로그파일에는 xferlog 파일이 있으며, FTP 서비스 기동 시 '-l' 옵션을 부여하면 xferlog 파일을 기록

출처: https://itwiki.kr/w/%EB%A6%AC%EB%88%85%EC%8A%A4_xferlog

항목 설명
Thu May 17 11:54:41 2018 전송 날짜와 시간
6 전송 시간 (전송에 걸린 소요 시간, 초 단위)
file.test.kr 원격 호스트 주소
1234567 전송된 파일의 크기 (바이트 단위)
/home/user/test1.mp3 전송 된 파일의 전체 경로
b 전송 파일 유형으로, a=ascii(문자, 텍스트), b=binary(파일)
_ 액션 플래그 (어떤 동ㅈㄱ을 수행했는지 나타내는 플래그)
_ : 행위가 일어나지 않음, C : 파일이 압축된 경우, U : 파일이 압축되지 않은 경우, T : tar로 묶여있음
i 전송 방향으로, i=inbound, o=outbound, d=delete
r 액세스 모드로, 사용자가 접근한 방식이나 형태를 나타냄
r=시스템 사용자 계정, a=익명사용자, g=비밀번호가 있는 게스트 계정
itwiki 로그인한 사용자명
ftp 호출된 서비스를 나타냄
0 사용자의 인증 방법으로, 0은 없음을 나타내고 1은 RFC 931
* 인증 사용자 ID로, 인증 메소드가 되돌려주는 사용자 ID를 뜻함
*은 인증된 사용자 ID를 사용할 수 없는 경우를 나타냄
c 전송의 완료 상태를 나타내며, c=전송 완료, =전송 실패

 

2) FTP 보안 취약점

취약점 내용
Bounce Attack - 익명 FTP 서버를 이용하여 공격 대상의 포트를 스캐닝하는 공격 기법
- FTP 서버의 전송 목적지 주소를 임의로 지정하여, 임의의 목적지로 메시지나 자료를 전송
- FTP Bounce Attack을 통해 전자메일을 보내는 공격을 Fake Mail이라고 함
tFTP Attack - 인증 절차를 요구하지 않기 때문에 접근 제어가 되어있지 않으면 누구나 임의로 접근, 다운로드 가능
Anonymous FTP Attack - 보안 절차를 거치지 않은 익명의 사용자에게 FTP 서버 접근 허용
- 익명 사용자가 서버에 쓰기 권한이 있을 때 악성코드 생성 가능
FTP 서버 취약점 - wuftp 포맷 스트링 취약점 및 각종 Buffer Overflow Attack
Sniffing - ID 및 Password 입력 후 접속 시도 시 암호화가 이뤄지지 않음
Brute Force Attack - 무작위 대입법 사용

2. E-mail 보안

E-mail 전송 방법에는 SMTP, POP3, IMAP, IMAP4 등이 있으며, E-mail 보안 기법으로는 PGP, PEM, S/MIME이 있다.

1) PGP(Pretty Good Privacy)

- MIME(Multipurpose Internet Mail Extension) 객체에 암호화와 전자서명 기능을 추가한 암호화 프로토콜

* MIME: 전자우편을 위한 인터넷 표준 포맷 (출처:위키백과)

- 네트워크를 통해 주고받는 메시지에 대해 송수신자에게 보안 서비스를 제공하고 평문 메시지를 암호화

- 메시지 암호화, 서명, 압축, 분할, 전자 우편 호환성의 5가지 기능을 제공

 

Cf) PGP 특징

PGP 서비스 상세 내용
전자 서명 DSS/SHA 또는 RSA/SHA로 전자 서명이 가능
메시지 암호화 CAST-128, IDEA, 3DES로 메시지 암호화
1회용 세션키 생성 Diffie-Hellman 혹은 RSA로 키 분배
이메일 호환 RADIX-64로 바이너리를 ACS Code로 변환
세그먼테이션 메시지 최대 사이즈를 제한

2) PEM(Privacy Enhanced Mail)

- 인터넷에서 사용되는 이메일 보안 시스템의 하나로, 중앙집중화된 키 인증 방식으로 구현이 어렵고 높은 보안성을 제공 (군사, 은행 사용)

 

3) S/MIME(Secure MIME)

- 표준 보안 메일 규약으로, 송신자와 수신자를 인증, 메시지 무결성 증명, 첨부파일 보안

- 메시지 내용의 Privacy를 보증하는 표준 보안 메일 프로토콜로서 메일 전체를 암호화 (RSA 암호 사용)

- CA(인증기관)로부터 자신의 공개키를 보증하는 인증서를 받아야 함


3. Spam Mail 차단

스팸메일 차단 시스템은 광고성 메일 및 음란 메일과 같은 유해한 메일을 발송하는 IP를 차단하는 RBL과 SPF 방식이 있다.

 

1) RBL(Real time Blocking List)

- 이메일 수신 시 간편하게 스팸 여부를 확인하여 차단하는 것

- KISA의 RBL 서버에 특정 IP를 등록하고 차단

RBL 흐름도 (출처: KISA-RBL)

 

2) SPF(Sender Policy Framework)

SPF 흐름도 (출처: KISA-불법스팸대응센터)

 

3) SpamAssassin

- 점수를 이용하여 스팸 여부를 판단하는 방법으로 90% 이상의 높은 차단율을 보이며, Perl로 개발됨

- Rule 기반 하에 Header와 Body를 분석하여 실시간 차단 리스트(RBL)를 참고하여 각각의 Rule에 매칭될 경우 점수를 매기고 총 점수가 기준점을 초과하는지 여부에 따라 스팸 여부 결정


4. 웹 로그 분석

웹 서버를 관리하기 위해 시스템의 로그 정보를 파악하여 웹 서버의 에러로그, 접속로그, 에이전트로그, 참조로그의 정보를 확인할 수 있다.

웹 서버의 로그는 access.log에 기록되며, 에러로그는 ServerRoot/logs/error_log에 기록되며, access.log 파일을 분석하면 웹 서버를 대상으로 언제 어떤 IP에서 공격을 시도했는지 알 수 있다.

 

Cf) HTTP 상태 코드

출처: 위키백과
출처: https://kimhyun2017.tistory.com/206


5. 웹 방화벽(Web Firewall)

홈페이지 자체 및 웹 프로토콜을 기반으로 하는 모든 서비스와 애플리케이션 데이터 기반 정보 시스템에 보안 서비스를 제공한다.

웹 애플리케이션 취약점을 이용한 공격에 대응하며, 내부의 중요 데이터 유출을 방지한다.

1) 웹 방화벽 종류

종류 내용
네트워크 기반 방화벽 - 방화벽이나 IDS 시스템과 유사하게 네트워크 구간에 인라인 Transparent 및 Proxy 방식으로 구성
- 웹 트래픽에 대한 분석 및 차단 기능
호스트 기반 방화벽 - 웹 서버 에이전트의 해킹 시도 및 이상 징후를 탐지하고 보안 정책을 실행
Proxy Method - 웹 서버 앞 단에서 클라이언트 요청을 받아 필터링 처리 후 웹 서버와 재접속하는 방식
Filtering Module Method - 웹 방화벽이 웹 서버의 플러그인 모듈처럼 동작하는 방식
- 보안 모듈에 필터링 처리된 후 정상 트래픽만 클라이언트에 응답 (웹 서버는 대기 상태)

2) 웹 방화벽 주요 기능

주요 기능 내용
웹 공격 방지 - 논리적 공격, Client Side 공격, 명령어 실행, 정보 유출 등의 공격에 보안 및 차단
Positive Security Model 지원 - 강제 접근 및 알려지지 않은 공격 차단
SSL 지원 - SSL 트래픽에 복호화 지원
애플리케이션 구조 변화에 대응 - 서비스 지속성 보장

Cf) Watering Hole 공격

- 공격 대상이 방문할 가능성이 있는 웹사이트를 감염시킨 뒤 피해자가 접속하면 감염시키는 공격

- Wateing Hole 공격을 통해 보안이 강력한 공격 대상 기업의 멤버를 감염시키고, 매개체로 이용할 수 있음


6. DNS(Domain Name Service) 보안

DNS는 URL 주소에 대한 IP 주소를 알려주는 서비스를 말한다.

 

1) dnsspoof

- DNS Spoofing을 할 수 있는 공격도구로, 지정된 DNS 파일을 참조해서 DNS를 수행하게 함

- 특히 53번 포트로 전송되는 UDP 데이터를 모니터링 하고 있다가 지정된 URL에 대해 요청이 오면 특정 IP로 응답

 

2) DNSSEC

- DNS 캐시 포이즈닝과 DNS의 보안 취약점을 보완하기 위해 등장한 기술

- DNS 응답 정보에 전자서명 값을 첨부하여 보내고 수신측이 해당 서명 값을 검증하므로 DNS 위변조 방지

출처: KISA

3) DNS Cache Poisoning Server Attack

- DNS Cache에 잘못된 정보를 저장하여 조작된 정보를 반환하고, 사용자가 의도하지 않은 사이트로 접속하도록 하는 공격 기법

- 공격자는 DNS Name Server를 가장하여 DNS Server에게 요청을 보낸 뒤, DNS Server가 쿼리 시 응답을 위조하여 DNS Cache를 감염

출처: https://www.cloudflare.com/ko-kr/

 

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

 

반응형
반응형

1. 침입 차단 시스템(Firewall)

가장 기본적인 네트워크 보안 장비로, 접근 통제(Access Control List)를  적용하여 시스템에 접근이 허용된 사용자, IP, Port를 결정한다. 반대로 접근 못하는 Black List IP를 등록하고 차단할 수 있다.


2. 침입 탐지 시스템(Intrusion Detection System)

침입 패턴 정보를 데이터베이스에 저장하고 지능형 엔진을 사용하여 네트워크나 시스템의 침입을 실시간으로 모니터링 할 수 있고 침입탐지 여부를 확인하는 보안 시스템이다.

 

1) 개요

- 침입 탐지 방법

구분 오용탐지(Misuse) 비정상탐지(Anomaly)
동작 방식 - 시그니처 기반, 지식 기반 - 프로파일(Profile) 기반, 행동 기반, 통계 기반
침입 판단 방법 - 침입 패턴 정보를 데이터베이스화
- 이미 정립된 공격 패턴을 미리 입력하고 매칭
- 정상 패턴을 저장하고 정상과 다른 활동을 식별
사용 기술 - 패턴 비교, 전문가 시스템 - 신경망, 통계적 방법, 특징 추출
장점 - 빠른 속도, 구현 쉬움, 이해 쉬움
- 낮은 False Positive(오탐율)
- Zero Day Attack 대응 가능
- 사용자가 미리 공격 패턴을 정의할 필요 없음
단점 - 큰 False Negative(미탐율)
- 알려지지 않은 공격 탐지 불가
- 대량의 자료 분석에 부적합
- 임계치 설정이 어려움
- False Positive가 큼
- 구현 어려움

- 침입 탐지 시스템 분류

구분 NIDS(Network based IDS) HIDS(Host based IDS)
동작 - 네트워크에 흐르는 패킷 검사, 침입 판단 - 시스템상에 설치, 사용자가 시스템에서 행하는 행위, 파일의 체크를 통해 침입 판단
- 주로 웹 서버, DB 서버 등 중요 서버에 배치
자료원 - Promiscuous 모드로 동작하는 네트워크 카드나 스위치 - 시스템 로그, 시스템 콜, 이벤트 로그
탐지 가능 공격 - 스캐닝, DoS, 해킹 - 내부자에 의한 공격, 바이러스, 웜, 트로이목마, 백도어
장점 - 네트워크 자원 손실 및 패킷 변조 없음
- 거의 실시간으로 탐지 가능
- 감시 영역이 하나의 네트워크 서브넷으로, HIDS보다 큼
- 침입의 성공 여부 식별 가능
- 실체 해킹 및 해킹시도 판단이 용이
- 주로 S/W적으로 서버와 같은 시스템에 인스톨되어 설치, 관리가 간단
단점 - 부가 장비가 필요함 (스위치 등)
- 암호화된 패킷은 분석 불가
- False Positive 높음
- 오탐으로 인한 정상 세션 종료
- DoS는 대응 불가 (탐지만 가능)
- 감시 영역이 하나의 시스템으로 한정
- 탐지 가능한 공격에 한계가 있음
- 오탐으로 인해 정상 사용자가 자신의 계정 사용 불가

Cf) False Positive, False Negative

- False Positive: false(+)로 표현, 공격이 아닌데 공격이라 오판하는 것

- False Negative: false(-)로 표현, 공격인데도 공격이 아니라 오판하는 것

 

2) Snort

Snort는 패킷을 스니핑해서 지정한 Rule과 동일한 패킷을 탐지하는 침입 탐지 시스템이다.

 

[Snort Rule]

- 공격자의 공격을 탐지하기 위해 등록된 규칙(패턴)

- 수신되는 패킷은 Rule과 비교해서 탐지 여부를 결정

- Rule Header와 Rule Option으로 구성

- Rule Header는 Action Protocol, IP, Port 등으로 구성되며 Rule Option은 탐지할 조건으로 구성

Snort Signature 구조

- action(처리 방법)

종류 내용
alert alert을 발생시키고 탐지 정보를 로그 파일에 기록
log 패킷에 대해 로그 기록
pass 패킷 무시
dynamic active 시그니처가 있어야만 동작하며, 유효한 경우 한쪽의 패킷을 기록

- Protocol: TCP, UDP, IP, ICMP의 프로토콜을 설정하면 해당 프로토콜을 탐지

- Direction: 패킷의 방향을 의미하며, "->"으로 설정하면 왼쪽은 송신자, 오른쪽은 수신자 정보가 됨

* 송신자와 수신자 구분없이 전송되는 모든 패킷을 탐지하려면 "<>"로설정

- Rule Option: 세부적인 탐지 조건을 설정하는 부분으로, 여러개 설정할 때는 ';'을 넣어서 조건을 구분

Rule Option 내용
msg - alert 발생 시 msg가 설정된 문장을 로그 파일에 기록
sid - 시그니처 아이디 지정 (0~99는 예약, 100~1,000,000은 공식 배포 Rule)
dsize - Buffer Overflow 탐지 시 자주 사용
- 전송되는 패킷의 사이즈를 식별할 수 있어서 dsize보다 큰 값과 작은 값에 대한 설정 가능
- dsize:100<>500 -> 100~500 byte의 패킷 탐지
nocase - 패턴을 매칭할 때 대문자와 소문자를 구분하지 않음
content - 전송하는 payload를 검색해서 지정한 문자열이 있는지 확인하는 옵션
flags - TCP 프로토콜에서 Control Flags를 지정하는 것으로 SYN, FIN, URG, ACK 등 지정
- SYN flag는 flags: S, SYN과 FIN을 모두 지정하려면 flags: SF
flow - TCP를 재조립하여 동작하는 것으로 TCP 연결이 확립된 세션을 탐지하기 위해 established를 지정
- to_server, to_client, from_server, from_client를 사용해 전송되는 곳을 지정
- TCP로 연결되어 서버로 전송되는 패킷을 지정하려면 flow: to_server, established
itype / icode - 네트워크의 오류를 감시하고 보고하는 ICMP 프로토콜을 탐지
- Type 값이 0이면 ICMP Echo Reply, 8이면 ICMP Echo Request
- 즉, ICMP Echo Reply를 탐지하려면 itype:0
sameip - 송신자와 수신자의 IP가 동일한 것을 탐지 (ex. Land Attack 탐지)
- alert ip any any -> 201.201.201.0/24 any (msg:"Land Attack";sameip;)
session - 세션 정보를 로그에 기록하는 시그니처를 확인하려면, 로그 기록을 위해 action을 log로 지정
- 예를들어 POP3 프로토콜을 탐지하려면 아래와 같이 지정
log any any -> any 110 (session: printable;)
threshold - 동일한 특정 패킷에 대해 설정 시간 내 일정 수가 발생하면 탐지
- Brute Force Attack 탐지 가능
- threshold: type [limit, threshold, both], track[by_src, by_dst], count[횟수], seconds[몇 초]
- ex. ICMP 패킷이 20초 동안 5번 발생하면 경고 메시지 기록
alert icmp any any -> any any (msg:"ICMP";threshold: type both, track by_src, count 5, seconds 20; sid:10000054;)

3. 침입 대응 시스템(Intrusion Prevention System)

공격 시그니처를 찾아내 네트워크에 연결된 기기에서 비정상적인 활동이 이루어지는지 감시하여 자동으로 해결 조치하는 보안 솔루션이다.

Real Time 대응이 가능하며, 침입 경고 이전에 공격을 중단시키는 것이 주요 목적이다.

 

Cf) 침입 대응 시스템 종류

구분 설명
NIPS(Network IPS) 공격 탐지에 기초하여 트래픽 통관 여부를 결정하는 인라인 장치
HIPS(Host IPS) 호스트 OS 위에서 수행, 공격 탐지 후 실행 전에 공격 프로세스 차단 가능

4. 허니팟(Honeypot)

해커의 행동, 공격 기법 등을 분석하기위해 의도적으로 설치해 둔 시스템으로, Zero Day Attack을 탐지하기 위한 수단이 된다.

 

Cf) 허니팟 위치

구분 설명
방화벽 앞 IDS처럼 Honeypot 공격으로 인한 내부 네트워크 위험도 증가는 없음
방화벽 내부 효율성이 높아 내부 네트워크에 대한 위험도가 커짐
DMZ 내부 가장 적당한 위치지만 설치시간 소요되고 관리가 불편하며 다른 서버와의 연결은 반드시 막아야 함

 

Cf) 허니팟 구축 시 고려사항

- 해커에 쉽게 노출되어 해킹 가능한 것처럼 취약해보여야 함

- 시스템의 모든 구성 요소를 갖추고 있어야 함

- 시스템을 통과하는 모든 패킷을 감시하고, 시스템 접속자에 대해 관리자에게 알려야 함


5. 가상 사설망(Virtual Private Network)

공중망(인터넷)을 이용하여 사설망과 같은 효과를 얻기 위한 컴퓨터 시스템과 프로토콜의 집합으로, 인터넷을 사용해서 기업의 시스템에 접근할 수 있는 안전한 네트워크 경로를 제공하는 기술이다.

네트워크로 송신되는 데이터는 데이터는 스니핑 공격에 취약할 수밖에 없지만, 터널링을 통해 VPN Client <> Server 간 암호화 키 교환 과정을 수행 후에 암호화를 사용해서 메시지를 주고받기 때문에 안전한 통신을 지원한다.

 

1) SSL VPN(Secured Socket Layer VPN)

- SSL VPN의 가장 큰 특징은 웹브라우저만 있으면 언제 어디서나 사용이 가능하다는 것

- VPN 터널링을 수행 시, SSL로 암호화를 수행 (세션 기반 프로토콜)

- 웹브라우저와 웹 서버 간 SSL 협상과정을 한 후에 세션키를 생성하고 세션키로 암호화하여 터널링 구현

참고: SSL VPN 통신과정
https://teacheryoon.tistory.com/7?category=929564
 

네트워크 - VPN

VPN(Virtual Private Network) Tunneling 기법을 사용해, 두 네트워크 사이의 연결을 전용회선을 이용해 연결한 것과 같은 효과를 내는 기술이다. 쉽게 말해서, 이름 그대로 '가상으로 사설망을 만들어 사용

teacheryoon.tistory.com

 

2) IPSEC VPN(IP Security VPN)

- 인터넷 상에서 전용 회선처럼 가상의 회선을 구축하여 데이터를 도청당하는 등의 행위를 방지하기 위한 통신 규약

- IPSEC의 전송 모드는 데이터에 대해 암호화를 수행하지만, IP 헤더에 대해서는 암호화를 수행하지 않음

- IPSEC의 터널 모드는 보안 IPSEC 헤더를 추가하고 IP 헤더와 데이터 모두를 암호화

https://teacheryoon.tistory.com/5

 

3) PPTP VPN (Point-to-Point Tunneling Protocol VPN)

- PPP(Point-to-Point Protocol)의 Packet을 IP Packet으로 Encapsulation하여 IP 네트워크에 전송하기 위한 터널링 기법으로 2계층에서 동작

 

4) L2TP VPN (Layer 2 Tunneling Protocol VPN)

- L2F 프로토콜과 PPTP 프로토콜과의 호환성을 고려하여 만들어진 터널링 프로토콜로 2계층에서 동작


6. NAC (Network Access Control)

네트워크에 연결된 단말기에 대해 사전에 IP, MAC을 등록하고 등록되지 않은 단말기의 네트워크 접근을 차단한다.

NAC는 정책관리 서버, 차단 서버, 에이전트, 콘솔로 구성되어 있다.

 

Cf) NAC 동작 방식

- 사용자 단말기에 NAC 프로그램을 설치해야하는 Agent 방식과, 설치하지 않아도 되는 Agentless 방식으로 나뉨

구분 Agent 방식 Agentless 방식
특징 - 사용자 단말기에 NAC Agent 설치 필요 - 사용자 단말기에 NAC Agent 설치 불필요
접근 제어 - IP, MAC, Port, Protocol별 접근 제어
- 사용자별 접근 제어
장점 - Patch 지원, 하드웨어 및 프로세스 정보, 백신 연동 등 - Agent 설치 없이 IP 관리, 사용자 PC에 연결된 스위치 및 포트 정보
- 호스트명, 도메인명 관리 등

7. ESM(Enterprise Security Management)

기업의 정보보안 정책을 반영하여 다수 보안 시스템을 통합한 통합 보안관제 시스템이다. FW, IDS, VPN 등 각종 이벤트를 수집하고 분석하여 통합 보안을 구현한다.

 

1) ESM 구성 요소

- ESM Agent, ESM Manager, ESM Console의 3단계 아키텍처로 구성

- ESM Agent: 각종 보안 솔루션의 로그를 수집하는 역할로, 실시간으로 로그를 수집하여 정규 표현식으로 변환 후 ESM Manager에게 전달

- ESM Manager: 로그를 DB에 저장하고 위협 분석, 상관성 분석 등의 분석을 진행

- ESM Console: 모든 보안정보를 모니터링하며 침입 발생 시 명령을 ESM Manager에게 전달

 

2) SIEM과 ESM의 차이점

- SIEM(Security Information Event Management)은 보안관제 부분 측면에서는 ESM과 거의 유사함

- SIEM과 ESM 모두 각종 보안 솔루션으로부터 로그를 수집하고 분석하는 기능을 함

- ESM은 수집된 로그 및 분석 정보를 DB에 저장하고 관리

- SIEM은 빅데이터를 사용해서 대용량의 로그 정보를 보관하고 각 칼럼별 인덱싱이 가능하여 빠르게 대용량의 데이터를 분석 가능

구분 SIEM ESM
특징 - 기업 모든 자원의 정보 및 로그를 통합 수집 - 보안 솔루션 위주의 로그를 수집하고 통합
수집 정보 - 보안 시스템, 보안 소프트웨어, 네트워크 장비, 애플리케이션 로그, 이벤트 등 - 보안 시스템, 서버 시스템 로그, 이벤트 등으로 수집되는 로그가 한정적
분석 - 사용자, Port, IP, 애플리케이션 등의 작은 단위로 분석 가능
- APT 공격 및 알려지지 않은 패턴에 대해 분석
- 시그니처 중심으로 분석
- IP, Port 단위 분석과 알려진 패턴 위주의 분석
기반 기술 - 빅데이터 기술인 MapReduce, Indexing 등
- 고성능의 데이터분석 가능
- Agent 혹인 API를 사용해서 로그 수집
- 관계형 DB의 테이블에 데이터를 입력하고 분석

 

 

 


# 참고

해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.

반응형

+ Recent posts