빙응의 공부 블로그

[정처기]실기 9장 - 소프트웨어 개발 보안 구축 본문

정처기

[정처기]실기 9장 - 소프트웨어 개발 보안 구축

빙응이 2024. 4. 10. 19:16

📝109. Secure SDLC

  • 소프트웨어 개발 생명 주기에 보안 강화를 위한 프로세스를 포함한 것을 의미한다.
  • 대표적인 방법론
    • CLASP
    • SDL
    • SevenTouchpoints
  • 소프트웨어 개발 보안 요소
    • 기밀성 : 인간된 사용자만 접근을 허용
    • 무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정
    • 가용성 : 인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용 가능 
  • 시큐어 코딩
    • 보안 요소들을 고려하여 코딩하는 것을 의미한다.
더보기

문제 1. 데이터베이스 보안에서 가용성에 대한 설명을 간단히 서술하시오

 

정답 :인가받은 사용자는 시스템 내의 정보와 자원을 언제라도 사용 가능

📝110. 입력 데이터 검증 및 표현

  • 입력 데이터 검증 및 표현의 약점
    • SQL 삽입(Injection)
      • 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 것
    • 경로 조작 및 자원 삽입
      • 데이터 입출력 경로를 조작하여 서버 자원을 수정 삭제하는 보안 약점
    • 크로스사이트스크립팅(XSS)
      • 웹페이지에 악의적인 스크립트를 삽입하여 정보를 탈취하거나 비정상적인 기능 수행을 유발하는 보안 약점
    • 운영체제 명령어 삽입
더보기

문제 1. SQL Injection에 대해 간략하게 서술하시오

 

정답 : 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스의 유출 및 변조를 하고 관리자 인증을 우회하는 것을 말함

📝111. 보안 기능 

  • 보안 약점
    • 적절한 인증 없이 중요기능 허용
    • 부적절한 인가
    • 중요한 자원의 대한 잘못된 권한 설정
    • 취약한 암호화 알고리즘 사용
    • 중요정보 평문 저장 및 전송
    • 하드코드된 암호화 키 

📝112. 코드 오류

  • 코드 오류의 보안 약점
    • 널프인트 역참조
    • 부적절한 자원 해제
    • 해제된 자원 사용
    • 초기화되지 않은 변수 사용
  • 스택 가드
    • 주소가 저장되는 스택에서 발생하는 보안 약점을 막는 기술

📝113. 캡슐화

  • 캡슐화 보안 약점
    • 잘못된 세션에 의한 정보 노출
    • 제거되지 않고 남은 디버그 코드
    • 시스템 데이터 정보 노출
    • public 메소드로부터 반환된 Private 배열
    • Prvate 배열에 Public 데이터 할당 
  • 접근 제어자
    • public
    • protected
    • default
    • private

📝114. 암호 알고리즘

  • 중요한 정보를 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법을 의미한다.
  • 개인키 암호화 기법
    • 동일한 키로 데이터를 암호화하고 복호화한다.
    • 속도는 빠르지만, 관리해야 할 키의 수가 많다.
    • 종류
      • 스트림 암호화 방식
        • 평문과 동일한 길이의 스트림을 생성하여 비트 단위로 암호화 하는 방식
        • 종류 : LFSR, RC4, TKIP
      • 블록 암호화 방식
        • 한 번에 하나의 데이터 블록을 암호화 하는 방식
        • 종류 : DES, SEED, AES, ARIA, IDEA, Skipjack 
  • 공개키 암호화 기법
    • 암호화할 때는 사용하는 공개키는 사용자에게 공개하고, 복호화할 때의 비밀키는 관리자가 관리한다.
    • 비대칭 암호화 방식
    • 관리해야할 키의 수는 적지만, 암호화/복호화 속도가 느리다.
    • 대표적으로 RSA와 ECC 기법이 있다.
  • 양방향 알고리즘의 종류
암호화 기법 알고리즘 특징
비밀키 암호화 기법 SEED 한국인터넷진흥원이 개발한 블록 암호화 알고리즘
블록 크기는 128비트
비밀키 암호화 기법 ARIA 2004년 국가정보원과 산학연합회가 개발한 블록 암호화 알고리즘
비밀키 암호화 기법 DES 미국 NBS에서 발표한 개인키 암호화 알고리즘
블록 크기가 64비트
비밀키 암호화 기법 AES DES를 보완한 개인키 암호화 알고리즘
블록 크기가 128비트
공개키 암호화 기법 RSA 큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만들어짐
공개키 암호화 기법 ECC 이산 대수 문제를 타원곡선으로 옮겨 기밀성과 효율성을 높임
비밀키 암호화 기법 IDEA 스위스의 라이와 메시가 개발한 PES를 개선한 알고리즘
블록 크기는 64비트
비밀키 암호화 기법 Skipjack 국가 안전 보장국에서 개발한 암호화 기법
주로 음성 통신 장비에 삽입
클러피 칩
비밀키 암호화 기법 TKIP 무선랜 보안에 사용된 WEP를 보완한 임시키 무결성 프로토콜 
  • 해시
    • 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것을 의미한다.
    • 종류
      • SHA 시리즈
        • 미국 국가보안국이 설계, 미국 국립표준기술연구소에서 발표됨
      • MD5
        • MD4를 대체하기 위해 고안한 해시 함수
      • N-NASH 
        • 일본 전신전화주식회사에서 발표한 암호화 해시 함수
      • SHEFRU
        • R.C.Merkle가 발표한 해시 함수 
더보기

문제 1. MD4를 개선한 암호화 알고리즘은?

 

정답 : MD5

 

문제 2. IBM이 개발하고 NBS에 의해 미국의 국가 표준으로 발표된 암호화 알고리즘으로 해독하기 쉬워지면서 AES로 대체된 것은?

 

정답 :DES 

 

문제 3. 미국 표준 기술 연구소에서 발표한 대칭키 암호화 알고리즘으로 DES에 한계를 느껴 발표한 것은?

 

정답 : AES

 

문제 4. WEP을 보완한 데이터 보안 프로토콜이다. 무선랜에서 사용

 

정답 : TKIP 

 

문제 5. 스위스의 라이와 메시가 개발한 것으로 PES를 대체하는 것은?

 

정답 : IDEA

 

문제 6. 클리퍼 칩이라는 IC 칩이 내장되어 잇는 암호화 알고리즘은?

 

정답 : Skipjack 

📝115. 서비스 공격 유형

  • 서비스 거부 공격
    • 대량의 데이터를 한 곳의 서버에 집중적으로 전송함으로 써 서버의 기능을 방해하는 것이다.
유형 특징
Ping of Death 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 네트워크를 마비시키는 서비스 거부 공격
SMURFING IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크 불능 상태로 만드는 공격 
SYN Flooding 3-way-hadshake 과정을 의도적으로 중단시킴으로써 공격 대상지인 서버가 대기 상태로 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법
TearDrop 분할 순서를 알 수 있는 값을 변경시켜 수신 측에서 패킷을 재조립할 때 오류로 인한 과부하를 발생시키는 공격
LAND Attack 패킷을 전송할 때 송신 ip 주소와 수신 ip 주소를 모두 공격 대상으로 하는 공격
DDos 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 서비스 거부 공격을 수행하는 것 
  • 네트워크 침해 공격 관련 용어 
용어 의미
세션 하이재킹 서버와 클라이언트 사이의 세션 정보를 가로채는 공격 기법이다. 
접속을 위한 인증 정보 없이도 가로챈 세션을 이용해 데이터 침해를 한다.
ARP 스푸핑 ARP 취약점을 이용한 공격 기법
스미싱 문자 메시지를 이용해 개인 정보를 빼내는 것 
사회 공학 인간 사이의 신뢰를 바탕으로 소경 보안 절차를 깨트리는 것
다크 데이터 특정 목적을 가지고 데이터를 수집하였으나, 이후 활용되지 않고 저장만 되어 있는 것을 의미한다.
타이포스쿼팅
(Typosquatting)
네티즌들이 사이트에 접속할 때 주소를 잘못 입력하는 것을 이용한 것 
스피어 피싱 사회 공학의 한 기법으로 이메일을 이용해 정보를 탈취하는 것
ART 다양한 IT 기술과 방식들을 이용해 조직적으로 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리면서 보안을 무력화시키고 정보를 수집하는 것
무작위 대입 공격
(Brute Force Attack)
암호화된 문서의 함호키를 찾아내기 위해 적용 가능한 모든 값을 대입하는 것
큐싱 QR 코드를 통해 악성 코드를 심는 것 
스니핑 네트워크 중간에 남의 패킷 정보를 도청
  • 정보 보안 침해 공격 관련 용어
용어 의미
워터링홀 목표 조직이 자주 방문하는 웹 사이트를 사전에 감염시켜 목표 조직의 일원이 웹 사이트에 방문했을 때 악성 코드를 감염되게 하는 웹 기반 공격
좀비 PC  
C&C 서버 해커가 원격지에서 좀비 PC에 명령을 내리고 악성코드를 제어하기 위한 용도로 사용되는 서버 
봇넷 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태
자기 복제를 하여 시스템 부하
제로 데이 공격 보안 취약점을 통한 신속한 공격
키로거 공격 키보드 움직임을 이용한 공격
랜섬웨어  
백도어  
트로이 목마 정상적인 기능을 하는 프로그램으로 위장하여 숨어있다가 부작용을 일으킴
더보기

문제 1. 스니핑의 개념을 쓰시오

 

정답 : 네트워크의 패킷을 중간에 탈취하는 것을 의미한다. 

 

문제 2. 출발지 주소와 도착지 수소를 모두 자신으로 하여 무한히 응답하게 하는 공격은?

 

정답 : LAND Attack

 

문제 3. (    1    )은 컴퓨터 보안에 있어 인간의 상호 작용에서의 신뢰를 이용한 것이다.

(    2    )는 특정 목적을 가지고 데이터를 수집하였으나, 지금은 저장만하고 안쓰는 대량의 데이터를 말한다.

 

정답 : 사회 공학, 다크데이터

 

문제 4. 조직이 자주 방문하는 웹 사이트를 사전에 감염시키는 공격 방법은?

 

정답 : 워터링홀

 

문제 5. (     )은 네트즌들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠드리는 실수를 이용한 공격이다.

 

정답 : 타이포스쿼팅

 

문제 6. (    )은 세션을 가로채다는 의미이다.

 

정답 : 세션 하이재킹

 

문제 7. (     ) 스푸핑은 로컬 네트워크에서 사용하는 (     )의 약점을 이용한 공격 기법이다.

 

정답 : ARP

📝116. 서버 인증

  • 보안 서버
    • 개인정보를 암호화하여 송수신할 수 있는 기능을 갖춘 서버를 말한다.
  • 인증 
    • 접근 권한을 검증하는 보안 절차
    • 인증의 주요 유형
      • 지식 기반 인증 
      • 소유 기반 인증
      • 생체 기반 인증
      • 위치 기반 인증

📝117. 보안 솔루션

  • 외부로부터 불법적인 침입을 막는 기술
  • 방화벽
    • 기업이나 조직의 내부의 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 기능을 가진 침입 차단 시스템
  • 침입 차단 시스템(IDS)
    • 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템
  • 침입 방지 시스템(IPS)
    • 비정상적인 트래픽을 능동적으로 차단하고 격리하는 보안 솔루션
  • 데이터 유출 방지(DLP)
    • 내부 정보의 외부 유출을 방지하는 보안 솔루션
  • 웹 방화벽
  • VPN
    • 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션
  • NAC
    • 네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록한 후 일관된 보안 기능을 제공하는 보안 솔루션
  • SIEM
    • 로그 및 보안 이벤트를 통합 관리하는 빅데이터 기반 보안 솔루션
  • SSH 
    • 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 
    • 22번 포트 사용
  • 템퍼 프루핑(Tamper Proofing)
    • 소프트웨어 위변조가 발생할 경우 소프트웨어를 오작동하게 만들어 악용을 방지하는 기술 
  • OAuth
    • 인터넷 애플리케이션에서 사용자 인증에 사용되는 표준 인증 방법 공개 API로 구현
더보기

문제 1. (     )은 인터넷 등 통신 사업자의 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션이다.

 

정답 : VPN

 

문제 2. 다양한 장비에서 발생하는 로그 및 보안 이벤트를 통합하여 관리할 수 있는 빅데이터 기반 보안 솔루션

 

정답 : SIEM

 

문제 3. 다른 컴퓨터에 로그인, 원격 명령 실행 ,파일 복사 등을 수행할 수 있게 해주는 프로토콜로 22번 포트를 사용하는 것은?

 

정답 :SSH

 

문제 4. 소프트웨어 데이터의 비정상적인 수정이 감지되면 소프트웨어를 오작동하게 만드는 기술은?

 

정답 : 템퍼 프루핑