(대응) 9. 소프트웨어 개발 보안 설정 (2)

보안 조건

작살 낚시

  • 사회공학적 수법으로 특정 대상을 선택한 후 대상에게 일반 메일로 위장한 메일을 지속적으로 보내고 본문에 있는 링크나 첨부파일을 클릭하도록 속여 사용자의 개인정보를 빼내는 공격 수법입니다.

    이메일을 보냈습니다.

스미싱

  • 스미싱은 SMS와 피싱의 합성어다.

  • 문자 메시지를 사용하여 신뢰할 수 있는 사람 또는 비즈니스인 것처럼 가장하거나, 개인 정보를 요청하거나, 휴대폰에서 소액 결제를 시작하는 피싱(사이버 사기) 공격

Qshing

  • QR코드와 피싱의 결합
  • 스마트폰으로 금융 업무를 처리하는 사용자를 인증이 필요한 것처럼 QR코드를 통해 악성 앱을 다운로드하도록 속여 금융 정보를 훔치는 피싱(사이버 사기) 공격

봇넷

  • 악성코드에 감염되어 악의적인 목적으로 사용되는 다수의 컴퓨터가 네트워크로 연결되어 있는 형태

APT 공격(Advanced Persistent Threat)

  • 특정 대상을 겨냥한 다양한 수단을 통한 지속적이고 지능적인 적응 공격 기법
  • 목적 조직이 지속적으로 정보를 수집하고 취약점을 분석하여 피해를 입히기 위해 단일 대상에 대해 다양한 IT 기술을 사용하는 공격 기법.

공급망에 대한 공격

  • 소프트웨어 개발자의 네트워크에 침투하여 소스코드를 수정하거나, 배포 서버에 접속하여 악성파일로 변경하여 악성코드를 주입하는 공격으로, 소프트웨어 설치 및 업데이트 시 자동으로 사용자의 PC를 감염시키는 공격

제로데이 공격

  • 취약점이 발견되어 공개되기 전에 악용하는 보안 공격 기법

벌레

  • 자신을 복제하여 네트워크 등의 연결을 통해 확산되는 악성 소프트웨어 컴퓨터 프로그램

악성 봇

  • 자체적으로 실행할 수 없고 원격으로 제어하거나 해커의 명령으로 실행할 수 있는 프로그램 또는 코드
  • 주로 취약점이나 백도어를 통해 배포되며 스팸 이메일이나 DDoS(Distributed Denial of Service) 공격을 전달하는 데 악용됩니다.

사이버 킬 체인

  • Lockheed Martin의 Cyber ​​Cyber ​​Kill Chain은 지능적이고 지속적인 사이버 공격을 위해 7단계 프로세스를 통해 공격 분석 및 대응을 체계화한 APT 공격 완화 분석 모델인 공격 방어 시스템입니다.

랜섬웨어

  • 악성코드의 일종으로, 감염된 시스템의 파일(문서, 사진, 동영상 등)을 복호화할 수 없도록 암호화하여 피해자에게 암호화된 파일을 인질로 잡고 몸값을 요구하도록 하는 악성 소프트웨어입니다.

이블 트윈 어택

  • 공격자가 합법적인 WiFi 공급자인 것처럼 가장하고 노트북이나 휴대폰으로 핫스팟에 연결하는 WiFi 사용자의 정보를 훔치는 WiFi 피싱 수법입니다.

사회 개발

  • 사람의 심리와 행동을 교묘하게 이용하여 원하는 정보를 획득하는 공격기법

신뢰 영역

  • 프로세서 내부에 독립적인 보안 영역을 두어 중요한 정보를 보호하는 ARM에서 개발한 보안 기술 프로세서 내부에 독립적인 보안 영역을 두어 중요한 정보를 보호하는 하드웨어 기반의 보안 기술입니다.

타이포스쿼팅

  • URL 하이재킹은 인터넷 사용자가 웹 사이트에 액세스할 때 오타나 맞춤법 오류를 악용하기 위해 유사한 인기 도메인을 사전 등록하는 관행입니다.


서버 접근 제어 유형

임의 액세스 제어(DAC)

  • 주체 또는 집단의 신원(=identity)을 기반으로 객체에 대한 접근을 제한하는 방식
  • ID 기반 액세스 제어 정책
  • DAC에서 사용자는 리소스와 연결된 ACL을 변경하여 리소스 권한을 부여합니다.

필수 액세스 제어(MAC)

  • 객체에 포함된 정보의 권한 등급과 접근 정보 주체의 접근 권한에 따라 객체에 대한 접근을 제한하는 방식
  • 규칙 기반 액세스 제어 정책

RBAC(역할 기반 액세스 제어)

  • 중앙 관리자가 사용자와 시스템이 상호 작용하는 방식을 제어하고 조직 내 역할에 따라 리소스에 대한 액세스를 제한하는 방법입니다.

  • 관리자는 정의된 권한을 가진 역할에 사용자를 할당합니다.


3A

입증

  • 액세스를 시도하는 참가자 또는 장치의 식별 및 신원 확인
  • 주체 신원 확인 활동
  • 대상을 통해 주체의 정체성을 인지하는 행위

허용하다

  • 검증된 가입자 또는 엔드포인트에 일정 수준의 권한 및 서비스 부여
  • 승인된 주제에 대한 액세스 권한을 부여하는 활동
  • 특정 업무를 수행할 수 있는 권한을 부여하는 행위

회계

  • 자원 사용 정보를 수집하고 유지하는 서비스
  • 주체의 접근을 추적하고 행위를 기록하는 행위
  • 식별, 인증, 인가 및 감사 개념을 기반으로 함


액세스 제어 보호 모델

Bell LaPadula 정책(BLP)

  • 보안 요소의 기밀성을 강조하고 필수 정책을 통해 액세스를 제어하는 ​​미국 국방부에서 승인한 보안 모델입니다.

Bell Lapadula 모델의 특징

  • 읽기 금지: 보안 수준이 낮은 주체는 보안 수준이 높은 개체를 읽을 수 없습니다.

  • 쓰기 금지: 높은 보안 주체는 낮은 보안 개체에 쓰지 않아야 합니다.

비바 모델

  • Viva 모델은 Bell Lapadula 모델의 단점을 보완한 무결성을 보장하는 최초의 모델입니다.

Viva 모델의 특징

  • No Read Down: 상위 클래스 엔터티는 하위 클래스 개체를 읽을 수 없습니다.

  • No Write Up: 낮은 수준의 주제는 높은 수준의 개체를 수정할 수 없습니다.


대칭 키 암호화 알고리즘

데이터 암호화 표준(DES)

  • 1975년 IBM에서 개발하고 미국 NIST(National Institute of Standards and Technology)에서 검증한 대칭 키 기반의 블록 암호 알고리즘입니다.

  • 블록 크기는 64bit, 키 길이는 56bit, Feistel 구조, 16 라운드 암호화 알고리즘
  • DES를 3번 적용해 보안을 더욱 강화한 3DES도 활용한다.

씨앗

  • 1999년 한국인터넷진흥원(KISA)에서 개발한 블록암호알고리즘
  • 128비트 비밀키로부터 생성된 16개의 64비트 라운드키를 이용하여 총 16라운드 동안 128비트의 평문 블록을 128비트의 암호문 블록으로 암호화하는 방법과 그 출력
  • 블록 크기는 128비트이며 키 길이에 따라 128비트와 256비트로 나뉜다.

고급 암호화 표준(AES)

  • 2001년 American Institute of Standards and Technology에서 발표한 블록 암호 알고리즘
  • DES 개인 키에 대한 전사적 공격을 가능하게 하고 3DES 성능 문제를 극복하도록 설계되었습니다.

  • 블록 크기는 128비트이며 키 길이에 따라 128비트, 192비트, 256비트로 나뉩니다.

  • AES 라운드 수는 10, 12, 14라운드로 나뉘며 라운드는 SubBytes, ShiftRows, MixColumns 및 AddRoundKey의 4개 레이어로 구성됩니다.

ARIA (학술원, 연구소, 대행)

  • 2004년 국가정보원과 산학연 공동으로 개발한 블록암호알고리즘
  • ARIA는 과학, 연구기관, 정부의 영문 이니셜로 구성되어 있습니다.

  • 블록 크기는 128비트이며 키 길이에 따라 128비트, 192비트, 256비트로 나뉩니다.

국제 데이터 암호화 알고리즘(IDEA)

  • DES를 대체하기 위해 스위스 연방 공과대학에서 개발한 블록 암호 알고리즘입니다.

  • 128비트 키를 사용하여 64비트 평문을 8라운드를 거쳐 64비트 암호문을 생성합니다.

LFSR(선형 피드백 시프트 레지스터)

  • 스트림 스크램블링 알고리즘은 쉬프트 레지스터의 일종으로 레지스터에 입력된 값이 이전 상태 값의 선형 함수로 계산되는 구조를 갖는다.

가다랑어

  • 미국 국가안보국(NSA)에서 개발한 클리퍼 칩에 내장된 차단 알고리즘.


비대칭 키 암호화 알고리즘

디피-헬먼

  • 1976년 W, Diffie 및 M. Hellman이 최초의 공개 키 알고리즘으로 개발했으며, 그 근거는 유한한 필드 내에서 이산 로그를 계산하기 어렵다는 것입니다.

RSA

  • 1977년 세 명의 MIT 수학자에 의해 개발된 수학적 알고리즘을 사용하여 큰 인수의 곱을 소수 인수로 분해하는 공개 키 암호화 알고리즘입니다.

ECC

  • RSA 암호화의 대안으로 1985년 Koblich와 Miller가 처음 제안했습니다.

  • 타원 곡선 암호화(ECC)는 유한 필드에 정의된 타원 곡선 계열의 이산 로그 문제를 기반으로 하는 공개 키 암호화 알고리즘입니다.

엘가말

  • 1984년 T.ElGamal이 제안한 공개 키 알고리즘
  • 이산 로그 계산의 어려운 문제를 기반으로 하며 RSA와 유사하게 디지털 서명 및 데이터 암호화/복호화에 사용할 수 있습니다.


해시 암호화 알고리즘

MD5

  • 1991년 R.rivest는 MD4 암호화 알고리즘을 개선하여 프로그램이나 파일의 무결성을 검사하는 데 사용했습니다.

  • 차례로 각 512비트 입력 메시지 블록을 처리하여 128비트 해시 값을 생성하는 해싱 알고리즘입니다.

SHA-1

  • 1993년 NSA에 의해 미국 정부 표준으로 지정되어 DSA에서 사용되었습니다.

  • 160비트 해시 값을 생성하는 해시 알고리즘

SHA-256/384/512

  • SHA알고리즘의 일종으로 256비트 해쉬값을 생성하는 해쉬함수.
  • 128, 192 및 256비트의 AES 키 길이와 일치하도록 증가된 출력 길이 해시 알고리즘

하스-160

  • 국내 표준 서명 알고리즘 KCDSA용 해시함수 개발
  • MD5와 SHA1을 사용하여 개발된 해시 알고리즘

하발

  • 메시지를 1024비트 블록으로 나누고 128, 160, 192, 224, 256비트를 포함하는 메시지 다이제스트를 반환하는 해싱 알고리즘입니다.


IPSec 프로토콜

인증 프로토콜(AH).

  • 메시지 인증 코드(MAC)를 사용하여 인증 및 보낸 사람 인증을 제공하지만 기밀성(암호화)은 제공하지 않는 프로토콜입니다.

  • 무결성, 인증 제공

암호화 프로토콜(ESP).

  • 메시지 인증 코드(MAC) 및 암호화를 사용하여 인증 및 발신자 인증 및 기밀성을 제공하는 프로토콜
  • 기밀성, 무결성 및 인증 제공

키 관리(IKE) 프로토콜

  • 키 교환 알고리즘
  • 개방형 네트워크를 통해 키를 전송하고 IKE 교환을 위해 메시지를 전달하는 방법을 정의하는 프로토콜


SSL/TLS

SSL/TLS 개념

  • SSL/TLS는 클라이언트와 서버 간 웹 데이터의 암호화(기밀성), 전송 계층(계층 4)과 응용 계층(계층 7) 간의 전송 시 상호 인증 및 데이터 무결성을 보장하는 보안 프로토콜입니다.

SSL/TLS 기능

  • Netscape 회사에서 개발
  • 다양한 암호화 통신 방법 사용
  • 특정 암호화에 의존하지 않음

SSL/TLS 보안 기능

  • 기밀
  • 상호 인증
  • 메시지 무결성


S-HTTP

  • S-HTTP는 인터넷에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로 클라이언트와 서버 간에 전송되는 모든 메시지를 암호화하여 별도로 전송하는 기술입니다.

  • S-HTTP의 메시지 보호는 HTTP를 사용하는 애플리케이션에서만 가능합니다.


정보 자원의 주요 용어

부착

  • 조직에서 가치 있는 모든 것
  • ex) 정보, 소프트웨어, 물리적 자산, 노동, 서비스 등

사용자

  • 정보처리기기 및 시스템을 이용하여 자원을 이용하는 개인 및 단체

소유자

  • 자산의 소유권과 관리에 대한 궁극적인 책임
  • 자산의 취득, 사용, 처분 등 경영권 보유

관리자

  • 건물의 소유자가 관리하도록 지정한 사람
  • 자산의 보관 및 운영에 대한 책임을 집니다.


소프트웨어 개발 보안 사용 사례

BSIMM

  • 미국 국토안보부에서 자금을 지원하는 Software Assurance 프로젝트의 결과 중 하나입니다.

  • 도메인별 보안 활동의 성숙도를 측정하여 소프트웨어 개발에 필요한 보안 역량 강화를 목표로 하는 개발 프레임워크

SAM 열기

  • OWASP에서 개발한 개방형 보완 프레임워크
  • 개방의 원칙에 따라 소규모, 중규모, 대규모로 점진적 확장이 가능한 유연한 프레임워크
  • BISIMM과 달리 설계 검토, 코드 검토 및 보완 테스트는 세 가지 주요 검증 활동으로 정의되며 이러한 활동 간의 연결을 강조합니다.

7가지 터치 포인트

  • 개발을 위한 실질적으로 검증된 보안 방법론 중 하나로 SDLC에서 SW 보안의 Best Practice를 통합한 소프트웨어 개발을 위한 보안 수명주기 방법론

MS SDL

  • Microsoft가 2004년부터 소프트웨어 개발에 의무화하기 위해 개발한 보안 강화 프레임워크입니다.

OWASP 폐쇄

  • 개념, 역할 기반, 활동 평가, 활동 구현, 취약성 관점 등의 활동 중심, 역할 기반 프로세스로 구성된 보안 프레임워크로 이미 운영 중인 시스템에 쉽게 적용할 수 있는 보안 개발 방법론입니다.