졸려서 먼저 하는 2과목...

(1) 네트워크 일반

1. 네트워크 개념 이해

- 네트워크와 프로토콜 

- 게이트웨이 : 송신자- 수신자 간에 프로토콜을 맞춰주는 역할. 네트워크 구조가 다른 2개의 통신 사이에 설치됨.

- 네트워크 분류  (거리, 데이터 전송 방식)

LAN : 근거리 영역의 네트워크로, 고속의 전용 회선으로 연결함. 서버- 클라이언트와 PtoP 모델, WAN보다 빠른 속도

WAN : 광대역 네트워크망. LAN 간 상호연결망. LAN보다 선로 에러율 높고, 전송지연 큼.

MAN : LAN-WAN 사이 중간 형태. 동출 케이블, 광케이블

 

단방향 : 단일 방향      →

반이중 :  동시에 송수신 불가능 , 무전기 

전이중 : 동시에 양방향 송수신 가능 , 전화

 

- 회선교환 방식 

전용선 방식,      회선 해체 요청이 없으면 계속 접속 유지

전송 시작 후 오버헤드 없음.   오류/흐름 제어는 사용자가 함.

장점 : 대용량 데이터를 고속으로 전송할 때 좋음.      고정적인 대역폭    전송 지연 없음    실시간 전송에 유리

단점 : 비효율적    다양한 속도, 종류 지닌 개체 간 통신 제약 있음.     속도나 코드 변환 불가능.    에러 없는 전송에 불리

- 패킷교환 방식

순서 제어 기능,   트래픽 제어,  경로 배정 

장점 : 회선 이용률 높음,     속도/프로토콜 변환 가능.    고신뢰성 / 고품질 / 고효율    이기종 단말간 통신 용이

단점 : 지연 존재함.   패킷별 헤더 추가로 오버헤드 발생 가능성 존재함.

패킷 교환 방식 종류 : 가상 회선 , 데이터 그램   (2)

 

2. 네트워크 토폴리지 (= 네트워크 연결 방식) 

계층형, 버스형, 스타형, 원형, 그물형

 

3. OSI 7계층

- 데이터 전송 방식 (2) : 직렬 전송, 병렬 전송

- 동기 방식 (2) : 동기 방식, 비동기 방식

-OSI 계층별 장비

L1 : 케이블, 리피터 

L2 : 브릿지 (MAC주소를 통해 서로 다른 LAN을 연결) , 스위치 (목적지의 MAC 주소에 지정된 포트로 데이터 전송)

L3 : 라우터 (MAC주소 +ip 주소 확인해서 경로 설정 후 전달)

L7 : 게이트웨이 (서로 다른 네트워크 망 연결)

 

4. TCP/IP 4계층

L1 Network Access = OSI 1,2,

L2 Internet = OSI 3

L3 Transport = OSI 4

L4 Application = OSI 5,6,7

 

(2) 네트워크 활용 TCP/IP  구조

1.  어플리케이션 계층  : 사용자 인터페이스를 설계하는 계층

- 어플리케이션 관련 서비스

FTP : 파일의 업로드, 다운로드를 수행하는 서비스 

DNS : DNS 쿼리를 통해 DNS 서버에 URL에 매핑되는 IP 주소를 제공하는 서비스

HTTP : 웹 페이지의 request, response 를 수행하는 서비스

Telnet : 원격으로 서버에 접속하는 서비스

SMTP : 암호화나 인증없이 전자 우편 전송 서비스

SNMP : simple network management protocol , 네트워크 상태 모니터링을 위해 사용하는 프로토콜 

 

- HTTP  (80번 포트)

개방형 프로토콜,      TCP프로토콜을 사용해서 신뢰성 있는 데이터 전송,    처리가 끝나면 바로 연결을 해제하는 state-less 

HTTP 1.0 : 3-way handshaking 후 바로 연결 종료

HTTP 1.1 :  + keep alive time ( 바로 연결 종료하지 않고 잠시 대기한다)

 

HTTP header  : request에 전달해야 하는 웹 브라우저 정보, 요청 방식 등 

HTTP body : 보낼 파라미터 정보 

이 둘은 \r\n\r\n 으로 구분함. 

 

HTTP Request Method

1. GET : URL에 입력 파라미터를 포함해서 요청하는 것, 전송 크기 제한 있음,

2. POST : HTTP Body에 넣어서 전송하는 것, 전송 크기 제한 없음. 

 

쿠키  : 프로그램에 필요한 상태 정보를 임시 저장. 

세션 쿠키 : 연결이 종료되면 쿠키도 자동으로 삭제되는 것.

세션 :  클라이언트-서버 사이 네트워크 연결이 지속되도록 유지

  쿠키 세션
저장 위치 클라이언트  서버
저장 형태 text object
종료 시점 쿠키 저장시 종료 시점 설정, 없다면 브라우저 종료 시점이 됨.  시점 알 수 없음
자원 클라이언트 자원 서버 자원
용량  한 도메인당 20개 용량 제한 없음 

 

-SMTP simple mail transfer protocol

인터넷 전자 우편 표준 프로토콜. 

store-and-forward 방식으로 메일 서버를 통해 전달된다.

구성요소 (3)

1. MTA mail transfer agent : 메일 전송 서버

2. MDA mail delivery agent : 우체부 , MTA에게 받은 메일을 목적지에게 전달.

3. MUA mail user agent: 사용자 어플리케이션

 

POP3 (포트 110) : 메일 서버에서 내려 받는 MDA 프로그램

IMAP (포트 143) : 메일 서버에서 내려 받아도 원본 유지 

 

- FTP file transfer protocol

파일 전송을 위한 프로토콜 

컴퓨터에 등록된 사용자만 파일 전송 가능, 그 외는 모두 익명.

ftpusers에 등록된 사용자는 FTP 접근 불가.

FTP 전송모드 (2)

1. Active mode (적극적) : ftp 클라이언트에서 ftp 서버 포트 21번으로 접속 후 ftp 서버 포트 20번으로 데이터를 전송한다. 

2. Passive mode  (소극적) : 똑같이 21번 포트에서 연결을 하고 난 뒤, ftp 서버가 랜덤 포트를 정해 클라이언트에 알려주어 해당 포트에서 데이터 전송한다. 

 

SNMP와 NMS

SNMP : 네트워크의 안정성과 효율성을 위해 모니터링 하는 네트워크 관리 프로토콜

NMS network management system : SNMP 프로토콜 사용해서 네트워크 정보 수집.

2. 전송계층

TCP

신뢰성 있는 연결을 수행하는 프로토콜 

$ netset -p tcp  연결확인 명령어

흐름제어 : 슬라이딩 윈도우 기법

혼잡제어 :  TCP slow start

UDP

비연결성, 비신뢰성으로 빠르게 데이터 전송하는 프로토콜. 재전송 기능 없음.

 

3. 인터넷 계층

ip 주소를 읽어서 데이터의 경로를 결정하고 전송하는 계층.

라우팅 : 목적지 ip 주소를 읽어 최적의 경로를 결정해주는 것. 

IPv4 : 32bit, 네트워크 ID와 호스트 ID로 구분된다. 클래스로 구분됨.

IPv6 : ip 주소 부족으로, 확장한 주소체계. 128bit

서브넷 마스크 : 네트워크 식별자 부분을 구분하기 위한 mask

ICMP internet control message protocol : 오류 제어 프로토콜. 목적지까지 도달 가능한 지, 그 과정을 관리하는 프로토콜  (echo request 8 or 0)

IGMP internet group management protocol : 그룹에 등록된 사용자들을 관리하는 프로토콜.

데이터 전송 방식(3) : 유니캐스트, 멀티캐스트, 브로드캐스트

ARP : ip주소를 MAC 주소로 변경하는 프로토콜. 질의 - 응답

RARP : 물리적 주소 MAC주소를 논리적 주소 IP주소로 변경하는 프로토콜 

 

4. 데이터링크 및 물리 계층

ip주소를 MAC 주소로 변환하고, 에러제어, 흐름제어 등 기능을 통해 데이터를 전송하는 계층

CSMA/CD carrier sense mutiple access / collision detection

: 네트워크 통신에서 데이터 충돌이 일어나지 않기 위해 서로간 신호를 보내 충돌을 막기 위해 탐지하는 프로토콜. 캐리어 센서를 통해 통신가능한지 판단함.

(유선 LAN)

CSMA/CA carrier sense mutiple access / collision Avoidence

: 똑같이 상호 충돌 막는 프로토콜     (무선LAN)

(3)네트워크 기반 공격 기술의 이해와 대응

DOS 서비스 거부 공격 : 자원을 고갈시켜 정상적인 서비스를 제공할 수 없도록 만드는 공격.

DDOS 분산 서비스 거부 공격 

-TCP SYN flooding : 많은 연결 요청을 전송해 정상 서비스 못하도록 하는 공격 , TCP 3-way handshaking 취약점 이용.

   대응 : 방화벽에서 차단, 첫번째 SYN drop 시킴, TCP 세션 연결 차단, 백 큐 사이즈 늘림.

-ICMP flooding (smarf attack) : ICMP echo 패킷을 브로드캐스트로 대량 전송하여 이를 응답하게 하여 과부하를 일으키는 공격

   대응 : ACL로 차단(접근 제어 목록 등록 후 차단시킴), inbound 패킷 임계치 설정, 방화벽에서 차단

-Tear Drop (ping of death, IP fragmentation) :  패킷 MTU보다 큰 패킷이 오면 분할해 전송되는데, 이때 패킷을 조작하여 재조립못하게 하는 공격  (패킷 1개 씀)

-Land Attack : ip 헤더를 변조해 송신자 ip=수신자 ip 만들어서 네트워크 장비 과부하 일으키는 공격

   대응 : 동일한 주소 가진 패킷 삭제 

-HTTP GET flooding : TCP 정상 연결 후 HTTP GET을 계속 요청해 서버 과부하 유발함. 

  대응 : 선별적 IP 차단, 컨텐츠 요청횟수 임계치 설정, 시간대별 웹 페이지 URL 접속 임계치 설정 차단, 웹 스크랩핑 기능을 이용한 차단

- cache control attack: HTTP 헤더를 조작해 no-cache로 설정하면, 항상 최신 사이트를 로드해주기 때문에 서버 과부하 발생.

   대응 :  임계치 기반 설정. 

- slow HTTP Read DOS : TCP연결시 TCP 윈도우 크기나 데이터 처리율을 낮춰 제대로 서비스 못하도록 함.

- slow HTTP Header DOS:  HTTP 헤더를 조작해, 서버가 헤더 정보를 읽을 수 없게 해 장시간 연결은 유지하되 제대로 된 서비스 거부함.

   대응: 접속 임계치 설정, iptables로 차단, connection timeout 설정, requestReadTimeout 설정

-Hash DOS :  클라이언트에서 전달되는 파라미터 값을 관리하는 해시테이블을 조작하여 조회시 많은 자원을 소모하도록 하는 공격

  대응 : HTTP POST 파라미터 수 제한, POST 메시지 크기 제한, PHP에서 최대 HTTP POST 파라미터 설정

- Hulk DOS : 공격 대상 URL을 지속적으로 변경해 웹 서버 가용량을 모두 사용하여 서비스 못하도록 하는 공격 (get flooding 유형)

 대응 : 접속 임계치 설정, 302-redirect 이용한 차단.

 

스캐닝 

서버에 열려 있는 포트를 확인하는 방법 , NMAP 도구 사용

 

스니핑

패킷을 훔쳐보는 행위, 수동적 공격 형태, tcpdump 도구 사용

1. Normal 모드   자기 PC에 전송되는 패킷만 수신하고 관련 없으면 drop

2. Promiscuous 모드   흘러 다니는 모든 패킷 수집

- 세션 하이재킹 기법 : 세션 값 훔쳐가기, 세션 값인 문자열만 획득하면 홈 페이지 접근 가능.   인증 우회

도구 : Hunt, arpspoof, ip wather ..

 

스푸핑

-ip spoofing : 자신의 ip를 속이는 행위, TCP/IP 취약점

   대응: 라우터에서 불법 ip차단, 내부 ip주소를 이용해 외부에서 유입되는 패킷 차단 , sequence number 랜덤하게

-DNS spoofing : 도메인의 ip를 위조해 엉뚱한 사이트로 유도

-web spoofing : 공격자가 공격대상으로 전송되는 웹 페이지를 보거나 변조 하여 정보 획득

-arp spoofing : 목적지 MAC 주소를 중간에 공격자가 공격자 MAC 주소로 변조해 마치 정상 통신하는 것처럼 중간에서 감청함.  arpspoof 이용.

   대응 : arp table을 정적으로 설정한다. 

 

원격 접속 공격 : RDP, Teamviewer, VNC, NetCat 프로그램으로 모니터링 및 수행.

   대응 : 원격 엑세스 허용 차단, 주기적인 패스워드 변경

침입 차단 시스템 = 방화벽
ip주소와 port 등을 통해 네트워크 접근을 통제하고 제어한다. 
유형 : 패킷 필터링 (L3,L4) , 어플리케이션 게이트웨이 (L7), 회선 게이트웨이 (L5~L7), 상태기반 패킷 검사( 세션을 통한 관리) , 하이브리드(서비스 포트에 따라)
구축 유형 : 스크리닝 라우터, 베스천 호스트 등

침입 탐지 시스템 = IDS
침입 패턴 정보를 통해 탐지 여부를 확인하는 보안 시스템
탐지 방법 (2) 
오용탐지 : 시그니처 기반, 패턴 비교, 미탐이 크다.
이상탐지 : 통계 기반, 특징 추출, 제로데이공격 대응 가능, 오탐이 크다. 
Snort : 지정한 룰과 일치하는 패킷을 탐지하는 기법 
snort 룰 구조 : 헤더 + 옵션

침입 방지 시스템 = 침입 대응 시스템 = IPS
실시간 탐지, 실시간 대응
미리 사고가 나기 전에 사고를 차단한다.

허니팟 
해커의 정보 및 공격에 대해 분석하기 위해 설치함. 
해커가 쉽게 발견하도록 취약하게 설계해야 함.
설치 위치 : 방화벽 앞, 방화벽 내부, DMZ 내부

VPN 가상 사설 망
인터넷 망을 통해서 기업 내부 네트워크 등에 접근하는 방법 ( 요즘 재택 근무로 인해 많이 사용함)
이는, 인증을 요구하기에 보안성이 좋다.
1. 인증 : 해당 네트워크에 접속하기 위해선 인증 절차가 필요해 안전하다.
2. 터널링 :  네트워크로의 통신은 스니핑 공격에 취약하다. 하지만 해당 터널링에서 전달되는 데이터들이 암호화되어 있어 스니핑에 강하다. 
유형 (2)
1. SSL VPN : 별도의 소프트웨어 설치 없이 SSL 암호화를 이용한 VPN. 그냥 웹 브라우저 만으로도 VPN 구현 가능
2. IPSEC VPN : 별도의 소프트웨어 설치가 필요함. 웹 브라우저에 보안성을 위해 IPSEC 헤더를 붙임.

NAC  network access control
미리 사전에 mac주소와 ip주소를 등록하고, 등록되지 않은 모든 네트워크 장비의 접근을 통제하는 기법.

ESM enterprise security management
기업 정보보안 정책에 맞춰 통합 보안관제 시스템.

SIEM security information event management  
ESM과 유사하지만, SIEM은 모든 로그를 저장하고 빅데이터 기술을 이용하기 때문에 대용량 정보 보관이 가능하다.
빅데이터 기술을 쓰냐 안쓰냐에 차이이고, ESM은 보안 솔루션을 위한 로그만 분석하고 처리하지만, SIEM은 모든 로그를 저장하고 분석한다.

무선 LAN 보안 
 - SSID
 - WEP
 - WAP
 - WAP2 = AES 암호화 적용

RFID 보안 
KILL TAG

FTP 
인터넷에 연결된 시스템 간 파일을 전송하는 통신 프로토콜
Active mode 적극적 모드 : 21번 포트로 명령 수행 , 20번 포트로 데이터 전달
Passive mode 소극적 모드 : 21번 포트로 명령 수행, 서버가 임의로 포트 전달 

취약점 
-FTP Bounce attack : 익명 ftp 서버를 경유해 스캐닝, 네트워크 포트 스캐닝 이용
-스니핑 : 로그인 접속 시 암호화없음

대응 : etc/passwd 파일에 불필요항목 제거, ftp nologin으로 설정해둠.

SMTP 
전자우편 보낼 때 사용하는 프로토콜  25번 port

POP3 
전자우편 읽어오는 데 사용하는 프로토콜. 110번 port
원격 서버에 저장하지 않는다. 읽은 후 즉시 삭제

IMAP, IMAP4
읽은 후에도 서버에 메일 저장 유지

이메일 보안 기법
-PGP pretty good privacy : 암호화와 전자서명 기능을 추가한 암호화 프로토콜 
전자서명/ 메시지 암호화/ 1회용 세션 키 / 세그멘테이션(사이즈제한)
암호화 알고리즘 :RSA IDEA
-PEM privacy enhanced mail : 중앙집중화된 키 인증 방식 구현한 대응법
암호화 알고리즘 :DES-CBC , RSA...
-S/MIME secure multi-purpose internet mail extensions
:표준 보안 메일 프로토콜로 메일 전체 암호화, 자신의 공개키를 보증하는 인증서 필요.
 첨부파일 암호화, RSA 암호 사용

Sendmail 
메일 서버 프로그램, 스팸 메일 차단

스팸 메일 차단 방법
1. RBL real time blocking : RBL 서버에 특정 ip 등록하고 차단.
2. SPF sender policy framework : SPF 레코드 등록되어 있는지 확인하여 필터링.

웹 서버 보안

Apache 웹 서버 보안 설정
- 주요 디렉토리 및 파일 접근 제한
- 불필요 파일 삭제
- 디렉토리 리스팅
-followSymLinks : 심볼릭 링크를 통해서 root 권한 부여하므로, 제거함
- 디렉토리 indexes : 우선순위 설정
- 서버 토근
- 서버 시그니처
- limit request body
- 접근 제어 : ip주소로 접근 제어 수행

Apache 웹 서버 세션관리
- 타임아웃
- MaxKeepAliveRequest
- KeepAliveTimeout
- KeepAlive

웹 로그
HTTP 상태 코드 
200 OK
403 Forbidden
404 not found

웹 방화벽
웹 어플리케이션 취약점을 이용한 공격에 대응한다.
 
웹 방화벽 종류
1. 네트워크 기반 방화벽 : 인라인 구조
2. 호스트 기반 방화벽 : 웹 서버 내에 설치
3. Proxy method
4. Filtering module method :웹 서버가 처리 대기 중에 보안 모듈에 필터링 처리

주요기능
1. 웹 공격 방지
2. Positive security model 지원 : 강제 접근 차단
3. SSL 복호화 지원
4.어플리케이션 구조 변화에 대응 

DNS
도메인 주소 -> ip 주소   nslookup [domain]
계층별 DNS Cache table에 질의를 반복해서 찾음 = 반복쿼리

공격
Dnsspoof : 스푸핑 도구로, 쿼리 요청이 들어오면 특정 ip로 보내도록 함.

대응
DNSSEC : 전자서명값을 같이 첨부해 위변조 방지

데이터 베이스 보안

데이터 베이스
저장되어 있는 데이터를 공유하도록 하는 정보 저장 시스템

데이터베이스 기능
1. 지속성 : 영속성, 재사용 가능
2. 데이터 공유 : 단 한 순간에 한 사용자만 수정이 가능하도록 락 기능 제공 , 동시 읽기는 가능함.
3. 회복 : 원래 상태로 복구
4. 데이터베이스 언어
5. 보안 / 무결성 

DBMS databasemanagement system
데이터 베이스를 생성하고 관리하며 이를 구성한 소프트웨어의 모임.

DBMS 구성요소
-DDL 컴파일러
-질의어 처리
-예비 컴파일러 (DML 명령어 추출)
-데이터 조작어 컴파일러
-런타임 데이터베이스 처리기
-트랜젝션 관리자
-저장 데이터 관리자
 
개체 관계 모델  ERD entity relationship diagram
DB 설계 과정에서 데이터의 구조를 개념적으로 표현하는 과정.
기업에서 DB구축 전에 어떤 형태로 구성할 것인지 분석하고 설계하는 과정.

MYSQL 데이터베이스 연결
$ mysql -u root -p

데이터 베이스에서 사용자 권한 부여가 중요함.
권한 부여  명령어 grant [table 명령어] on user to [DB명]   /grant all privileges
권한 해제 명령어 revoke all on [DB명] to user

Oracle DB 
데이터베이스 시작 : system
데이터베이스 조회 : desc
집합성 aggregation : 낮은 보안 등급의 정보를 이용해 합치면 높은 보안 등급의 정보도 알아낼 수 있음 / 영업 파트별 실적 조회해서 전체 실적 알아내기
추론 inference : 보안 등급 없는 사용자가 기밀 정보 유추해내는 행위 
        대책 : 다중 인스턴스화 (변수를 다른 변수와 함께 있게 함으로써 상호작용하도록 둠)

DB 보안 요구사항
- 무결성 보장
- 추론 방지
- 사용자 제한
- 감사 기능
- 암호화

DB 암호화 솔루션
장점 : 허가 받지 않은 사용자가 데이터를 볼 수 없음
단점 : 운영 서버 과부하, DB 단위 접근 제어 안됨. sql 문장에 대한 로깅이 안됨.

DB패스워드는 SHA-256 이상 해시함수 사용.

솔루션 (2)
1. Plug in : DB 서버에 암호화 솔루션 별도 설치, 데이터 조작어를 실행하면 암호화/복호화 수행
2. API : 암호화 API를 호출해 암호화 수행

DB 감사 솔루션
DB의 모든 접근에 대해 로그를 기록해 추적성 확보하는 것. 로그를 모두 기록하고 관리하는 솔루션.
장점 : 스니핑 서버가 죽어도 업무 지장 없음. 운영서버 부담 없음
단점 : 패킷 LOSS가 있음, 접근 제어 없음.

DB 접근제어 솔루션
접근 권한이 없는 사용자가 DB에 접근할 때 이를 차단하는 것.

DB 암호화 및 접근 통제
-사용자인증
-권한 부여
-암호화

DB 백업 방식 (스토리지 내에서 데이터를 복제하거나 스토리지 간에 데이터 백업)
-전체 백업
-차등 백업
-증분 백업
명령어 $ mysqldump -u root -p [DB명]

전자 상거래 보안

전자화폐 : 디지털 서명이 있는 금액 가치정보

전자화폐 요구조건
- 불추적성(익명성)
- 가치양도성
- 분할성
- 독립성(완전 정보화)
- 이중사용 방지

SET secure electronic transaction 
인터넷에서 신용카드 사용 촉진을 위한 프로토콜이다.
전자 상거래 인증으로 안전 거래 가능 
SSL 보다 속도 느림
사용기술 : 대칭키, 공개키, 전자서명, 해시함수
알고리즘 : DES RSA SHA-1
SET 이중서명 = 카드 가맹점 정보와 구매자 정보를 모두 암호화를 이중으로 해서 보안성 높임

SSL secure socket layer
정보를 전송하는 네트워크 구간에 보안 서버를 이용해 데이터를 암호화하는 것.
인터넷 같은 개방 환경에서 클라이언트-서버 간 안전한 통신
RSA 공개키 알고리즘 사용
443 PORT
보안 서비스 (3) :  기밀성 무결성 인증


버퍼 오버플로우에 취약한 언어들 : C, C++
버퍼 오버플로우에 취약한 함수들 : strcat(), strcpy(), gets(), scanf(), sscanf(), vscanf(), vsscanf(), sprintf(), vsprintf(), gethostbyname()
대신 사용이 권장되는 함수들 : strncat(), strncpy(), fgets(), fscanf(), vfscanf(),snprintf(), vsnprintf()


SSL Handshaking
TCP 연결을 수행한 후, 웹 서버에게 메시지 전송.
웹 브라우저가 웹 서버에게 지원하는 SSL 버전과 지원하는 암호화 알고리즘 정보를 전송.
웹 브라우저는 암호화 알고리즘을 결정해서 웹 브라우저에게 전송.
Change cipher spec 를 웹 브라우저가 웹 서버에게 전송해 암호화 통신 협상을 마친다.

SSL 구성요소
- Change cipher spec protocol
- alert protocol
- record protocol

openSSL
공개 소프트웨어로, SSL 보안 서버를 구축할 수 있는 프로그램이다.
이는 보안 서버가 갖고 있는 개인키를 생성해준다. 그리고 서버 인증서를 생성해야 한다.

OpenSSL 취약점 = 하트 블리드 취약점
웹 브라우저가 요청을 했을 때, 데이터 길이를 검증하지 않아서 메모리에 저장되어 있는 평문의 64KB가 노출되는 현상이다.

sHTTP
응용계층에서 보안 기능을 제공함. 
기밀성, 무결성, 전자서명 지원.

IPSEC IP security
오픈 되어 있는 인터넷상에 가상의 전용 회선을 구축해 도청 등 방지하기 위한 통신 규약
터널모드 :  헤더에 ipsec 붙임, 패킷 전체 암호화
전송모드 :  출발할 때 암호화, 도착할 때 복호화

OTP one time password
동기식   : 정해진 시간 주기마다 난수 생성 
비동기식 : 인증 요구 -> 질의 응답으로 

웹 서비스 보안 기술
-XML 전자 서명
-XML 암호화
-XACML
-XKMS
-SAML


CSRF cross site request forgrey 크로스 사이트 요청 위조
1. 악성 스크립트를 웹 서버에 등록
2. 공격대상은 해당 웹 서버에게 악성스크립트가 포함된 페이지 request 
3. 웹 서버는 악성 스크립트가 포함된 페이지를 공격대상에게 보여줌
4. 신뢰된 사용자는 이를 모르고 악성 스크립트가 포함된 페이지에 접속하고 악성 스크립트는 실행되어 공격 성공.
  
CSRF 공격 대응
- 새롭게 다시 재 로그인, 패스워드 재입력 요청
- 보안 토큰 사용. 난수 값을 포함한 토큰이 일치하지 않으면 공격임.

XSS   VS    CSRF
xss는 공격대상 = 클라이언트
CSRF는 공격대상 = 서버


SSO single sign on
한 번의 로그인 시도로 전체 서비스를 이용할 수 있도록 하는 보안 시스템
중앙집중형 관리 시스템

DRM digital rights management
디지털 컨텐츠를 보호하는 목적으로 암호화 기술을 이용해 컨텐츠 저작권을 보호하는 시스템
- 워터마킹
- 핑거 프린트
- DOI

*Watering hole
APT 공격 중 하나로, 신뢰하는 사이트에 악성코드를 유포하고 특정 사용자가 접속했을 때 악성코드를 배포하는 공격

디지털 포렌식
디지털 기기를 대상으로 발생하는 행위에 대해 법적 증거를 만드는 행위
원칙
-정당성 원칙:위법수집을 안 썼는지
-재현원칙 : 재현해도 일치하는가
-신속성 원칙
-절차 연속성 원칙
-무결성 원칙: 증거에 대해 위변조가 없었는지

휘발성 데이터
: 램슬랙 영역, 램 비할당영역, 네트워크 설정값, 네트워크 연결정보, 실행중인 프로세스, 열려진 파일, 로그인 세션, os시간
비휘발성 데이터
:로그, 어플리케이션 파일, 데이터 파일, 덤프/swap파일, 임시파일

로드카르 법칙
두 개체간 접촉에는 반드시 흔적이 남는다.


디지털 포렌식 절차
1. 준비
2. 획득
3. 이송
4. 분석
5. 증거분석서 작성
6. 보관

디지털 포렌식 도구 : FTK, Encase


정보보호 3요소
-기밀성 : 허가되지 않은 사용자가 정보를 볼 수 없도록 암호화하는 것
-무결성 : 허가되지 않은 사용자가 정보를 임의로 수정하지 않도록 보장하는 것
무결성 확인법 = 해시 함수 사용. 원본의 해시값을 저장해두고 보관했다가 무결성확인을 했을 때 기존 해시값과 비교함
-가용성 : 허가된 사용자가 언제든 정보에 접근하거나 사용할 수 있도록 보장하는 것

정보보호 공격유형 (4)
변조 :정보를 바꾸는 행위 (무결성 위협)
가로채기 : 도청 중간에서 열람 (기밀성 위협)
차단 : 정보에 접근할 수 없도록 막음 (가용성 위협)
위조 : 변조해서 상대방을 속이는 행위

*랜섬웨어
: 피해자의 파일을 암호화해서 금품을 요구하고 협박하는 공격 기법

정보 접근 단계
1. 식별 :ID를 통해서 사용자를 구분한다.
2. 인증 : 패스워드를 통해 허가 가능한 사용자임을 확인한다.
3. 인가 : 접근 권한 부여

대칭키 암호화
암호화 키와 복호화 키가 동일함.
대칭키 = 비밀키 = 세션키 
특징 : 암호화와 복호화 속도가 빠르다. 대용량 데이터 암호화에 적합하다.
      무결성, 인증 보장못함.

대칭키 암호화 종류
스트림 암호 : 비트나 바이트 단위로 암호화   (RC4 OTP)
블록 암호 : 블록 단위로 암호화 (DES, AES)


공개키 암호화
공개키와 개인키 2개 암호화키 사용.
공개키로 암호화하여 전송하고, 개인키로 복호화 
특징 : 기밀성, 인증 , 부인방지 보장. 암호화 속도 느림, 암호화 키 길이 김

공개키 암호화 종류
RSA DSA ECC

인증
-지식기반 인증 : 패스워드 
-소유기반 인증 : 스마트카드
-존재(생체)기반 인증 
-행동기반 인증 : 서명, 키스트로크(키 입력), 마우스 움직임, 음성인식
-커버로스 인증 : 대칭키 암호화 기법의 티켓기반 인증 프로토콜

PKI public key infra
공인인증의 구조

DES
64비트 블록 크기로 xor연산 및 치환 기법등을 이용한 암호화 알고리즘
S-box
P-box

AES 
128비트 블록 크기

디피헬먼 키 교환 알고리즘
공개키와 비밀키 둘을 사용하는 알고리즘으로, 중간자 공격에 취약하다.

해시함수
일방향 암호기술
항상 고정된 길이의 해시값을 통해 위변조 파악
같은 입력값에는 항상 똑같은 해시값을 내지만, 조금이라도 입력값이 달라지면 해시값이 달라짐

 

 

 

 

 

 

+ Recent posts