-
정보처리기사 실기 스터디[2022-10-09] - 소프트웨어 개발 보안 구축자격증/정보처리기사 2022. 10. 9. 23:27
📌 Study
🔸 2022-10-09
[소프트웨어 개발 보안 구축]
1. 소프트웨어 개발 보안 설계
- SW 개발 보안의 3대 요소
기밀성(Confidentiality)
: 인가되지 않은 자 정보 공개 및 노출 차단무결성(Integrity)
: 정당한 방법이 아니고서는 데이터 변경 불가가용성(Availability)
: 권한 가진 자 서비스 지속 사용 가능
- SW 개발 보안 용어
자산(Assets)
: 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상위협(Threat)
: 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위취약점(Vulnerability)
: 위협이 발생하기 위한 사전 조건위험(Risk)
: 위협이나 취약점을 이용하여 조직의 자산 손실 피해 가능성
DoS 공격
: 시스템을 악의적으로 공격해서 자원을 부족하게 하여 사용 불가능하도록 하는 공격
- DoS 공격 종류
SYN 플러딩
: TCP 프로토콜 구조 문제 이용 공격, 공격자는 ACK를 발송하지 않고, 계속 새로운 연결 요청UDP 플러딩
: 대량의 UDP 패킷으로 임의의 포트로 전송하여 응답 메시지 생성하게 하여 자원 고갈, ICMP 패킷 변조되어 전달하지 않음스머프
: 출발지 주소를 공격 대상 IP로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅죽음의 핑
: ICMP 패킷을 정상보다 큰 크기로 전송, 버퍼 오버플로우 발생랜드 어택
: 출발지 IP와 목적지 IP를 같은 패킷 주소로 만듬티어 드롭
: IP Fragment Offset 변조하여 수신하면 재조합과정에서 오류봉크/보잉크
: 프로토콜의 오류 제어 이용 공격(봉크 : 같은 시퀀스 번호, 보잉크 : 일정한 간격으로 시퀀스 번호에 빈 공간 생성)
DDoS 공격
: 공격자를 분산 배치해 동시 동작하여 특정 사이트 공격
- DDoS 공격 구성 요소
핸들러(Handler)
: 마스터 시스템 역할에이전트(Agent)
: 공격 대상에 직접 공격하는 시스템마스터(Master)
: 공격자에게 직접 명령공격자(Attacker)
: 공격을 주도하는 해커 PC데몬(Daemon)
: 에이전트 시스템의 역할 수행 프로그램
- DDoS 공격 도구
Trinoo
: UDP 플러드 DDoS 공격
DRDoS
: 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보 전송
- DoS와 DDoS 차이점 : DoS는 직접 공격, DDoS는 공격을 하도록 지시
- DDoS와 DRDoS 차이점 : DRDoS는 공격 근원지 파악이 어렵고, 트래픽 생성 효율이 훨씬 큼
세션 하이재킹
: TCP의 세션 관리 취약점 이용한 공격
- 애플리케이션 공격
HTTP GET 플러딩
: 캐시 컨트롤 공격, 과도한 Get 메시지 이용Slowloris
: HTTP GET 메서드를 사용, 개행 문자열 전송 하지 않고, 장시간 연결 지속RUDY
: 요청 헤더의 Content-Length를 비정상적으로 크게 설정, 장시간 연결 지속Slow HTTP Read DoS
: TCP 윈도 크기와 데이터 처리율 감소시킨 상태에서 다수 HTTP 패킷 전송Hulk DoS
: 웹사이트 주소를 지속적으로 변경하면서 다수 Get 요청Hash DoS
: 파라미터 조작하여 POST 방식으로 웹 서버 전달, 해시 충돌
- 네트워크 공격
스니핑
: 직접 공격하지 않고, 데이터만 몰래 들여다보는 수동적 공격스캐너/스니퍼
: 네트워크 취약점 탐색 공격패스워드 크래킹
사전 크래킹
: 패스워드 가능성 단어 대입무차별 크래킹
: 무작위 대입패스워드 하이브리드
: 사전 + 무차별 크래킹레인보우 테이블 공격
: 해시 값을 테이블에서 검색하여 역으로 패스워드 찾음
IP 스푸핑
: 시스템 정보를 빼내기 위해 패킷을 인증 IP로 위조ARP 스푸핑
: MAC 주소 변경하여 스니핑ICMP Redirect
: 메시지를 변조하여 특정 목적지로 가는 패킷을 스니핑트로이 목마
: 겉보기에 정상적인 프로그램이지만, 실행하면 악성 코드 실행
버퍼 오버플로우 공격
: 메모리에 할당 버퍼 크기 초과 데이터를 입력하여 프로세스 흐름 변경시켜 악성 코드 실행
- 버퍼 오버플로우 공격 유형
스택 버퍼 오버플로우 공격
: 복귀 주소 변경하고, 임의 악성 코드 실행힙 버퍼 오버플로우 공격
: 메모리 데이터 변경, 인접 메모리 삭제
- 버퍼 오버플로우 공격 대응 방안
스택가드
:카나리 값
체크, 변할 시 복귀 주소 호출 안 함스택쉴드
: 복귀 주소를Global RET
라는 특수 스택에 저장, RET 값 비교ASLR
: 메모리 공격 방어를 위해 주소 공간 배치 난수화- 안전한 함수 활용 : strncat(), strncpy(), fgets(), fscanf(), vfscanf() 등
백도어
: 정상 인증 절차를 우회
- 주요 시스템 보안 공격기법
포맷 스트링 공격
: 외부 입력 검증하지 않고 사용, printf 조작레이스 컨디션 공격
: 둘 이상 프로세스가 공유자원 동시 접근, 임시파일을 심볼링 링크하여 악의적 행위 수행키로거 공격
: 키보드 움직임 탐지, 저장, 해킹루트킷
: 침입 사실을 숨기고, 해킹 프로그램 제공
- 보안 관련 용어
스피어피싱
: 사회 공학 기법, 메일 첨부파일 클릭 유도스미싱
: SMS + 피싱, 문자 메시지 공격큐싱
: QR 코드 공격봇넷
: 악성 프로그램에 감염되어 다수 PC가 네트워크로 연결APT 공격
: 특정 타깃 목표로 집중 공격공급망 공격
: 소프트웨어 개발사 침투제로데이 공격
: 보안 취약점 발견되어 널리 공표 전에 공격, 신속성웜
: 스스로 복제, 독자적 실행사이버 킬체인
: 7단계 프로세스별 APT 공격 방어랜섬웨어
: 파일들 암호화이블 트윈
: 무선 Wifi 피싱난독화
: 프로그램 코드 변경Tripwire
: 크래커, 백도어나 설정 파일 변경 시 알림 도구TCPdump
: 네트워크 인터페이스 패킷 내용 출력
- 인증기술
지식기반
인증 : 사용자가 기억하고 있는 지식, (ID/패스워드)소지기반
인증 : 소지하고 있는 사용자 물품, (공인인증서, OTP)생체기반
인증 : 사용자의 고유 생체 정보, (홍채, 정맥, 얼굴, 지문)특징기반
인증 : 사용자 특징 활용, (서명, 발걸음, 몸짓)
- 접근 통제 기법
식별(Identification)
: 자신이 누구라고 시스템에 밝히는 행위, 객체에게 자신의 정보 제공인증(Authentication)
: 주체의 신원을 검증하기 위한 활동인가(Authorization)
: 인증된 주체에게 접근을 허용하는 활동책임추적성(Accountability)
: 주체의 접근을 추적하고 행동을 기록하는 활동
- 서버 접근 통제 유형
임의적 접근 통제(DAC)
: 사용자 신분에 근거하여 객체 접근 제한강제적 접근 통제(MAC)
: 시스템 정보 허용등급, 규칙기반 접근통제 정책역할 기반 접근 통제(RBAC)
: 중앙 관리자 통제, 역할 기초
- 3A
인증(Authentication)
: 접근 시도하는 가입자 또는 단말에 대한 식별 검증인가(Authorization)
: 검증된 가입자나 단말에게 권한, 서비스 허용계정 관리(Accounting)
: 리소스 사용에 대한 정보를 수집, 관리하는 서비스
- 접근 통제 보호 모델
벨-라파듈라 모델(BLP)
:기밀성
강조- 속성 : No READ Up, No Write Down
비바 모델
:무결성
강조- 속성 : No Read Down, No Write Up
- 암호 알고리즘 방식
- 양방향 방식
대칭 키 암호 방식
: 암호화와 복호화에 같은 암호키블록
암호화 : 긴 평문 암호화 위해 고정 길이 블록 암호화(DES, AES, SEED)스트림
암호화 : 매우 긴 주기 난수열 발생(RC4)
비대칭 키 암호 방식(= 공개키 암호 방식)
: 개인 키 없는 사용자들이 안전하게 통신하는 방식(RSA, 디피-헬만)
- 일방향 방식
해시 암호 방식
: 임의 길이 정보를 입력받아, 고정된 길이의 암호문을 출력하는 방식- 복호화 불가능
MAC
: 키를 사용하는 메시지 인증 코드로 메시지 무결성,MDC
: 키를 사용하지 않는 변경 감지 코드로 메시지 무결성
- 대칭 키 암호화 알고리즘
DES
: IBM, 블록 크기 64bit, 키 길이 56bit, DES 3번 적용하여 3 DES도 활용SEED
: KISA, 블록 크기 128bit, 키 길이 128bit, 256bitAES
: NIST, 블록 크기 128bit, 키 길이 128bit, 192bit, 256bit, DES 극복 개발ARIA
: 국가정보원, 블록 크기 128bit, 키 길이 128bit, 192bit, 256bit, 경량 환경 및 하드웨어 효율성 향상IDEA
: 스위스 연방 기술 기관, 블록 크기 128bit, DES를 대체하기 위함LFSR
: 시프트 레지스터
- 비대칭 키 암호화 알고리즘
디피-헬만
: 최초 공개키 알고리즘RSA
: 소인수 분해 수학적 알고리즘ECC
: 타원 곡선, RSA 보완EIGamal
: 이산대수 계산
- 해시 암호화 알고리즘
MD5
: 파일 무결성 검사, 512bit 입력 메시지 블록에 대해 128bit 해시값 생성SHA-1
: NSA, 160bit 해시값 생성SHA-256/384/512
: 256bit 해시값 생성HAS-160
: 국내 표준 서명 알고리즘, MD5 + SHA-1 장점 취함HAVAL
: 메시지를 1024bit로 나누고, 메시지 다이제스트 출력
IPSec
: 3계층에서 무결성과 인증을 보장하는 인증헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용한 보안 프로토콜
- IPSec 동작 모드
전송 모드
: IP 상위 프로토콜 보호터널 모드
: IP 패킷 전체 보호
- IPSec 프로토콜
AH
프로토콜ESP
프로토콜키 관리(IKE)
프로토콜
SSL/TLS
: 4계층과 7계층 사이에서 클라이언트-서버 간 데이터 무결성, 기밀성 보장
S-HTTP
: 웹 상에서 네트워크 트래픽 암호화, 클라이언트-서버 간 모든 메시지 암호화 전송
- Secure SDLC 모델 및 방법론
Seven TouchPoints
: 실무적으로 검증된 개발 보안 방법론, SW 보안 모범 사례 SDLC에 통합한 생명주기 방법론MS SDL
: 마이크로소프트사, SW 개발에 의무적으로 적용하도록 고안한 보안 강화 프레임워크OWASP CLASP
: 활동중심, 역할 기반의 프로세스로 구성된 보안 프레임워크, 프로그램 설계나 코딩 오류 찾아내어 개선
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 스터디[2022-10-11] - 애플리케이션 테스트 관리 (0) 2022.10.11 정보처리기사 실기 스터디[2022-10-10] - 소프트웨어 개발 보안 구현 (0) 2022.10.10 정보처리기사 실기 스터디[2022-10-08] - 서버 프로그램 구현 (0) 2022.10.08 정보처리기사 실기 스터디[2022-10-07] - SQL 응용(데이터베이스 기본, 응용 SQL 작성, 활용) (0) 2022.10.07 정보처리기사 실기 스터디[2022-10-06] - SQL 응용(데이터베이스 기본) (0) 2022.10.06 - SW 개발 보안의 3대 요소