ABOUT ME

-

Today
-
Yesterday
-
Total
-

Post Calendar

«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
  • 정보처리기사 실기 스터디[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, 256bit
      • AES : 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 : 활동중심, 역할 기반의 프로세스로 구성된 보안 프레임워크, 프로그램 설계나 코딩 오류 찾아내어 개선

    댓글

Designed by Tistory.