4 분 소요

IX 소프트웨어 개발 보안 구축


01 소프트웨 개발 보안 설계

1. 소프트웨어 개발 보안 설계

중요!

(1) SW 개발 보안 개념

  • 요구사항 명세
  • 설계
  • 구현
  • 테스트
  • 유지보수

(2) SW 개발 보안 구성요소

1. 3대 요소

  • 기밀성: 인가, 자원 접근
  • 무결성: 인가, 자원 수정
  • 가용성: 인가, 언제든 자원 접근 가능

2. 개발 보안 용어

  • 자산: 가치 부여한 대상
  • 위협: 악영향
  • 취약점: 사전 조건
  • 위험: 피해 가능성

(3) SW 개발 보안 공격기법

1. DoS 공격

1) 개념: 직접 공격, 한 사람, 자원 부족하게 함, 수많은 접속 시도, TCP 연결 소진

2) 공격 종류

  • SYN 플러딩: TCP 프로토콜 구조적 문제를 이용한 공격, SYN 패킷만 보내 점유, ACK 발송x
  • UDP 플러딩: 대량의 UDP 패킷 만들어 임의의 포트 번호로 전송, 응답 메시지 생성, ICMP 패킷 대기
  • 스머프/스머핑: 출발지 주소를 공격 대상의 IP로 설정, 제 3 사이트, ICMP Echo 패킷 직접 브로드캐스팅
  • 죽음의 핑: ICMP 피킷(Ping)을 아주 크게 만듦, IP 단편화
  • 랜드 어택: 출발지 IP = 목적지 IP, 루프
  • 티어 드롭: Fragment Offset 조작, 수신 오류
  • 봉크: 패킷을 1번으로 계속 보냄
  • 보잉크: 패킷 시퀀스 번호를 비정상적인 상태로 보냄

2. DDoS 공격

1) 개념: 공격 지시, 많은 감염 호스트, 공격자 분산 배치, 원격에서 공격

2) 공격 구성요소

  • 핸들러: 마스터 시스템
  • 에이전트: 직접 공격
  • 마스터: 공격자에게서 직접 명령 받음, 에이전트 관리
  • 공격자: 공격 주도, 해커 컴퓨터
  • 데몬 프로그램: 에이전트 시스템 프로그램

3) 공격 도구

  • Trinoo: UDP flood 서비스 거부 공격 유발
  • Tribe Flood Network: 클라이언트 프로그램을 통해 공격 명령을 TFN 서버들에게 보냄

4) 공격 대응 방안

  • 차단 정책 업데이트: 데이터 기반 차단 정책
  • 좀비PC IP 확보: IP 위변조 여부 확인하는 절차
  • 보안 솔루션 운영: 방화벽, 침입 탐지
  • 홈페이지 보안 관리: 모의해킹
  • 시스템 패치: 취약점을 패치로 해결

5) 공격 종류

  • 대역폭 소진 공격(3, 4계층)
  • 서비스 마비 공격(7계층)

3. DRDoS 공격

1) 개념: 출발지 IP를 공격대상 IP로 위조, 반사 서버로 요청 정보 전송, 근원지 파악 어려움

2) 공격 방식: 출발지 IP 변조 -> 공격 대상자 서버로 응답 -> 서비스 거부

3) 공격 대응 방안: 직접 차단, IP와 Port 변경


4. 세션 하이재킹

1) 개념: TCP의 세션 관리 취약점 공격

2) 특징

  • TCP Sequence Number의 보안상 취약점으로 발생
  • Victim과 Server 사이의 패킷을 스니핑
  • Sequence Number 획득
  • Victim과 Server 사이를 비동기화
  • 획득한 Client Sequence Number로 공격

5. 애플리케이션 공격

  • HTTP GET 플러딩: 과도한 Get
  • Slowloris: 헤더 개행 문자 탈락, 연결 지속
  • RUDY Attack
  • Slow Read Attack
  • Huk DoS: 임계치

6. 네트워크 공격

  • 스니핑: 공격x, 몰래 들여다봄, 수동적
  • 네트워크 스캐너, 스니퍼: 취약점 탐색
  • 패스워드 크래킹
  • IP 스푸핑: 패킷 헤더를 IP 어드레스로 위조
  • ARP 스푸핑: MAC 주소
  • ICMP Redirect: 스니핑 시스템을 라우터로 알림
  • 트로이 목마: 악성 루틴이 숨어 있는 프로그램

7. 시스템 보안 위협

1) 버퍼 오버플로우 공격

  • 스택 버퍼 오버플로우 공격: Local Value, Return Address가 저장되는 스택 영역
  • 힙 버퍼 오버플로우 공격: 동적으로 할당되는 힙 영역

2) 대응 방안

  • 스택가드 활용: 카나리가 변할 경우 복귀 주소 호출x
  • 스택쉴드 활용: 특수 스택에 복귀 주소 저장
  • ASLR 활용: 메모리 주소 난수화
  • 안전한 함수 활용

8. 보안 관련 용어

  • 스피어피싱: 위장 메일, 클릭 유도
  • 스미싱: 위장 메시지
  • 큐싱: QR 코드
  • 봇넷: 악성 프로그램에 감염
  • APT 공격: 특정 타깃, 특수목적
  • 공급망 공격: 코드 수정, 파일 변경
  • 제로데이 공격: 대응책 공표 전, 공격의 신속성
  • 웜: 스스로 복제
  • 악성 봇: 해커의 명령
  • 사이버 킬체인: APT 공격 방어 분석 모델
  • 랜섬웨어: 파일 암호화, 인질
  • 이블 트윈: Wifi
  • 사회공학: 심리, 행동
  • 트러스트존: 독립적인 보안 구역 두는 기술
  • 타이포스쿼팅: 주소 잘못 입력, 도메인 미리 등록

(4) 서버 인증 및 접근 통제

2. 서버 인증 기능

  • 스니핑 방지: SSL 인증서 설치
  • 피싱 방지: SSL 인증서 설치
  • 데이터 변조 방지: SSL 보안서버 구축
  • 기업 신뢰도 향상: 인증마크

3. 인증 기술 유형

  • 지식기반 인증: ID/패스워드
  • 소지기반 인증: 공인인증서
  • 생체기반 인증: 얼굴, 지문
  • 특징기반 인증: 서명, 몸짓

4. 서버 접근 통제

1) 개념: 접근 여부 허가, 거부

2) 목적: 객체의 기밀성, 무결성, 가용성 보장

  • 주체: 행위자
  • 객체: 제공자
  • 접근

3) 유형

  • 임의적 접근 통제: 시분 기반
  • 강제적 접근 통제: 규칙 기반
  • 역할 기반 접근 통제: 조직 내 맡은 역할

4) 3A

  • 인증(Authentication): 신원 검증
  • 권한 부여(Authorization): 접근 허용
  • 계정 관리(Accounting): 접근 추적, 행동 기록

5) 인증 관련 기술

  • SSO: 한 번의 인증으로 여러 컴퓨터상 자원 이용
  • 커버로스: 대칭키 암호 기법, 티켓 기반의 프로토콜

(5) 암호화 알고리즘

1. 양방향 방식

1) 대칭 키 암호 방식: 암호화/복호화에 같은 키, 빠름

  • 블록 암호 방식
    • DES: 64bit
    • AES: 128bit
    • SEED: 128bit(한국)
  • 스트림 암호 방식
    • RC4

2) 비대칭 키 암호 방식: 공개키/개인키, 느림

  • RSA: 소인수 분해
  • 디피-헬만

2. 일방향 방식(해시)

  • MAC: 메시지 인증 코드
  • MDC: 새로운 MDC 생성

(6) 데이터 암호화 전송

1. IPSec
IP 계층에서 무결성과 인증을 보장하는 인증 헤더와
기밀성을 보장하는 암호화를 이용

02 소프트웨 개발 보안 구현

1. SW 개발 보안 구현

(1) 시큐어 코딩 가이드

  • 입력데이터 검증 및 표현 → 유효성 검증
  • 보안 기능 → 정책 반영
  • 시간 및 상태 → 공유 자원 접근 직렬화
  • 에러 처리 → 충분하게 처리
  • 코드 오류 → 경고 메시지 코드 제거
  • 캡슐화 → 프라이빗 접근자
  • API 오용 → 취약 API 확보

(2) 입력 데이터 검증 및 표현

1. XSS

  • 설명: 외부 입력 데이터, 부적절한 스크립트 실행
  • 대책: 특수문자 등록 방식, HTML 태그 사용 금지

2.사이트 간 요청

  • 설명: 사용자 의도와 다르게 공격자가 의도한 행위를 요청
  • 대책: POST 사용, 재인증

3. SQL 삽입

  • 설명: 악의적인 SQL 구문 삽입, DB 정보 탈취
  • 대책: 바인딩 매개변수

2. 시스템 보안 구현

(2) 보안 솔루션

1. 네트워크 보안 솔루션

  • Firewall(방화벽)
  • WAF(웹 방화벽)
  • NAC(네트워크 접근 제어)
  • IDC(침입 탐지 시스템)
  • IPS(침입 방지 시스템)
  • WIPS(무선 침입 방지 시스템): 무선 공유기
  • UTM(통합 보안 시스템): 하나의 장비
  • VPN(가상사설망): 전용망 효과
  • SIEM: 다양한 보안 장비
  • ESM: 로그 통합

2. 시스템 보안 솔루션

  • 스팸 차단 솔루션
  • 보안 운영체제

3. 콘텐츠 유출 방지 보안 솔루션

  • 보안 USB
  • DLP(데이터 유출 방지)
  • DRM(디지털 저작권 관리)

3. SW 개발 보안 테스트와 결함 관리

(2) SW 개발 보안 테스트 유형

  • 정적 분석: 실행x, 개발 단계, 취약점 초기 발견
  • 동적 분석: 실행o, 시험 단계, 정확도

4. 비즈니스 연속성 계획(BCP)

(2) BCP 관련 주요 용어

  • BIA: 시간에 따른 영향도, 손실평가
  • RTO: 중단부터 복구까지 시간(Time)
  • RPO: 복구 된 후 데이터 손실 허용 시점(Point)
  • DRP: 재난 대비 계획(Plan)
  • DRS: 재난 대비 관리체계(System)
    • Mirror Site: 실시간
    • Hot Site: 동일한 수준 자원
    • Warm Site: 중요성 높은 자원
    • Cold Site: 데이터만 보관

카테고리:

업데이트:

댓글남기기