결합도 : 모듈간의 상호 의존 정도

(1. 낮다 ~ 6. 높다 / 낮을수록 바람직함)

  1. 데이터 결합 : 데이터를 매개 변수로 전달함으로써 모듈 들이 소통 ( : 정수나 실수나 문자 등을 전달하는 )
  2. 스탬프 결합 : 레코드, 구조체 또는 객체와 같은 복합 자료를 이용하여 소통하는 경우
  3. 제어결합 : 모듈의 데이터가 다른 모듈의 실행 순서를 결정하기 위해 전달되는 경우
  4. 외부 결합 : 모듈들이 소프트웨어 외부의 환경에 좌우되는 경우 (외부에서 정한 포맷, 프로토콜 사용)
  5. 공통 결합 : 전역 변수를 공유
  6. 내용 결합 : 모듈이 코드를 공유하는 경우 ( : 모듀에서 분기가 다른 모듈로 떨어지는 경우로, 모듈이 다른 모듈의 내부 작업을 직접 참조하는 경우)

 

응집력 : 하나의 모듈이 가지는 기능적 집중성에 관한 척도

(1. 높다 ~ 7.낮다 / 높을수록 바람직함)

  1. 기능적 응집력 : 모듈을 구성하는 요소들이 단일 기능을 수행하기 위해 협력
  2. 순차적 응집력 : 모듈을 구성하는 요소의 축력이 다음 요소의 입력이되며 순차적으로 구성
  3. 통신 응집력. 모듈이 수행하는 모든 기능들이 같은 자류구조를 참조하거나 수정하는 경우. ( : 하나의 배열이나 스택을 조작하도록 정의된 기능 집합)
  4. 절차적 응집력 : 모듈이 가지는 기능들이 순서에 의해서 처리되는 경우 ( : 메시지를 디코딩 하기 위해 일련의 순차적 과정을 수행하는 경우)
  5. 시간적 응집력 : 같은 시간 주기에 실행되어야 하는 기능들을 개는 모듈 ( : 초기화 또는 종료를 위한 기능들을 수행하는 모듈)
  6. 논리적 응집력 : 모듈의 구성요소들이 유사한 기능을 수행하는 경우  ( : 오류처리, 자료입력, 자료 출력 ) 
  7. 우연적 응집력 : 연관성이 매우 떨어지는 작업들을 수행하는 모듈들은 우연적 응집력을 가짐

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

레지스터

  • PC (프로그램 카운터) : 패치 해야 하는 다음 명령의 메모리주소를 포함한다
  • 스택포인터 : 메모리에 있는 현 스택의 최상위를 가리킨다, 아직 종료하지않음 프로시저 별로 하나의 프레임을 갖는다
  • PCW (Program Status Word) : 비교 연산자들에 의해 설정되는 조건 코드 비트들, CPU의 우선순위, 모드(사용자 또는 커널) 그리고 다른 각종 제어비트들이 있다 사용자 프로그램은 PSW의 전체를읽을 수 있으나 몇몇 필드에만 쓰기를 할 수 있다. 시스템 호출이나 I/O에 중요한 역할을 한다

커널

  • 트랩 :사용자 모드에서 커널 모드로 변환을 일으키며 운영체제를 시작하는 명령어, 일이 완료되면 제어권은 사용자 프로그램으로 돌아오며, 시스템 호출을 요청한 명령 바로 다음 명령이 수행된다.
  • 트랩 명령의 종류
    1. 시스템 호출 : 운영체제로부터 서비스를 받으려면 사용자 프로그램은 커널로 트랩을 걸어서 운영체제를 활용하도록 하는 시스템 호출을 요청해야 한다. I/O나 메모리 보호와 관련된 명령은 사용자 모드에서 허용되지 않기 때문에 시스템 호출을 통해 운영체제에 요청한다.
    2. 다른 트랩 명령들 : 대부분은 0으로 나누기나 부동소수점 연산의 언더플로우 현상과 같은 특별한 상황을 알리기 위해 하드웨어에서 일으키는 것들이다. 이 모든 경우에 운영체제가 제어권을 획득하고 트랩의 원인에 따라 어떤 일을 해야 할지를 결정하게 된다.어떤 때는 오류와 함께 프로그램을 강제로 종료할 경우도 있다. 어떤 때에는 오류를 그냥 무시하는 경우도 있다.

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

[경제일반시사용어]
* 가산금리 : 기준금리에 신용도 등의 조건에 따라 덧붙이는 금리
* 국가채무 : 국가가 직접적으로 갚을 의무가 있는 확정채무
* 국부펀드 : 정부가 외환보유액의 일부를 투자용으로 출자해 만든 펀드 (중앙은행이 관리하는 외환보유고와는 달리)
* 근로장려세제 : 일정액 이하의 저소득 근로자 또는 사업자(전문직 제외) 가구에 대하여 가구원 구성과 총급여액 등에 따라 산정된 근로장려금을 지급함으로써 근로를 장려하고 실질소득을 지원하는 근로연계형 소득지원 제도
* 글로벌 불균형Global Imbalance : 중국, 한국, 일본 등 아시아 국가들과 중동 산유국들이 미국과의 무역에서 대규모 흑자를 기록하고, 미국 등 수입국은 대규모 경상수지 적자가 누적되는 형상
* 기저효과Base Effect  : 경제지표를 평가하는 과정에서 기준시점과 비교시점의 상대적인 수치에 따라 그 결과에 큰 차이가 나타나는 현상
* 기축통화 : 국제외환시장에서 금융거래 또는 국제결제의 중심이 되는 통화
* 내국민 대우 : 외국제품 및 제품 공급자가 국내시장에서 국내제품 및 제품 공급자보다 열악하지 않은 대우보장을 추구한다는 것으로서 과거에는 "역내 동등 대우(Inland Parity)"라고도 불렀다. 
* 내부거래 : 
* 내부자거래 :
* 네덜란드병 :
* 대차대조표불황 :부채가 증가하고, 자산가격이 하락하면서 가계와 기업이 부채 상환에 집중하다가 발생하는 경기침체 현상을 이른다. 여기서 대차대조표는 손익계산서, 현금흐름표와 더불어 3대 재무제표(financial statement) 중 하나로 자산과 이를 구입하기 위해 투입한 자본 및 부채를 좌우로 나눠 표로 정리한 것이다. 예컨대 가계, 기업, 정부 등 경제 주체들은 빚이 증가하면 이를 갚으려는 노력을 하게 되는데, 이로 인해 소비와 투자가 감소하면서 불황이 발생한다. 즉, 대차대조표를 맞추기 위한 부채 축소가 「소비ㆍ투자 감소 → 내수 부진 → 자산가격 추가 하락 → 부채 추가 축소 → 소비ㆍ투자 추가 감소 → 경기불황」이라는 악순환으로 이어지는 것이다.
* 루이스전환점 :
* 리베이트 : 지불대금이나 이자의 일부 상당액을 지불인에게 되돌려주는 일 또는 그 돈. 대금 ·요금 자체를 감액하는 것은 에누리 ·할인이며, 리베이트는 대금의 지급 수령 후 별도로 이루어진다. 단골거래처와의 거래가 일정금액을 넘었을 경우 또는 특별한 판매활동을 하였거나, 판매 서비스를 하였을 경우 등에 리베이트 지급이 적용된다.
* 리쇼어링 :
* 모라토리엄 (Moratorium): 국가나 지방자치단체(지자체)가 외부에서 빌린 돈에 대해 일방적으로 만기에 상환을 미루는 행위를 통칭한다. 라틴어로 `Morari'는 `지체하다'를 뜻하는데 모라토리엄은 어원은 여기서 찾을 수 있다. 기업이나 개인이 파산이나 지불유예를 선언하는 것과 달리 국가의 이 같은 지불거부는 그 후유증도 한층 심각하다. 국가의 경우 통화가치가 급락하고, 실물경제에도 심대한 타격을 미친다. 국가신인도에도 장기간 부정적인 영향이 가는 것은 물론이다. 이 때문에 어떤 나라든 모라토리엄은 가능한 최후의 카드로 남겨둔다. 국제통화기금(IMF)을 위시한 국제금융기구의 활동도 채무상환 유예라는 파국을 막는데 역할을 하는 게 사실이다. 그러나 모라토리엄은 최근에도 실제 사례가 종종 등장한다. 가깝게는 사막의 기적으로 찬사를 듣던 두바이가 2009년 11월 모라토리엄을 선언했고, 우리나라에선 지방자치단체인 성남시가 2010년 7월 지불유예를 선언해 관심을 집중시킨 바 있다.
* 법정근로시간 :
* 부채디플레이션 : 미국 경제학자 어빙 피셔가 1930년대 미국 대공황을 설명하면서 만든 개념으로, 자산가치 하락에 따른 경기침체를 의미하는 자산디플레이션과 비슷하지만 부채가 경기침체를 가속화시킨다는 것이 특징이다.
* 상계관세 :  수출국으로부터 장려금이나 보조금을 지원받아 가격경쟁력이 높아진 물품이 수입되어 국내산업이 피해를 입을 경우, 이러한 제품의 수입을 불공정한 무역행위로 보아 이를 억제하기 위해 부과하는 관세
* 쌀 조기 관세화 : 2014년까지 유예돼 있는 쌀의 관세화 시기를 앞당겨 이보다 일찍 쌀을 관세화하자는 것으로, 쌀시장 조기 개방을 의미한다. 한국은 우루과이라운드(UR) 협상에서 2004년까지 쌀에 대해 관세화 유예(시장 개방 유예) 조치를 인정받았고 2004년 쌀 협상에서 관세화 유예를 2014년까지 추가로 연장했다.
* 쌍둥이적자 : 경상수지 적자와 재정수지 적자가 동시에 발생하는 현상을 가리킨다. 수출보다 수입이 더 많을 때 생기는 경상수지 적자와 세금수입보다 재정지출이 더 많을 때 생기는 재정수지 적자가 동시에 발생하는 현상이다.
* 세이프가드 : 특정 품목의 수입이 급증하여 국내 업체에 심각한 피해 발생 우려가 있을 경우, 수입국이 관세인상이나 수입량 제한 등을 통하여 수입품에 대한 규제를 할 수 있는 무역장벽의 하나
* 승자의 저주 :
* 실업급여 :
* 아베노믹스 :
* 양적완화 : 금리 인하를 통한 경기 부양 효과가 한계에 봉착했을 때, 중앙은행이 국채 매입 등을 통해 유동성을 시중에 직접 공급함으로써 신용경색을 해소하고 경기를 부양시키는 통화 정책을 말한다.
* 역관세: 가공단계가 낮은 물품의 관세율이 가공단계가 높은 물품의 관세율보다 높은 현상. 가공단계가 낮은 물품의 관세율이 가공단계가 높은 물품의 관세율보다 높은 현상. 
* 연금 (공무원연금, 4대 공적 연금): 국민연금, 공무원연금, 사학연금, 군인연금
* 오픈 프라이스제도 : 제조업체가 판매가격을 정하는 기존의 권장소비자 가격제와 달리 최종판매점포가 상품의 판매가격을 스스로 결정하는 판매방식이다. 그동안 상품 가격은 물건을 만드는 제조업체가 원가에 이윤을 붙여 제시하는 ‘권장 소비자가격’에 맞춰 결정됐다. 제조업체가 유통업체와 소비자간 거래에 참고할 수 있는 기준을 제시한다는 명분에 따른 것이다.
* 와타나베 부인: 자율이 낮은 일본에서 빌린 엔화를 이자율 또는 수익률이 높은 국가에 예금(투자)해 본국에서보다 높은 수익을 창출하는 투자패턴. 안정성이 크다
* 워크아웃 : 부도로 쓰러질 위기에 처해 있는 기업 중에서 회생시킬 가치가 있는 기업을 살려내는 작업.
* 이전가격(transfer price) : 이전가격이란 관련기업 사이에 원재료·제품 및 용역을 공급하는 경우에 적용되는 가격을 말한다. 이것은 국제거래에서 발생되는 다국적기업간의 이전가격조작에서 특히 문제가 되는데, 이때에는 이러한 이전가격을 부인하고 정상가격을 기준으로 소득금액을 계산하는데 이를 이전가격과세라고 한다. 한편, 다국적기업이 이전가격을 조작하는 이유는 법인세율이 낮은 나라에 보다 많은 이익이 발생하도록 하여 당해 그룹전체로 볼 때 법인세 부담을 최소화하고 세후이익을 극대화하려 하기 때문이다. 이를 위해 법인세율이 낮은 나라(tax haven)의 계열기업에 상품을 공급할 때에는 낮은 가격을 책정하고 공급받을 때는 고가로 매입하여 자동적으로 법인세율이 낮은 나라로 이익이 분여되도록 하는 것이다.
* 임금피크제 :
* 자본이득세Capital Gains Tax: 자본자산의 매각에서 발생하는 이득과 손실에 대한 조세다. 자본자산은 1년 이상 보유하는 주식과 채권, 부동산, 기업 매각, 파트너 지분, 특허권 등을 포함한다. 우리나라의 경우 토지 건물의 양도로 인한 소득과 부동산에 대한 권리, 기타 자산의 양도에 의해 발생한 소득에 대해 과세하는 양도소득세가 있다.
* 조세피난처 :
* 준조세Quasi-Tax :
* 중진국함정 : 중진국에 접어든 국가가 선진국으로 발전하지 못하거나 저소득 국가로 퇴보하는 현상.
* 진정상품 병행수입 : 외국에서 적법하게 상표가 표시돼 유통되는 진품을 제3자가 독점 수입판매업자의 허락을 얻지 않고 국내에 수입해 판매하는 행위다. 정부가 수입 공산품의 가격 인하를 유도하기 위해 1995년 11월부터 허용 기준을 마련해 시행하고 있다. 수입업자가 관세청에 8%의 관세를 내고 들여오는 합법행위
* 집단소송제 : 집단의 대표당사자가 소송을 수행하고 판결의 효력을 집단이 공유하는 소송제도
* 최저생계비 :
* 출구전략 :
* 탄력세율 : 정부가 법률로 정한 세율을 탄력적으로 변경하여 운용하는 세율.
* 테이퍼링(tapering) :
* 트리핀 딜레마 : 여타 국가들의 국제거래결제를 뒷받침하기 위해 미국이 기축통화(reserve currency)인 달러 공급을 계속 늘리면 결국 달러가치 하락으로 인해 기축통화로서의 국제적 신용도가 위태로워지는 진퇴양난의 상황을 의미한다. 트리핀 역설(Triffin paradox)이라고도 한다.
* 특허괴물 : 개인 또는 기업으로부터 특허기술을 사들여 로열티 수입을 챙기는 회사를 일컫는 말이다. 특허권을 침해한 기업에게 소송을 제기하여 막대한 이익을 창출하기도 한다.
* 페이고(pay-go) : 차입, 후불, 대납 등 신용거래에 의하지 않고 쓸 수 있는 예산 안에서 비용을 지불해야만 지출이 가능하도록 하는 제도를 말한다. 선불교통카드와 같은거구나
* 포획이론 : 정부 규제정책과 관련된 이론이므로 '규제의 포획이론'이라고도 함. 보호를 필요로 하는 경제주체들[개인 또는 기업]이 이익집단을 형성하여 정부를 설득해 자기네에 유익한 각종 규제정책을 이끌어내는 것. 포획이론이라는 개념은 미국의 경제학자(노벨경제학상 수상) 조지 스티글러(George Stigler)가 1971년에 발표한 '규제의 경제이론'이라는 논문에서 제시한 이론이다. 이 이론에 따르면 기업들은 정부의 규제를 무조건적으로 배격하는 것이 아니라 일부 기업들은 오히려 특정의 규제를 내면적으로 환영하고 이를 이익창출의 기회로 삼을 수 있다는 논리다. 시장원리가 제대로 작동하지 않거나 고도의 전문성을 띤 산업 분야에서 정부는 이익집단의 그럴듯한 주장과 설득에 넘어가(사로잡혀) 이익집단의 의도대로 규제정책을 펴기 쉽다는 뜻에서 '포획이론'이라는 말이 쓰여졌다.
* 핀테크 :
* 합계출산율 : 여성 1명이 평생 동안 낳을 수 있는 평균 자녀수. 출산 가능한 여성의 나이인 15세부터 49세까지를 기준으로, 한 여성이 평생 동안 낳을 수 있는 자녀의 수를 나타낸다. 
* DTI(총부채 상환비율, Debt To Income) :
* LTV(주택담보대출비율, Loan To Value) :
* PB(private brand) : 'Private Brand'의 약자로, 유통업체에서 직접 만든 자체브랜드 상품을 뜻하며, 자사상표, 유통업자 브랜드, 유통업자 주도형 상표라고도 불린다
* MRO (Maintenance, Repair, Operation ): 기업에서 제품 생산과 직접 관련된 원자재를 제외한 소모성 자재를 이르는 용어
* RFID : 

자바에서 숫자만 남기고 모두 제거하는 방법

 

str.replaceAll("[^0-9]+","")

 

package others;

public class RegularExp {

	public static void main(String[] args) {
		//1. 숫자만 남기기
		String str = "2019-01-03 abcd";
		String retStr = str.replaceAll("[^0-9]+","");
        
		System.out.println(retStr);
        	//결과 : 20190103
        
        
 		//2. 영문, 숫자만 남기기
		String str2 = "abCD12*&";
		String retStr2 = str2.replaceAll("[^a-zA-Z0-9]+","");
        
		System.out.println(retStr2);
        	//결과 : abCD12

	}

}

'웹 개발' 카테고리의 다른 글

오라클 객체 (테이블) 권한 조회하기  (0) 2019.07.31

+ Recent posts