정보처리기사 실기 정리 9-1

seeseal·2022년 4월 19일
2

정보처리기사

목록 보기
17/29
post-thumbnail

📘 9-1단원 : 소프트웨어 개발 보안 구축 - 소프트웨어 개발 보안 설계

🎓 소프트웨어 개발 보안 설계

✏️ 소프트웨어 개발 보안 설계

🏷️ SW 개발 보안의 3대 요소

  1. 기밀성 : 인가되지 않은 사용자로부터 정보 공개 혹은 노출을 차단하는 특성
  2. 무결성 : 정당한 방법을 따르지 않고서는 데이터가 변경되지 않음을 보장하는 특성
  3. 가용성 : 권한을 가진 사용자가 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성

🐥 기무가

🏷️ SW 개발 보안 용어

  1. 자산 : 조직의 데이터에 소유자가 가치를 부여한 대상
  2. 위협 : 조직의 자산에 악영향을 끼칠 수 있는 사건이나 행위
  3. 취약점 : 위협이 발생하기 위한 사전 조건
  4. 위험 : 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성

🐥 자위취위
== 일본 자위대 취업은 위험하다.

🏷️ DoS 공격

📘 개념

시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용을 막는 기법

📘 DoS 공격의 종류

  1. SYN 플러딩 : TCP 프로토콜의 구조적 문제를 이용한 공격, 서버의 동시 가용 사용자 수를 SYN 패킷을 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격
  2. UDP 플러딩 : 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송해 응답 메시지를 생성하게 만들어 자원을 고갈시키는 공격
  3. 스머프 : 출발지 주소를 공격 대상의 IP로 설정하여 직접 브로드캐스팅하여 마비시키는 공격
  4. 죽음의 핑 : ICMP 패킷을 원래보다 엄청 크게 만들어 많은 부하를 일으켜 정상적인 서비스를 막는 공격
  5. 랜드 어택 : 출발지와 목적지의 IP를 같은 패킷으로 하여 가용성을 침해하는 공격법
  6. 티어 드롭 : IP Fragment Offset 값을 중첩되도록 조작하여 기능을 마비시키는 방법
  7. 봉크 / 보잉크 : 오류 제어를 이용한 공격깁겁으로 패킷 재전송과 재조립이 과부하 발생

🏷️ DDoS 공격

📘 개념

여러 대의 공격자를 분산 배치하여 동시에 동작해 특정 사이트를 공격하는 기법

📘 DDoS 공격 구성 요소

  1. 핸들러 : 마스터 시스템 역할을 수행
  2. 에이전트 : 공격을 직접 가하는 시스템
  3. 마스터 : 공격자에게 직접 명령을 받는 시스템
  4. 공격자 : 공격을 주도하는 해커의 컴퓨터
  5. 데몬 프로그램 : 에이전트 시스템의 역할을 수행하는 프로그램

🐥 HAMAD(하마드)
== 무하마드 알리

📘 DDoS 공격 도구

  1. Trinoo : UDP flood 서비스 거부공격 유발하는 도구
  2. Tribe Flood Network : 여러개의 목표 시스템에 대해 서비스 거부 공굑 도구
  3. Stacheldraht : 분산 서비스 거부 에이전트역할을 하는 멀웨어 도구

🏷️ DRDoS 공격

📘 개념

공격자는 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송하는 공격

🏷️ 애플리케이션 공격

📘 개념

DDoS 서비스 마비 공격

📘 애플리케이션 공격기법

  1. HTTP GET 플러딩 : 과도한 Get 메시지를 이용하여 웹 서버 과부하를 유발하는 공격
  2. Slowloris : 헤더의 최종 끝을 알리는 개행 문자열을 전송하지 않아 장시간 지속시켜 자원을 모두 소진시키는 공격
  3. RUDY : 요청 헤더의 Content-Length를 비정상적으로 크게 설정하여 바디 부분을 매우 소량으로 전송하여 계속 연결상태를 지속히키는 공격
  4. Slow HTTP Read DoS : 데이터 처리율을 감소시킨 상태에서 다수 HTTP 패킷을 지속적으로 전송하여 웹 서버 연결을 장시간 지속
  5. Hulk DoS : 웹 사이트 주소를 지속적으로 변경하며 다량의 GET 요청을 발생시키는 공격

🏷️ 네트워크 공격

  1. 스니핑 : 직접 공격을 가하지 않고 데이터만 몰래 들여다보는 수동적 공격기법
  2. 네트워크 스니퍼 : 네트워크 구성 요소의 취약점을 파악하는 공격 도구
  3. 패스워드 크래킹
  • 사전 크래킹 : ID와 패스워드가 될 가능성이 있는 단어를 파일로 만들어서 대입하며 크랙
  • 무차별 크래킹 : 무작위로 패스워드 자리에 입력하여 알아내는 공격
  • 패스워드 하이브리드 공격 : 사전 공격과 무차별 공격을 결합하는 공격
  • 레인보우 테이블 공격 : 패스워드 별로 해시 값을 만들어 테이블에 모아 놓고 크래킹 하고자 하는 해시 값을 테이블에서 검색하여 역으로 패스워드를 찾는 공격기법
  1. IP 스푸핑 : 침입지가 인증된 시스템처럼 속여 정보를 빼내 타깃에 전송하는 공격
  2. ARP 스푸핑 : 공격자가 특정 호스트의 MAC 주소를 자신의 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 스니핑하는 공격 기법
  3. ICMP Redirect 공격 : 3계층에서 스니핑 시스템을 네트워크에 존재하는 다른 라우터라고 알려 패킷의 흐름을 바꾸는 공격 기법
  4. 트로이 목마 : 악성 루틴이 숨어 있는 프로그램을 정상적인 프로그램처럼 보이게 하는 공격

🏷️ 시스템 보안 위협

📘 버퍼 오버플로우 공격 유형

  1. 스택 버퍼 오버플로우 공격 : 메모리 영역 중 로컬이나 함수의 주소가 저장되는 스택에서 발생
  2. 힙 버퍼 오버플로우 공격 : 실행 시 동적으로 할당되는 힙 영역에 버퍼를 초과하는 데이터를 입력하여 임의의 코드를 실행하는 공격

📘 버퍼 오버플로우 공격 대응 방안

  1. 스택가드 : 카나리라고 불리는 무결성 체크 값을 삽입하여 확인
  2. 스택쉴드 : 함수 시작 시 복귀 주소를 Global RET라는 특수 스텍에 저장하여 확인
  3. ASLR : 메모리 공격을 방어하기 위해 주소 공간 배치를 난수화
  4. 안전한 함수 활용
  5. 실행 제한

📘 주요 시스템 보안 공격 기법

  1. 포맷 스트링 공격 : 포맷 스트링을 인자로 하는함수의 취약점을 이용한 공격
  2. 레이스 컨디션 공격 : 둘 이상의 프로세스나 스레드가 동시 접근 시 접근 순서에 따라 비정상적인 결과가 발생하는 조건/상황
  3. 키로거 공격 : 사용자의 키보드 움직임을 탐지하여 중요 정보를 빼가는 해킹 공격

🏷️ 보안 관련 용어

  1. 스피어피싱 : 특정 대상을 선정하여 대상에게 일반적인 이메일로 위장한 메일을 보내서 개인정보 탈취
  2. 스미싱 : SMS + 피싱의 합성어
  3. 큐싱 : 큐알코드 + 피싱의 합성어
  4. 봇넷 : 악성 프로그램에 감염되는 다수의 컴퓨터들이 네트워크로 연결된 상태
  5. APT 공격 : 특정 타깃을 목표로 하여 다양한 수단을 지속적이고 지능적인 맞춤형 공격
  6. 공급망 공격 : 소프트웨어 개발사의 네트워크에 침투하여 악의적 코드를 삽입해 사용자가 소프트웨서 설치 혹은 업데이트 시 자동적으로 감염되는 공격
  7. 제로데이 공격 : 보안 취약점이 공표되기 전에 이루는 보안 공격
  8. 웜 : 스스로를 복제하여 네트워크 등의연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램
  9. 악성 봇
  10. 사이버 킬체인
  11. 랜섬웨어 : 악성 코드의 한 종류로 감염된 시스템 파일들을 암호화하여 인질처럼 잡고 몸값 요구
  12. 이블 트윈 공격 : 무선 Wifi 피싱 기법으로 합법적인 Wifi인 척 하여 공격
  13. 난독화 : 코드의 가동성 낮추기
  14. Tripwire : 크래커가 침입하여 시스템에 백도어를 만들때 분석하는 도구
  15. Ping : 인터넷에 접속하려는 원격 호스트가 정상적으로 운영되는지 확인 명령어
  16. Tcpdump : 인터페이스를 거치는 패킷의 내용 출력 프로그램

✏️ 서버 인증 및 접근 통제

🏷️ 인증 기술의 유형

지식기반 인증 + 소지기반 인증 + 생체기반 인증 + 특징기반 인증

🐥 지소생특

🏷️ 접근 통제 기법

  1. 식별 : 자신이 누구라고 시스템에 밝히는 행위
  2. 인증 : 신원을 검증하기 위한 활동
  3. 인가 : 인증된 주체에게 접근을 허용하는 활동
  4. 책임추적성 : 주체의 접근을 추적하고 행동을 기록하는 활동

🏷️ 서버 접근 통제의 유형

  1. 임의적 접근 통제(DAC) : 사용자/그룹의 신분 기반으로 제한하는 방법
  2. 강제적 접근 통제(MAC) : 정보의 허용등급을 기준으로 접근을 제한하는 방법
  3. 역할기반 접근 통제(RBAC) : 사용자와 시스템의 상호관계를 통제하여 역할에 기초하여 제한하는 방법

🏷️ 접근 통제 보호 모델

  1. 벨-라파듈라 모델 (기밀성) : No Read Up, No Write Down
  2. 비바 모델 (무결성) : No Read Down, No Write Up

🐥 벨기비무
== 벨기에까지 비행은 무리

✏️ SW 개발 보안을 위한 암호화 알고리즘

🏷️ 암호 알고리즘 개념

데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법

🏷️ 암호 알고리즘 방식

📘 대칭키 암호 방식

📂 블록 암호 방식

  1. DES : 미국의 연방 표준국(NIST)이 발표한 알고리즘, 블록 크기는 64bit, 키 길이는 56bit, 3DES
  2. SEED : 한국인터넷진흥원(KISA)에서 개발한 알고리즘, 블록 크기는 128bit, 키길에 따라 128bit, 256 bit
  3. AES : 미국 표준 기술 연구소(NIST)에서 발표한 알고리즘, DES 개별 전사 공격 가능
  4. ARIA : 국가정보원과 산학연구협회가 개발한 알고리즘, 경량 환경 및 하드웨어 효율성 향상 목적
  5. IDEA : DES를 대체하기 위한 스위스 개발 알고리즘
  6. LFSR : 선형 되먹임 시프트 레지스터

📂 스트림 암호 방식 : RC4

📘 비대칭키 암호 방식

  1. 디피-헬만 : 최초의 공개키 알고리즘, 이산대수의 어려운 문제 기본 원리
  2. RSA : MIT 수학 교수가 고안한 소인수 분해 어려움을 이용한 알고리즘
  3. ECC : 타원 곡선 암호는 이산대수의 문제에 기초한 알고리즘
  4. Elgamal : 이산대수의 계산을 기본 원리로 하고 RSA와 유사하게 전자서명 암,복호화에 사용

📘 해시 암호 방식

  1. MD5 : 파일의 무결성 검사에 사용
  2. SHA-1 : NSA의 표준이고 DSA에서 사용
  3. SHA-256/384/512 : AES의 키 길이에 대응하도록 출력 길이를 늘린 알고리즘
  4. HAS-160 : 국내 표준 서명 알고리즘 KCDSA를 위해 개발

🏷️ 안전한 전송을 위한 데이터 암호화 전송

📘 IPSec

IP 계층(3계층)에서 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 IP 보안 프로토콜

📘 SSL/TLS

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

📘 S-HTTP

웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로, 클라이언트와 서버 간 모든 메시지를 암화하하여 전송

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

🏷️ 정보에 대한 보안 항목 식별

📘 소프트웨어 개발 보안활동 관련 법규 및 규정

개인정보 보호법 + 정보통신망법 + 신용정보법

🐥 개망신

📘 고유 식별정보의 종류

주민등록번호 + 여권번호 + 운전면허번호 + 외국인 등록번호

🐥 주여운외
== 주인공인 여자는 운다. 외롭다.

📘 개인정보보호 법령 내 정보사고

분실 + 도난 + 유출 + 변조 + 훼손

🐥 분도유변훼
== 1분도 아까운 유변호사가 명예훼손 사건을 맡는다.

1개의 댓글

comment-user-thumbnail
2023년 3월 3일

ㅋㅋ암기법이 웃겨요. 그래도 덕분에 잘 공부하고 갑니다~

답글 달기