정보처리기사

[9. 소프트웨어 개발 보안 구축] 핵심 키워드 정리

김꼬알 2023. 4. 10. 17:26

SW 개발 보안의 3대 요소: 기무가

  • 기밀성(Confidentiality): 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성
  • 무결성(Integrity): 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성
  • 가용성(Availability): 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성

 

 

SW 개발 보안 용어: 자위취위

  • 자산(Assets)
  • 위협(Treats)
  • 취약점(Vulnerability)
  • 위험(Risk)

 

 

DoS(Denial of Service) 공격

  • 시스템을 악의적으로 공격해서 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격

 

종류

  • SYN 플러딩(SYN Flooding): TCP 프로토콜의 구조적인 문제를 이용한 공격
  • UDP 플러딩(UDP Flooding) 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP Destination Unreachable)를 생성하게 하여 지속해서 자원을 고갈시키는 공격
  • 스머프(Smurf) / 스머핑(Smurfing): 출발지 주소를 공격 대상의 IP로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비시키는 공격
  • 죽음의 핑(PoD; Ping of Death): ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 전송하면 다수의 IP 단편화가 발생하고, 수신 측에서는 단편화된 패킷을 처리하는 과정에서 많은 부하가 발생하거나 재조합 버퍼의 오버플로우가 발생하여 정상적인 서비스를 하지 못하도록 하는 공격
  • 랜드 어택(Land Attack): 출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격 기법
  • 티어 드롭(Tear Drop): IP 패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신 시스템 문제를 발생하도록 만드는 공격
  • 봉크(Bonk) / 보잉크(Boink): 프로토콜의 오류 제어를 이용한 공격 기법으로서, 시스템의 패킷 재전송과 재조립이 과부하를 유발

 

 

DDoS(Distributed DoS) 공격

  • 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법

 

DDoS의 공격 구성 요소: HAMAD(하마드)

  • 핸들러(Handler)
  • 에이전트(Agent)
  • 마스터(Master)
  • 공격자(Attacker)
  • 데몬 프로그램(Daemon)

 

 

인증 기술의 유형: 지소생특

  • 지식 기반 인증
  • 소지 기반 인증
  • 생체 기반 인증
  • 특징 기반 인증

 

 

서버 접근 통제 유형

  • 임의적 접근 통제(DAC; Discretionary Access Control): 주체나 그룹의 신분에 근거하여 객체에 대한 접근을 제한하는 방법
  • 강제적 접근 통제(MAC; Mandatory Access Control): 객체에 포함된 정보의 허용 등급과 접근 정보에 대하여 주체가 갖는 접근 허가 권한에 근거하여 객체에 대한 접근을 제어하는 방법
  • 역할 기반 접근 통제(RBAC; Role Based Access Control): 중앙 관리자가 사용자와 시스템의 상호 관계를 통제하며 조직 내 맡은 역할(Role)에 기초하여 자원에 대한 접근을 제한하는 방법

 

 

3A(Authentication, Authorization, Accounting)

  • 유무선 이동 및 인터넷 환경에서 가입자에 대한 안전하고 신뢰성 있는 인증, 권한 검증, 과금 기능을 체계적으로 제공하는 정보 기술
    • 인증(Authentication)
    • 권한 부여(Authorization)
    • 계정 관리(Accounting)

 

 

접근 통제 보호 모델: 벨기비무

벨-라파듈라 모델(BLP; Bell-LaPadula Policy): 벨기

  • 미 국방부 지원 보안 모델로 보안 요소 중 기밀성을 강조하며 강제적 정책에 의해 접근 통제하는 모델
  • No Read Up, No Write Down

 

비바 모델: 비무

  • 벨-라파듈라 모델의 단점을 보완한 무결성을 보장하는 최초의 모델
  • No Read Down, No Write Up

 

 

대칭 키 암호화 알고리즘

  • DES(Data Encryption Srandard): 1975년 IBM 개발, NIST에서 발표
  • SEED: 1999년 KISA
  • AES(Advanced Encryption Standard): 2001년 미국 표준 기술 연구소(NIST)
  • ARIA(Academy, Research Institute, Agency): 2004년 국가정보원과 산학연구협회
  • IDEA(International Data Encryption Algorithm): DES 대체, 스위스 연방 기술 기관, 128비트의 키
  • LFSR(Linear Feedback Shift Register): XOR, 선형 되먹임 시프트 레지스터

 

 

비대칭 키 암호화 알고리즘

  • 디피 헬만(Diffie-Hellman): 최초의 공개키 알고리즘, 1976년 고안, 이산대수의 계산이 어려운 문제를 기본 원리
  • RSA(Rivest-Shamir-Adleman): 1977년 3명의 MIT 수학 교수, 소인수 분해
  • ECC(Elliptic Cuve Dryptography): 1985년 코블리치와 밀러, RSA 암호 방식에 대한 대안, 타원 곡선 암호
  • ElGamal: T.ElGamal 1985년 제안, 이산대수의 계산이 어려운 문제를 원리

 

 

해시 알고리즘

  • MD4: 1991년 Rivest MD4 개선, 프로그램/파일 무결성 검사
  • SHA-1: 1993년 NSA 미 정부 표준 지정, DSA에서 사용, 160비트 해시값 생성
  • SHA-256/384/512: SHA 알고리즘 한 종류, 256비트 해시값 생성
  • HAS-160: 국내 표준 서명 알고리즘 KCDSA를 위하여 개발
  • HAVAL: 메시지를 1024비트 블록으로 나눔, 메시지 다이제스트 출력

 

 

시큐어 코딩 가이드 적용 대상: 입보시 에코캡아

  • 입력 데이터 검증 및 표현
  • 보안 기능
  • 시간 및 상태
  • 에러 처리
  • 코드 오류
  • 캡슐화
  • API 오용

 

 

XSS(Cross Site Script)

  • 검증되지 않은 외부 입력 데이터가 포함된 웹페이지가 전송되는 경우 사용자가 해당 웹페이지를 열람함으로써 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격

 

공격 유형

  • Stored XSS
  • Reflected XSS
  • DOM XSS

 

 

사이트 간 요청 위조(CSRF; Cross Site Request Forgery)

  • 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격

 

 

SQL 삽입(Injection)

  • 응용  프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행시켜서 데이터베이스의 접근을 통해 정보를 탈취하거란 조작 등의 행위를 하는 공격 기법

 

공격 유형

  • FROM SQL Injection
  • Union SQL Injection
  • Stored Procedure SQL Injection
  • Mass SQL Injection
  • Error-Based SQL Injection
  • Blind SQL Injection

 

 

네트워크 보안 솔루션

  • 방화벽(Firewall): 기업 내부, 외부 간 트래픽을 모니터링하여 시스템의 접근을 허용하거나 차단하는 시스템
  • 웹 방화벽(WAF; Web Application Firewall): 앱 애플리케이션의 보안에 특화된 보안 장비. XSS, SQL 인젝션 차단 가능
  • 네트워크 접근 제어(NAC; Network Access Control): 단말기가 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션
  • 침입 탐지 시스템(IDS; Intrusion Detection System): 네트워크에서 발생하는 이벤트를 모니터링하고 비인가 사용자에 의한 자원 접근과 보안 정책 위반 행위(침입)을 실시간으로 탐지하는 시스템
  • 침입 방지 시스템(IPS; Intrusion Prevention System): 네트워크에 대한 공격이나 침입을 실시간으로 차단하고 유해 트래픽에 대한 조치를 능동적으로 처리하는 시스템
  • 무선 침입 방지 시스템(WIPS; Wireless Intrusion Prevention System): 인가되지 않은 무선 단말기의 접속을 자동으로 탐지 및 차단하고 보안에 취약한 무선 공유기를 탐지하는 시스템
  • 통합 보안 시스템(UTM; Unified Threat Management): 다양한 보안 장비의 기능을 하나의 장비로 통합하여 제공하는 시스템
  • 가상사설망(VPN; Virtual Private Network): 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션

 

 

DRS(Diisaster Recovery System)

  • 재해복구계획의 원활한 수행을 지원하기 위하여 평상시에 확보해두는 인적, 물적 자원 및 이들에 대한 지속적인 관리체계가 통합된 재해복구센터

 

유형

  • Mirror Site: RTO 즉시
  • Hot Site: RTO 4시간 이내
  • Warm Site: RTO 수일 ~ 수주
  • Cold Site: RTO 수주 ~ 수개월

 

 

허니팟(Honeypot)

  • 비정상적인 접근을 탐지하기 위해 의도적으로 설치해둔 시스템
  • 일부러 허술하게 만들어서 해커에게 노출하는 유인 시스템