728x90

DoS(Denial of Service : 서비스 거부 공격)

  • 네트워크나 컴퓨터가 수용할 수 있는 자원을 고갈시켜 정상적인 동작이나 서비스를 제공할 수 없게 만드는 모든 공격 방법
  • 백도어와 같은 프로그램들은 쉽게 인지할 수 없는 이름으로 만들어 공격
    • 백도어 : 디버깅용으로 외부에서 서버나 PC에 접속할 수 있도록 한 기능을 악의적으로 이용하는 것
  • TCP의 연결 지향형 방식을 악용한 공격

 

DDoS(Distributed Denial of Service : 분산 서비스 거부 공격)

  • DDos 공격은 공격자, 마스터, 에이전트, 공격대상으로 구성된 메커니즘을 통해 DoS 공격을 다수의 좀비PC에서 대규모로 수행한다.
  • 인터넷 또는 네트워크 연결상에서 다수의 시스템이 하나의 표적을 대상으로 다량의 패킷을 전송, 다량의 트래픽을 발생시켜 네트워크 대역폭을 점유하는 방식
  • 네트워크로 연결되어 있는 많은 수의 호스트의 패킷을 범람 시킬 수 있는 DoS 공격용 프로그램을 분산설치하여 이들이 서로 통합되 형태로 공격대상 시스템에 성능 저하 및 시스템마비를 일으킴
  • 좀비 PC가 되면 자신도 모르게 통정사이트를 공격하는 수단이 된다.
  • 좀비 PC는 악성코드 흔적을 지우기 위해 스스로 하드디스크를 손상시킬 수 있다.

 

DRDoS(Distributed Reflection DoS : 분산 반사 서비스 거부 공격)

  • DRDoS는 DDoS가 한 단계 더 진화한 형태의 공격방식
  • 별도의 에이전트 설치 없이 네트워크 통신 프로토콜 구조의 취약성을 이용해 정상적인 서비스를 운영하고 있는 시스템을 DDoS공격의 에이전트로 활용
  • 방어와 대응이 DDoS보다도 어렵고 까다롭다.

 

DoS, DDoS, DRDoS 요약

  DoS DDoS DRDoS
좀비수 1개 N개 무수히
공격자 판단 바로 시간걸림 누군지 모름
대책 차단 사이버대피소 블랙리스트 차단, 어려움
728x90
728x90

Firewall(방화벽)

  • 침입차단 시스템이라 칭한다.
  • 네트워크에서 보안을 높이기 위한 1차적인 방법
  • 네트워크를 외부망과 내부망으로 분리, 그 사이에 방화벽을 배치시켜 허가되지 않은 모든 트래픽은 차단
  • OSI 7 Layer 네트워크(3)계층에서 IP와 Port만 제어 함으로써 인과된 사용자에 대해서만 전산 시스템에 접근을 허용
  • 보호 대상 - 모든 서버

 

IDS(Intrusion Detection System : 침입 탐지 시스템)

  • 방화벽과 함께 활용되는 네트워크 보안 솔루션
  • 시스템과 네트워크에서 송수신되는 모든 데이터의 움직임을 탐지하는 시스템
  • 시스템에 대한 원치 않은 조작을 탐지
  • 설치 위치와 목적에 따라 호스트 기반과 네트워크 기반의 침입탐지시스템으로 나뉜다

 

IPS(Intrusion Prevention System : 침입 방지 시스템)

  • 공격탐지를 뛰어넘어 탐지된 공격에 대한 차단 기능을 부가한 솔루션
  • OSI 7 Layer 네트워크(3) 계층 ~ 응용(7) 계층에서 IPS가 가지고 있는 취약점 패턴에 대해서 탐지 및 차단
  • 일반적으로 IPS는 방화벽 내부에 설치

 

728x90
728x90

VPN(Virtual Private Network)

  • VPN은 가상 사설망이다. 즉 인터넷망과 같은 공중망을 사설망처럼 이용해 회선비용을 절감할 수 있는 서비스이다.
  • OSI 7 Layer 데이터링크(2) 계층, 네트워크(3) 계층 에서 사용된다.
  • 공용 네트워크로 전달되는 트래픽을 암호화 및 메시지 인증코드 등을 사용하여 기밀성과 무결성을 제공한다.
  • TCP/IP 기반의 개방형 네트워크인 인터넷에서 한 네트워크에서 다른 네트워크로 이동하는 모든 데이터 정보를 암호화하여 사설망 기능을 제공하기 위해 도입된 기술

 

VPN의 장점

  • 저비용
  • 통신 암호화
  • Network 관리 및 운영 비용 절감
  • 기업 Network의 유동성 확보

 

VPN의 단점

  • VPN 장비간의 호환성 문제
  • 인터넷의 성능 불안정

 

SSL(Secure Socket Layer)

  • 1993년 웹서버와 브라우저 간의 안전한 통신을 위해 넷스케이프에 의해 개발
  • OSI 7 Layer 전송(4)계층에서 적용되며, 응용(7)계층의 FTP, Telnet, HTTP등의 프로토콜의 안전성을 보장하는 기술
  • SSL은 웹브라우저와 웹서버간에 안전한 정보 전송을 위해 사용되는 암호화 방법
  • SSL은 인터넷에서 인증서로 상대방을 인증하고, 기밀성과 무결성을 제공한다.
  • SSL은 1대의 VPN 장비가 필요하다.
  • SSL은 RFA의 공개키 암호화 시스템을 이용

 

IPSec(IP Secure)

  • IPSec은 네트워크에서 IP에 보안성을 제공해 주는 프로토콜이다.
  • OSI 7 Layer 네트워크(3)계층에서 적용된다.
  • IPSec은 네트워크와 네트워크간에 안전한 정보 전송을 위해 사용
  • IPSec은 2대의 VPN 장비가 필요하다.
  • IPSec은 IPv4에서는 선택적으로 구현되며, IPv6에서는 필수적으로 구현되는 프로토콜로 지정되어있다.
728x90
728x90

UTM(Unified Threat Management : 통합 위협 관리)

  • UTM은 네트워크 보안을 통합하여 다양한 보안 기능을 하나의 플랫폼에서 제공하는 솔루션이다.
  • UTM은 다양한 보안 기능을 통합하여 하나의 관리 인터페이스에서 중앙 집중적으로 관리하고 모니터링 할 수 있다.
  • Firewall, VPN, IPS, Anti - Virus, Anti - DDoS, Web Filtering 등 다양한 보안기능을 제공한다.

 

UTM의 장점

  • 간단한 인프라 구성
  • 관리의 용이성
  • 네트워크 지연 저하
  • 비용이 비교적 저렴
  • 물리적인 공간 확보

 

UTM의 단점

  • UTM의 장애시 모든 보안기능에 장애가 생겨 리스크가 크다.
728x90
728x90

TCP/IP(Transmission Control Protocol / Internet Protocol)

  • TCP/IP 는 데이터가 의도된 목적지에 닿을수 있도록 보장해 주는 통신규약이다.
  • TCP/IP는 인터넷의 기본 통신 언어이다.
  • TCP/IP는 두 가지 프로토콜로 이루어져 있다.

 

TCP(Transmission Control Protocol)

  • TCP는 많은 양의 데이터를 가져와서 패킷으로 컴파일 후 전송하여 패킷의 정보/데이터로 바꾸는 역할
  • TCP는 전달 받은 패킷을 재조립 하고, 패킷에 손상이 있거나 손실된 패킷이 있다면 재전송을 요청한다.
  • TCP의 정점은 복작해서 신뢰성이 높다.

 

IP(Internet Protocol)

  • IP는 인터넷에서 컴퓨터끼리 데이터를 전송하기 위해 지켜야 할 규약이다.
  • IP는 TCP와 달리 데이터의 재조합이나 손실여부 확인이 불가능하다.
  • IP는 단지 데이터를 전달하는 역할이다.
  • IP주소는 하드웨어 고유식별 전호인 MAC주소와 다르게 임시적으로 다른 주체에게 받은 주소이므로 바뀔 수 있다.

 

TCP/IP 4 Layer

  • OSI 7 Layer를 더욱 추상화 시킨 계층이다.
  • 네트워크 엑세스 계층, 인터넷 계층, 전송 계층, 응용 계층으로 구성되어 있다.

 

1. 네트워크 엑세스 계층(Network Access Layer)

  • OSI 7 Layer 물리 계층(1)과 데이터링크 계층(2)에 해당한다.
  • 물리적인 주소로 MAC을 사용한다.
  • LAN, 패킷망 등에 사용된다.
  • 에러검출기능(Detecting errors), 패킷의 프레임화(Framing Packets)를 담당한다.

 

2. 인터넷 계층(Internet Layer)

  • OSI 7 Layer 네트워크 계층(3)에 해당한다.
  • 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능을 제공한다.
  • 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성을 제공
  • 프로토콜 종류 - IP, ARP, RARP

 

3. 전송 계층(Transport Layer)

  • OSI 7 Layer 전송 계층(4)에 해당한다.
  • 애플리케이션 계층의 세션과 데이터그램(datagram) 통신서비스 제공
  • 통신 노드간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당
  • 프로토콜 종류 - TCP, UDP

 

4. 응용 계층(Application Layer)

  • OSI 7 Layer 세션 계층(5), 표현 계층(6), 응용 계층(7)에 해당한다.
  • 응용프로그램들이(application) 데이터를 처음 받고, 다른계층의 서비스에 접근 할 수 있게 하는 애플리케이션을 제공
  • TCP/UDP 기반의 응용프로그램을 구현 할 때 사용한다.
  • 응용프로그램들이 데이터를 교환하기 위해 사용되는 프로토콜
  • 프로토콜 종류 - FTP, HTTP, SSH
728x90
728x90

OSI 7 Layer

  • OSI 7 Layer는 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 네트워크 표준 모델
  • 물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층, 응용 계층으로 이루어져있다.

1. 물리 계층(Physical Layer)

  • 주로 전기적, 기계적, 기능적인 특성을 이용해 통신 케이블로 데이터를 전송하는 물리적 장비
  • 단지 데이터 전기적인 신호(0, 1)로 변환해서 주고 받는 기능만 할 뿐이다.
  • 이 계층의 통신단위 - 비트(Bit)이며 1과 0으로 나타내어지는, 즉 전기적 On, Off상태
  • 장비 - 통신 케이블, 리피터, 허브 등

 

2. 데이터링크 계층(Data Link Layer)

  • 물리 계층을 통해 송수신 되는 정보의 오류와 흐름을 관리하여 안전한 통신의 흐름을 관리한다.
  • 프레임에 물리적주소(MAC Address)를 부여하고 에러검출, 재전송, 흐름제어를 수행한다.
  • 이 계층에서 전송되는 단위 - 프레임(Frame)
  • 장비 - 브리지, 스위치, 이더넷 등

 

3. 네트워크 계층(Network Layer)

  • 데이터를 목적지까지 가장 안전하고 빠르게 전달
  • 라우터(Router)를 통해 경로를 선택하고 주소를 정하고(IP) 경로(Route)에 따라 패킷을 전달 > IP 헤더 붙음
  • 이 계층에서 전송되는 단위 - 패킷(Packet)
  • 장비 - 라우터, L3 스위치

 

4. 전송 계층(Transport Layer)

  • Port번호, 전송방식(TCP/UDP)을 결정 > TCP 헤더 붙음
    • TCP : 신뢰성, 연결 지향적
    • UDP : 비신회성, 비연결성, 실시간
  • 두 지점간의 신뢰성 있는 데이터를 주고 받게 해주는 역할
  • 신호를 분산하고 다시 합치는 과정을 통해 에러와 경로를 제어
  • 이 계층에서 데이터 단위 - 세그먼트(Segment)

 

5. 세션 계층(Session Layer)

  • 주 지점간의 그로세스 및 통신하는 호스트간의 연결을 유지
  • TCP/IP 세션 체결, 포트번호를 기반으로 통신세션을 구성
  • API, Socket

 

6. 표현 계층(Presentation Layer)

  • 전송하는 데이터의 표현 방식을 결정.(데이터 변환, 압축, 암호화)
  • 파일 인코딩, 명령어를 포장, 압축, 암호화
  • JPEG, MPEG, GIF, ASCII 등

 

7. 응용 계층(Application Layer)

  • 최종 목적지로, 응용 프로세스와 직접 관계하여 일반적인 응용서비스를 수행(Chrome 등)
  • HTTP, FTP, SMTP, POP3, IMAP, Telnet등과 같은 프로토콜이 있다.
728x90
728x90

split

str.split(구분자)

split은 구분자를 기준으로 문자열을 나눈다.

결과는 배열로 반환.

 

예제 코드

const text = '2022-01-02';

const splitResult = text.split('-'); // ["2022","01","02"]

console.log(splitResult[0]); // 2022

console.log(splitResult[1]); // 01

console.log(splitResult[2]); // 02

 

substring

str.substring(시작 인덱스, 종료 인덱스)

substring은 시작 인덱스부터 종료 인덱스까지의 문자열을 반환.

 

예제 코드

const text = 'abcdefghi';

console.log(text.substring(2, 5)); // cdef

console.l0g(text.substring(2)); // cdefghi 종료인덱스 생략시 문자열 끝까지 반환

 

substr 

str.substr(시작 인덱스, 길이)

 

substr은 시작 인덱스부터 길이 만큼의 문자열을 반환.

 

예제 코드

const text = 'abcdefghi';

console.log(text.substr(0, 1)); // a

console.log(text.substr(0, 3)); // abc

console.log(text.substr(1)); // bcdefghi 길이 생략시 문자열 끝까지 반환

 

728x90
728x90

올림

Math.ceil(x): 주어진 값에 소수점 올림하여 정수를 반환

const number1 = 9.235
const number2 = 99.542

console.log(Math.ceil(number1))   // 10
console.log(Math.ceil(number2))   // 100

 

내림

Math.floor(x): 주어진 값에 소수점 내림하여 정수를 반환

const number1 = 9.235
const number2 = 99.542

console.log(Math.floor(number1))   // 9
console.log(Math.floor(number2))   // 99

 

반올림

Math.round(x): 주어진 값에 소수점 반올림하여 정수를 반환

const number1 = 9.235
const number2 = 99.542

console.log(Math.round(number1))   // 9
console.log(Math.round(number2))   // 100

 

제거

Number.prototype.toFixed(x): 주어진 값의 길이만큼 소수점 자리수를 반올림하여 반환

const number1 = 10.33524
const number2 = 10.2587456

console.log(number1.toFixed(2))   // 10.34
console.log(number2.toFixed(4))   // 10.2587

 

728x90

+ Recent posts