국내에서 사이버보안 위협이 고조되거나 해킹 징후가 발견될 때마다 국가사이버안전센터에서는 사이버위기경보를 발령한다.

 

□ 경보 단계

 

정상 < 관심 < 주의 < 경계 < 심각 순으로 정부가 상황에 따라 경보 수준을 조정한다

 

정상 단계

(1) 정상

  • 국내 민간 분야 인터넷 정상 소통
  • 인터넷 소통 및 사용에 지장이 없는 웜/바이러스 등 악성코드 출현 탐지, 신규 보안 취약점 또는 해킹 기법 등 발표
  • 위험도가 낮은 국지성 이상 트래픽 발생 가능성 존재
경보 단계

(2) 관심

  • 위험도가 높은 웜ㆍ바이러스, 취약점 및 해킹 기법 출현으로 인해 피해 발생 가능성 증가
  • 해외 사이버 공격 피해가 확산되어 국내 유입 우려
  • 침해 사고가 일부 기관에서 발생
  • 국내ㆍ외 정치ㆍ굿나적 위기 상황 조성 등 사이버 안보 위해 가능성 증가

(3) 주의

  • 일부 정보통신망 및 정보시스템 장애
  • 침해사고가 다수 기관으로 확산될 가능성 증가
  • 국내ㆍ외 정치ㆍ군사적 위기 발생 등 사이버안보 위해 가능성 고조

(4) 경계

  • 복수 정보통신서비스제공자(ISP) 망ㆍ기간통신망에 장애 또는 마비
  • 침해사고가 다수 기관에서 발생했거나 대규모 피해 확대될 가능성 증가

(5) 심각

  • 국가 차원의 주요 정보통신망 및 정보시스템 장애 또는 마비
  • 침해사고가 전국적으로 발생했거나 피해 범위가 대규모인 사고 발생

 

 

□ 경보 단계 조정 사례

  • 북한 정찰총국 소행으로 알려진 3.20 사이버테러는 2013년 당시 전 국민을 떠들썩하게 만든 대형 사이버테러 사건 당시, 2013년 3월 20일 15:00부로 사이버위기 경보를 '관심' 에서 '주의'로 상향 조정
  • 2009년, 7.7 DDoS 공격 당시 '주의'경보 발령


관련 링크 : https://www.krcert.or.kr/cyber/warningLevel.do / 인터넷보호나라

 

 

사용자 관리는 리눅스 시스템 관리에서 중요한 일이다. 사용자 관리에 관련해서 많은 면이 있는데 강력한 비밀번호 정책이 그중에 하나다. 비밀번호를 강력하게 유지한다면 비인가자의 시스템 접근을 막을 수 있다. 리눅스의 디폴트 정책은 이미 안전하다고 할수 있지만, 조금 더 안전하도록 더 변경할 필요가 있다. (pwgen)

/etc/login.defs

기본(default) 비밀번호 항목을 지정하는 파일이다. 

  • PASS_MAX_DAYS : 비밀번호를 사용할 수 있는 최대 일 수
  • PASS_MIN_DAYS : 비밀번호를 바꾸는 사이의 최소 일 수
  • PASS_MIN_LEN : 비밀번호 최소 길이
  • PASS_WARN_AGE : 비밀번호 만료 전 경고 하는 날의 수

 

etc/pam.d/system-auth

PAM (Plaggable Authentication Module) 모듈을 사용해서 인증할 때 참조된다. 아래와 같이 설정 할 수 있다

password	requisite	pam_cracklib.so try_first_pass retry=4 minlen=12
  • difok : 새로운 암호와 이전 암호의 유사성 (기본값은 10 또는 암호 크기의 1/2 중 작은 값)
  • retry: 새 패스워드를 물어보는 횟수
  • unlock_time: 실패한 접근 후에 몇초 후에 접근을 허용할지에 대한 설정, 사용자가 특정 최대 횟수의 로그인 시도를 실패 한 후 계정이 잠귀었을 때 사용한다
  • deny: 몇번의 계정 접근 실패를 허용 할 지 여부, n번 패스워드 실패시 계정 잠금을 한다.
  • reset: 실패 횟수 안에서 로그인 하면 기존의 실패 횟수를 재설정 할 지 여부
  • no magic root: root 패스워드 실패시 횟수 기록만 하고 실제로 계정을 잠그지 않음
  • minlen: 새 패스워드의 최소 크기에 1을 더한 크기이다. 새 패스워드에 사용된 문자열의 길이 외에 각 문자 종류(숫자, 대문자, 소문자, 특수문자)를 사용한 것에 대해 각각 크레디트를 준다.
    ( 예 : minlen=12 일 경우, abcdefg01! (10자) 가 허용 된다. 왜냐면, 소문자 사용 1크레딧, 숫자 사용 1크래딧, 특수문자 사용 1크레딧을 얻었으므로, 총 문자의 길이는 12-3=9 자 이상이면 가능하다)
  • dcredit: 숫자가 가질수 있는 크레디트의 값의 최대값, 만약 패스워드에 N개 이하의 숫자를 사용했다면 사용된 숫자의 개수가 현재 정의된 minlen 값을 계산하는데 크레디트 값으로 적용한다. / 0보다 작을 경우, 비밀번호에 포함하여야 하는 숫자 문자의 수를 의미한다 (디폴트 : 1)
  • ucredit: 대문자가 가질수 있는 크레디트 값의 최대 값
  • lcredit: 소문자가 가질수 있는 크레디트 값의 최대 값
  • ocredit: 특수문자(앞서 정의된 숫자, 대문자 소문자를 제외한 나머지 문자)가 가질수 있는 크레디트 값의 최대 값 (각 항목에 -1을 주면 해당하는 문자를 포함시켜야 함)

 

credit의 계산 방법

//크레딧 계산하는 수도 코드
if (N > 0) :
    totalCredit += min(dcredit, len(password_digit)) 
if (N < 0) :  
    if (-credit < len(password_ditig) 
    	: return false
    totalCredit += min(-dcredit , len(password_ditig)); 

 

ACK 스캔 이란?

  • ACK 패킷을 이용한 스캔
  • 포트가 열려 있는지를 판단하는 것이 아니라, 스캐너와 스캔 대상 시스템 사이에 설치된 방화벽의 종류 판단 목적이다 - 방화벽의 룰셋, 포트 필터링인지 상태 기반 필터링인지를 판단한다 
  • 스탤스 스캔 (stealth scan) 의 한종류다

스캔 결과

  1. 스캔이 필터링 되지 않았을 경우 (unfiltered)
    • 열린 포트와 닫힌 포트 모두 RST 패킷을 반환한다
    • 열림, 닫힘 상태를 의미 하지 않는다
  2. 스캔이 필터링 되었을 경우 (filtered)
    • 응답하지 않거나, ICMP 애러 메시지를 돌려준다

ACK 패킷

  • ACK 스캔은 필터링 하기가 어렵다. ACK 패킷은 내부 호스트와 외부 호스트 중 어느 쪽이 접속을 시작하였는지 알기 어렵기 때문에, 네트워크 안으로 들어오는 SYN 패킷을 차단하기는 어렵기 때문이다.
  • 부적절한 ACK 패킷을 차단하고, 정당한 연결에 의한 ACK 패킷을 통과시키기 위해서, 방화벽은 반드시 성립된 모든 연결의 상태를 검사하여야 한다
  • 이런 상태기반 방화벽은 추가적인 리소스가 필요하고, 상태 기반 방화벽을 재시작하면 장비는 상태 정보를 잃고 성립된 연결들을 모두 종료하게 된다

 

상태기반 필터링

 

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
  • 리눅스 Netfilter/iptables 시스템은 --syn 옵션을 통해 상태 기반을 하지 않는 접근을 제공한다
  • 성립된 연결에 관련된 패킷만을 허용하겠다는 뜻이다
  • 특수 포트 6개를 제외 (22, 25, 53, 70, 80, 113) 하기 때문에 ACK 스캔으로 이 포트들에 대해서는 opne(22, 53, 80) 또는 닫힘(25, 70, 113)으로 분류 할 수 없다

관리 공유 : 관리 목적을 위한 기본 공유

 

net share 명령어를 통해 확인한 공유 리소스

 

  • 네트워크에 연결되어 있을 경우 윈도우 NT 계열 운영체제에 의해서 생성 되는 공유
  • 논리 하드 디스크의 숨겨진 공유다
  • 관리자와 컴퓨터 기술 지원자들은 네트워크에 연결된 컴퓨터에 접근하고 서비스를 관리할 필요가 있기 때문에,백업이나 프린터 설정과 같은 작업을 위한 원격접속을 위해 생성된다
  • 관리자 권한이 있어야지만 접근이 가능하다
  • 폴더 이름 뒤에 $가 붙은 것은 숨겨진 "관리 공유"라는 뜻이다

 

윈도우 관리 공유

  • ADMIN$ : 디폴트 시스템 루트 또는 윈도우 디렉토리에 대한 숨은 공유
  • C$ and x$ : 디폴트 드라이버 공유로 C$는 항상 기본으로 공유되어 있다.
  • FAX$ : 파일 서버의 커버 페이지와 다른 파일들에 접근하기 위해 팩스 클라이언트에 의해 사용되는 공유
  • IPC$ : 서버 서비스에 의해 유지 되는 숨겨진 공유
  • PRINT$ : 프린터들이 사용하는 공유

 

IPC$ 공유

  • 서버 서비스에 의해 생성, 유지 되는 숨겨진 공유로, 이 후의 서버로의 명명된 파이프 연결을 위해 존재 한다
  • RPC(Remote Procedure Call)을 사용한 프로세스간 통신에 사용되어, 클라이언트가 서버에 각기 다른 명령을 보낼 수 있도록 해준다 (공유 목록 리스팅, 사용자 리스팅, ..) 
  • 어떤 명령어들은 서버 설정에 따라 NULL 세션을 이용해서 익명으로 접근 할 수 있다.
  • 만약 명령어들이 익명으로 호출 될 수 없다면 클라이언트는 인증을 해야 한다. 클라이언트가 서버 계정에 맞는 적절한 자격을 제공하였다면 접근은 허용된다 ( 사용자명, 패스워드) 
    >> net use q: \\10.0.0.1\c$ [password] /user:[domain\]username
  • 명명된 파이프 : 파이프 서버와 하나 이상의 파이프 클라이언트 간의 프로세스 간 통신을 제공합니다. 로컬 컴퓨터에서 프로세스 간 통신을 제공하는 익명 파이프보다 많은 기능을 제공합니다. 명명된 파이프는 네트워크 및 다중 서버 인스턴스를 통한 양방향 통신, 메시지 기반 통신 및 연결 프로세스가 원격 서버에서 고유한 권한 집합을 사용할 수 있는 클라이언트 가장을 지원합니다.

 

net 명령

  • net share : 서버의 모든 공유 리소스 확인 또는 제거, 네트워크 사용자가 서버의 리소스를 사용할 수 있도록 만듭니다. 옵션 없이 사용되면 컴퓨터에서 공유하고 있는 모든 리소스에 대한 정보를 나열합니다. 각 리소스에 대해 장치 이름 또는 경로 이름, 이와 관련된 설명이 보고됩니다.
  • net user : 서버의 사용자 계정 확인 및 관리
  • net session : 서버에 현재 원격 로그인된 사용자 확인 또는 세션종료
  • net computer : 도메인 데이터베이스에서 컴퓨터를 추가하거나 삭제합니다.

 

 

참고 :

http://smallvoid.com/article/winnt-ipc-share.html
https://support.microsoft.com/en-us/help/3034016/ipc-share-and-null-session-behavior-in-windows
https://www.computerhope.com/jargon/h/hiddshar.htm

'정보보안' 카테고리의 다른 글

[리눅스(Linux)] 비밀번호(패스워드) 정책 설정  (0) 2019.11.22
[스텔스 스캔] ACK 스캔  (0) 2019.10.17
TCP 세션 하이제킹  (0) 2019.08.21
NAT (Network Address Translation)  (0) 2019.08.20
VPN과 IPSec  (0) 2019.08.19

TCP 세션 하이제킹 (TCP session hijacking) 이란?

tcp세션을 훔쳐서 서버에게 새로운 시퀀스 넘버를 보내서 마치 클라이언트 인척하며 연결을 이어나가는 공격 기법


공격 절차

  1. 공격자가 적절한 Sequnce Number를 획득하기 위해 스니핑을 한다. 
  2. 공격자는 공격하려는 시점에서 RST 패킷을 생성하여 서버에게 보낸다. 서버는 잠시 Closed 상태가 되지만, 클라이언트는 Established 상태다
    (Sequence Number는 40억개가 존재 하며 포트 번호는 6만개가 넘어, 이 조합을 맞출 확륙은 1/28조의 확률이다. 하지만 TCP 규칙과 리눅스 시스템 구현의 취약점을 이용한 공격이 가능하다)
  3. 공격자는 (새로운) Client_My_Seq를 생성해서 서버로 전송한다
  4. 서버는 새로운 Client_My_Seq를 받아들이고, Server_My_Seq를 재 생성해서 공격자에게 보낸 후 SYN_Received 상태가 된다
  5. 공격자는 정상적인 연결처럼 서버와 Sequence Number를 교환하고, 공격자와 서버 모두 Established 상태가 된다. 
    (원래의 클라이언트도 이 단계 까지도 Established 상태이며, 서버가 네트워크 문제로 인한 잠시 동안의 연결 문제처럼 받아들이며, 연결은 끊어졌지만 인증 세션은 열려 있는 상태이다.)
  6. 공격자는 공격전 클라이언트가 서버와 통신을 하던 Sequence Number를 모두 알고 있는 상태이므로 클라이언트와 정상적으로 통신을 하며, 서버와는 공격자가 새로 생성한 Sequnce Number를 가지고 통신을 한다. 

관련 개념

  • ACK Storm : 공격자가 서버와 연결을 끊고 다시 연결을 시도하는 동안 클라이언트는 정상적인 패킷을 서버로 보낸다. 하지만 서버는 정상적이지 않은 Sequnce Number로 인식하여 ACK 패킷에 Server_My_Seq가 자신의 Client_My_Seq와 다르다는 것을 확인하고, 서버에게 Client_My_Seq와 Client_Server_Seq가 담긴 ACK 패킷을 보낸다. 이러한 과정에서 무한히 반복된다.
  • 동기화 상태 : 서로의 Sequence Number를 올바르게 알고 있는 정상적인 상태. TCP 하이제킹이 일어날 경우 비동기 상태에 놓이게 된다
  • TCP 연결 종료 
    • TCP 는 신뢰성 있는 (메세지의 손실이 없다는 뜻) 프로토콜이기 때문에 메세지의 손실 없이 연결을 종료하는 프로토콜 절차가 필요함 
    • 예 : 두 사람이 전화 통화를 하고 있고, 두 사람의 목소리의 흐름(?)은 각자에게 전달된다. 때문에 한 사람이 전화를 끊기 전에 자신이 전한 모든 이야기가 모두 상대방에게 전달 되었는지 확인한 후 전화를 끊고자 한다. 때문에 "안녕!" 이라는 최종 말을 전한다. 이 뜻은 상대방에게 더이상 전할 말(데이터)가 없고 연결을 종료하고 싶다는 신호이다. 이 말을 전한 후, 상대가 남은 할 말을 다 한 후 "알겠다!" 라는 대답을 기다려 연결을 종료한다 
    • FIN, ACK를 사용한 우아한 종료(Graceful Shutdown)이 위의 경우
    • RST 를 사용한 종료의 경우는 강제적인 종료다
  • TCP RST 패킷
    • 강제적인 종료 : 포트가 수신중(Listening) 이 아니거나, 현재 과부하(overloading) 상태라는 신호
    • SEQ 필드에 의해서 유효성 검사를 수행해서, 유효할 경우에 연결을 종료한다.
    • 수신자의 상태에 따라 LISTEN 혹은 CLOSED 상태로 전이한다
 <Reset Processing >

  In all states except SYN-SENT, all reset (RST) segments are validated 

  by checking their SEQ-fields.  A reset is valid if its sequence number 
  is in the window.  In the SYN-SENT state (a RST received in response 
  to an initial SYN), the RST is acceptable if the ACK field 
  acknowledges the SYN. 

  The receiver of a RST first validates it, then changes state.  If the 
  receiver was in the LISTEN state, it ignores it.  If the receiver was 
  in SYN-RECEIVED state and had previously been in the LISTEN state, 
  then the receiver returns to the LISTEN state, otherwise the receiver 
  aborts the connection and goes to the CLOSED state.  If the receiver 
  was in any other state, it aborts the connection and advises the user 
  and goes to the CLOSED state. 


보안대책  

  • 패킷 유실 및 재전송 증가를 탐지한다. 

  • 네트워크 트래픽을 감시하여 ACK Storm을 탐지한다. 

  • 데이터 전송시에 암호화 방식을 사용한다. 스니핑이 어렵고 Sequnce Number를 추측하기 어렵게 된다 

  • 지속적인 인증을 통해, 시스템이 로그인 시 패스워드를 한번 입력하고 난 뒤에 일정 시간 후 다시 재인증을 하도록 한다. 

'정보보안' 카테고리의 다른 글

[스텔스 스캔] ACK 스캔  (0) 2019.10.17
[윈도우] 윈도우 운영체제의 관리 공유 (Administrative shares)  (0) 2019.10.08
NAT (Network Address Translation)  (0) 2019.08.20
VPN과 IPSec  (0) 2019.08.19
VoIP 서비스와 공격  (0) 2019.08.16

NAT(Network Address Translation)

  • 외부 인터넷 망에 접속되는 공인 IP(OCANN에서 관리) 하나를 내부의 다수 사설 IP로 맵핑하여, 공인 IP하나로 다수의 단말기가 인터넷을 사용할 수 있도록 해주는 기능
  • IPv4의 네트워크 주소 부족 해결을 위한 대표적인 방법중 하나
  • 외부망으로부터 내부의 네트워크 구성 정보를 은닉시켜주는 역할도 함
  • NAT 기능을 하는 라우터가 외부 네트웍과 내부 네트웍 경계에서 공인IP - 사설 IP 변환 및 맵핑 기능을 수행하게 되고, 실제 내부에서 사용하는 사설 IP사용자는 마치 공인 IP를 부여받은 것 처럼 인터넷 사용이 가능함
  • 10.0.0.0~10.255.255.255, 172.16.0.0~172.31.255.255, 192.168.0.0~192.168.255.255 등 별도의 클래스로 관리하여 할당하도록 권고

NAT의 종류

  1. Dynamic NAT
    • 사설 IP 그룹을 공인 IP 주소 pool로 변환시킨다.
    • 사설 IP를 가진 장비가 외부와 통신을 하는 경우에만 변환이 발생
    • 기본 3분 후에 변환이 해재, Dynamic NAT 변환 타이머 조정시 timeout xlate 명령어를 사용
  2. Static NAT
    • 사설 IP와 공인 IP를 1:1로 변환
  3. Policy NAT
    • ACL을 통해 출발지와 목적지 주소에 따라 변환이 일어나게 하는 방식 (일반적인 NAT는 출발지 주소만 확인하고 변환)
    • 각각 다른 목적지에 따라 각각 다른 공인 IP 주소로 변환이 가능하다
  4. Bypass NAT
    • NAT에 해당하지 않는 패킷들은 그냥 라우팅한다.

'정보보안' 카테고리의 다른 글

[윈도우] 윈도우 운영체제의 관리 공유 (Administrative shares)  (0) 2019.10.08
TCP 세션 하이제킹  (0) 2019.08.21
VPN과 IPSec  (0) 2019.08.19
VoIP 서비스와 공격  (0) 2019.08.16
httpd.config 파일  (0) 2019.07.24

1. VPN

VPN (Virtual Private Network, 가상사설망) 이란?

  • 공중망 인프라를 공유하여 구축된 가상 사설망
  • 장점 : 경제적 (공중 네트워크를 공유함)
  • 단점 : 보안성이 다소 취약하고, QoS(서비스 품질)이 부족
  • 사이버 보안 위협으로 인한 정보의 유출, 변조, 도용 등의 보안상의 문제점 때문에 많은 기관, 업체는 별도의 회선으로 전용망을 운영하지만 전용망은 보안상의 문제는 해결하지만 구축비용과 확장성의 한계가 존재
    → 기존 인터넷망을 사용하여 저렴한 비용으로 전용망을 구축할 수 있다
  • VPN의 핵심 기술은 이터넷 상의 가상 경로를 설정하는 터널링 기술과 터널을 외부와 단절하고 안정성 보장을 위한 암호화/인증 기술, 암호화를 위한 키관리 기술

 

VPN 프로토콜

  • PPTP, L2TP, IPSec, SSL, SOCK V5등이 사용
  • 근래에는 IPSec VPN과 SSL VPN이 많이 쓰인다

 

VPN 기본 타입

  • Remote Access (원격 접속) : 네트워크 제공자의 공유 네트워크를 통한 모바일 사용자, 재택 근무자 등과 회사 랜의 연결의 보안을 제공한다
  • Site-to-Site (사이트 간) : 인트라넷과 엑스트라넷 / 본사와 지사 등 LAN 사이의 연결을 공유 네트워크를 통해 할 수 있다. 

 

2. IPSec VPN

IPSec

  • 국제 인터넷 표준 기구인 IETF(Internet Engineering Task Force) 에서 개발된 오픈 표준 집합 프레임 워크
  • 보안 프로토콜로 스푸핑이나 스니핑 공격에 취약한 IP프로토콜의 보안상 문제점을 해결하고 네트워크 계층에서의 보안성을 보장하기 위한 목적으로 개발되었다
  • IPSec는 네트워크 계층에서 동작하며 IP기반의 모든 애플리케이션과 호환된다
  • 데이터 기밀성, 데이터 무결성, 데이터 인증을 제공한다

 

운영모드

  1. 터널모드
    • 보안 게이트웨이 (VPN 장비) 가 있는 경우에 사용된다
  2. 전송모드
    • IPSec 프로토콜을 사용한 클라이언트 간의 통신에 많이 사용

 

구성요소

  1. AH 헤더 (Authoritication Header)
    • 인증 처리
    • 인증과 무결성
    • MD5, SHA1 등의 알고리즘을 이용
  2. ESP 헤더 (Encapsulation Security Payload) : 암호화 처리
    • 데이터의 도청을 방지하고 데이터의 기밀성을 보장
    • 암호화 알고리즘ㅇ을 사용
  3. IKE (Internet Key Exchange)
    • 암호화 키를 관리하기 위한 키 관리 부분
    • ISAKMP (Internet Security Association & Key Management Protocal)을 기반으로 Oakley 키 알고리즘을 결합해서 SA의 협상과 키 교환 매커니즘을 제공하기 위해 제안한 표준 프로토콜 

 

VPN 터널을 이해 하기 위한 3가지 컨셉

  1. 키 관리 터널 (IKE 터널) : IKE 프로토콜을 사용함, 종단을 인증하고, 데이터 터널을 성립하기 전에 보안 정책의 구성을 협상한다 
  2. 데이터 관리 터널 (IPSEC 터널): 데이터 트레픽의 보안, AH와 ESP를 사용한다
    • 키 관리 터널에 의해 자동으로 수립되거나 수동으로 수립된다
    • 터널모드 : 종단의 인증과 데이터 기밀성을 모두 제공함. IP 패킷 전체를 보호하고, 이 위에 새로운 IP헤더를 추가하는 방식
    • 전송모드 : 데이터의 보호만 제공한다. 원래의 IP헤더를 대부분 그대로 이용한다
  3. 보안 연결(SA) : 터널의 인증과 암호화를 위한 보안 파라미터의 집합. 각 종단점은 각 SA에 SPI라고 하는 유일한 식별자를 할당한다
    • 키 관리 터널은 트레픽의 양쪽 방향의  하나의 SA를 사용한다.
    • 데이터 관리 터널은 각 트레픽 방향의 최소 하나의의 SA를 사용한다. 

VPN 전송모드 별 패킷 구조

 

 

3. SSL VPN

SSL

  • SSL 이란 서버와 클라이언트 간의 종간 간 안전한 통신을 위해 Netscape에서 고안된 전송 계층의 보안 프로토콜로 TCP상의 응용 프로토콜에 대한 안전한 통신을 제공한다
  • SSL VPN은 기존 IPSec의 클라이언트 프로그램을 설치하여 통신하는 방식이 아닌 표준 웹 브라우저에 내장된 SSL을 활용해 언제 어디서나 손쉽게 인터넷을 통한 VPN 접속이 가능하다는 장점으로 인해 Remote Access VPN에 많이 쓰인다
  • SSL의 동작 원래 3단계
    1. 서버 인증 단계 : 사용자 클라이언트가 서버에 대해 인증하는 단계
    2. 클라이언트 인증단계 : 서버가 클라이언트를 인증하는 단계
    3. 암호화 통신 단계 : 인증이 끝난 후 키교환이 이루어지며 암호화 통신을 시작하는 단계


동작 방식

  • 프록시 방식 : SSL VPN(장비)가 프록시 서버 역할을 하며 클라이언트와 서버 사이를 중계해, 로그인 처리 시간이 터널 방식보다 빠르다
  • 터널 방식 : 가상 클라이언트 IP를 할당하여 외부로부터 IP 해더를 보호하여 통신한다

 

VPN 관련 용어

  • 3DES : 56비트 프라이빗 키를 사용해서 64바이트의 데이트 블록을 생성하는 데이터 암호화 표준. 미국에서만 사용된다
  • AH : IPSec 패키지에 구성요소로, 기본 데이터 인증을 제공한다
  • CA : 디지털 인증을 제공하는 서비스 제공 기관/서버. 이에 속한 클라이언트가 신원을 등록하고, 증명하여 통신에 사용할 수 있도록 함 (Certification Authority)
  • CBC : 데이터 암호화를 제공하는 암호화 모드로, AH, ESP를 사용한 인증에 사용된다 (Cipher Block Chaining)
  • DES : 56비트 키를 사용해서 64바이트 데이트 블로을 암호화 하는 데이터 암호화 표준 기술
  • DH : 두 기기가 안전하게 키를 공유할 수 있는 프로토콜. 이산대수의 난해함을 이용하였다 (Diffie-Hellman Key Exchange)
  • ESP : 암호화, 인증을 위한 터널링 서비스를 제공하는 프로토콜
  • HMAC : 암호화의 해시를 사용하여 메세지 인증을 제공하는 기술(Hashed Message Authentication Code)
  • IKE : IPSec 연결의 협상, 수립, 유지, 해제를 제어하는 프로토콜 (Internet Key Exchange), AH헤더 및 ESP 헤더와는 독립된 것이다
  • IPSec : 인터넷 등과 같은 보호되지 않은 네트워크를 통한 연결의 데이터 기밀성, 데이터 무결성, 데이터 근원지 인증을 제공하는 공개 표준의 프레임워크
  • ISAKMP : 두 장치 간에 보안 매개 변수를 교환할 수 있는 일반 프로토콜, 인증 및 키 교환 메커니즘을 독립적으로 수행 가능하게 하는 구조를 제시한다, IPSec의 일부로써 사용되어지면 RFC2408에 규정되어있음, IKE 키 교환을 실행하기 위한 메세지 형식 및 전달 방법을 정의하기 위해 설계됨  (Internet Security Association and Key Management Protocol)
  • L2F 
  • L2TP : VPN을 위한 IETF 표준 터널링 프로토콜로, PPP 트레픽을 LAN 또는 공개 네트워크로 터널링하도록 설계되었다
  • LAC : L2TP 가 터널을 구축하게되는, 대개는 물리적인 회선의 종단 서버 또는 장치 (L2TP Accesss Concentrator)
  • MAC : 메세지의 인증을 검증하기 위한 메세지 보안 체크섬
  • MD5 : 데이터 무결성을 위해 메세지 압축, 축약, 다이제스트를 하는 해쉬 알고리즘, 임의 길이의 입력 메시지를 특정 고정 크기의 블럭으로 변환한다 (예 : hi there~ --> 374a8ef07537c59aba6dfcdb2e6ba838 )
  • NAS : 망 접근을 허용하는 집중화 관리 장치, 일반적으로 터미널 에뮬레이션 소프트웨어를 통한 다수의 비동기 장치들을 네트워크에 접속시키는 역할을 하는 모뎀 풀 서버를 말함, 인터넷 접속 허용에 따른 주요 수행 기능은 1. 원격 단말에서 ppp연결 링크의 종단 역할을 수행(주로 망 사업자의 장차), 2.인증 수행(NAS에서 집접 수행하거나, RADIUS 서버를 이용하여 수행) 3. 유동 IP주소 할당(NAS에서 직접 수행하거나, DHCP 서버를 이용하여 수행), 4. PPP접속 수행 완료후 망계층 라우터로써 기능을 수행 (Network Access Server)
  • PPP : 점대점 데이터링크를 통해 3계층 프로토콜들을 캡슐화시켜 전송하는 프로토콜, 주로 IP전송 위주이나, 그위에 여러 3계층 프로토콜의 복합 전송도 가능하다 (Point to Point Protocol)
  • PNS : Device able to terminate PPTP tunnels from a PAC and terminate PPP sessions to remote systems through
    PPTP data sessions. (PPTP Network Server)
  • PAC : 원격 시스템과의 통신을 종료하고, 원격 시스템과 PNS 와의 PPP 세션을 종료할 수 있는 디바이스  (PPTP Access Concentrator)
  • PPTP : L2TP와 같은 2계층을 위한 마이크로소프트 프로토콜
  • SA : 데이터의 안전한 전달을 위해 통신의 쌍방 간의 약속 / 암호 알고리즘, 키 교환 방법, 암호화 키 교환 주기 등에 대한 합의(Security Association, 보안 연합, 보안 연관)
  • SHA : 메세지 인증을 제공하는 강력한 알고리즘 (Secure Hash Algorithm)
  • SPI : 특정 보안 연결을 유일하게 식별하기 위해 IP주소와 보안 프로토콜과 함께 사용되는 일련의 번호 / 목적지 IP 주소와 ESP를 조합하여 데이터 그램에 대한 SA를 식별하게 해주는 32비트 값 (Security Paremter Index)

'정보보안' 카테고리의 다른 글

[윈도우] 윈도우 운영체제의 관리 공유 (Administrative shares)  (0) 2019.10.08
TCP 세션 하이제킹  (0) 2019.08.21
NAT (Network Address Translation)  (0) 2019.08.20
VoIP 서비스와 공격  (0) 2019.08.16
httpd.config 파일  (0) 2019.07.24

VoIP 
: 전화를 인터넷을 통하여 할수 있게 하는 기술 

 

관련 기술(프로토콜)

  1. SIP (Session Initiation Protocol) 
    - IETF 에서 제안한 시그널링 프로토콜 
    - 초기 접속을 설정하기 위한 프로토콜로, 멀티미디어 세션의 생성과 수정, 종료를 위한 시그널링 프로토콜 
    - HTTP 와 같은 텍스트 기반의 인코딩 기법을 사용하여 개발이 용이하고 확장성과 유연성이 뛰어난 장점이 있음 
  2. RTP(Real-time Transport Protocol) - 오디오나 비디오 같은 실시간 데이터를 전송하기 위한 인터넷 프로토콜
    - H.323 호출 셋업과 제어 프로세스가 완료된 후에, 오디오 패킷과 비디오 패킷이 UDP를 통하여 보내질 때 스트림 형 오디오와 비디오를 지원하기 위하여, RTP 헤더를 요청하며, RTP 헤더는 타임 스탬프와 시퀀스 번호가 들어있으므로, 수신 장치는 패킷을 동기화 하여 연속적인 사운드 스트림을 재생하므로써 지터와 레이턴시를 제거하는데 필요한 만큼 버퍼를 처리 할 수 있다 
  3. RTCP 
    - RTP를 제어하는데 사용하는 프로토콜 

VoIP 서비스에 대한 공격

  1. SIP Flooding 공격 : SIP 메시지를 대량으로 보내어 VoLP 사용자나 사업자가 정상적인 서비스를 이용 혹은 제공하지 못하게 하는 것
    • Register 플러딩 공격 : 사용자가 서버 사용을 못하게 한다. 계속된 Register 요청은 프락시 서버 및 Register 의 시스템 자원을 고갈 시킴
    • INVITE 플러딩 공격 : 수신자의 전화기가 불통이 될 뿐만 아니라 전화벨이 계속 올리는 상황이 발생
  2. RTP 플러딩 공격 : SIP를 이용한 초기 호 접속 설정 관련 Signal을 두 사용자간 상호 교환한 후 실질적으로 음성 및 비디오 등 media 전송에 관련 있는 RPT패킷을 이용한 방법
    • Cancel 공격 : 두 사용자간의 동신이 이루어지기 위한 세션 요청으로 INVITE 메세지 혹은 이전에 요청을 했었던 Request message에 대한 취소를 하기 위해서 사용자는 Cancel 메세지를 요청하게 된다. 공격자는 공격 대상(Victim A)이 세션을 설정을 요청할 경우 공격대상(Victim B)에 대한 200 OK 응답 메시지를 받기 전에 위조된 Cancel 메세지를 보내게 되어 정상적인 통신이 이루어지지 못하게 하는 공격유형 (간단하게, A가 B에게 전화를 걸려 하는데 중간에서 스니핑 한 후 A대신 B에게 취소 통보를 해버린다)
    • Bye 공격 : 공격자가 합법적인 사용자의 INVATE 메세지를 스니핑 하여 To/From Tag, Call-ID 등 규격에 맞는 위조 BYE 메세지를 생성한 후 두 사용자 간의 정상적인 호 세션이 이루어졌을 경우 공격자는 SIP의 위조된 BYE 메세지를 임의의 공격대산 (Viotim A)에게 요청을 하여 현재 이루어 지고 있는 통화를 강제적으로 종료시키는 공격 유형 (A와 B가 전화를 하는 중간에 취소 통보를 대신 해버린다)
    • 스푸핑 공격 : 발신자의 IP나 URI를 변조하여 공격자의 신분을 숨기거나 변조하는 것, 사실 이 공격은 IP를 사용하는 모든 서비스에 위협을 준다.
  3. 비정상 메세지 공격
    • SIP의 헤더와 바디 내용이 일반 문자로 되어 있다는 점을 이용하여 다른 문자들로 삽입, 변조 혹은 삭제 하는 공격
    • 엄청난 수의 공백 문자를 넣어 오버플로우 예외를 발생시킨다거나 특수문자를 넣어 이에 대응하지 못하는 VoIP 서비스의 오작동을 유발할 수 있다


'정보보안' 카테고리의 다른 글

[윈도우] 윈도우 운영체제의 관리 공유 (Administrative shares)  (0) 2019.10.08
TCP 세션 하이제킹  (0) 2019.08.21
NAT (Network Address Translation)  (0) 2019.08.20
VPN과 IPSec  (0) 2019.08.19
httpd.config 파일  (0) 2019.07.24

+ Recent posts