9. 소프트웨어 보안 구축

Secure SDLC

  • 보안상 안전한 소프트웨어를 개발하기 위해 SDLC에 보안 강화를 위한 프로세스를 포함한 것
    • SDLC (Software Development Life Cycle, 소프트웨어 개발 생명주기)

소프트웨어 개발 보안 요소 / 정보보안 3요소(기, 무, 가)

  • 기밀성 (Confidentiality) – 인가된 사용자만 정보 자산에 접근할 수 있다. (방화벽, 암호화)
  • 무결성 (Integrity) – 인가된 사용자가 인가된 방법으로만 변경 가능
  • 가용성 (Availability) – 인가된 사용자가 정보를 요구할 때 적시에 제공되어야 하는 원칙 (인가된 사용자는 언제든지 접근 가능해야 한다.)
  • 인증 (Authorization)
  • 부인 방지 (NonRepudiation)

암호 알고리즘

암호화 방식

  • 양방향
    • 개인키
      • Stream 방식
        • LFSR, RC4
      • Block 방식
        • DES, SEED, AES, ARIA
    • 공개키
      • RSA
  • 단방향
    • HASH

개인키(대칭키) 알고리즘 ( 많은 양을 암호화 할 수 있음 , 속도가 빠름, 키 분배 문제 발생 )

  • DES – 64비트 블록, 56비트 키, 16라운드, Feistel 구조
  • AES – 128비트 블록, 128/192/256비트 키, 10/12/14 라운드, SPN 구조
  • SKIPJACK – 64비트 블록, 80비트 키, 32라운드, Feistel 변형
  • IDEA – 64비트 블록, 128비트 키, 8라운드, Feistel+SPN구조(스위스)
  • ARIA
  • SEED

공개키(비대칭키) 알고리즘 ( 많은 양을 암호화 할 수 없음 , 속도가 느름 )

  • 소인수 분해
    • RSA
      • 1978년 MIT의 Rivest, Shamir, Adelman 에 의해 제안된 공개키 암호화 알고리즘
      • 큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만들어짐
    • Rabin
  • 이산대수
    • Diffie-Hellman
    • DSA
    • ELGama
  • 타원곡선
    • ECC

해시 알고리즘 ( 단방향암호 알고리즘, 레인보우 테이블 – 솔팅, 무차별 공격 에 취약점 – 키스트레칭 )

  • SHA – NIST에 의해 개발된 해시 함수
  • MD5
    • 1991년 R.Rivest가 MD4를 대체하기 위해 고안한 암호화 해시 함수
    • 블록 크기가 512비트이며, 키 길이는 128비트
  • HAS-160

서비스 공격 유형의 종류

  • Dos ( Denial of Service, 서비스 거부 ) – 가용성을 해치는 공격, 내가 주체가 되어 공격
    • Smurf Attack – IP, ICMP 를 이용해 공격
    • SYN flooding – flooding 공격은 넘치게 하는 공격
    • UDP flooding
    • Ping flooding
    • Ping of Death – 규정크기 이상의 ICMP 패킷을 보냄
    • Teardrop – Offset 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생(재조립 불가)
    • LAND Attack – 출발지 IP와 목적지 IP가 같은 패킷을 만들어 보내는 공격 방법
  • DDos ( Distributed Denial of Service, 분산 서비스 거부 ) – 가용성을 해치는 공격, 쫄병들을 만들어 공격
  • 피싱
  • 파밍
  • 스니핑 (Sniffing) – 네트워크상에 통과되는 패킷들의 내용을 엿보는 행위
  • 스미싱 (Smishing) 문자 메시지(SMS)를 이용해 사용자의 개인 신용 정보를 빼내는 수법
  • 큐싱 (Qshing) – QR코드를 이용해 악성 앱의 다운로드를 유도 
  • 랜섬웨어
  • 키 로거
  • SQL 삽입 (Injection)
  • XSS (Cross Site Scriptiong, 크로스 사이트 스크립팅) – 사용자가 특정 게시물이나 이메일의 링크를 클릭하면 악성 스크립트가 실행.
  • 세션 하이재킹
    • 시스템 간 연결이 활성화된 상태, 즉 로그인(Login) 된 상태를 가로채는 것을 뜻한다. 
    • TCP의 고유한 취약점을 이용해 정상적인 접속을 빼앗는 방법
    • 서버와 클라이언트에 각각 잘못된 시퀀스넘버를 위조해서 연결된 세션에 잠시 혼란을 준 뒤 자신이 끼어들어가는 방식

보안 솔루션

  • 접근 통제, 침입 차단 및 탐지 등을 수행하여 외부로부터의 불법적인 침입을 막는 기술 및 시스템

방화벽(Firewall)

  • 기업이나 조직 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 기능을 가진 침입 차단 시스템

침입 탐지 시스템(IDS, Intrusion Detection System)

침입 방지 시스템(IPS, Intrusion Prevention System)

  • 방화벽과 침입 탐지 시스템을 결합
  • 침입 탐지 기능으로 패킷을 하나씩 검사한 후, 비정상적인 패킷이 탐지되면 방화벽 기능으로 해당 패킷을 차단

데이터 유출 방지(DLP, Data Leakage/Loss Prevention)

  • 내부 정보의 외부 유출을 방지하는 보안 솔루션

웹 방화벽(Web Firewall)

  • SQL 삽입공격, Cross-Site Scriptions(XSS) 등의 웹 기반 공격을 방어할 목적으로 만들어진 웹 서버에 특화된 방화벽

VPN (Virtual Private Network, 가상 사설 통신망)

  • 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션 

NAC (Network Access Control)

ESM (Enterprise Security Management)

Loading

Leave a Reply

Your email address will not be published. Required fields are marked *