본문 바로가기
정보처리기사 실기

[정보처리기사 실기] 9. 소프트웨어 개발 보안 구축

by DevJaewoo 2021. 11. 26.
반응형

소프트웨어 개발 보안 구축

▶ Secure SDLC

더보기

 

기존의 SDLC에 보안을 강화한 개발 프로세스

 

▶ Secure SDLC 방법론 4가지

더보기

 

  • CLASP: 생명주기 초기 단계에서 보안을 강화하기 위한 프로세스로, 이미 운영중인 시스템에 사용하기 적합
  • MS-SDL: 마이크로소프트 사에서 자체적으로 수립한 SDLC
  • Seven Touchpoints: 소프트웨어 보안의 모범사례를 SDLC에 통합
  • CWE (Common Weakness Enumeration): 소프트웨어의 보안 취약점을 유발하는 원인들을 정리한 방법론

 

▶ 정보보안 3대 요소

더보기

 

  • 기밀성 (Confidentiality): 인가된 사용자만 접근 허용
  • 무결성 (Integrity): 인가된 사용자만 수정 허용
  • 가용성 (Availability): 인가된 사용자는 언제든지 사용 가능

 

▶ 정보보안 용어

더보기

 

  • 자산 (Asset): 정보보호를 해야 하는 대상
  • 위협 (Threat): 보안에 해를 끼치는 행위
  • 취약점 (Vulnerability): 위협에 의해 손실이 발생하는 자산의 보안상 약점  
  • 위험 (Risk): 위협 대상이 자산 손실을 가져올 가능성 (자산 * 위협 * 취약점)

 

▶ DoS

더보기

 

시스템을 악의적으로 공격해 해당 시스템의 리소스를 부족하게 하여 원래 의도된 용도대로 사용하지 못하게 하는 공격 기법

 

▶ DoS 공격 종류 9가지

더보기

 

  • TCP SYN Flooding: 3 way handshaking 과정에서 ACK 패킷을 보내지 않아 서버에서 ACK를 기다리게 함
  • UDP Flooding: 대량의 UDP 패킷을 임의의 포트로 전송하여 응답 메시지로 인해 자원을 고갈시킴
  • Smurf: 출발지 주소를 공격 대상의 IP 주소로 설정한 후 네트워크에 Broadcasting 하여 응답 패킷으로 마비
  • Ping of Death: 비정상적으로 큰 사이즈의 패킷을 의도적으로 보냄
  • HTTP GET Flooding: HTTP 캐시 옵션을 조작하여 웹서버가 직접 처리하도록 유도해 서버 자원 소진
  • Slowloris: 개행 문자열(\r\n)을 전송하지 않아 서버와 연결 상태를 지속시킴
  • RUDY: 헤더의 Content-Length를 비정상적으로 크게 만들고 바디소량으로 보내 연결 상태 유지
  • Land Attack: 출발지 IP와 목적지 IP가 같은 패킷을 전송하여 수신자가 자기 자신에게 응답하도록 함
  • TearDrop: 패킷에 잘못된 Fragment Offset을 설정하여 재조합 과정에서 문제가 발생하도록 함

 

▶ DDoS

더보기

 

여러 대의 공격자를 분산적으로 배치에 동시에 DoS 공격을 하는 공격 기법

 

▶ DDoS 공격 도구 3가지

더보기

 

  • Trinoo: UDP Flooding 공격 수행
  • TFN (Tribe Flood Network): TCP/UDP Flooding, Smurf 공격 수행
  • Stacheldraht: Trinoo의 네트워크 구조, TFN의 기능에 암호화 기능 추가

 

▶ 네트워크 공격 기법

더보기

 

  • 스미싱 (Smishing): SMS를 이용한 피싱
  • 큐싱 (Qshing): QR 코드를 이용한 피싱
  • 스피어 피싱 (Spear Phishing): 이메일을 이용한 피싱
  • ARP Spoofing: MAC주소를 위조하여 중간에 패킷을 가로챔
  • APT (Advanced Persistent Threat): 특정 기업에 침투해 활동 거점을 마련한 뒤 장기간에 걸쳐 다양한 수단을 동원하여 공격하는 지능적 공격 방식
  • Brute Force Attack: 비밀번호로 사용될 수 있는 모든 조합을 대입하여 비밀번호를 알아내는 공격 기법
  • SQL Injection: 웹 페이지의 특정 폼이나 매개변수를 통해 SQL문 조작 Ex) 1' or '1' = '1
  • XSS (Cross Site Scripting): 웹 페이지에 악의적인 스크립트를 작성하여 사용자의 세션이나 쿠키 탈취
  • 스니핑 (Sniffing): 직접 공격하지 않고 몰래 패킷 도청

 

▶ 버퍼 오버플로우(Buffer Overflow) 공격 정의 및 대응 방안 2가지

더보기

 

메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 공격하는 기법

 

  • 스택 가드 (Stack Guard): 무결성 체크용 Canary값을 복귀 주소와 변수 사이에 삽입하여 값이 바뀌면 버퍼 오버플로우로 인식
  • 스택 쉴드 (Stack Shield): 함수 시작 시 복귀 주소를 Global RET라는 특수 스택에 저장하고 함수 종료 시 저장된 값과 차이가 있을 경우 버퍼 오버플로우로 인식

 

▶ 정보 보안 침해 공격 관련 용어

더보기

 

  • 좀비 PC (Zombie PC): 악성코드에 감염되어 C&C 서버의 제어를 받아 DDoS 공격 등에 이용되는 PC
  • C&C 서버 (Command & Control Server): 원격지에서 좀비 PC에 명령을 내리기 위한 서버
  • 봇넷 (Botnet): 악성코드에 감염된 PC들이 네트워크로 연결된 형태
  • 웜 (Worm): 네트워크를 통해 연속적으로 자신을 복제하여 시스템 부하를 높임으로써 부하를 높이는 바이러스
  • 제로 데이 공격 (Zero Day Attack): 보안 취약점이 공표되기 전에 해당 취약점을 통해 이루어지는 공격
  • 키로거 공격 (Key Logger Attack): 사용자의 키보드 움직임을 탐지하여 정보를 탈취하는 공격
  • 랜섬웨어 (Ransomware): 사용자의 문서나 파일을 암호화하여 해독을 조건으로 금전을 요구하는 프로그램
  • 백도어 (Back Door): 개발자의 편의를 위한 비밀 통로
  • 트로이 목마 (Trojan Horse): 프로그램이 실행될 때 활성화되어 공격하는 바이러스로 자가 복제 능력은 없음

 

▶ 인증 유형 5가지

더보기

 

  • 지식 기반 인증: 사용자가 기억하고 있는 정보를 기반으로 인증 Ex) 비밀번호, PassPhrase, 아이핀
  • 소유 기반 인증: 사용자가 소유하고 있는 물건을 기반으로 인증 Ex) 신분증, 메모리카드, 스마트카드, OTP
  • 생체 기반 인증: 사용자의 고유 생체 정보를 기반으로 인증 Ex) 지문, 홍채, 망막, 얼굴, 음성, 정맥
  • 행위 기반 인증: 사용자의 행동 정보를 통해 인증 Ex) 서명, 동작
  • 위치 기반 인증: 사용자가 인증을 시도하는 위치를 기반으로 인증 Ex) 콜백, GPS

 

▶ 서버 접근 통제 유형

더보기

 

  • DAC (Discretionary Access Control): 신분 기반 접근 통제
  • MAC (Mandatory Access Control): 정보 허용 등급 기반 접근 통제
  • RBAC (Role-Based Access Control): 역할 기반 접근 통제

 

▶ 보안 솔루션

더보기

 

  • 방화벽 (Firewall): 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 보안 시스템
  • 웹 방화벽 (Web Application Firewall): 웹 서비스와 주고받는 HTTP 트래픽을 모니터링/차단 하는 방화벽
  • IDS (Intrusion Detection System): 네트워크에 발생하는 침입을 실시간으로 탐지하는 시스템
  • IPS (Intrusion Prevention System): 네트워크에 발생하는 침입을 실시간으로 차단하는 시스템
  • NAC (Network Access Control): 인가된 장치만 네트워크에 접속할 수 있도록 제한하는 것
  • VPN (Virtual Private Network): 사용자가 전용 회선을 사용하는 것처럼 해주는 효과를 가지는 보안 솔루션
  • WIPS (Wireless Intrusion Prevention System): 무선장비들의 접근을 자동으로 탐지 및 방지 해주는 시스템
  • DLP (Data Leakage Prevention): 내부 정보의 외부 유출을 방지하는 보안 솔루션
  • DRM (Digital Rights Management): 디지털 환경에서 저작물 복제, 위조를 방지하기 위해 권리를 가진 사용자에게만 접근을 허용하는 시스템

 

암호화 알고리즘

 

▶ 양방향 암호화 알고리즘 및 종류

더보기

 

  • 대칭키 암호화 기법: 동일한 키로 암호화/복호화를 수행하며, 블록 / 스트림 암호화 방식이 있다.
  • 공개키 암호화 기법: 공개키와 비밀키 2개를 사용하는 암호화 기법

 

▶ 단방향 암호화 알고리즘 종류

더보기

 

  • 해시 (Hash): 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환

 

▶ 블록 암호화 기법 종류 5가지

더보기

 

  • DES: 56bit
  • AES: DES 업그레이드, 미국 표준 기술 연구소(NIST)
  • SEED: 한국인터넷진흥원(KISA)
  • ARIA: 국가정보원, 산학연협회
  • IDEA: DES 대체, 스위스 연방기술 기관

 

▶ 스트림 암호화 기법 종류 2가지

더보기

 

  • RC4: 로널드 라이베스트
  • LFSR: 선형 되먹임 시프트 레지스터

 

▶ 공개키 암호화 기법 3가지

더보기

 

  • 디피 헬만: 최초 공개키 알고리즘, 이산대수
  • RSA: 소인수분해
  • ECC: 타원 곡선

 

▶ 해시 암호화 알고리즘 3가지

더보기

 

  • SHA: 미국 표준
  • MD5: MD4 대체
  • HAS-160: 국내 표준
반응형