CS 상식 - 네트워크

[CS 상식 - 네트워크] 스터디 5 (마지막)

beginner-in-coding 2025. 2. 3. 15:28

01. 블루투스/NFC

  • 소형 전자 단말기용 근거리 통신 규격
    • 블루투스: Wi-Fi 같은 2.4 GHz의 무선 주파수 대역을 사용하는 무선 네트워크 기술
      • ISM 밴드: 2.4GHz와 5 GHz 대역
      • 산업, 과학, 의료 용도의 장비에 ITU가 할당하던 것
      • 1994년 에릭슨이 소형 전자 단말기용 근거리 통신 규격을 고안해서 규격화
      • 1998년 노키아, 인텍, 도시바, IBM을 포함한 5개 사가 표준화
      • BLE(Bluetooth Low Energy): 블루투스 4.0에서 책정된 저소비 전력 규격
  • 비접촉형 IC 카드 통신 기술
    • NFC: 블루투스와 마찬가지로 근거리(10cm)이내 통신 기술
    • 사용하는 전파: 13.56MHz
    • 블루투스에 비해 대역폭이 낮음
    • 특징
      • 더 가까운 거리에서 통신 가정
      • 전원이 필요하지 않음
      • 임시 연결이나 통신에 적합
    • 원래 비접촉식 IC 카드 통신 기술로 개발 및 규격화
    • 규격: Type A / B / F, ISO/IEC15693

02. 센서 네트워크

  • 센서를 연결한 센서 네트워크
    • 센서 네트워크: 온도계, 카메라, 압력 센서, 가속도 센서, 적외선 센서 등을 연결하여 구성한 네트워크
      • 센서: 측정 데이터 등을 네트워크로 보냄
      • 호스트 장치, 중앙 관리 호스트: 수집
    • 네트워크 연결 형태: 일반적으로 스타형
    • IoT 기기를 연결하면 말단 노드가 인텔리전트 하게 자율적으로 작동하는 센서 네트워크도 존재
      • 인텔리전트: 노드가 되는 센서나 호스트의 디바이스가 중앙에서 관리하는 서버 등 지시가 없어도 자율적으로 동작하는 것
      • 현장에 응용할 때는 유선으로 연결하는 것보다 무선 연결을 전제로 하는 자율형이 유용
    • 대표적인 무선 센서 네트워크 규격: IEEE 802.15.4
      • 블루투스와 마찬가지로 2.4 GHz 대역 주파수를 이용
      • 통신 속도: 250 kbps
      • 노드 수: 6만 5535개까지 가능
      • 센서 데이터의 변조나 도청을 방지하고자 통신은 암호화
      • ZigBee
        • IEEE 802.15.4를 구현한 예
        • 인텔리전트 빌딩이나 공장 등 센서 네트워크에 활용
        • NASA의 화성 탐사차와 드론의 통신에 사용되는 기술
        • ZigBee 네트워크: 용도에 따라 선택
          1. 네트워크 관리 기능을 가진 ZigBee 코디네이터를 포함해서 각 노드가 자율적으로 연결되는 메시형
          2. ZigBee 라우터를 중심으로 하는 스타형
        • 각 노드는 소비 전력을 줄이기 위해 신호가 없을 경우 슬립 모드로 대기, 신호가 존재하면 몇 초 안에 복귀
  • 무선 통신과 해저 케이블
    • 무선 통신
      • 전 세계를 연결하는 네트워크를 구축하기 위해 모바일 네트워크가 필수적
      • 장거리 통신 서비스가 실용화
      • 비교적 좁은 지역에서 무선통신을 가능하게 해주는 기술도 연구 중
        • Wi-Fi 액세스 포인트처럼 어디서든 인터넷 연결을 할 수 있는 기술
        • 실용화되면 바다/사막/정글 등 어디서든 휴대 단말기를 사용할 수 있음
    • 해저 케이블
      • 태평양과 대서양을 아우르는 연결은 해저 케이블이 담당
      • 세계를 연결하는 해저 케이블의 총길이: 130만 km
      • 과거에는 동선을 여러 개 묶은 케이블, 현재는 대부분 광섬유 케이블 사용
      • 해외와 대용량 통신 회선으로 연결된다는 장점과 안보나 보안 측면에서 중요한 나라끼리 연결되는 통신 회선 확보의 필요성도 증가

03. 보안의 기본과 개념

  • 정보 보안의 CIA 밸런스
    • CIA
      • 기밀성 (Confidentiality): 적법한 사람만 정보를 이용할 수 있도록 보호 및 관리되는 것을 의미
        • 개인 정보 보호
        • 고객 정보 관리
        • 제품 및 서비스 정보 관리
      • 무결성 (Intergrity): 변경이나 파괴 없이 정보가 올바른 상태로 유지되는 것을 의미
        • 정보가 올바르고 변조되지 않음
        • 정보가 최신
        • 정보가 갖추어져 있음
      • 가용성 (Availability): 올바른 정보들이 적절하게 이용 가능한 상태
        • 정보를 이용하기 쉬움
        • 정보가 필요할 때 바로 입수 가능
        • 정보를 언제든지 사용 가능
  • 정보 보안을 검토하는 절차
    • 고려 사항
      • 개인이나 조직에서 지켜야 할 가치가 있는 것은 무엇인가
        • 보호할 정보 자산을 구체적으로 결정
      • 정보 자산이 가지는 위험과 위협을 파악
        • 위험: 업무나 자산에 손해나 피해를 초래하는 것
        • 위협: 위험 요소가 되어 피해와 손해를 발생시키는 사건
      • 위협에 대한 대응 방법 검토
        • 기술적인 대책이나 대응
        • 조직적인 규칙

04. 멀웨어/컴퓨터 바이러스

  • 컴퓨터 바이러스와 멀웨어의 차이
    • 컴퓨터 바이러스:
      • 자기 전염 기능: 다른 프로그램에 자신의 사본을 만들어 전염을 확산시키고 증식해 나가는 기능
      • 잠복 기능: 일정 기간이나 처리 횟수 등 조건이 충족될 때까지 동작하지 않는 기능
      • 발병 기능: 데이터를 파괴하거나 훔치는 컴퓨터에서 실제로 악영향을 미치는 동작을 하게 하는 기능
    • 멀웨어: 악의적인 소프트웨어나 프로그램을 모두 의미
  • 악영향을 미치는 멀웨어 종류
    • 멀웨어(malware)
      • 컴퓨터나 기타 단말기에 악영향을 미치는 악의적인 프로그램이나 소프트웨어를 총칭
      • 종류
        • 컴퓨터 바이러스: 자기 전염 기능이 있고 공격까지 잠복 기간 존재, 단독으로는 존재할 수 없고 기존 프로그램에 기생해서 전염
        • 웜(warm): 네트워크 등을 이용해서 침입하고 독립적으로 전염, 다른 프로그램 등 작동에 영향을 미침
        • 트로이 목마(trojan horse): 일단은 정상적인 소프트웨어나 프로그램으로 위장하여 침입 한 후 다른 프로그램 작동에 악영향을 미침, 원칙적으로 자기 전염 기능은 없음
        • 스파이웨어(spyware): 키보드나 마우스 조작, 표시 화면 등을 감시하고 기록해서 외부로 유출, 자기 전염 기능은 없음
      • 주요 멀웨어 기능별 분류
        • 다운 로더: 공격자 서버에서 멀웨어 본체를 내려받아 감염시키는  프로그램
        • 키로거: 컴퓨터의 키 조작을 감시하여 기록하고 외부로 유출시키는 프로그램
        • 랜섬웨어: 컴퓨터 내 데이터에 암호를 걸거나 공개 등을 빌미로 삼아 그것을 해제하는 대가로 돈을 요구하는 화면을 표시하는 프로그램
        • RAT: 컴퓨터 원격 조작으로 데이터를 훔치는 프로그램
        • 백도어: 컴퓨터에 몰래 침입할 수 있는 뒷문을 만드는 것
        • 루트킷: 다운로더나 키로거 등 친입 및 원격 조작에 필요한 도구를 세트로 만드는 것
        • 익스플로잇: 앱이나 시스템의 취약점을 이용해서 공격하는 프로그램

05. 암호화 기술

  • 암호화의 기본 개념
    • 암호화: 어떤 방법으로든 데이터를 해독할 수 없는 상태로 변환하는 것
    • 암호화에 사용된 계산법을 알고 있다면 암호화된 데이터(암호문)를 원래 데이터(평문)로 되돌릴 수 있음
    • 암호 알고리즘: 암호화 처리 절차나 계산 방법을 의미
    • 키: 알고리즘 계산에 사용하는 특정한 부호(수치 데이터)를 의미
    • 알고리즘을 알고 있어도 키가 없으면 암복호화 불가능
  • 해시 함수를 사용한 암호화
    • 키의 특성에 따라 암호화 방식이 달라짐
      • 공통키 암호화 방식 (비밀키 암호화 방식): 암호화와 복호화에 같은 키를 사용, 공통키를 안전한 방법으로 공유
      • 공개키 암호화 방식: 암호화와 복호화에 서로 다른 키를 사용, 공개키는 네트워크상 공개 가능, 한 쌍의 개인키로만 복호화 가능
      • 해시 함수 (단방향 암호화 방식)
    • 해시 함수: 원본 데이터(평문)에 대해 일정한 처리를 한 결과(해시 값)를 출력하는 함수
      • 암호화에 사용하는 키는 존재하지 않음
      • 키를 이용해서 복호화하는 것도 불가능
      • 평문과 해시 값은 일대일 대응
      • 비밀번호 저장이나 데이터 변조 방지 등에 이용
      • 해시 함수 특징 4가지
        1. 항상 고정된 길이의 해시값 출력
        2. 동일한 값에 대한 동일한 해시값 출력
        3. 입력의 작은 변화에 출력이 크게 변화(눈사태 효과)
        4. 해시 값을 예측할 수 없으므로 입력에서 출력으로 향하는 단방향
  • 주요 암호 알고리즘의 종류
    • 공통키 암호화 방식
      • AES: VPN이나 SSL 등 각종 암호화 통신에 사용
      • RC4: Wi-Fi의 WPA2나 SSL에 이용
    • 공개키 암호화 방식 
      • RSA: HTTPS나 전자 서명등에서 이용
      • DSA: 미국 정부용 전사 서명 표준
      • ECDSA: 타원 곡선을 이용한 암호화 방식이 채택되어 블록체인에서 이용

06. 공통키 암호화 방식/공개키 암호화 방식

  • 공통키 암호화 방식과 공개키 암호화 방식의 차이
    • 공통키 암호화 방식: 암복호화가 같은 키(1개)
    • 공개키 암호화 방식: 암복호화에 서로 다른 키(2개, 한 쌍)
      • 송신자가 수신자의 공개키를 이용해서 평문을 암호화해서 수신자에게 전송
      • 수신자는 본인의 비밀키를 이용해서 복호화를 통해 암호문을 평문으로 변환 가능
      • HTTPS 통신, VPN 통신의 네고시에이션, 키 교환, 전자 서명에 이용 
  • 공개키 암호화 방식을 역으로 사용한 전자 서명
    • 자신의 개인키로 암호화하여 암호문 만듦
    • 네트워크상의 자신의 공개키로 복호화가 가능하므로 본인 인증이 가능

07. 서버 인증서/인증 기관

  • 본인 인증을 위한 서버 인증서
    • 서버 인증서: 위조된 웹 페이지나 공격자의 웹 페이지에 접속하는 것을 방지하고자 사용되는 것
      • 공개키 암호화 방식을 이용한 전자 서명을 통해 인증 기관(CA)이 본인임을 인증해 주는 인터넷상의 체계
      • HTTPS 통신에서는 패킷을 암호화하기 전 접속한 곳에서 서버 인증서를 받아 정당성을 검증
      • 정당한 웹 페이지임을 검증하면 웹 서버와 암호화 방식이나 키 정보를 교환하고 암호화 통신을 시작
  • 서버 인증서를 발급하는 인증 기관
    • 인증 기관: HTTPS 통신 등에서 서버 인증서를 발급, 접속하는 웹 서버 등 적법성을 인증하는 기관
    • 서버 인증서는 인증 기관 서버에서 발급
    • HTTPS 통신에서는 웹 브라우저가 HTTPS 통신 요청이 들어오면 서버 인증서와 공개키를 반환
    • 웹 브라우저는 서버 인증서를 인증 기관에 확인

08. SSL/TLS

  • SSL(Secure Socket Layer), TLS(Transport Layer Security): 모두 웹 브라우저와 웹 서버 간 통신을 암호화하는 프로토콜
    • SSL은 HTTPS에서 사용
    • TLS는 인터넷 기술 표준화 단체인 IETF가 다시 설계하여 인터넷 표준으로 삼음(SSL 계승)
    • 엄격한 호환성은 없음
    • SSL과 TLS 1.1 이전의 프로토콜에서 취약점 발견, 사용 X
    • TLS 1.2와 TLS 1.3이 정식 프로토콜
  • TLS를 이용한 암호화 통신
    1. 공개키 암호화 방식 이용
    2. 웹 브라우저는 웹 서버에서 서버 인증서와 공개키를 받아 인증서를 검증
    3. 웹 브라우저는 받은 공개키로 암호화 통신용 키 생성에 필요한 정보(난수)를 암호화해서 웹 서버에 보냄
    4. 웹 서버는 난수를 개인키로 복호화해서 암호화 통신용 키를 생성
      • 키 자체를 네트워크로 보내지 않으면서 웹 브라우저와 웹 서버 사이에서 암호화 통신용 키를 공유
    5. 키를 공유하고 난 뒤 암호화 통신을 시작

09. 방화벽(firewall)

  • 보안 대책의 기본이 되는 방화벽
    • 네트워크 보안 대책의 가장 기본적인 구조
    • 일반적으로 인터넷과 LAN의 경계인 에지 라우터 바로 뒤(내부)에 설치
    • 기능: 패킷의 종류와 내용을 확인하여 LAN 내부로 통과시킬지 여부를 결정
      • 라우터는 패킷의 IP 주소를 확인해서 자신이 관리하는 LAN으로 전송되는지 여부를 기준
      • 방화벽은 패킷의 IP 주소, 포트 번호, 패킷 내용 정보를 확인해서 통과 여부를 제어
      • 라우터에 방화벽 기능이 탑재된 제품도 존재
  • 방화벽 종류
    • 패킷을 체크하는 정도나 방법에 따라 구분
      1. 패킷 필터링형: IP 주소나 포트 번호를 기준으로 통과시킬 패킷을 제어
        1. 스테틱형: 차단하거나 통과시킬 IP 주소나 포트 번호를 고정 리스트로 관리하는 방식
        2. 다이내믹형: 특정 통신에 대한 응답이면 허용하는 등 동적인 리스트로 관리
        3. 스테이트풀형: 패킷 단독이 아니라 프로토콜 순서도 감시하여 부정한 액세스를 차단
      2. 게이트웨이형: 네트워크의 게이트웨이로서 모든 통신을 제어, 네트워크 내부와 외부 모두 방화벽이 창구 역할을 하기 때문에 프록시형이라고도 함
  • 국경까지 확장한 것: 중국의 GFW(Great FireWall)

10. DMZ(DeMilitarized Zone)

  • 공개 서버와 내부 네트워크 보호
    • DMZ: 내부 네트워크를 외부 공격에서 보호하려고 방화벽 등으로 격리된 네트워크상의 세그먼트
    • 일반적으로 외부에 공개하는 웹 서버나 메일 서버 들에 배치
    • 웹 서버를 배치한 세그먼트를 방화벽 등으로 격리해서 내부 네트워크를 보호하는 것
    • DMZ는 외부에 직접 공개하지 않는 내부 네트워크를 2단계로 보호하는 세그먼트
  • 라우터 등을 활용한 DMZ의 다양화
    • 실제 네트워크에서는 DMZ 앞뒤로 방화벽을 배치하기도 함
    • 네트워크 장비(라우터, 게이트웨이, 방화벽)는 패킷을 읽어야 하므로 내부에서는 서버 OS가 작동하고, 애플리케이션 기능으로 라우팅이나 필터링함

11. IDS/IPS

  • 부정한 패킷의 침입을 탐지하는 IDS와 IPS
    • 방화벽의 방어 정책: 입구의 방어벽을 높이고 검문을 강화하여 내부 안전을 확보하는 것
      • 공격자 수법이 고도화되면서 입구만 강화하는 것으로는 부족
      • 부정한 패킷이 통과된 후 내부에서 침입을 탐지하고 제거할 수 있는 시스템이 필요
    • IDS(Intrusion Detection System): 부정한 패킷의 침입을 탐지
    • IPS(Intrusion Prevention System): 부정한 패킷을 탐지하여 방지하는 시스템
    • 탐지 방법: 방화벽의 스테이트풀형과 마찬가지로 IP 주소나 포트번호, 프로토콜 순서와 처리 상황 등도 검증
    • 설치 장소에 따라 구분
      • 호스트형: 서버에 소프트웨어로 설치되어 부정한 패킷을 검사
      • 네트워크형: 네트워크 상에서 흐르는 패킷을 감시
  • 다양한 공격을 방어하는 시스템
    • 차세대 방화벽(NGFW): IDS와 IPS, 고기능 방화벽
    • 패킷 내용이나 프로토콜 순서, 처리 상황, 앱별 패킷 동작 등 IP 주소나 포트 번호등 다양한 요소로 검증
    • WAF(Web Application Firewall): SQL 인젝션, XSS, CSRF처럼 웹 사이트의 취약점을 노린 공격에서 보호
      • SQL 인젝션: 데이터베이스를 이용하는 웹 사이트에 대해 예상되지 않은 문자열 등을 삽입시켜 부정한 조작을 하는 공격 수법
      • XSS: Cross Site Scripting, 공격자가 표적으로 하는 웹 사이트에 간이 프로그램을 설치하여 방문자의 컴퓨터에서 부정하게 실행시키는 공격 수법
      • CSRF: Cross-Site Request Forgeries, 공격자가 방문자에게 위조된 URL을 열게 하여 웹 사이트에서 뭔가 조작을 하도록 하는 공격 기법
    • UTM(Unified Threat Management): IDS, 안티바이러스, 로그 감시 등 여러 기능을 방화벽에 통합

12. VPN(Virtual Private Network)/터널

  • 인터넷 등에 가상 전용선을 구축
    • VPN: 인터넷처럼 공개된 네트워크에 가상 전용선을 구축하는 기술
    • 호스트를 VPN으로 연결하면 연결 대상과 교환하는 패킷이 암호화
    • VPN 통신의 패킷은 다른 패킷과 마찬가지로 여러 라우터를 거쳐서 연결 대상까지 도달
    • 중계하는 라우터는 패킷의 내용을 해독할 수 없으므로 경로는 보호된 상태임
    • 이런 기술을 터널이라고 함
      • 터널의 본래 의미: 프로토콜의 패킷을 그래도 다른 프로토콜의 패킷에 실어 전송하는 기술, 경로 암호화가 필수는 아님
      • 경로 내에 다른 프로토콜의 네트워크가 있을 때 패킷을 원활하게 전달할 수 있음
      • 이런 처리를 캡슐화라고 함
  • 암호화와 터널을 구현하는 VPN 프로토콜
    • 대표적인 VPN의 프로토콜: IPsec, L2TP, PPTP, SSL-VPN
      • IPsec: 연결 대상의 인증 기능과 패킷의 암호화 기능을 갖춘 프로토콜, 인터넷 표준
      • L2TP: 패킷 암호화는 하지 않고 터널로 연결 대상과 전용 경로를 구축하는 프로토콜
      • PPTP: 윈도에서 표준으로 사용되던 프로토콜
      • SSL-VPN: SSL(세션 계층 프로토콜)을 사용하므로 웹 브라우저 연결을 VPN으로 사용하고자 할 때 사용, HTTPS를 사용해서 암호화와 터널을 구현

13. 트래픽 감시/로그 감시

  • 이상 검출을 위한 트래픽이나 로그 감시
    • 네트워크에서 수상한 동작을 검출하려면 네트워크 트래픽을 감시해야 함
    • 서버의 이벤트 로그를 확인하여 수상한 통신, 중요 데이터에 대한 액세스나 로그인 오류 등을 확인
  • 트래픽 감시와 로그 감시 방법
    • 트래픽 감시
      • 차세대 방화벽과 같은 고기능인 제품이나 패킷 캡처 기능이 있는 네트워크 기기를 이용
        • 패킷 캡처 기능: 네트워크에 흐르는 패킷을 캡처해서 그 내용을 표시(시각화)하거나 분석/집계 등을 수행하는 기능
        • 이런 장비의 기능을 이용하면 네트워크를 흐르는 패킷을 상시 체크할 수 있으므로 거의 실시간으로 이상을 탐지할 수 있음
    • 로그 감시
      • 서버의 로그 파일을 소프트웨어로 해석
      • 로그 파일에 남아 있는 공격이나 이상 등 흔적을 체크하여 이상이 발생하지 않았는지 조사
      • 로그 감시는 과거 발생 상황을 조사할 때 사용