Post

네트워크 보안 이론 1

IT 기본 용어

1. MAC 주소

  • MAC 주소: NIC(네트워크 인터페이스 카드)에 할당된 고유한 번호.
  • 특징: 유일한 MAC 주소를 소유.
  • 예시: 00-1A-2B-3C-4D-5E
  • 명령어: ipconfig /all

2. ARP (Address Resolution Protocol)

  • 목적: IP 주소를 기준으로 MAC 주소를 확인하기 위한 프로토콜.
  • 명령어: arp -a [ip주소]
  • 기능: IP 주소 → MAC 주소로 변환.

3. ICMP (Internet Control Message Protocol)

  • 목적: 네트워크 장비 간의 오류 메시지 및 상태 확인을 위한 프로토콜.
  • 명령어: ping

    - ICMP 상세 표기 항목

    - 패킷 사이즈
    • 32, 128 바이트: 윈도우
    • 64 바이트: 리눅스
    - TTL(Time To Live):
    • 네트워크 패킷이 라우터를 거쳐 목적지에 도달하는 횟수.
    • TTL 값은 라우터를 1개 통과할 때마다 1씩 감소.

4. IP 개요

  • IP 주소: 인터넷 환경에서 각 컴퓨터에 할당된 고유한 주소.
  • 비유: 각 아파트에 할당된 고유한 주소와 동일.

5. PORT 개요

  • PORT: 한 주소 내에서 여러 호수(서비스)에 데이터를 주고받기 위한 통로.
  • 비유: 아파트 1동에 주소는 하나이지만 내부에 여러 개의 호수가 있는 것과 유사.

6. 라우팅 (Routing)

  • 정의: 데이터를 목적지까지 전달하기 위해 경로를 지정하는 방법.
  • 기능: 데이터가 올바른 경로로 전달되도록 함.

OSI 7계층

1. 응용 계층

  • 사용자 인터페이스 제공, 데이터 표현 및 암호화
  • 주요 프로토콜: HTTP, FTP, SMTP, DNS 등
  • 기타 내용: API 및 웹 서비스 보안

2. 표현 계층

  • 데이터 형식 변환, 압축 및 암호화
  • 데이터 표현 방식: ASCII, Unicode, JPEG, MPEG 등
  • 암호화 및 복호화 알고리즘

3. 세션 계층

  • 통신 세션 설정, 관리 및 종료
  • 세션 설정 및 관리 메커니즘: RPC, SSL/TLS 보안

4. 전송 계층

  • 데이터 신뢰성 및 흐름 제어
  • 주요 프로토콜: TCP, UDP
  • 기타 내용: 포트 번호 및 소켓 프로그래밍, 흐름 제어 및 혼잡 제어 알고리즘

5. 네트워크 계층

  • 논리 주소 지정 및 라우팅
  • 주소 체계: IPv4, IPv6
  • 라우팅 프로토콜: RIP, OSPF, BGP
  • 기타 내용: 서브넷 마스크, CIDR, IPsec, VPN 보안

6. 데이터 링크 계층

  • 물리 주소 지정 및 오류 검출
  • 주요 개념: MAC 주소, Ethernet
  • 기타 내용: Ethernet 프레임 구조, ARP, 스위치, VLAN, IEEE 802.11 무선 LAN

7. 물리 계층

  • 데이터 비트 전송
  • 주요 전송 매체: 케이블, 무선
  • 기타 내용: 케이블 종류 및 특징, 신호 변조 방식, 전송 매체 및 장비

암호화 정의

  • 암호학은 정보를 보호하기 위해 데이터를 변환하는 기술
  • 쉽게 말해, 허가받지 않은 사람이 정보를 읽거나 이해할 수 없도록 만드는 방법

1. 목적

  • 기밀성: 정보를 허가받은 사람만 접근할 수 있도록 보장
  • 무결성: 정보가 변조되지 않았음을 보장
  • 인 증: 정보의 출처를 확인하고, 정보를 보낸 사람이 실제로 그 사람이 맞는지 확인
  • 부인방지: 정보를 보낸 사람이 나중에 정보를 보낸 사실을 부인할 수 없도록 확인

2. 암호의 역사

  • 고대 암호

    • 고대 이집트, 로마, 그리스 등에서 간단한 암호를 사용
    • 문자를 다른 문자로 치환하는 단순 치환 암호
  • 근대 암호

    • 2차 세계 대전 중 독일군의 암호 기계 ‘에니그마’가 등장하면서 암호학이 급격히 발전
  • 현대 암호

    • 컴퓨터의 발전과 함께 암호학은 더욱 복잡해지고 정교해짐
    • 현대 암호는 수학적 알고리즘을 기반으로 동작

3. 암호학의 기본 개념

  • 평 문: 암호화되지 않은 원래 정보
  • 암호문: 원래의 정보를 알아 볼 수 없도록 처리한 정보
  • 암호화: 평문을 암호문으로 변환하는 과정
  • 복호화: 암호문을 다시 평문으로 변환하는 과정
  • : 암호화 및 복호화에 사용되는 비밀 정보

4. 암호 알고리즘의 종류

- 대칭키 암호화

  • 암호화와 복호화에 같은 키를 사용하는 암호 알고리즘
  • 대표 알고리즘: AES, DES, SEED
  • 장점: 빠르고 효율적
  • 단점: 키 관리가 어려움

- 비대칭키 암호화

  • 암호화와 복호화에 서로 다른 키를 사용
  • 공개키는 누구에게나 공개되고, 개인키는 비밀로 유지
  • 대표 알고리즘: RSA, ECC
  • 장점: 키 관리가 용이
  • 단점: 대칭키 암호보다 느림
  • 용도: 전자 서명, SSL/TLS 통신

- 해시 함수

  • 임의의 길이의 데이터를 고정된 길이의 해시 값으로 변환하는 알고리즘
  • 해시 값은 데이터의 ‘지문’과 같으며, 데이터가 조금만 변경되어도 해시 값은 완전히 달라짐.
  • 역으로 복호화가 불가
  • 대표 알고리즘: SHA-256, MD5
  • 용도: 데이터 무결성 검증, 비밀번호 저장

- 솔트(salt)

  • 암호화 과정에서 추가되는 임의의 데이터
  • 비밀번호 무작위 공격 및 rainbow table 공격 방지

    - 동작 원리
    1. 솔트 생성: 사용자가 비밀번호를 설정하면 시스템은 랜덤한 솔트 값을 생성
    2. 해시 계산: 비밀번호와 솔트를 결합하여 해시 함수를 통해 해시 값을 계산
    3. 저장: 솔트 값과 해시 값을 함께 데이터베이스에 저장
    4. 로그인 시: 사용자가 로그인할 때 입력한 비밀번호와 저장된 솔트를 결합하여 다시 해시 값을 계산하고, 저장된 해시 값과 비교하여 일치하면 로그인을 허용

활용 분야

  • 인터넷 보안: 웹사이트 로그인, 온라인 뱅킹, 이메일 등 인터넷 통신의 보안에 암호학이 사용
  • 디지털 서명: 전자 문서의 위변조를 방지하고, 문서 작성자를 확인하는 데 사용
  • 가상 화폐: 블록체인 기술과 함께 암호학을 사용하여 거래의 안전성과 투명성을 보장
  • 개인 정보 보호: 개인 정보를 암호화하여 저장하고 전송함으로써 개인 정보 유출을 방지

네트워크 보안 5대 요소

1. 기밀성 (Confidentiality)

  • 설명: 허가받지 않는 사용자가 정보에 접근할 수 없도록 하는 것
  • 클라이언트 ←→ 서버 또는 서버 ←→ 서버 사이에서 허가되지 않은 사용자가 내용을 알 수 없도록 예방
  • 비유: 시건장치에 자물쇠를 채우는 것
  • 중요성: 개인정보, 기업 기밀 등 중요 정보를 보호
  • 예시: 온라인 쇼핑몰에서 결제 시 개인정보 암호화

2. 무결성 (Integrity)

  • 설명: 중요 정보가 허가받지 않은 방식으로 변경되거나 파괴되지 않도록 하는 것
  • 비유: 그림에 제3자가 수정하지 못하도록 방지하는 것
  • 중요성: 데이터 위/변조 및 변조된 파일 실행 등으로 인한 피해 방지
  • 예시: 은행 앱에서 송금 시 데이터 위/변조 방지

3. 가용성 (Availability)

  • 설명: 허가받은 사용자가 필요할 때 정보에 접근할 수 있도록 보장하는 것
  • 비유: 24시간 언제든 이용할 수 있도록 제공하는 서비스 (예: 편의점)
  • 중요성: 서비스 중단으로 인한 업무 마비 방지
  • 예시: 포털 사이트 접속 시 트래픽 과부하 방지

4. 서버 인증 (Server Authentication)

  • 설명: 클라이언트가 접속하는 서버가 진짜인지 확인하는 것
  • 비유: 믿을 수 있는 사람에게만 문을 열어주는 것
  • 중요성: 피싱 사이트, 가짜 은행 앱 등으로 인한 정보 탈취 방지
  • 예시: HTTPS 프로토콜을 통한 웹 사이트 접속 시 안정성 확보

5. 클라이언트 인증 (Client Authentication)

  • 설명: 서버가 접속하는 클라이언트가 진짜인지 확인하는 것
  • 비유: 신분증을 확인해서 본인 여부를 확인하는 것
  • 중요성: 허가받지 않은 사용자의 시스템 접근 및 악의적인 행위 방지
  • 예시: 기업 내부 시스템 접속 시 아이디/비밀번호, OTP 등을 통한 본인 확인

WHOIS

  • 인터넷 자원에 대한 등록 정보를 확인할 수 있는 시스템
  • 동사무소나 구청에서 출력할 수 있는 “등기부 등본”과 유사한 정보 확인이 가능

    - 확인할 수 있는 정보

    • 도메인 등록 및 관리 기관 정보
    • 도메인 이름과 관련된 인터넷 자원 정보
    • 네트워크 주소와 IP 정보
    • 등록자, 관리자, 기술 관리자의 이름, 연락처, 이메일 계정
    • 도메인 등록 시기와 갱신 시기
    • DNS 서버 정보
    • 지역 위치 등

    - WHOIS 조회 방법

    - 방법 #1

    - 방법 #2

    • Kali Linux에서 WHOIS 명령어 사용
      1
      
      whois example.com
      

IP 주소 추적 방법

1. 웹 사이트에서 직접 조회

  • 접속 주소 : http://ipconfig.kr/
  • 해당 웹사이트에서 자신의 IP 주소 및 기타 네트워크 정보를 확인 가능

2. 수신된 메일의 IP 주소 확인

  • 지메일에서 확인하는 방법:
    1. 지메일 접속
    2. 수신된 이메일 열기
    3. 이메일의 “원본 보기” 선택
    4. “Received” 항목에서 수신된 IP 주소와 메일 서버 확인

3. TRACERT를 통한 IP 추적

  • TRACERT: 라우팅 경로를 추적하는 명령어
    • 명령어: tracert [도메인 또는 IP 주소]
    • 라우터 또는 방화벽에서 패킷을 차단하는 경우, 특정 구간에서 * 표기로 나타날 수 있음
    • * 표시는 패킷이 차단되었음을 의미

목록화 / 풋프린팅 정보 수집

- 풋프린팅 (Footprinting)

1. 개요

  • 풋프린팅: 공격 대상에 대한 정보를 수집하는 과정
  • 목적: 공격 대상의 취약점을 파악하고 공격 계획을 수립하는 데 활용

2. 수집 범위

  • 네트워크 정보, 시스템 정보, 사용자 정보, 조직 정보 등

3. 중요성

  • 공격 성공률 향상
  • 공격 대상 파악
  • 취약점 발견

- 풋프린팅(정보 수집) 기법

1. 수동적인 정보 수집

  • 기법: 검색엔진, WHOIS 조회, 소셜 엔지니어링
  • 사례: 세계적인 해커 케빈 미트닉(Kevin Mitnick)이 소셜 엔지니어링 기법을 통해 한 회사의 정보를 탈취

2. 능동적인 정보 수집

  • 기법: 포트 스캐닝, 네트워크 스캐닝, 취약점 스캐닝

- 대응 방안

  • 정보 노출 최소화
  • 보안 교육 강화
  • 보안 시스템 구축

- 목록화 (Enumeration)

  • 정의: 수집한 정보를 정리하는 과정

CVE (Common Vulnerabilities and Exposures)

1. 개요

  • CVE: 공개적으로 알려진 소프트웨어 및 하드웨어의 보안 취약점 목록
  • CVE ID: 각 취약점은 CVE ID (예: CVE-2023-1234)라는 고유 식별자로 관리

2. 목적

  • 취약점 정보의 표준화 및 공유: 다양한 보안 도구, 데이터베이스, 서비스 간에 취약점 정보를 일관되게 교환하고 관리
  • 보안 위협 인지 및 대응: CVE 정보를 통해 잠재적인 보안 위험을 파악하고, 적절한 조치를 취하여 시스템을 보호

3. CVE 정보 구성 요소

  • CVE ID: 취약점의 고유 식별자 (예: CVE-2023-1234)
  • 설명: 취약점에 대한 간략한 설명
  • 영향 범위: 취약점이 영향을 미치는 소프트웨어 또는 하드웨어 제품 및 버전
  • 심각도: 취약점의 심각도를 나타내는 CVSS (Common Vulnerability Scoring System) 점수 (0.0 ~ 10.0)
  • 참고 자료: 취약점 관련 정보를 제공하는 웹 페이지, 보안 권고문 등

4. CVE 취약점 난이도

  • 낮음 (Low): 악용 가능성이 낮거나 시스템에 미치는 영향이 제한적인 취약점
  • 중간 (Medium): 악용 가능성이 있거나 시스템에 어느 정도 영향을 미칠 수 있는 취약점
  • 높음 (High): 악용 가능성이 높거나 시스템에 심각한 영향을 미칠 수 있는 취약점
  • 치명적 (Critical): 시스템을 완전히 제어하거나 데이터 손실을 초래할 수 있는 매우 심각한 취약점

5. CVE 취약점 정보 활용

  • 취약점 스캐너: CVE 데이터베이스를 활용하여 시스템의 취약점을 자동으로 탐지하고 보고
  • 보안 업데이트: 소프트웨어 제조사에서 제공하는 보안 업데이트를 통해 CVE 취약점 해결
  • 보안 권고문: CVE 관련 보안 권고문을 참고하여 취약점에 대한 상세 정보와 대응 방안을 확인
  • 침입 탐지 시스템 (IDS): CVE 정보를 기반으로 알려진 공격 패턴을 탐지하고 차단

6. CVE 취약점 확인 방법


Criminal IP & Shodan을 이용한 정보 수집

1. Criminal IP

2. Shodan


스니핑(Sniffing) 공격

1. 개요

  • 일반적으로 모든 PC(일반적인 통신 기기)에는 네트워크 카드가 있으며, 모두 IP 주소와 MAC 주소가 존재
  • 즉, 자신에게 유입되는 것들 중 들어오는 패킷 이외에는 모두 차단

    • 예: 1.1.1.1 > 1.1.1.10으로 요청 시, 1.1.1.10 기기만 패킷을 정상적으로 유입시키며, 그 외의 모든 기기는 차단 처리됨
  • 스니핑 모드로 설정하는 경우 본인에게 들어오는 패킷 이외의 모든 패킷을 볼 수 있도록 설정할 수 있는 방안을 프로미스큐어스(Promiscuous) 모드라고 함

  • 프로미스큐어스 모드로 설정하기 위해서, 리눅스 OS에서는 단순 명령으로 랜 카드 설정이 가능하지만, 윈도우는 별도로 드라이버를 설치해야 함

2. 프로미스큐어스 모드 설정

  1. 설정:
    1
    
    ifconfig 인터페이스명 promisc
    
  2. 해제:

    1
    
    ifconfig 인터페이스명 -promisc
    

  3. 프로미스큐어스 모드로 패킷 덤프:

    1
    
    tcpdump -i 인터페이스명 -xX