본문 바로가기

스터디스터디/정처기

[실기] 정보보안

최초 작성일: 2024-10-12

최종 작성일: 2024-10-12

목표 : 정처기 합격 및 CS 지식 쌓기

 

 

 

정보보안

1.    정보보안

(1)   개념 : 정보 및 정보 시스템을 무단 접근, 변경, 삭제 등으로부터 보호한다

(2)   보안 요소

기밀성 : 인가된 사용자만 정보에 접근

무결성 : 인가된 사용자에 의해서만 정보 변경

가용성 : 정보 자산에 언제든지 접근

인증 : 사용자가 허가받은 사용자인지 확인

부인 방지 : 정보 전송을 부인할 수 없도록 하는 것

(3)   AAA(Authentication, Authorization, Accounting)

인증 : 사용자의 신원 확인

권한 부여 : 권한과 서비스를 허용

계정 관리 : 사용자의 자원 사용 정보를 수집

(4)   정보보안 거버넌스

1)    정의

조직의 정보자산을 보호하고 정보의 무결성, 기밀성, 가용성을 유지하기 위함

2)    3요소

데이터 무결성

서비스 연속성

정보자산의 보호

(5)   인증 제도

ISMS (정보보호 관리체계 인증)

PIMS (개인정보보호 관리 체계)

ISMS-P (정보보호 및 개인정보보호 관리 체계 인증)

ITSEC (유럽)

TCSEC (미국)

CC (통합된 기준)

2.    Secure SDLC

(1)   개념 : SDLC에 보안 강화 프로세스를 포함한 것

(2)   방법론

1)    CLASP : SDLC 초기 단계에서 보안 강화를 위한 방법론

2)    MS-SDL

3)    세븐 터치포인트 : 소프트웨어 보안의 모범 사례를 SLDC에 적용

3.    시큐어 코딩

(1)   OWASP : 오픈소스 웹 애플리케이션 보안 프로젝트

(2)   시큐어 코딩 가이드

1)    시큐어 코딩 가이드의 개념

해킹 등 사이버 공격의 원인인 보안 취약점을 제거해 안전한 소프트웨어를 개발하는 SW 개발 기법

2)    가이드 항목

     입력 데이터 검증 표현

SQL Injection

XSS

자원 삽입

위험한 형식 파일 업로드

명령 삽입

메모리 버퍼 오버프로

     보안기능

적절한 인증 없이 중요 기능 허용

부적절한 인가

취약한 암호화 알고리즘 사용

하드코딩된 패스워드

패스워드 평문 저장

취약한 패스워드 허용

     시간 및 상태

경쟁 조건

종료되지 않는 반복문 또는 재귀함수

     에러 처리

오류 메시지 정보 노출

오류 상황 대응 부재

부적절한 예외 처리

     코드 오류

널 포인터 역 참조

부적절한 자원해제

해제된 자원 사용

초기화 되지 않은 변수 사용

     캡슐화

잘못된 세션에 의한 정보 노출

제거되지 않은 디버그 코드

시스템 정보 노출

잘못된 접근 지정자

     API 오용

DNS에 의존한 보안 결정

취약한 API 사용

 

4.    백업과 복구

(1)   개념 : 복구를 진행할 수 있도록 데이터를 주기적으로 복사하는 것을 의미

(2)   재난 복구 전략 시 지표

RP : 실제 업무 기능 복구 까지 걸린 시간

RTO : 복구되어 가동될때까지 시간 목표

RPO : 데이터 손실을 감당할 수 있는 데이터 양

MTD : 장애 시 업무가 정지 상태를 허용하는 최대 시간

(3)   백업과 복구를 위한 전략

전체 백업: 모든 데이터를 백업

증분 백업: 변경/추가된 데이터만 백업

차등 백업: 모든 변경/추가된 데이터를 백업

합성 백업: 전체 백업 본과 여러 개 의 증분 백업을 합하여 새로운 전체 백업을 만드는 작업

1.    암호 알고리즘

(1)   암호 알고리즘 용어

1)    평문 : 해독 가능한 형태의 메시지

2)    암호문 : 해독 불가능한 형태의 메시지

3)    암호화 : 평문을 암호문으로 변환하는 과정

4)    복호화 : 암호문을 평문으로 변환하는 과정

5)    전자 서명 : 인터넷 상에서 본인임을 증명하기 위해 서명하는 수단

6)    양방향 암호화 : 평문 <> 암호문

7)    단방향 암호화 : 평문 -> 암호문

(2)   대칭키 암호

1)    개념 : 암호화와 복호화에 동일한 키를 사용하는 암호화 방식

2)    블록 암호 알고리즘

DES : 64비트 블록(암호화), 56 비트 키, 16 라운드, Feistel 구조(반으로 잘라서 암호화하는 것을 반복)

3-DES(DES 3번 돌려) : 2개의 키, 암호화, 복호화, 암호화, Feistel 구조

AES : 128 비트 블록 (암호화), 128/192/256 비트 키,(각각의 키마다) 10/12/14 라운드. SPN 구조(그대로 내려서 라운드)

SKIPJACK : 64비트 블록(암호화), 80비트 키, 32 라운드, Feistel 변형

IDEA : 64 비트 블록, 128비트 키, 8 라운드, Feistel + SPN구조(스위스)

SEED : 128 비트 블록, 128 비트 키, 16라운드, Feistel 구조(한국,AES와 비슷)

ARIA : 128 비트블록, 128/192/256비트 키, 12/14/16라운드 SPN구조(한국)

LEA : 128 비트블록, 128/192/256 비트 키, 24/28/32 라운드, SPN구조(한국,경량)

3)    스트림 암호 알고 리즘

LFSR: 선형 피드백 시프트 레지스터

RC4: 인터넷 보안 프로토콜에서 널리 사용

A5: GSM통신에서 사용

(3)   비대칭 키 암호 = 공개키

1)    비대칭 키 암호 개념 : 암호화와 복호화에서 서로 다른 키를 사용하는 방식

2)    키의 종류

공개키(PUBLIC KEY) ;  대중에게 공개된 키

개인 키 : 개인이 관리 하는 비밀 키

3)    비대칭키 알고리즘

구분 설명
소인수 분해 기반 RSA 가장 대표적인 공개키 암호 알고리즘
Rabin 1979 rabin이 개발, RSA보다 빠르다
이산 대수 기반    
  DSQ  
  ELGAMEL  
타원곡선 ECC  

4)    전자 서명 : 인증서 형태로 발급되는 자신만의 디지털 인감 도장이며 안전한 디지털 서명

(4)   단방향 암호화

1)    개념 : 해쉬를 이용한 암호화 과정

2)    해시 함수 특성

l  역상 저항성: 주어진 해시 값으로부터 원래의 입력 값을 찾아내는 것이 실질적으로 불가능해야한다

l  2역상 저항성(약한 충돌 저항성) : 특정 입력값에 대해, 동일한 해시 값을 생성하는 다른 입력 값을 찾는 것이 어려워야 한다

l  충돌 저항성 : 두개의 다른 입력 값이 동일한 해시 값을 가지지 않도록 해야한다(공격자가 아무것도 몰라야함)

3)    해시 함수 종류

-MD5 : 빠른 계산 속도, 취약점 발견

-SHA : NIST(미국 국립표준기술연구소)에 의해 개발된 해시 하수

-HAS-160 : 한국에서 개발된 해시함수, KCDSA(디지털 서명)에 사용4) 암호학적 해시 함수의 결점

-무차별 대입 공격 : 정해진 범위 내의 모든 가능한 문자열을 이용해 암호를 해독하는 공격 방식

-레인보우 테이블 공격 : 미리 계산된 해시 값들의 테이블을 이용하여 해시된 비밀번호를 역추적하는 공격 방식(->salting)

5) 암호학적 해쉬 함수의 보완

-키스트레칭 : 해쉬 과정을 여러 번 반복/ 무차별 대입 공격 저항력 강화

-솔팅(salting) : 데이터에 임의의 값을 추가/ 레인보우 테이블 공격 저항력 강화

(6) 전자 우편 보안 프로토콜

PGP: 이메일과 파일의 암호화 및 디지털 서명을 위한 프로그램 개발(가장 많이 쓰임), 필짐머가 개발

PEM: 메시지 내용 보호

S/MIME: MIME(파일)에 전자서명과 암호화 추가

DKIM: 메일 발신자 인증, 발신 정보 위장 방지

2.    코드 오류

(1)   코드의 유형

순차 코드 : 순서에 의해 일련번호를 부여

블록 코드 : 코드화할 대상이 갖는 공통 특징을 중심으로 항목들을 분류

10진 코드 : 10진수 형태의 코드

그룹 분류 코드 : 대상 항목에 대한 분류 기준에 따라 분류

연상 코드 : 코드 대상의 명칭과 관계있는 문자, 숫자, 약어를 사용

표의 숫자 코드 : 코드화 대상 항목의 중량, 면적, 용량 등을 사용

합성 코드 : 두개 이상의 코드를 조합

(2)   코드의 오류 발생 형태

생략오류(Omission Error) :한 자리를 빼놓고 기록

필사오류(Transcription Error) : 한 자리를 잘못 기록

전위 오류(Transposition Error) : 좌우 자리를 바꾸어 기록 (1234 -> 2134)

이중 오류 : 두번의 전위 오류 (1234->2134)

추가 오류 : 한자리 추가로 기록

임의 오류 : 두가지 이상 결합

 

정보보안 인증과 접근 통제

1.    인증과 인가

(1)   인증 (authentication)

1)    개념 : 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차 (id, pw 확인)

2)    인증 유형

지식 기반 인증 : 사용자가 기억하는 정보

소유 기반 인증 : 사용자가 소유한 물건

생체 기반 인증 : 사용자의 신체적 특징

행위 기반 인증 : 사용자의 행동 정보

위치 기반 인증 : 인증을 시도하는 위치

(2)   인가 (authorization)

인증된 사용자에게 권한을 부여하는 과정

(3)   인증 방식

1)    계정 정보를 요청 헤더에 넣는 방식

2)    Cookie/session 방식

3)    토큰 기반 인증 방식 (JWT)

4)    OAuth : 이용자의 웹 서비스에 대한 제한된 접근 권한을 안전하게 부여

5)    SSO

6)    커버로스 : 사용자와 서비스 간의 인증을 안전하게 관리하기 위한 프로토콜(인증관리 프로토콜)

7)    아이핀 : 주민번호 대체 수단

2.    접근 통제

(1)   개념 : 정당한 사용자에게 권한을 부여하고, 그외의 사용자는 접근 거부

(2)   통제 과정

1)    식별 : ID 확인

2)    인증(Authentication) : 패스워드가 정확한지 확인

3)    인가(Authorization) : 권한 부여

(3)   접근통제 정책

정책 MAC (강제적, 군대) DAC(임의적) RBAC(역할기반)
권한부여 시스템 데이터 소유자 중앙 관리자
접근결정 보안등급 신분 역할
정책변경 고정적(변경 어려움) 변경 용이 변경 용이
장점 안정적, 중앙 집중적 구현 용이, 유연함 관리 용이

(4)   접근 통제 모델

1)    - 라파둘라 모델

기밀성을 강조 / NO Read Up, No Write Down

2)    비바 모델 하나의 정보 주체 , 자산을 대상

무결성 강조 / No Read Down, No Write Up

3)    클락-윌슨 모델 업무 처리 과정을 대상

무결성

4)    만리장성 모델

이해충돌을 방지하기 위한 모델

 

정보보안 시스템 보안 구현

1.    취약점 분석

(1)   보안 취약점 : 정보 시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협

(2)   점검 분류

1)    관리적 관점 : 회사에 내규가 없는 것

2)    기술적 관점 : 서버 패치 등

3)    물리적 관점 : 서버실 접근 제어

2.    보안 관제

1)    개념 : 24시간 정보자산을 지키기 위한 전달되는 패킷을 관측/ 실제 침해 사고시 cert팀이 대응함

2)    통합로그 분석 장비

ESM

SIEM

3.    보안운영체제

(1)   개념 : 컴퓨터 운영체제의 커널에 보안 기능을 추가한 것

4.    보안 솔루션

(1)   방화벽 : 네트워크와 인터넷 간의 정보 전송을 제어하여 침입을 차단하는 시스템

(2)   칩임 탐지 시스템(IDS) : 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템 / 침입 탐지 방식에 따른 분류 -오용 탐지 : 미리 입력해 둔 공격 패턴 이용 , -이상 탐지 : 평균적인 시스템의 상태를 기준 오탐률이 높다 / 침입 탐지 대상에 따른 분류 네트워크 기반 IDS : 네트워크 패킷을 분석 호스트(컴퓨터) 기반 IDS(HIDS) : 로그 분석과 프로세스 모니터링

(3)   침입방지 시스템(IPS) : 침입 감지 + 차단, 방화벽과 IDS를 결합한 시스템으로 탐지 후 적극적으로 방화벽을 가동

(4)   웹 방화벽(WAF) : 웹 기반 공격을 방어하기 위한 웹서버 특화 방화벽으로 SQL 삽입 공격, XSS 등을 방어 / 종류 : Webknight, ModSecurity

(5)   데이터 유출방지(DLP, Data Leakage/ Loss Prevention) : 내부 정보의 외부 유출을 방지하는 보안 솔루션

(6)   가상사설 통신망(vpn) :  공중 네트워크를 사용하여 전용 회선 처럼 통신하는 보안 솔루션 ( 회사 ip 연결)

(7)   NAC : 네트워크 접근을 통제하고 내부 PC의 보안 관리를 제공하는 솔루션 (개인 마다 IP 부여 하고 해당 IP는 인가되지 않은 다른 사용자는 접근 불가)

(8)   ESM(Enterprise Security Management) : 다양한 보안 장비에서 발생하는 로그 및 이벤트를 통합 관리하는 솔루션(

(9)   SIEM : 빅데이터 수준의 데이터를 장시간 심층 분석한 인덱싱 기반

(10)   SOAR : 보안 오케스트레이션, 자동화 및 대응을 통해 IT 시스템을 보호하는 시스템

(11)   샌드박스 : 응용 프로그램이 가상환경에서 독립적으로 실행되는 형태로 보안을 강화한다(안전한 공간)

(12)   FDS : 전자금융 거래의 이상 거래를 탐지하고 차단하는 시스템

(13)   Proxy 서버 : 클라이언트를 대신하여 인터넷상의 다른 서버에 접속하며, 방화벽 및 캐쉬 기능 수행

5.    방화벽

(1)   DMZ 구간: 내부 네트워크에 포함되어 있으나 외부에서 접근할 수 있는 구간(보통 웹 서버, SMTP 등을 둠. 외부에서 접속해야하니까)

(2)   구현 방식에 따른 유형

패킷 필터링 : 네트워크 계층과 전송 계층에서 작동

애플리케이션 게이트 웨이 : 응용 계층, 로그 정보를 활용

회선 게이트웨이 :응용 계층과 세션 계층에서 작동

상태 기반 패킷 검사 : OSI 모델 모든 계층에서 패킷 분석 및 차단 ( 가장 강력함)

혼합형 타입 : 위의 방식을 결합

(3)   방화벽 시스템 구축 유형

1)    스크리닝 라우터(=패킷 필터) : IP, TCP, UDP 헤더 분석을 통해 동작

2)    베스천 호스트(찐 방화벽) : 접근 제어, 프록시 기능, 인증, 로깅 등을 수행

3)    듀얼 홈드 호스트: 2개의 네트워크 인터페이스를 갖춘 호스트

4)    스크린트 호스트 : 패킷 필터(!) + 베스천 호스트(2) 조합

5)    스크린드 서브넷 : 두개의 스크리닝 라우터(패킷 필터)와 한 개의 베스천 호스트

(4)   보안 프로토콜

(1)   SSH : 원격 호스트에 접속하기 위한 보안 프로토콜 / 22번 포트/ 명령을 입력하면 암호문 형태로 나옴

(2)   SSL (HTTPS) : 웹 브라우저와 웹 서버 간 안전한 데이터 전송을 위한 프로토콜/ SSL이 적용된 웹 페이지는 URLhttps로 시작하며, 443번 포트를 사용한다

(3)   TLS : 전송 계층 보안을 위해 개발된 프로토콜

(4)   IPSec

1)    개념 :IP계층(네트워크 계층)을 안전하게 보호하기 위한 기법

2)    동작 모드

전송 모드 : IP 패킷의 페이로드(내용)만을 보호(헤더는 보호 안함)

터널 모드 : IP 패킷 전체를 보호(페이로드 + 헤더 모두)

3)    프로토콜

AH(authentication header) : 인증 + 무결성

ESP  (Security Payload) : 인증 + 무결성 + 기밀성

IKE : 키 교환 프로토콜

(5)   S-HTTP

웹 상에서 네트워크 트래픽을 암호화하기 위한 방법이다

(6)   RedSec : 레디우스(radius) 데이터를 전송

6.    고가용성(HA)

서버, 네트워크, 프로그램 등의 정보 시스템이 오랜 기간 동안 지속적으로 정상 운영될 수 있는 능력

장비를 2대 둠

정보 보안 서비스 공격 유형

1.    DoS(Denial of Service) 공격 가용성을 해침

(1)   개념 : 대상 시스템이 정상적인 서비스를 수행하지 못하도록 만드는 공격

(2)   유형

1)    Smurf attack : IPICMP의 특성

2)    Ping of death : 정상 크기를 초과하는 ICMP 패킷

3)    Land attack : 출발지 ip와 목적지 ip가 동일한 패킷

4)    Teardrop attack : fragment number를 위조

5)    SYN Flooding : syn 신호만 전송

6)    UDP Flooding : 다량의 UDP 패킷을 전송

7)    Ping Flooding : 많은 ICMP echo요청

2.    DDoS 공격 (Distributed Denial of Service Attack) 공격

(1)   개념 : 분산된 다수의 좀비 pc를 이용하여 공격 대상 시스템의 서비스를 마비시키는 형태

(2)   공격 구성

공격자

명령제어

좀비 PC

공격 대상

(3)   공격 순서

권한 획득

공격 대상 파악

취약 시스템 리스트 확인

시스템 침투 및 Exploit(설명셔) 설치

공격 시작

(4)   DDOs 공격 툴의 종류

트리누 : UDP 데이터 패킷을 사용하여 대량의 트래픽 생성

TFN : 다양한 공격 기법을 지원

슈타펠드라트 : 트리누와 TFN의 특징을 결합

3.    기타 해킹 기법

: 네트워크를 통해 자기 복제 및 전파

바이러스 : 파일, 메모리 등에 자기 복제

트로이 목마 : 악성 기능을 숨겨 유혹

스턱스넷: 물리적 피해 목적의 웜 바이러스

루팅 : 핸드폰 운영 체제 루트 권한 획득

루트킷: 루트 권한 획득 도구

혹스 : 가짜 바이러스 또는 거짓 경보

피싱 : 가짜 사이트 유도하여 개인정보 탈취

스미싱 : 문자 메시지로 개인정보 탈취

QShing : QR코드로 악성 링크 유도 또는 악성 코드 설치

스니핑 공격 : 네트워크 패킷 도청

IP Spoofing : ip 주소 위장

Arp 스푸핑: mac 주소 위장

DNS 스푸핑 : DNS 결과 변조

파밍 ; 악성코드 감염으로 피싱 사이트 유도

타이포스쿼팅 : URL 오타 이용 공격

포트 스캐닝 : 서버 취약점 탐색

세션(연결) 하이재킹 : 인증된 세션 탈취

버퍼 오버플로우 : 메모리 침범 공격

포맷 스트링 어택 : 메모리 RET 위치 공격

SQL Injection : DB 공격

XSS : 타 사이트에 스크립트 삽입 공격(내 캐쉬 탈취)

CSRF : 사용자 의도와 무관한 행위 강요, 스크립트 공격이긴함

백도어 : 사용자 인증없이 접근

스파이 웨어 : 사용자 동의 없이 정보 탈취

'스터디스터디 > 정처기' 카테고리의 다른 글

[실기] 네트워크  (5) 2024.10.12
/wip/[실기] 네트워크  (0) 2024.10.11
[실기] 운영체제  (7) 2024.10.11
/wip/ [실기] 운영체제  (0) 2024.10.11
[실기] 데이터베이스  (14) 2024.10.09