테크

정보 보안 기법

Gyunorld 2025. 5. 23. 16:33

정보 보안이란?

정보 보안은 정보와 정보 시스템을 무단 접근, 사용, 공개, 변경, 파괴, 중단 등의 다양한 위협으로부터 보호하는 것을 의미한다. 인가되지 않은 사용자가 정보에 접근하거나 정보를 변경, 파괴, 유출하는 것을 방지하여 정보의 안전성과 신뢰성을 확보하는 모든 관리적,기술적 활동을 포함한다. 정보 보안의 핵심 목표는 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)이 있다. 앞의 세가지를 정보 보안의 기본 원칙으로 CIA 3원칙이라고 한다.

 

CIA 3원칙

기밀성(Confidentiality)

  • 기밀성은 인가된 사용자만 정보에 접근할 수 있도록 보호한다는 원칙이다.
  • 외부의 무단 접근, 도청, 정보 유출, 사회공학 공격 등으로부터 정보를 지키는 것이 목표이다.
  • 기밀성을 기반으로 한 대표적인 보호 방법으로 암호화, 접근 제어, 비밀번호 등이 있다.

무결성(Integrity)

  • 무결성은 허가되지 않은 방식으로 정보를 변경, 훼손, 삭제되지 않도록 보장한다는 원칙이다.
  • 정보의 정확성과 일관성을 유지하는 것이 목표이며 변조, 악성코드, 해킹으로부터 정보를 보호한다.
  • 무결성을 기반으로 한 대표적인 보호 방법은 전자서명, 해시 함수, 접근 통제, 변경 이력 관리, 침입 탐지 시스템 등이 있다.

가용성(Availability)

  • 가용성은 인가도니 사용자가 필요할 때 정보와 시스템을 사용할 수 있도록 보장한다는 원칙이다.
  • 시스템 장애, 서비스 거부 공격(DoS, DDoS), 자연재해, 하드웨어 고장 등으로 인한 서비스 중단을 방지하는 것이 목표이다.
  • 가용성을 기반으로 한 대표적인 보호 방법에는 시스템 이중화, 백업, 재해 복구, 네트워크 및 서버의 성능 모니터링과 클러스터링 등이 있다.

정보 보안 기법

  • 기술적 정보 보안 기법 
    1. 암호화(Encryption)
      • 데이터를 암호화하여 인가받지 않은 사용자가 내용을 이해하지 못하도록 보호한다.
      • 대칭키,비대칭키 방식이 있으며, 데이터 전송하고 저장할 때 모두 적용된다.
      • 실제 보안 시스템은 두 방식을 결합해서 사용한다. SSL/TLS에서는 비대칭키로 대칭키를 안전하게 교환한 후에 실제 데이터 전송은 속도가 빠른 대칭키로 암호화한다. 대칭키와 비대칭키를 상호 보완적으로 사용하여 성능과 보안을 모두 확보한다.
      • 대칭키 암호화 : 암호화와 복호화에 동일한 키를 사용하는 방식으로 송신자와 수신자가 같은 키를 공유한다. 해당 키로 데이터를 암호화하고 복호화 한다.
        • 특징 
          • 암호화와 복호화가 빠르고 대용량의 데이터 처리에 적합하다.
          • 알고리즘이 단순하여 쉽게 구현할 수 있다.
          • 연산 자원이 적게 사용되고 저전력 환경이나 IoT기기 등에서 유용하다.
          • 동일한 키를 사용하기 때문에 키가 유출되면 암호화된 모든 데이터가 유출될 수 있다.
          • 사용자가 많아질수록 관리해야 할 키의 수가 기하급수적으로 증가한다.
          • 주요 알고리즘으로는 AES, DES, 3DES, SEED, RC4가 있으며 주로 파일, 데이터베이스, 네트워크 데이터 등 대용량 데이터 처리에 주로 사용한다.
      • 비대칭키 암호화 : 서로 다른 두 개의 키인 공개키와 개인키를 사용하는 방식이다. 공개키로 암호화된 데이터를 해당 개인키로만 복호화 한다.
        • 특정
          • 키 관리가 용이하다. 공개키는 자유롭게 배포할 수 있어 키 분배 문제가 해결된다.
          • 키 분배가 안전하고, 인증 및 전자서명 등 다양한 보안 기능을 제공한다.
          • 사용자가 많아도 관리해야 할 키의 수가 상대적으로 적고 확장에 용이하다.
          • 암호화와 복호화 연산 복잡하여 대칭키에 비해 속도가 느리다.
          • 연산이 복잡하기 때문에 계산 자원이 많이 사용된다.
          • 주요 알고리즘으로는 RSA, ECC, ElGamal, DSA 가 있으며 주로 디지털 서명, 인증서, SSL/TLS의 키 교환, 이메일 암호화, 블록체인, 전자상거래 인증 등에 사용된다.
    2. 접근 제어(Access Control)
      • 접근 제어는 사람이나 프로세스가 시스템, 네트워크, 데이터 등 정보 자원에 대해 읽기, 쓰기, 실행 등 특정 행위를 할 수 있도록 허가하거나 거부하는 보안 기능이다.
      • 접근 제어는 식별(Identification) ➡️ 인증(Authentication) ➡️ 인가(Authorization)의 절차로 이루어진다
      • 주요 접근 제어 모델로는 강제적 접근 제어(MAC), 임의적 접근 제어(DAC), 역할 기반 접근 제어(RBAC), 속성 기반 접근 제어(ABAC)가 있다.
        • 강제적 접근 제어(MAC) : 보안 정책과 등급에 따라서 중앙 관리자가 접근 권한을 강제로 부여하는 방식이다. 엄격한 중앙 집중식 관리, 높은 보안성이 특징이다. 주로 군사기관이나 정부기고나 등 기밀성이 중요한 환경에서 사용한다.
        • 임의적 접근 제어(DAC) : 객체의 소유자가 자신이 소유한 자원에 대해서 다른 주체의 접근 권한을 임의로 설정하는 방식으로 주로 사용자나 그룹의 신원을 기준으로 접근을 제한한다. 유연한 권한 부여, 분산형 관리와 대부분의 운영체제에서 사용한다는 것이 특징으로 보안성이 낮은 편이다.
        • 역할 기반 접근 제어(RBAC) : 권한을 조직 내 역할에 부여하고 사용자는 역할을 할당받아 해당 역할의 권한으로 자원에 접근하는 방식이다. 중앙 집중식으로 관리되며 역할 변경만으로 권한 관리가 용이한 것이 특징이다. 최소 권한과 직무 분리 원칙으로 적용하며 대규모 조직이나 기업에 적합하다.
        • 속성 기반 접근 제어(ABAC) : 사용자, 객체, 환경(시간, 위치 등)의 다양한 속성을 동적으로 분석하여 접근 권한을 부여하는 방식으로 동적 환경 변화에 유연하게 대응할 수 있다. 클라우드,SOA 등의 최신 IT 환경에 적합하다.
    3. 인증(Authentication)
      • 인증은 사용자의 신원을 확인하는 보안 절차로 사용자가 주장하는 신원이 실제로 맞는지 검증하는 과정이다. 
      • 식별과 인증 절차로 이루어지며 인증이후에는 권한 부여를 통해서 해당 사용자가 어떤 자원에 접근할 수 있는지 결정한다.
      • 인증 유형은 지식 기반 인증, 소유 기반 인증, 생체 기반 인증, 행위 기반 인증 등이 있다. 최근에는 두 가지 이상의 인증 수단을 결합하는 다중 요소 인증(MFA)가 사용된다.
      • 지식 기반 인증 (What You Know)
        • 사용자가 알고 있는 정보로 비밀번호, PIN, 보안 질문 등이 있다. 구현이 쉽고 비용이 저렴하지만 유출과 추측에 취약하고 비밀번호 재사용에 대한 문제가 있다.
      • 소유 기반 인증 (What You Have)
        • 사용자가 소유한 물리적, 전자적 수단으로 인증한다. OTP, 스마트카드, 보안카드, 공인인증서, 신분증, 휴대폰 인증 등이 있다. 다른 인증 방법에 비해서 안전하지만 분실, 도난 시의 위험과 관리의 불편함이 있다. 
      • 생체 기반 인증 (What You Are)
        • 사용자의 고유한 생체 정보인 지문, 홍채, 얼굴, 음성, 망막 등을 활용한다. 장점으로는 위변조가 매우 어려워서 높은 보안성을 자랑한다. 단점으로는 인식 오류와 생체 정보 유출 시 대체가 불가능하다는 점이다.
      • 행위 기반 인증(What You Do)
        • 사용자의 행동 패턴을 기반으로 인증하는 방식으로 서명, 키 입력 패턴 등이 있다. 높은 보안성과 편의성을 제공하지만 프라이버시 보호와 신뢰성 확보가 병행되어야 한다.
    4. 방화벽(Firewall)
      • 미리 정해진 보안 규칙에 따라서 네트워크로 들어오고 나가는 트래픽을 모니터링하고 제어하는 네트워크 보안 장치 혹은 소프트웨어이다. 신뢰할 수 있는 내 네트워크와 신뢰할 수 없는 외부 네트워크 사이에 장벽을 세워서 무단 접근이나 악의적인 공격으로부터 내부 자산으로 보호한다.
      • 방화벽의 주요 기능
        • 접근 통제(Access Control) : 내부 네트워크의 서버,DB등의 접근을 제한하여 승인된 사용자나 서비스 접근할 수 있도록 한다.
        • 트래픽 필터링 : IP 주소, 포트 번호, 프로토콜(TCP/UDP) 등 다양한 기준에 따라 데이터 패킷을 검사한 후에 허용이나 차단 여부를 결정한다.
        • 상태 기반 필터링(Stateful Inspection) : 연결의 상태를 추적하여 이미 승인된 연결에 대한 트래픽만 허용하고 새로운 연결 요청은 규칙에 따라서 판단한다.
        • 사용자 및 메세지 인증(Authentication) : 방화벽을 통과하는 사용자나 메세지의 신원을 확인하여 신회할 수 있는 트래픽만 허용한ㄷ. OTP, 패스워드, 인증서 등 다양한 인증 방식이 적용될 수 있다.
        • 검사 및 로깅(Auditing & Logging) : 트래픽 허용, 차단, 정책 변경, 관리자 접근 등 모든 이벤트를 기록하고 추후 보안 사고 분서과 대응에 활용한다.
        • 프록시 기능 : 클라이언트의 요청을 대신 처리하여 내부 서버의 직접 노출을 막고 보안성을 높인다.
        • 네트워크 주소 변환(NAT) : 내부 IP 주소를 외부에 노출하지 않고 주소 변환하여 보안을 강화한다.
      • 방화벽의 주요 유형
        • 패킷 필터링 방화벽 : 네트워크/전송 계층에서 패킷의 IP, 포트, 프로토콜을 기준으로 트래픽을 제어한다.
        • 상태 기반 방화멱 : 연결의 상태를 추적하여 정상적인 세션의 트래픽만 허용한다.
        • 프록시 방화벽 : 클라이언트와 서버 사이에서 중계 역할을 하여 직접 연결을 차단한다.
        • 애플리케이션 계층 방화벽  : 트래픽 내용과 목적지에 따라 애플리케이션 단위로 제어한다.
        • 차세대 방화벽(NGFW) : 기존 방화벽의 침입 방지, 위협 분석 등 다양한 보안 기능과 실시간 위협 탐지 능력을 제공한다.
        • 가상/클라우드 방화벽 : 클라우드 환경이나 가상 네트워크에서 작동하는 방화벽으로 유연성과 확장성이 뛰어나다
    5. 침입 탐지 및 방지 시스템(IDS/IPS)
      • 침입 탐지 시스템 (IDS)
        • 패킷이나 로그를 분석하여 알려진 공격 패턴(시그니처) 또는 평소와 다른 이상 행위(이상 탐지)를 식별하여 관리자에게 경고 또는 로그를 남긴다.
        • NIDS : 네트워크 트래픽 전체를 모니터링하는 네트워크 기반 IDS
        • HIDS : 개별 서버나 PC등 단일 호스트의 활동을 감시하는 호스트 기반 IDS
      • 침입 방지 시스템 (IPS)
        • 네트워크에 경로(인라인)에 설치되어서 모든 트래픽을 실시간으로 검사하여 정책에 위배되는 트래픽을 즉시 차단하거나 수정한다.
    6. 디지털 저작권 관리(DRM)
      • 음악, 동영상, 전자책, 소프트웨어 등의 디지털 콘텐츠의 불법 복제와 무단 배포를 방지하고 정당한 사용자만이 정해진 권한 내에서 콘텐츠를 사용할 수 있도록 생성, 유통, 이용의 전 과정에 걸쳐 콘텐츠를 보호하고 관리하는 기술이다.
      • 주요 기능과 특징
        • 콘텐츠 암호화 및 접근 제어 : 콘텐츠와 라이선스를 암호화하여 인가된 사용자만 접근하여 이용할 수 있도록 한다.
        • 라이선스 및 정책 관리 : 사용 기간, 횟수, 기기 제한 등 다양한 조건을 라이선스에 포함해 관리한다.
        • 불법 복제 및 유출 방지 : 문서 암호화, 워터마크 삽입, 로그 기록 등으로 정보 유출을 방지한다.
        • 사용자 인증 : 콘텐츠를 열람하거나 사용할 때 사용자 인증을 통해서 정당한 권한이 확인된 사용자만 콘텐츠를 해독해 사용할 수 있다.
        • 보안 컨테이너 : 콘텐츠 원본을 안전하게 유통하기 위한 컨테이너를 사용하여 유통 과정에서의 변조나 유출을 방지한다.
      • 구성 요소
        • 콘텐츠 제공자 : 콘텐츠를 제작 및 제공하는 저작권자
        • 패키저 : 콘텐츠를 암호화하고 메타데이터와 함께 배포 가능한 형태로 묶는 역할
        • 클리어링 하우스 : 라이선스 발급, 사용 권한 관리, 과금 및 정산 등
        • 콘텐츠 분배자 : 암호화된 콘텐츠를 유통
        • 콘텐츠 소비자 : 콘텐츠를 구매 및 이용하는 사용자
        • DRM 컨트롤러 : 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
        • 보안 컨테이너 : 콘텐츠 원본을 안전하게 유통하기 위한 장치
      • 장점
        • 저작권 보호와 창작자 수익 보장
        • 불법 복제 및 유통 방지
        • 콘텐츠 사용 권한 세밀하게 제어 가능
      • 단점
        • 사용자 경험 제한
        • 시스템 및 플랫폼 간의 호환성 문제
        • 강력한 DRM일수록 정품 사용자도 불편을 겪을 수 있다
        • 완벽한 보안의 불가능하며 해킹 및 우회 가능성이 존재
    7. 안티바이러스 및 악성 코드 방지
      • 악성코드의 침입을 사전에 차단하고 이미 감염된 파일을 탐지하여 제거하거나 격하는 역할을 한다.
      • 악성코드의 유형
        • 바이러스 : 정상 파일에 감염되어 자기 복제를 통해서 다른 파일로 전파되는 악성코드로 사용자가 감염된 파일을 실행해야 활성화된다.
        • 웜 : 스스로 독립적으로 복제하여 네트워크를 통해서 전파되는 악성코드이다.
        • 트로이목마 : 정상 프로그램으로 위장하여 사용자가 실행하도록 유도하여 내부에 백도어,키로거 등 추가 악성 기능을 탑재하고 있다.
        • 백도어 : 공격자가 시스템에 몰래 접근할 수 있도록 비인가 통로를 만들어 원격 제어, 정보 탈취, 추가 악성코드 설치 등에 사용된다.
        • 랜섬웨어 : 파일을 암호화한 뒤 금전을 요구하는 악성코드로 감염 시 파일 복구가 매우 어렵다.
        • 스파이웨어 : 사용자의 동의 없이 설치되어 개인정보, 활동 내역 등을 몰래 수집하는 악성코드이다.
        • 애드웨어 : 사용자의 기기에 광고를 무단으로 표시하거나 광고 클릭을 유도하는 악성코드이다.
        • 이외에도 루트킷, 드로퍼/다운로더, 키로거, 부트킷 등이 있다.
      • 핵심 기능
        • 실시간 스캔 및 감시 : 시스템, 파일, 이메일, 웹 트래픽 등을 실시간 모니터링하여 악성코드 실행 및 설치를 즉시 차단한다.
        • 시스템 및 정기 스캔 : 전체 또는 지정된 영역을 주기적으로 검사하여 잠재적인 악성코드를 탐지한다.
        • 악성코드 제거 및 격리 : 감염된 파일 삭제, 수정, 격리 영역으로 이동시켜서 추가 감염을 방지한다.
        • 데이터베이스 업데이트 : 최신 악성코드에 대응하기 위해서 시그니처(DB)및 엔진을 주기적으로 갱신한다.
        • 행위 기반 탐지 : 파일 실행 패턴, 시스템 변경 등 이상행위를 분석하여 신종/변종 안성코드를 탐지한다.
        • 머신러닝/AI 탐지 : 인공지능이 악성코드 특성을 학습하여 알려지지 않은 위협까지 예측하거나 탐지한다.
        • 클라우드 샌드박스 분석 : 의심 파일을 가상 환경에서 실행해 실제 악성 여부를 확인한다.
        • 네트워크 트래픽 분석 : 비정상 트래픽, 악성 URL, 피싱 사이트의 접근을 차단한다.
        • 중앙 관리 및 가시성 : 기업 환경에서 모든 엔드포인트의 보안 현황을 중앙에서 모니터링 및 관리한다.
    8. 데이터 유출 방지
      • 데이터 유출 방지(DLP)는 기업이나 조직 내의 중요 정보, 기밀 데이터, 개인정보 등이 무단으로 외부로 유출되는 것을 예방하고 통제하는 기술 및 관리적 대책을 의미한다. DLP는 정보가 저장, 사용, 전송되는 모든 경로에서 데이터를 모니터링하고, 정책에 따라 유출 시도를 차단하거나 로그로 남기며, 유출 사고 발생 시 원인 추적과 신속한 대응이 가능하게 한다.

'테크' 카테고리의 다른 글

PK,FK 그리고 Index  (0) 2025.04.10
RDBMS와 NoSQL  (0) 2025.03.25
비동기 프로그래밍이란?  (0) 2025.02.13