통신 - from 1일 1로그

Ik·2022년 9월 21일
0

CS

목록 보기
4/27

첫번째 문단 다 쓰고 재확인 필요

Data 전송

  • 물리적 거리에 반드시 비례하지 않는다
    • 원인
      • 네트워크 연결 부분 자체에서 발생하는 문제
      • 데이터가 지나가는 경로에 있는 컴퓨터의 처리 과정 등
    • 휴대전화가 이동하는 환경에서 데이터 전달 속도 느려짐
      • ex) 기차, 버스 등
  • LTE(long term evolution)
    • 장기적인 진화 - 일종의 로드맵
    • ex) 4G - LTE, 4G를 향해 가고 있음을 보여주기 위한 목적
  • 5G
    • 휴대전화는 최대 세 개의 주파수 대역사용
    • 낮은 두 개 대역은 4G에서도 사용하는 것이라 이 대역에서는 4G와 유사
    • 근거리 연결에서는 그보다 훨씬 높은 주파수를 사용함으로써 높은 속도 구현

Data 압축

  • 가용 메모리와 대역폭을 더 효율적으로 활용하는 한 가지 방법은 데이터를 압축하는 것
  • Huffman coding - 허프만 코딩
    • 알고리즘
    • 이러한 처리를 체계적으로 수

무손실 압축(Lossless compression)

  • 모스 부호
    • 문자 e가 영어에서 많이 나오는데 e를 하나의 점으로 인코딩
      행하여 개별 문자를 인코딩하는 가장 효율적인 압축 방법
      - JPEG 부호화에 사용
  • 단일 문자보다 더 큰 덩어리
    • ex)단어, 구 등을 단위로
    • ZIP 압축 알고리즘
  • 이미지 압축
    • GIF(graphics interchange format)
      • PNG - portable network graphics
      • 두 가지 모두 텍스트, 선 그림, 단색 블록으로 구성된 이미지에 사용하려고 만들어진 포맷

손실 압축(Lossy compression)

  • 수신자에게 불 필요한 일부 정보 버림
  • 품질과 압축률 간 트레이드오프 발생
  • 디지털 카메라 이미지 압축
    • 사람의 눈으로는 실제처럼 다양한 색 구분 불가
      • 색상을 보존하지 않아도 된다
        • 더 적은 수의 색상으로도 충분히 사람이 인지하는 수준까지 표현 가능
      • 일부 미세한 세부 정보는 버린다
      • 최종 이미지는 원본만큼 선명하지는 않겠지만, 눈으로 봐서는 차이를 알아차리지 못하기 때문
      • ex)
      • JPEG 압축 알고리즘
        • JPG 이미지 생성
        • 원본의 10분의 1로 압축하는데 육안으로 큰 품질 저하 알아챌 수 없다
      • MPEG 계열의 알고리즘
        • 영화와 TV 압축
        • 개별 프레임을 JPEG처럼 압축할 뿐만 아니라 한 프레임에서 다음 프레임으로 갈 때 크게 변하지 않는 일련의 블록을 압축
      • 오디오 부분
        • MP3, AAC
        • 지각 부호화 - perceptual coding 알고리즘
          • 음향을 압축하기 위한 알고리즘
          • 시끄러운 소리가 조용한 소리를 가리고, 사람의 청각이 약 20kHz보다 높은 주파수를 들을 수 없는 점을 이용
          • 표준 CD 오디오를 약 10배 비율로 압축
      • 휴대전화
        • 각 사람의 특성을 이용해 음성 신호에서 불필요한 성분을 제거해 압축 효율을 더 높인다
  • 압축할 때 속도, 압축 해제할 때의 속도 및 복잡도로 인한 트레이드 오프 존재
    • 디지털 TV 영상이 블록 모양으로 깨지거나 음향이 이상하게 들리는 것은 압축 해제 알고리즘이 어떤 입력 오류 상태를 회복하지 못해서 발생
      • 다음 데이터가 충분히 일찍 도착하지 않은 것이 원인
    • 어떤 알고리즘을 사용해도 일부는 크기가 줄어들지 않는 경우 발생
      • 압축할 정보가 없는데도 압축 알고리즘을 거듭하는 경우
      • 오히려 불필요한 정보가 추가되어 크기가 더 커지는 경우도 있다



BandWidth - 대역폭

  • 모든 네트워크의 가장 기본적인 속성

  • 네트워크가 데이터를 얼마나 빨리 전송하는지를 의미

    • 대역폭이 충분하다면 데이터가 빠르고 원활하게 전달되지만, 그렇지 않다면 통신이 멈추거나 속도 저하가 반복되는 불만스러운 경험을 하게 된다
  • 범위

    • 초당 몇 비트 ~ 몇 테라비트


Latency or Delay(지연)

  • 일정한 단위의 정보가 시스템을 통과하는데 걸리는 시간

  • 레이턴시가 높다고 대역폭이 낮음을 의미 X

    • 정보가 통과하는데 시간이 걸려도 정보의 양이 어마어마한 경우


Network

  • 범위 : 주어진 기술로 네트워크가 지리적으로 얼마나 확장 될 수 있는지 정도
  • 게이트웨이로 연결

게이트웨이

  • 패킷이 목적지로 나아감에 따라 한 네트워크에서 다음 네트워크로 패킷을 라우팅하는 전문화 된 컴퓨터

  • 라우팅 프로토콜을 이용해 라우팅 정보를 교환

    • 네트워크 형태가 바뀌고 연결이 끊겼다 이어졌다 하더라도 패킷이 목적지에 더 가까이 갈 수 있게 패킷을 전달하는 방법을 항상 알고 있다

Broadcast

  • 여러 수신자한 발신자의 신호를 수신하는 구조
  • 도청 가능성이 높아 보안에 취약
  • ex) 라디오
  • IP 네트워크에 있는 모든 로컬 네트워크 호스트로 데이터를 전송하는 방식
    • 통신망에 존재하는 모든 노드에 동일한 패킷을 동시에 전송하는 방식

보안

  • 암호화만이 접근을 통제하고 전송 중인 정보를 보호하는 유일한 방법

WEP

  • wired equivalent privacy
  • 802.11 네트워크의 무선 암호화에 대한 기존 표준
  • 심각한 약점이 있음이 드러남

WPA - wifi protected access

  • 최신 암호 표준
  • WEP보다 우수

개방형 네트워크

  • 누구나 통신을 엿들을 수 있을 뿐 아니라 무선 서비스를 무료로 사용할 수 있다
  • 와이파이 이용하는 무선 장치를 유선 네트워크에 연결할 수 있게 하는 장치
    • WAP - wireless access point
    • 엑세스 포인트(AP, Access point)



Internet

  • 느슨하고 체계가 없으며 혼란스럽고 임시적인 네트워크 모음

  • 인터넷은 멀리 떨어진 위치에 있는 컴퓨터를 연결하는 네트워크를 구축하려는 시도에서 시작
    • 이렇게 만들어진 네트워크 아파넷 - ARPANET

  • 네트워크와 그 위에 있는 컴퓨터가 서로 통신하는 방법을 규정하는 표준

  • 프로토콜, protocol
    • 상대방과 원만하게 소통하기 위한 일련의 규칙
    • 합의
      • 인터넷에서 오는 데이터를 어떤 형식으로 구성할지
      • 오류를 어떻게 처리할지
      • 누가 먼저 말할 것이고 어떤 응답이 이어질 수 있는지 등

  • 정부독점이거나 엄격히 규제된 회사에 의해 운영되었던 전화 시스템에 비하면 무질서 상태에 가까움
    • 하지만 정치적, 상업적 압력 때문에 인터넷은 초창기보다 덜 자유분방해졌고 구속은 더 심해짐

  • 가까이 있는 컴퓨터끼리는 근거리 통신망으로 연결
    • 게이트웨이(gateway), 라우터(router)이용해 다른 네트워크에 연결

      • 게이트웨이, 라우터는 한 네트워크에서 다음 네트워크로 정보 패킷을 라우팅하는데 전문화된 컴퓨터

      • 게이트웨이의 경우 라우팅 정보를 서로 교환하여 국지적으로라도 어떤 개체들이 연결되어 있고 접근 가능한지 파악 가능

      • 짧은 경로가 존재해도 더 긴 경로로 패킷을 라우팅하기도 한다

        • 편의성과 비용 때문

  • 가정에서는 케이블 or DSL 이용해 ISP에 연결(=무선통신으로 라우터에 연결)

    • ISP(internet service provider) : 인터넷 서비스 제공 업체
  • 사무실의 경우 유선 이더넷 연결 사용하기도 한다

  • 인터넷 > TCP > IP

  • 패킷 네트워크

  • 정보는 표준화된 개별 패킷으로 전송되며, 패킷은 규모가 크고 계속 변하는 여러 개의 네트워크를 통과하며 동적으로 라우팅된다

  • 현재 연결된 각 호스트에 고유한 IP 주소 할당, 같은 네트워크에 있는 호스트들은 공통 IP 주소 접두사를 공유

  • 모바일 호스트의 경우 연결될 때마다 IP 주소가 달라지기도 하고, 위치에 따라 달라지는 경우도 존재

  • 프로토콜과 표준에 따라 작동

패킷

  • 정보의 덩어리
  • 일련의 바이트
  • 다양한 장치는 서로 다른 패킷 형식을 사용
  • 패킷의 일부에는 패킷이 어디서 오고 어디로 향하는지를 알려주는 주소 정보 내포
  • 페이로드(payload)
    • 패킷이 전달하는 정보

페이지 이름

  • 사람들이 직접 접근하려고 시도하는 호스트는 사람이 사용하기에 적합해야됨

  • 도메인 네임 - domain name 사용

    • DNS, domain name system
      • DNS는 도메인 네임을 IP 주소로 변환하거나 그 반대로 변환하는 대규모 분산 데이터베이스

    • IP주소 간 변환
    • 최상위 도메인 - top level domain
      • .com, .edu나 .us, .ca 등의 국가표시
      • 그보다 낮은 도메인에 관리 책임과 이름을 정의할 책임을 위임
    • 지리적인 제약 없음
    • 루트 서버
      - 루트 네임 서버, root name server
      - 도메인 네임을 IP 주소로 변환하는 부분 처리
      - 최상위 도메인은 모든 최상위 도메인의 IP주소를 알고 있는 것
      - 검색에 효율적인 알고리즘 사용
      - 최상위에서 처음 실행한 쿼리를 통해 대부분의 주소를 다음 고려 대상에서 즉시 제거
      - 검색이 트리 구조를 따라 내려감
      - 전 세계 13개 존재


Routing

  • 패킷이 출발지에서 목적지까지의 경로를 찾는 메커니즘
    • 어떤 네트워크는 모든 가능한 목적지에 대해 경로상의 다음 단계를 제공하는 정적 라우팅 테이블을 사용

  • 게이트웨이가 메커니즘 제공
    • 정적 라우팅 테이블을 사용하기에는 인터넷 규모가 너무 크고 동적으로 변화한다는 문제 발생하기 때문, 이를 게이트웨이로 개선
    • 인터넷 게이트웨이는 인접한 게이트웨이와 정보를 교환하여 라우팅 정보를 끊임 없이 새로 고침
  • 자율 시스템 - autonomous system
    • 라우팅 정보를 관리하기 위한 계층적 구조의 최상위 레벨에 위치
    • 자신이 포함하는 라우팅 정보 제공
    • 대형 ISP에 해당
      • ISP - internet service provider
        • 개인이나 기업에게 인터넷 접속 서비스, 웹 사이트 구축 등을 제공하는 회사
        • 게이트웨이를 통해 서로 연결
        • 대용량 트래픽의 경우 IXP이용
          • IXP - internet exchange point
            • 여러 회사의 네트워크 연결이 만나서 네트워크 간 물리적 연결이 이루어지는 것
    • 내부적으로 라우팅 정보를 로컬로 교환, 외부 자율 시스템에서는 통합된 라우팅 정보를 제공


GateWay

  • IP 패킷을 라우팅하지만 각 물리적 네트워크에는 IP 패킷을 전달하기 위한 고유한 형식이 존재, 각 게이트웨이는 패킷이 들어오고 나갈 때 네트워크 형식과 IP 형식 간 변환을 수행해야 한다


Protocol

  • 정보가 한 컴퓨터에서 다른 컴퓨터로 성공적으로 복사되도록 이상의 구성 요소와 나머지 구성 요소 모두가 어떻게 상호 운용되는지 정확하고 자세하게 설명하는 규칙과 절차가 있어야 한다

  • DHCP : dynamic host configuration protocol : 동적 호스트 구성 프로토콜

  • 애플리케이션 > TCP > IP > 물리 계층, 왼쪽부터 상위계층

  • 시스템을 계층으로 나눔

    • 각 계층은 바로 아래 계층에서 제공하는 서비스 이용, 바로 위 계층에 서비스를 제공
    • 한 계층도 모든 일을 처리하려고 하지는 않는다

TCP, transmission control protocol

전송 제어 프로토콜

  • 두 컴퓨터 간에 데이터를 주고받는 신뢰성 있는 양방향 스트림을 제공

  • IP를 사용하여 출발지에서 목적지까지 임의 길이의 바이트 시퀀스를 전송하기 위한 안정적인 메커니즘을 제공

    • IP 패킷을 데이터 스트림으로 결합하고 서비스에 연결하는 방법을 정의
  • 안전한 통신 제공해 프로그래머가 패킷에 관해 생각할 필요가 없다

  • 신뢰성 있는 양방향 스트림 제공

    • 전송 지연이 적고 오류 발생 확률 낮음
    • 패킷은 정보의 스트림에 불과
      • 스트림 - stream
        • 적은 양의 데이터를 사용자에게 전달하는 기술
  • 세그먼트 - segment

    • TCP 패킷
    • 바이트 스트림이 여러 조각으로 나눠 담는 곳
    • 긍정 응답, 부정 응답을 통해 차후 대처
  • 인터넷의 경우 대부분 TCP이용

TCP 사용 예

  • HTTP
    • hypertext transfer protocol, 하이퍼텍스트 전송 프로토콜
    • 웹 브라우저와 서버에 사용되는 특히 간단한 프로토콜
  • Telnet
    • 아마존에 접근 가능
    • 다른 컴퓨터에 원격 로그인 세션을 설정하기 위한 TCP 서비스
      • 원격 컴퓨터에 직접 연결돼 있는 것처럼 접근할 수 있도록 함
    • 일반적으로 23번 포트 사용하지만 다른 포트도 사용
    • 보안 기능이 전혀 없어 데이터 흐름을 관찰하는 누구라도 비밀을 알 수 있다
      • 특별하게 보안이 필요하지 않은 경우 아니면 사용 X
  • SSH - secure Shell
    • 털넷에서 유래
    • 양방향의 모든 트래픽을 암호화
  • SMTP - simple Mail Transfer Protocol, 단순 메일 전송 프로토콜
    • 다른 시스템과 메일을 교환하는데 사용
      • 메일 메시지가 아스키코드 텍스트일 것을 요구
      • MIME - multipurpose internet mail extensions, 다목적 인터넷 메일 확장
        • 다른 종류의 데이터를 텍스트로 변환하는 방법과 여러 개의 조각을 단일 메일 메시지로 결합하는 방법 기술
        • 사진이나 비디오 같은 첨부 파일을 메일에 포함하는 데 사용되는 메커니즘
        • http에도 사용됨
    • 텍스트 기반
    • 보안 제약 존재
    • 종단 간, end to end 프로토콜
  • IMAP - internet message access protocol, 인터넷 메시지 접근 프로토콜
    • 메일을 읽는 과정에서 일반적으로 사용
    • 사용하면 메일이 서버에 남아 있으므로 수신자가 여러 곳에서 메일을 접근할 수 있다
    • 브라우저와 휴대전화에서 메일을 처리할 때처럼 메일을 동시에 여러 명이 읽거나 업데이트하더라도 우편함이 항상 일관된 상태를 유지하도록 한다
      • 클라우드에서 처리
  • P2P - peer to peer
    • 서버 -> 클라이언트 구조가 아닌 피어 <-> 피어 구조
      • 피어 - peer
        • 파일을 공유하는 사용자
    • ex)
    • 냅스터
      • 음악은 피어의 컴퓨터에만 저장되었고 중앙 서버에는 절대 저장하지 않음
    • 비트토렌트 - bittorrent
      • 분산된 디렉터리를 검색하여 파일을 찾고, 용량이 작은 torrent 파일을 사용해서 누가 어떤 블록을 보내고 받았는지 기록을 유지하는 트래커를 식별
        • 트래커 - tracker
          • 비트토렌트 프로토콜을 사용하는 피어 간의 통신을 지원하는 특별한 유형의 서버
    • 비트코인 - bitcoin
  • IP를 사용하여 호스트의 특정 포트로 연결되는 안정적인 스트림을 만들어 준다

UDT

  • user datagram protocol
  • TCP보다 훨씬 단순하고, 양방향 스트림이 필요하지 않은 데이터 교환에 사용
  • DNS, 비디오 스티리밍, VoIP, 일부 온라인 게임에 사용

IP

  • internet protocol

  • 핵심 프로토콜

  • 전송 중인 정보에 대해 균일한 전송 메커니즘과 공통 형식을 정의

  • 개별 패킷의 형식을 지정하고 패킷을 전송하는 방법을 정의

  • 신뢰성 없는 비연결형인 패킷 전송 서비스를 제공

    • 비연결형 - 각 IP 패킷이 자립적, 다른 IP 패킷과 관련 없다
  • 상태를 관리하거나 기억하는 기능이 없다

  • 최선형 - best effort

    • 패킷이 잘 전송되는 것을 보장하지 않음
      • 너무 일찍, 늦게 도착해 처리하기 어렵거나 쓸모 없어지는 경우 많다
  • 인터넷의 공통 메커니즘

  • 정보를 교환하기 위한 만국 공통어

  • 이더넷과 무선 시스템 같은 특정 하드웨어 기술은 IP 패킷을 캡슐화하여 전송

    • 하지만 IP 레벨에서는 하드웨어 특정 부분의 세부적인 작동 방식이 보이지 않고, 그러한 부분이 관련되어 있는지조차 드러나지 않는다

IP 패킷

  • 이용해 데이터 전달

  • 모두 같은 형식

  • 큰 IP 패킷은 여러 개의 작은 이더넷 패킷으로 분할

  • 패킷 최대 크기 약 65KB

  • 긴 메세지는 작은 덩어리로 분할되어 따로따로 전송되고 받은 쪽에서 재조합되어야 함

  • 패킷 형식은 정해져 있다

  • TTL - time to live

    • 패킷을 처리하는 게이트를 거칠 때마다 1씩 감소되는 1바이트 필드
    • 카운트가 0까지 내려가면 패킷은 폐기되고 송신자에게 오류 패킷이 보내진다
    • 개별 패킷이 영원히 살아서 돌아다니는 문제 방지

IP 주소

  • 32비트 or 128비트
  • 인터넷 프로토콜 버전 4
    • 6으로 빠르게 전환 중에 있다
  • 이더넷 주소와 비슷
    • 버전 4
      • dotted decimal(소수)
        • 4바이트 값의 각 바이트를 십진수로 나타내고 마침표로 구분
    • 버전 6
      • 16개의 16진수 바이트를 두개씩 콜론으로 구분
  • 중앙에서 주소를 관리하는 기관은 연속적인 IP 주소 블록을 네트워크 관리자에게 할당, 네트워크 관리자는 네트워크상의 호스트 컴퓨터에 따라 로컬로 할당된 고유한 주소를 갖는다
    • 데스크톱 컴퓨터에서는 영구적
    • 모바일 장치에서는 동적
      • 장치가 인터넷에 다시 연결될 때마다 바뀐다
  • 각 네트워크와 거기에 연결된 각각의 호스트 컴퓨터는 다른 개체와 통신할 수 있게끔 함
  • 수치적 의미나 지리적 의미가 전혀 없다
    • IP 주소 블록이 인접해 있다고 물리적으로 가까운 컴퓨터를 나타낸다고 볼 수 없다
  • IP 주소의 부족
    • NAT - network address translation : 네트워크 주소 변환
      • 여러 개의 호스트를 단일 IP 주소에 편승하게 하는 기법
      • 단일 외부 IP 주소로 여러 개의 내부 IP 주소에 서비스를 제공
        • 사용 시 모든 가정용 장치는 외부에서 볼 때 같은 IP 주소를 갖는 것처럼 보이며, 장치 내부에 있는 하드웨어와 소프트웨어가 양방향으로 변환을 처리

Modem

  • 변조와 복조를 수행하는 장치
    • 변조 - modulation
      • 신호에 정보 전송용 패턴을 적용하는 과정
    • 복조 - demodulation
      • 패턴을 원래 형태로 다시 변환하는 과정
  • 데이터 연결 관련 단점 존재
  • 전용 모뎀 필요
    • 데이터 연결할지 음성을 연결할지
  • 엄격한 속도 제한

Cable

  • 가정용 네트워크 기술
    • 대역폭에 여유가 있어 가정에서 데이터를 전송하는 용도로 사용
      • ex) 가정용 케이블 - 비디오 채널 수백 개를 동시에 전송 가능
  • 기업과 개인 사이만 가능, 개인과 개인은 공유 불가
    • 점점 개발 되어 페이퍼뷰를 비롯한 양방향 서비스 가능
    • ex) 고객의 정보가 회사로 수집되는 것이 회사에서 고객에게 케이블 정보를 주는 것보다 속도 느림
  • 다른 사람들과 대역폭 가지고 갈등 일으킬 일 X
    • 개인마다 사용하는 대역폭을 크게 여유를 두고 잡아 놓기 때문

Cable Modem

  • 케이블에서 나온 신호 컴퓨터에서 사용 위해 비트로 변환했다가 다시 신호로 변환하는 장치
  • 전화 모뎀보다 속도 빠름

DSL

  • Digital Subscriber Loop, ADSL이라고도 불림
    • A : asymmetric(비대칭의)
  • 디지털 가입자 회선
  • 음성 신호를 간섭하지 않는 기법 사용해 웹 서핑을 하며 전화 가능, 서로 영향 주지 않음
    • 집으로 돌아오는 하향 대역폭이 집에서 나오는 상향 대역폭보다 높기 때문에
  • 잘 작동하지만 특정 거리까지만 작동
    • 지역 전화 회사 교환국에서 5KM 이내에 거주할 때만 사용 가능
  • 공유 매체가 아니다
    • 이웃과 전송 대역폭을 공유하지 않을뿐더러 나의 정보가 이웃에게 가지 않음

Optical Cable

  • 신호는 전송 손실이 낮은 극히 순수한 유리 섬유를 따라 빛의 펄스(pulse)로 보내짐
  • 유지보수 비용이 낮고, 인터넷 사용 같은 부가 서비스 제공해 주기도 한다
  • 정전 시
    • 과거 전화는 배터리 혹은 전화 회사 설비에 있는 발전기로부터 전력 공급, 영향 X
    • 광케이블의 경우 영향 받음
  • 훨씬 빠르다
  • 신호 전송 손실이 낮다
  • 전달 거리 길다

Ethernet

  • 가장 대표적인 버스 구조 방식의 근거리통신망(LAN)
    • 통신선 필요
  • 단일 동축케이블에 연결되어 있는 모든 컴퓨터 간에 신호를 전달하는 방식
    • 현대의 케이블 TV를 집으로 전송하는 케이블과 물리적으로 비슷
    • ex) 비트 값 1 = 양의 전압, 비트 값 2 = 음의 전압
  • 이더넷 주소
    • 다른 이더넷 장치와는 다른 48비트 식별번호
  • 정보 전송
    • 패킷 - packet 이용
      • 정확하게 정의된 형식으로 된 정보를 담고 있는 일련의 비트 또는 바이트
      • 발신자가 패킷에 싸서 보내고 수신자가 패킷을 열어 확인
      • 형식과 내용의 세부 사항은 네트워크 종류에 따라 다름
  • 수백 미터 이내의 한정된 범위에서 작동
    • 각 장치가 표준 커넥터로 스위츠(또는 허브)에 연결되면 이더넷 스위치는 들어오는 데이터를 다른 연결된 장치에 브로드캐스트

Sniffing

  • 이더넷을 악용하는 보안 문제
    • 자신이 받기로 명시된 것뿐만 아니라 그 밖에 네트워크 상에 있는 모든 메시지의 내용을 읽음

Wire Shark

  • 오픈소스 프로그램
  • 스니핑 도구

무선 시스템

속성

  • 주파수가 높은 신호가 낮은 신호보다 일반적으로 더 많이 흡수되는 성질 이용

변조

  • 진폭 변조 - amplitude modulation, AM
    • 정보를 전달하기 위해 반송파의 진폭 또는 강도를 변경
      • 반송파 - 통신에서 사용하는 높은 주파수의 파동
  • 주파수 변조 - frequency modulation, FM
    • 반송파의 주파수를 중심 주파수 값 기준으로 변경
  • 수신된 신호의 강도는 송신기에서의 파워 레벨에 정비례, 송신기에서 수신기까지 거리의 제곱에 반비례

스펙트럼

  • 무선 시스템을 사용할 수 있는 주파수 범위

Wi-Fi

  • 컴퓨터용 무선 표준, IEEE 802.11
    • IEEE(전기전자기술자협회), institute of electrical and electronics engineers
    • 802.11 : 표준의 번호
    • 802.11 시스템은 이더넷처럼 작동하도록 패키지화
  • 유선랜(LAN) 통신을 무선화 시킨 것
  • 산업 단체 wifi 연합의 등록 상표
  • 무선 장치는 디지털 데이터를 전파에 실어 전달하기에 적합한 형태로 인코딩
  • 범위는 이더넷과 비슷하지만, 통신선을 놓고 경쟁할 필요가 없다는 차이 존재

BlueTooth

  • 근거리 Ad hoc : Ad hoc 통신을 위해 만들어짐
    • Ad hoc : 라우팅 알고리즘이 이동성을 직접 처리
      • 만약 노드가 움직여 트래픽을 다른 쪽으로 강제로 옮기면, 라우팅 프로토콜은 노드의 라우팅 테이블에 일어난 변화를 관리
  • wifi와 같은 주파수 대역 사용

RFID

  • radio frequency identification
  • 저전력 무선 기술
  • 스트림(연속적으로 전송되는 흐름) 형태로 식별 정보를 브로드캐스트하는 소형 전파 수신기 및 송신기
  • 수동 태그는 배터리가 없지만, RFID 센서의 신호를 수신하는 안테나를 통해 전력을 얻음
  • RFID 칩 사용하면 물건과 사람의 위치를 조용히 모니터링 가능
    • ex) 반려동물 칩

GPS

  • 단방향 무선 시스템
  • 3~4개의 위성으로부터 신호가 도착하는데 걸리는 시간을 사용해서 지상에서 자신의 위치 계산
  • GPS에는 수신기에서 위성으로 정보를 보내는 반환 경로가 없다

휴대전화

  • 과정
    • 휴대전화 <-> 가까운 기지국 <-> 기지국
  • 배터리를 사용하기에 낮은 전파 세기로 작동해야 됨
  • 다른 기기와 간섭이 일어나지 않도록 송신 파워가 법으로 제한
  • 배터리 - 트레이드오프
    • 크면 오래가지만 무거워짐, 설계자가 고려 할 점
  • 다양한 주파수 대역 사용하지만 일반적으로 900MHz~1900MHz 근처 대역 이용
  • 5G의 경우 훨씬 높은 주파수를 사용

셀룰러

  • 휴대전화용 스펙트럼과 전파의 범위는 모두 제한되어 있어 지리적 영역을 가상의 육각형에 가까운 '셀'로 나눈다
    • 각 셀에는 기지국(base station)이 위치
    • 셀이 모여 벌집 형태 이룸
  • 신호의 세기는 거리의 제곱에 반비례해 일정 거리 이상 떨어진 두 셀에서는 서로 간의 간섭이 적어 동일한 주파수 대역을 사용할 수 있다
    • 인접하지 않은 셀 간에는 스펙트럼에 포함된 주파수 대역을 큰 간섭 없이 재사용
  • IMEI, international mobile equipment identity(국제 모바일 기기 식별코드)
    • 15자리 고유 식별 번호
    • 이더넷 주소와 비슷
    • 휴대전화가 켜지면 식별 번호를 브로드캐스트하고, 가장 가까운 기지국이 그 정보를 받아 홈 시스템을 통해 전화 유효성 검사
  • home system : 사용자가 가입한 통신사의 이동 통신 시스템, 가입자 정보를 관리하고 전화망 간의 통신을 담당
  • 가장 강한 신호를 내는 기지국과 통신하며 기지국에 가까이 있을 때 더 적은 전력을 사용하도록 지속적으로 파워 레벨 조정
  • 기지국과 가까이 있으면 배터리 오래 유지, 다른 휴대전화에 대한 간섭 줄일 수 있다
    • 기지국과 멀면 기지국을 찾기 위해 많은 배터리 소모

관련 문제

  • 스팅레이 - stingray
    • 셀 타워를 모방하여 작동해서 근처에 있는 휴대전화가 실제 셀 타워 대신 자신과 통신하도록 한다
    • 가짜 기지국 느낌
    • 수동적 감시 또는 휴대전화에 대한 적극적 공격(중간자 공격) 목적으로 사용될 수 있다
    • 근처에 있는 셀 타워보다 강한 신호를 전달 할 수 있는 좁은 영역에서 효력을 발휘

Hotspot

  • AP(Access Point, 무선 공유기)를 설치해 와이파이가 가능한 일부 지역
  • 테터링(tethering)이라고도 한다

오류 검출 및 수정 알고리즘

Checksum Algorithm

  • 오류 검출과 수정
  • ex) 모든 숫자들이 의미를 내포하고 있는 것은 아니다
    • 신용카드, 사회보장카드 등
    • 단일 숫자 오류와 자리 바뀜 오류를 대부분 검출
  • 오른쪽 숫자에서 시작하여 왼쪽으로 가면서 각 숫자에 1과 2를 번갈아 곱
    • 만약 곱해서 나온 값이 9보다 크면 거기에서 9를 뺀다
    • 계산된 각 자리 숫자들을 더했을 때 합계가 10으로 나누어떨어져야 한다

Parity Code

  • 패리티 비트 - parity bit
    • 그룹 내에서 값이 1인 비트의 총 개수가 짝수가 되도록 선택
    • 오류 존재 유무만 파악 가능, 어디서 발생했는지는 모름
  • ex)
    • 주기억 장치 : 패리티 비트 이용해 임의 위치에서 발생하는 단일 비트 오류 검출
    • CD, DVD : 연속적으로 손상된 비트를 수정하는 코드가 사용
    • 휴대전화 : 짧게 집중적으로 발생하는 노이즈 신호에 대처
    • QR 코드 : 많은 오류 수정 기능을 갖춘 2차원 바코드
  • 압축과 마찬가지로 모든 문제 해결 불가
    • 심한 경우 검출, 수정 불가능

SmartPhone

  • 표준 전화 시스템을 사용할 수 있는 컴퓨터
  • 이동통신사의 통신망이나 와이파이로 인터넷에 접근
  • 휴대전화에서 인터넷에 접근하기 쉬워지면서 전화망과 인터넷의 구분이 모호해지고 있으며 구분은 결국 사라질 것이다

IOT

  • 사물인터넷
  • 특정 용도를 가진 장치는 같은 종류의 범용 장치보다 보안문제에 더 취약





Web

  • 웹은 각종 비즈니스를 변화시켰다. 검색, 온라인 쇼핑, 평가 시스템, 가격 비교 및 제품 평가 사이트 등 소비자 입장에서 많은 변화가 일어났다
  • 웹은 우리가 세상을 알아 가는 방식과 새로운 소식을 접하는 경로를 결정한다

Filter bubble

  • 구글, 아마존, 페이스북 등의 인터넷 정보 제공자가 사용자에 맞추어 필터링한 정보를 제공함으로 인해, 사용자가 이미 필터링된 정보만을 접하게 되는 것
  • 삶 속에서 가볍게 말하는 알고리즘이라 보면 됨
  • 반대로 웹은 여러 문제와 위험 발생
    • 웹으로 인해 국경선 무시, 이는 나라마다 다른 법을 가진 것에 반하는 문제 발생

Troll

  • 인터넷 트롤은 인터넷 문화에서 고의로 논쟁을 일으키거나, 사람들을 선동하는 사람, 또는 엉뚱하거나 주제에서 벗어난 내용이나 공격적이거나 불쾌한 내용을 인터넷에 올린 사람들의 감정적인 반응을 유발하고 모임의 생산성을 저하시키는 사람을 가리킨다. 인조 미끼로 물고기들을 유인하는 제물낚시를 영어에서 트롤링-trolling이라고 부르는데서 비롯된 용어

W3

  • 막대한 양의 문서에 범세계적으로 접근할 수 있는 시스템을 만드는 것을 목표로 하는 광역 하이퍼미디어 정보 검색 계획

Internet vs Web

  • 인터넷은 전 세계의 수많은 컴퓨터가 서로 쉽게 정보를 교환할 수 있도록 하는 통신 인프라 또는 하위 계층
  • 웹은 정보를 제공하는 컴퓨터(서버)와 정보를 요청하는 컴퓨터(클라이언트)를 연결

Web 종류

URL

  • uniform resource locator, 균일 자원 지시자
  • 정보의 출처에 대한 이름 = 주소

HTTP

  • hypertext transfer protocol, 하이퍼텍스트 전송 프로토콜
  • HTTP 클라이언트가 특정 URL에 대한 요청을 보내면 서버는 요청된 정보를 반환
    • 서버가 반환할 때 URL에서 :// 다음에는 서버의 이름을 지정하는 도메인 네임이 나온다
      • 도메인 네임 뒤에는 슬래시(/)와 문자열이 올 수 있다
      • 문자열은 서버에 그대로 전달, 서버는 문자열을 원하는 대로 처리
      • 슬래시 뒤에
        • 아무것도 없는 경우 index.html 같은 기본 페이지로 반환
        • 파일 이름이 있다면 그 내용이 있는 그대로 반환

    • 일반적으로 파일 이름 맨 앞부분 다음에 오는 물음표는 서버가 물음표 앞부분에 해당하는 이름의 프로그램을 실행하고 나머지 텍스트를 해당 프로그램에 전달해야 함을 뜻한다
  • 무상태(stateless) 프로토콜
    • 서버가 클라이언트 요청에 대해 아무것도 기억하지 않아도 된다는 의미
    • 서버는 요청된 페이지를 반환하면 데이터 교환 기록을 모두 버려도 된다
  • 프로그램 간에 전달되는 작은 정보 조각

  • 서버가 브라우저에 웹페이지를 보낼 때, 브라우저가 저장하게 되어 있는 추가 텍스트 덩어리를 포함할 수 있다

  • 쿠키는 각각의 덩어리

    • 브라우저가 같은 서버에 요청을 보낼 때, 브라우저는 그 쿠키를 도로 전송한다
  • 서버가 클라이언트 쪽 메모리를 사용하여 클라이언트의 이전 방문에 대한 정보를 기억하는 셈

  • 서버는 클라이언트에 고유한 식별 번호를 할당, 이 번호를 쿠키에 포함

    • 해당 식별 번호와 관련된 영구적인 정보가 서버의 데이터베이스에 유지된다
    • ex) 로그인 상태, 장바구니 내용, 사용자 설정 등
    • 사용자가 서버에 방문할 때마다 서버는 쿠키를 이용하여 사용자를 이전에 본 사람으로 식별하고, 정보를 설정하거나 복원한다
  • 각 쿠키에는 이름이 존재, 방문할 때마다 여러 개의 쿠키가 저장

  • 프로그램이 아니며 액티브 콘텐츠가 없다, 완전히 수동적

    • 단순한 문자열일 뿐
  • 유효기간 존재해 그 이후에는 브라우저에서 삭제

  • 표적 광고에도 사용됨

HyperText

  • 텍스트 초월이란 뜻
  • 하이퍼링크 걸려있는 텍스트
  • 링크를 클릭하면 브라우저가 도메인의 특정 포트로 TCP/IP 연결을 열고, URL의 나머지 부분에서 제공하는 정보에 대해 HTTP 요청을 보낸다
    • ex) http://w3.org/index.html 이라면 index.html 파일에 대한 요청을 보낸다
    • w3.org 서버가 요청을 받으면 수행할 작업을 결정한다
    • 요청이 서버에 이미 있는 파일에 대한 것이면 서버는 해당 파일을 보내 주고, 클라이언트인 브라우저는 이를 표시한다
    • 서버에서 반환되는 텍스트는 항상 HTML 형식
      • HTML은 실제 내용과 더불어 서식을 지정하거나 내용을 표시하는 방법에 대한 정보도 포함

HTTPS

  • HTTPS의 암호화된(안전한) 버전
  • HTTPS 사용하면 도청자가 내용을 읽거나 대화 당사자 중 하나로 가장하는 일이 불가능

HTML

  • hypertext markup language, 하이퍼텍스트 마크업 언어

  • HTML은 서버가 반환하는 정보 서식이나 표시 방식을 설명하기 위한 언어

    • 매우 간단하여 평소 자주 사용하는 텍스트 편집기로도 웹페이지를 쉽게 만들 수 있다
    • ex) 확장자 .html 이용
  • 이미지 태그의 경우 해당 파일에 접근할 수 없다면 깨진 이미지 제공,이용해 이미지 자체를 보여 줄 수 없을 때 표시하는 대체 텍스트 제공

  • HTML, CSS 모두 언어이지만 프로그래밍 언어는 아니다

    • 루프와 조건문이 없기에 알고리즘 표현 불가
  • 진지하게 웹 디자인을 하려면 전문 도구가 필요하겟지만, 내부적으로 어떻게 작동하는지만 이해해도 충분히 도움이 된다

CGI

  • Common Gateway Interface, 공용 게이트웨이 인터페이스
  • 간단한 메커니즘
  • HTML의 태그를 통해 제공
    • form 태그는 다양한 제약 있어 몇가지 특정 인터페이스만 지원
    • 자바스크립트 코드를 작성하거나 서버로 보내서 처리하지 않는한 유효성을 검사 불가
      • 비밀번호 별표로 대체하는 입력 필드 있지만, 비밀번호 암호화되지 않은 채로 전송되고 로그에 저장되므로 아무런 보안도 제공하지 않는다
    • 해당 데이터를 사용해 특정 프로그램을 실행하라는 요청과 함께 폼 내의 데이터가 서버로 전송
    • ex) 제출 버튼, 제출 버튼을 누르면 시험지의 내용이 서버로 전달되는 것 등
  • 클라이언트(브라우저)에서 서버로 정보를 전달하는 데 사용
    • 내용은 이름, 비밀번호, 검색 쿼리, 라디오 버튼과 드롭다운 메뉴 등 다양

browser

  • 컴퓨터에서 실행되는 크롬, 파이어폭스, 사파리, 엣지 같은 프로그램

  • URL과 HTTP를 사용하여 서버에 요청을 보내고 서버에서 보낸 HTML을 가져와서 표시

  • 브라우저는 전문화된 운영체제와 비슷해 '사용자들의 웹 브라우징 경험을 향상하기 위해' 더 풍부하고 더 복잡한 콘텐츠를 처리하도록 확장될 수 있다.

    • 장점은 브라우저에서 실행되는 프로그램으로 많은 것을 할 수 있고, 계산이 로컬 환경에서 수행되는 경우 사용자 요청에 더 빨리 응답한다는 것
    • 단점은 이렇게 하려면 브라우저에서 제3자가 작성한 확장 프로그램(ex 플러그인)을 실행해야 하는데, 그 사람이 어떤 사람인지 잘 모를 가능성이 크다는 것
      • 마이크로소프트에서 작성한 <10가지 불변의 보안 법칙, 10 Immutable Laws of Security>에서 첫 번째 법칙은 '악당이 여러분의 컴퓨터에서 자신의 프로그램을 실행하도록 허락한다면 그것은 더 이상 여러분만의 컴퓨터가 아니다'
        • 자바스크립트와 플로그인 허용에 보수적으로 접근해야 한다

액티브 콘텐츠 - active contents

  • 초창기 브라우저의 경우 사용자를 대신하여 서버에 요청을 보내고, 폼에 있는 정보를 전송하며, 확장 프로그램의 지원을 받아 특수한 처리가 필요한 사진이나 오디오 같은 콘텐츠를 보여 주는 기능을 했지만 시간이 지나 브라우저를 통해 웹에서 코드를 다운로드하여 실행할 수 있게 되었는데 이를 액티브 컨텐츠라 한다
  • 자바 자체는 광범위하게 사용되지만, 브라우저와의 연동 기능은 제한척이며 오늘날에는 그런 용도로 거의 사용되지 않는다
    • 브라우저에 사용할 목적으로 새로운 언어를 만들었는데, 이게 자바스크립트이다
      • 마케팅을 위해 자바스크립트라고 지었지만 자바와는 별로 상관 없다
      • 자바의 소스 코드 같은 경우 만들어진 곳에서 컴파일되고 생성된 오브젝트 코드가 브라우저로 보내 해석, 때문에 소스코드를 볼 수 없음
      • 자바스크립트의 경우 소스 코드가 브라우저로 보내지고 거기에서 컴파일된다. 때문에 소스 코드를 볼 수 있으며 수정도 가능하다
      • 전반적인 대부분의 웹들에 자바스크립트가 사용되지만 브라우저 애드온을 이용하면 어떤 자바스크립트 코드를 실행할지 약간의 통제권을 가질 수 있다
        • 애드온도 자바스크립트로 작성
  • 웹페이지에 브라우저가 직접 처리할 수 없는 경우 플러그인(plug-in)을 통해 처리
  • 액티브 콘텐츠는 웹페이지가 아닌 다른 곳에도 나타날 수 있다
    • ex) 이메일
      • 텍스트 외에 다른 종류의 콘텐츠가 함께 들어 있을 때 이를 어디까지 처리해야 되는지 문제 발생
      • 프라이버시와 보안에 큰 영향을 미치기 때문
      • 메일 프로그램이 이미지를 자동으로 표시한다면 사진을 쉽게 볼 수 있지만, 콘텐츠가 다른 출처에서 왔다면 더 많은 쿠키를 받게 될 가능성이 커진다. 쿠키를 차단할 수는 있겠지만, 메일 발신자가 메시지나 수신자에 대한 어떤 정보를 인코딩한 URL을 포함하고 있는 1 X 1 투명 픽셀 이미지를 포함한다면 이를 막을 방법은 없다
      • 웹 비콘 - web beacon
        • HTML을 지원하는 메일 프로그램에서 그 작은 이미지를 요청하면, 그 이미지를 제공하는 사이트에서는 여러분이 특정 메일 메시지를 특정 시점에 읽고 있음을 알게 된다. 메일을 읽는 시기 쉽게 추적 가능하거나 어쩌면 숨기고 싶은 정보까지 드러나게 된다
      • 메일 링크는 피해자가 어리석은 일을 하도록 유도할 때 악당들이 가장 선호하는 방법

플러그인

  • 브라우저에 동적으로 로드되는 프로그램

  • 일반적으로 서드 파티(third party - 외부 개발 업체)가 개발

  • 플러그인을 선택한다는 것은 브라우저와 긴밀하게 협력해 컴퓨터에서 실행할 새 프로그램을 다운로드하는 것을 의미

  • 컴파일된 코드로, 브라우저에서 제공하는 API를 사용하여 브라우저의 일부로 실행된다

    • 실행될 때 사실상 브라우저의 일부가 된다
  • 비디오, 애니메이션용으로 널리 사용

  • ex) PDF 문서용 어도비 리더(Adobe Reader)

  • 보안에 취약





보안 위협

클라이언트 공격

  • 스팸, 추적 같은 단순히 골칫거리를 만드는 공격뿐만 아니라 더 심각한 문제를 야기하는 공격
    • 신용카드 번호, 은행 계좌 번호 또는 비밀번호 같은 개인 정보 유출이 포함

Spam

  • 거의 무료로 보낼 수 있기 때문
  • 수백만명의 수신자 중 극히 일부만 응답하더라도 수익을 유지하기에 충분
  • 스팸 필터링은 머신러닝의 주요 응용 분야
    • 스팸 또는 스팸이 아닌 것으로 태그된 예시 훈련 집합이 주어지면 머신러닝 알고리즘은 훈련 집합 특성과의 유사성을 기반으로 이후에 입력되는 데이터를 분류
  • 출처가 숨겨져 있어 원천적으로 중단시키기에 어려움

피싱 - phishing

  • 도용에 사용할 수 있는 정보를 수신자가 자발적으로 넘겨주도록 설득하는 방법
    • ex) 이메일 답장
  • 자격 증명(credential)을 확인하도록 요청
    • 낮은 성공률로도 수익을 올림

Spear phishing

  • 소셜 엔지니어링(social engineering)이라고도 부름
  • 정확한 표적 공격
    • 참고) 활발한 SNS 활동은 소셜 엔지니어링 사기꾼에게 도움을 줌

Spyware

  • 컴퓨터에서 실행되면서 사용자에 대한 정보를 다른 곳으로 보내는 프로그램
  • 일부는 명백히 악의적인 공격이지만, 가끔은 단순히 상업적인 스누핑도 존재
    • ex) 대부분의 최신 운영체제는 설치된 소프트웨어의 업데이트된 버전이 있는지 자동으로 확인, 보안 문제에 대한 버그가 수정된 업데이트 사항을 반영하도록 권장

Zombie

  • 공격자가 개인용 컴퓨터에 설치
  • 인터넷에 연결되어 잠에서 깨어난 스팸 메일 전송 같은 적대정 행위를 수행하라는 명령을 받을 때까지 기다리는 프로그램
    • 이런 프로그램을 봇(bot)이라고 부름
    • 공통으로 제어되는 봇의 네트워크를 봇넷(botnet)

Key logger

  • 클라이언트에서 일어나는 모든 키 입력을 모니터링하는 프로그램
  • 키가 입력될 때 비밀번호를 캡처
  • 암호화는 이를 막는데 도움이 되지 못함

Ransomware

  • 악성코드가 컴퓨터에 있는 콘텐츠를 암호화하여 복호화 비밀번호에 대한 금액을 지급하기 전까지 사용할 수 없게 하기도 하는 공격

Scareware

  • 단순한 랜섬웨어
  • 그저 컴퓨터가 악성코드에 감염됐다고 주장하면서 협박하는 화면을 띄움
  • 아무것도 건드리지 말고 거기 있는 수신자 부담 번호로 전화를 걸어 적당한 돈을 주면 구출된다

방어

  • 제 3자 쿠키(클라이언트가 방문한 사이트가 아닌 다른 웹사이트에서 온 쿠키)를 금지하고 , 트래커를 비활성하는 브라우저 애드온을 사용하고, 자바스크립트를 차단하는 등의 방법
  • 방어 수준을 최대한 높이는 것도 귀찮지만 높인다면 웹 사이트를 제대로 사용할 수 없다

서버 공격

SQL injection

  • 사용자 접근을 신중하게 제한하지 않으면 영리한 공격자가 데이터베이스 구조를 드러내고 인가되지 않은 정보를 추출하며 심지어 공격자의 코드를 서버에서 실행하기 위한 쿼리를 제출
  • 공격자가 root(최고 수준의 관리자 권한) 권한을 획득했다면 더 그렇다

DOS

  • denial of service, 서비스 거부
  • 공격자는 순전히 트래픽 용량만으로 사이트를 마비시키기 위해 대량의 트래픽이 사이트로 향하게 만듬
  • 봇넷으로 조정됨

DDOS

  • distributed denial of service, 분산 서비스 거부
  • 많은 출처에서 동시에 오는 DOS 공격

전송 중인 정보 공격

  • 무선 통신을 스누핑하거나 NSA가 광케이블상의 모든 트래픽을 탈취하는 행위 등
  • 앞에 두 가지(서버, 클라이언트 공격)에 비해 크게 중요하게 여겨지지 않는 것 같지만 여전히 심각하며 흔히 발생하는 문제이다
  • 무선 시스템이 확신되면서 과거와는 양상이 변할 수도 있음
    • 예를 들어, 은행의 경우 사용자와 은행 간 트래픽이 암호화되어 있다면 도청하는 자가 내용을 이해할 수 없지만 개방형 무선 엑세스 포인트를 제공하는 곳이라면 어디서든 공격자가 암호화되지 않은 연결을 프로그램을 수누핑하며 사용자를 가장한다

중간자 공격

  • 공격자가 메시지를 가로채서 바꾼 다음, 마치 원래 출처에서 바로 온 것처럼 수신자에게 보내는 공격
  • 방어
    • VPN - virtual private network, 가상 사설망
      • 두 컴퓨터 간에 암호화된 통신 경로를 설정하여 일반적으로는 정보 흐름을 양방향으로 안전하게 보호
      • 기업의 경우 직원들이 집에서 일하거나 통신 네트워크 보안을 신뢰할 수 없는 국가에서 일할 수 있게 하고자 VPN을 자주 이용
    • 보안 메시징 앱 - secure messaging app
      • 사용자 간에 암호화된 음성, 비디오, 텍스트 통신을 제공
      • 모든 통신에 종단 간 암호화가 적용, 이는 서비스 제공 업체에는 없고 종단점에만 존재하는 키를 사용해서 메시지가 발신지에서 암호화되고 수신지에서 복호화된다는 뜻
      • 이론상으로는 도청 및 중간자 공격 불가

악성코드

  • 시스템을 손상시키거나 작동을 방해하는 악의적인 소프트웨어
  • 한 시스템에서 다른 시스템으로 전파
  • 1990년대까지는 감염된 플로피 디스크를 통해 바이러스가 전파 되는 것이 흔한 일이었다
    • 플로피 디스크가 pc간에 프로그램과 데이터를 교환하기 위한 표준 매체였기 때문
  • 현재는 감염된 USB 플래시 드라이브가 같은 목적으로 이용
    • CD, DVD, 플래시 드라이브 등이 연결될 때 프로그램 자동 실행하는 '자동 실행' 서비스 제공
    • 어떠한 경고를 띄우거나 개입할 겨를도 없이 악성 소프트웨어 설치하고 시스템에 손상 일으킴

바이러스

  • 스스로 전파될 능력이 없어 사용자가 어떤 행동을 해야만 활성화되어 다른 시스템에 도달
  • 일반적으로 컴퓨터에 해당 바이러스가 없다면 자신을 설치하고, 다른 시스템에 자신을 전파하도록 준비하는 절차를 밟는다
    • ex) 감염된 문서가 열리면 바이러스는 현재 피해자의 주소록에 있는 모든 이메일 주소에 자신의 복사본을 메일로 보냄

worm

  • 사용자의 도움 없이도 전파
  • ex) 인터넷 웜 - internet worm
    • 사전 공격과 프로그램의 버그 이용

Trojan horse

  • 유익하거나 무해한 것으로 가장되지만 실제로는 해로운 일을 하는 프로그램
  • 도움이 되는 것처럼 속여 피해자가 트로이 목마를 다운로드하거나 설치하도록 유도
    • ex) 시스템 분석을 제안하며 실제로는 악성코드를 대신 설치하는 수법
  • 대부분 이메일로 배달
    • 이메일 파일을 클릭하면 드리덱스-dridex라는 악성코드가 설치

방어책

  • 방어는 매우 어려움, 방어자보다 공격자에게 유리

의무적인 방어책

비밀번호 신중히 선택

  • 은행, 전자 메일과 news, SNS 중요한 곳과 덜 중요한 곳 비밀번호 다르게
    • 단일 계정 사용하면 문제가 생겼을 때 단일 장애 지점이 됨
    • 비밀번호가 이미 유출됐는지 알 수 있는 사이트 존재, 확인 가능

라스트패스

  • LastPass, 무작위 비밀번호 관리 프로그램
  • 우리가 사용하는 모든 사이트에 대해 안전한 무작위 비밀번호를 생성하여 저장
    • 이 또한 라스트패스가 문제가 생기면 단일 장애 지점이 된다

이중 인증

  • 비밀번호 + 사용자가실제 소유하고 있는 실제 장치
  • 난수를 생성해 비밀번호와 함께 입력하도록 하는 특수 목적 장치도 존재

첨부파일

  • 낯선 사람이 보낸 첨부 파일이나 친구나 동료가 보낸 예정에 없던 첨부 파일을 열지 말라
    • 요청을 받았다고 절대 무의식적으로 혀용하거나, 클릭하거나, 설치하지 마라
  • 출처가 미심쩍은 프로그램 다운X
  • 에드온을 통해 개선 가능

개방형 와이파이

  • 개방형 와이파이를 제공하는 곳에서 어떤 중요한 일도 하지 마라
  • 연결이 HTTPS라는 것을 확인하되, HTTPS는 단지 내용만 암호화한다는 사실을 잊지 마라, 발신자와 수신자를 알고 있다. 이러한 데이터는 사람을 식별하는데 매우 유용하게 사용됨

바이러스 검사 프로그램 사용 및 최신화

백업

  • 애플의 타임머신(Time Machine) 같은 서비스를 사용하여 자동으로 백업하거나, 부지런하다면 직접 정보를 안전한 곳에 정기적으로 백업
  • 클라우드를 이용한다면 서비스가 중지되거나, 계정 정보를 잃어버리는 것을 대비해 자신만의 백업 사본도 만들어라

추가 방어책

제3자 쿠키 차단

  • 쿠키는 브라우저별로 저장되므로 사용하는 브라우저마다 방어 기능을 따로 설정해야 함

에드온 사용

  • 에드온 예) 애드블록 플러스, 유블록 오리진 - uBlock Origin, 프라이버시 배저 - Privacy Badger
  • 광고, 추적, 그리고 그로 인해 활성화될 수 있는 잠재적 악성 코드를 차단
  • 고스터리를 사용해 자바스크립트 추적을 최대한 제거

브라우저 설정

  • 브라우저를 비공개 브라우징 또는 익명 모드로 설정하고, 각 세션이 끝날 때 쿠키를 삭제해라
  • 이는 자신의 컴퓨터에만 영향을 주므로 온라인에서는 여전히 추적당할 수 있다
  • 휴대전화에서도 지도나 내비게이션이 필요하지 않다면 위치 서비스를 꺼라
  • 메일 프로그램에서 HTML과 자바스크립트를 비활성해라

운영체제 설정

  • 사용하지 않는 운영체제 서비스를 꺼라
  • 맥에서는 프린터, 파일, 장치를 공유하고 있는 다른 컴퓨터에서 로그인하여 컴퓨터를 원격으로 관리할 수 있도록 허용하는 기능을 제공
    • 이런 기능을 끄라는 것

Firewall

  • 방화벽은 들어오고 나가는 네트워크 연결을 모니터링하고 접근 규칙을 위반하는 연결을 차단하는 프로그램
    • 컴퓨터의 방화벽을 켜라
  • 비밀번호를 사용하여 휴대전화와 노트북을 잠그라
  • 지문 인식 장치가 있다면 사용해라

그 외

  • 자바스크립트를 줄이기 위해 브라우저에서 노스크립트를 사용해라
  • 화이트리스트(허용 목록)에 명시적으로 입력한 사이트를 제외한 모든 사이트의 쿠키를 차단
  • 사이트에 임시로 회원 가입할 때는 가짜 이메일 주소를 사용
  • 휴대전화 사용하지 않을 때는 휴대전화를 끄고 휴대전화 암호화
  • 익명으로 웹 브라우징하기 위해 토어-Tor 브라우저를 사용해라
  • 암호화된 통신을 위해 시그널, 왓츠앱, 아이메시지를 사용하라
    • 하지만 이 앱들도 신중히 사용하지 않으면 여전히 악성코드를 전달할 수 있음에 유의

정리

보안 이전 통신과 관련 정리

0개의 댓글