ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보처리기사 실기 요약[SW 개발 보안 구축 - Chapter9](정처기)
    정보처리기사 2021. 6. 2. 21:12
    반응형

    정보처리기사 실기 정리는 제가 직접 수기로 작성하여 요약한 내용이기 때문에 조금의 오타가 있을 수 있습니다.

    Chapter10 - 프로그래밍 언어 활용

    Chapter11 - 응용 SW 기초 기술 활용

    Chapter2 - 데이터 입출력 구현

    본 3파트는 학교 OS, DB 수업과 코딩 테스트를 준비하면서 다른 과목들의 암기 시간을 늘리기 위해 정리(암기)하지 않고 갔습니다.

    하지만 양이 많고, 가장 중요하면서 최소 4문제 이상 나오는 파트이기 때문에 준비를 잘해야하는 파트입니다.

    시간이 된다면 추후에 추가하겠습니다.

     

    소프트웨어 개발 보안 구축

    Chapter 9 

    소프트웨어 개발 보안
    SW 개발에 생명 주기 단계별로 보안 취약점 등을 분석해 외부 해킹 등을 SW 개발 단계에서 미리 제거해 보안 요소를 만족하는 SW를 개발 운영하기위해 수행되는 개발 방법론

    SW 개발 보안 요구공학 프로세스
    도출 - 분석 - 명세 - 확인

    보안 요구사항 관리
    보안 요구사항 추적 매트릭스를 통해 요구사항을 관리

    개발 보안 방법론 개념
    기존 SW 개발 방법론이 적용된 프로젝트에서 안전한 소프트웨어 개발에 요구되는 보안 활동들을 적용하는 개발 방법
    보안 활동 : 요구사항 분석 , 설계, 구현 , 테스트, 유지보수
     
    MS-SDL
    Micro soft 사에서 보안 수준이 높은 안전한 SW 를 개발하기 위해 수행한 프로세스 개선 작업(자체 수립한 SLD 방법론 적용)

    Seven Touch points
    SW 보안의 모범 사례를 SDLC에 통합한 개발 보안 방법론
    공통 위험 요소를 파악하고 이해, 보안을 설계하며 모든 SW 산출물에 대해 철저하고 객관적 위험 분석, 테스트를해 안전한 SW를 만들어내는 방법 정의
    SDLC 각 단계에 7가지 강화 활동을 적용
    (악용 사례, 보안 요구사항, 위험 분석, 위험 기반 보안 테스트, 코드 검토, 침투 테스트, 보안 운영)

    CLASP
    SDLC 초기 단계에 보안 강화를 목적으로 하는 정형화된 개발 보안 프로세스
    활동 중심의 프로세스 + 역할 기반 프로세스
    개념, 역할 기반, 활동 평가, 활동 구현, 취약성 관점 등 5가지 관점에 따라 개발 보안 프로세스를 수행

    정보 보안 3대 요소
    기밀성 : 일가된 사용자만 정보 자산에 접근
    무결성 : 인가된 사용자가 인가된 방법으로만 수정 가능
    가용성 : 사용자가 필요할 때 데이터에 접근할 수 있는 능력(위협 - DoS)

    시큐어 코딩(Secure Coding)
    보안에 안전할 수 있는 프로그램 코드를 적용해 프로그램을 코딩하는 것
    OWSP(웹의 보안 취약점 발표 사례) TOP 10을 참고해 KISA에서 발표한 보안 약점 가이드
    애플리케이션이 보안 취약점과 대응 방안이 구체적으로 서술된 문서
    시큐어 코딩 7항목
    입력 데이터 검증 및 표현, 보안 기능, 시간 및 상태, 에러 처리, 코드 오류, 캡슐화, API 오용

    대칭키(비밀키) 암호화
    같은 키로 암호화하고 복호화, 암호화/복호화 속도 빠름, 알고리즘 단순, 키분배는 공개키에 비해 어려움

    블록 암호화
    평문을 블록 단위로 암호화하는 대칭키 암호 시스템
    종류
    DES : 16라운드 Feistel 구조, 평문을 64bit로 블록화, 키는 56bit, 전사 공격에 취약
    AES : DES를 대신해 새로운 표준, 블록 128bit, 키 128/192/256bit, SPN 구조
    ARIA : 국내 기술로 개발, 우리나라 국가 표준
    SEED : 국내 기술로 개발된 128bit 블록 암호 알고리즘, Feistel, 2005년 국제 표준으로 제정
    IDEA : DES를 대체, 스위스에서 개발

    스트림 암호화
    유사 난수를 연속적(스트림)으로 생성해 암호화 하려는 자료와 결합하는 구조
    종류
    LFSR, RV4

    비대칭키(공개키) 암호화
    암호키와 해독키가 서로 다른 기법, 키 분배가 비밀키 암호화 보다 용이, 암/복호화 속도가 느리고 알고리즘 복잠
    종류 :RSA, EIGama, Rabin, ECC, DSS 기법
    RSA : 소인수 분해 기법
    EIGama : 이산 대수 문제의 어려움에 기초를 둔 알고리즘, 같은 메시지라도 암호화가 이루어질 때 암호문이 변경, 암호문 길이가 2배로 늘어남

    해시
    임의의 길이의 메시지를 입력으로 고정된 길이의 출력값으로 변환하는 기법
    고정  길이의 의사 난수 생성 - 해시값
    무결성을 제공함
    종류
    SHA : 미국 NIST에서 개발, 가장 많이 사용, 256,383,512등 다양
    MD5 :  16단계 4라운드 사용, 각 라운드에 한번씩 4개의 기약함수, 마지막단계 부가 , 널리 사용된 해시 알고리즘이지만 충돌 회피성에서 문제점이 있음, 기존 응용과 호환으로만 사용하고 더이상 사용 않함
    MD4 : 16단계 3라운드 사용, 각 라운드에 한번씩 3개의 기약 함수,마지막 단계 부가 포함 X
    HAS -160 : 국내에서 개발된 대표적 해시 함수, SHA와 설계 사상이 유사

    DOS
    시스템 자원을 부족하게해 원래 의도된 용도로 사용하지 못하게 하는 공격 방법
    가용성을 위협하는 행위
    공격자가 임의로 자신의 IP주소를 속여 다량으로 서버에 보냄
    헤더에 조작된 일련의 IP 패킷 조각을 전송
    종류
    Smurf : 공격 대상 IP 주소를 근원지로 댈야의 ICMP 응답 패킷을 전송해 서비스 거부를 유발, IP나 ICMP 특성을 활용해 특정 사이트에 집중적으로 데이터를 보내 네트워크,시스템 불능으로 만듬
    TCP SYN flooding : TCP Connection은 반드시 3way handshaking을 거친 후 Session을 확인하고 통신 됨, 이런 TCP 연결 설정 과정을 노린 서비스 거부 공격
    UDP 플러딩 : 대량의 UDP 패킷을 만들어 보내 정상적인 서비스를 하지 못하게함
    Ping 플러딩 : 네트워크 정상 작동 여부를 확인하기 위해 사용하는 Ping 테스트르 공격자가 공격 대상의 컴퓨터를 확인하려는 방법으로 사용하는 공격 방법
    Ping of Death :  비정상적 ICMP 패킷을 보내, 시스템 성능저하하는 공격
    티어드랍 :패킷 재조합 문제를 악용해 오프셋이나 순서가 조작된 일련의 패킷 조각들을 보냄으로써 자원을 고갈
    LAND Attack : IP 스푸핑을 이용한 SYN 공격, 공격자가 패킷의 출발지 주소나 포트를 임의로 변경해 출발지와 목적지 주소르 동일하게 함으로써, 공격 대상 컴퓨터의 실행 속도가 느려지거나 마비됨, 패킷 출발지와 목적지 IP 주소를 희생자 측으로 동일하게 변조한다는 게 핵심

    DDos : 여러대 공격자를 분산 배치해 동시에 DoS 공격을 해 공격 대상이 마비되는 공격, DDoS공격에 사용된 좀비 PC를 봇넷이라고함
    종류
    Trinoo, TFN, TFN2K, Stacheldraft
    피싱
    진짜 웹 사이트와 거의 동일하게 꾸며진 가짜 웹 사이트를 통해 개인정보를 탈취하는 수법 
    파밍
    도메인을 탈취하거나 악성코드를 통해 DNS의 이름을 속여 사용자가 진짜 웹 사이트를 오인하게 만들어 개인정보를 탈취하는 수법 
    스니핑
    네트워크상에서 자신이 아닌 다른 상대방들의 패킷 교환을 엿듣는 것을 의미, 네트워크 트래픽 도청하는 과정  
    스미싱
    수신한 메시지에 있는 인터넷 주소를 클릭하면 악성코드를 설치해 개인 금융 정보를 빼내는 수법 
    큐싱
    QR코드를 통해 악성 앱을 내려받도록 유도하는 수법 
    랜섬웨어
    인터넷 사용자 컴퓨터에 침입해 내부 문서 파일 등을 암호화해 사용자가 열지 못하게 하는 공격
    키 로거
    컴퓨터 사용자의 키보드 움직임으로 ID, 패스워드 등이 개인의 중요한 정보를 몰래 빼가는 공격
    SQL injection
    공격자가 악의적으로 만든 SQL 명령을 응용 프로그램이 수행하도록 하는 공격 방법
    XSS
    게시판의 글에 원본과 함께 악성코드를 삽입해 글을 읽으면 악성코드가 실행되도록 해 정보 유출하는 공격 방법
    무작위 대입 공격
    패스워드에 사용될 수 있는 문자열의 범위를 정해 그 범위내에서 생성 가능한 패스워드를 활용해 공격
    스피어 피싱
    공격 대상이 방문할 가능성 있는 웹사이트를 감염시킨 뒤, 잠복해 공격 대상이 방문하면 대상의 컴퓨터에 악성코드를 설치
    APT(지능적 지속 위협)
    다양한 보안 위협을 만들어 침해에 성공해 정보를 유철하거나 장기간의 접속 권한을 획득하기 위해 or 장기간의 접근을 위해 지속해서 수행되는 공격 방법
    제로데이 공격
    조사된 정보를 바탕으로 정보 시스템, 웹 애플리케이션 등의 알려지지 않은 취약점 및 보안 시스템에서 탐지되지 않는 악성코드 등을 감염
    백도어(트랩도어)
    프로그램이나 손상된 시스템에 허가되지 않는 접근을 할 수 있도록 정상적인 보안 절차를 우회하는 악성 SW, tripwire로 분석
    Rainbow Table Attack
    최근 패스워드 크래킹 기법, 패스워드 별로 해시값을 미리 정해 생성해 놓은 테이블을 사용해 Reduction 함수의 반복 수행을 통해 일치하는 해시값으로 패스워드를 탈취
    CSRF
    불특정 다수를 대상으로 로그인된 사용자가 자신의 의지와 상관없이 공격자의 의도에 따라 행위를 하게 됨. (옥션에서 발생했었음)
    TOCTOU 
    병렬 시스템을 사용할 때 두 시점 사이의 타이밍을 노리는 공격, 그런 공격을 가능하게 하는 버그 유형

    사용자 인증 기법
    지식 기반 - 기억하고 있는 것들 (아이디, 패스워드, PIN)
    소유기반 - 사용자가 소유하고 있는 인증 토큰 (OTP, 스마트 카드, 공인인증서)
    생체 기반 - 신체적 특성 or 동적인 행위적 특성 이용 (지문 인식, 홍채 인식, 정맥 인식, 음성 인식)

    서버 접근 통제
    접근 통제 요소
    식별 : 인증 서비스에 스스로를 확인시키기 위해 정보를 공급하는 주체 활동
    인증 : 주체의 신원을 검증하기 위함
    인가 : 인증을 통해 식별된 주체의 실제 접근 가능 여부와 주체가 수행 가능한 일을 결정하는 과정

    강제적 통제(MAC)
    중앙에서 정보를 수집하고 분류하여 보안 레벨을 결정하고 정책적으로 접근제어를 수행
    사용자의 정보에 대한 접근이 주체의 비밀 취급 인가 레이블과 각 객체에 부여된 민감도 레이블에 따라 접근 허용 여부를 결정
    기밀성이 매우 중요한 조직에서 사용
    BLP, Biba등이 있음

    임의적 접근 통제(DAC)
    정보의 소유자가 보안 레벨을 결정, 이에 대한 정보의 접근제어를 설정하는 방식
    객체별로 세분된 접근제어 가능
    유연한 접근제어 서비스 제공

    역할 기반 접근 통제(RBAC)
    직책에 대해 권한을 부여함으로써 효율적인 권한 관리가 가능

    보안 아키텍쳐
    보안 설계 감독을 위한 원칙과 보안 시스템의 모든 양상에 대한 세부사항을 의미
    원칙
    변화하는 보안의 필요와 요구사항 수용
    보호레벨이 변해도 보안 아키텍쳐는 수정하지 않고 지원 가능해야함
    여러가지 보호 레벨을 수용하고 미래의 확장되는 필요성을 수용할 수 있도록 확장성 제공
    통합된 보안 서비스를 제공해야함

    ISO 27001
    ISMS 요구사항으로 정보보호 관리체계에 대해 국제 인증 시 요구사항을 정의
    전체적으로 14분야에 걸쳐 117개의 통제사항으로 구성됨

    방화벽
    내부 보안 정책을 만족하는 트래픽만 방화벽 통과 가능, 내부 네트워크과 외부 네트워크 사이에 위치
    접근 제어, 인증, 감사 추적, 암호화 제공
    내부에서 외부로 나가는 패킷은 그대로 나가기 때문에 내부 사용자에 대한 보안 침해는 방어하지 못함
    유형
    패킷 필터링, 상태 검사, 응용 레벨 게이트워이, 회선 레벨 게이트웨이

    웹 방화벽
    클라이언트가 보낸 요청을 검사해 악의적 요청이나 침입을 검사하고 차단
    URL 및 서버 정보 위장 기능을 제공해 유저에게 실제 서버의 위치와 서버 정보를 숨기느 기능을 함

    IDS(침입 탐지 시스템)
    침입 공격에 대해 외부 침입을 탐지하는 것을 목표로함
    분류
    HIDS : 호스트기반 IDS, 컴퓨터 시스템 내부를 감시하고 분석해 침입을 탐지, 동작이나 상태를 모두, 부분적으로 검사
    NIDS : 네트워크 기반 IDS, 네트워크상의 모든 패킷을 캡처링해 분석후 탐지하는 시스템
    탐지 기법
    오용 탐지 : 이미 발견된 공격과 일치하는 검사로 탐지, 속도가 빠르고 구현이 간단, False Positive 낮고, False Negative 높음
    이상 탐지 : 장시간 수집된 올바른 사용자 패턴을 활용해 통계적으로 탐지, 알려지지 않은 공격을 탐지, False Positive 높고, False Negative 낮음

    IPS(침입 방지 시스템)
    침입 공격에 대해 방지하는 것을 목표로함, 탐지하면 대처까지 수행
    IDS와 방화벽의 장점을 결합
    호스트의 IP주소, 포트 번호, 사용자 인증에 기반으로 외부 침입을 차단

    DMZ
    보안 조치가 취해진 네트워크 영역

    NAC(네트워크 접근 제어)
    사용자 컴퓨터 및 네트워크 단말기가 네트워크에 접근하기 전에 봉나 정책 준수 여부를 검사해 네트워크 접근을 통제하는 보안 솔루션
    엔드포인트에 일련의 보안 정책을 적용

    DLP
    기업의 데이터 유출 방지를 목표로하는 보안 솔루션

    ESM
    방화벽, 침입 탐지 시스템, VPN등 보안 솔루션을 하나로 모은 통합 보안 관리 시스템

    VPN(가상 사설망)
    안전하지 않은 공용 네트워크를 이용해 사설 네트워크를 구성

    로그 분석
    로그는 데이터에 대한 기록이 파일 or 인쇄물 형태로 저장된 것
    시스템 내부에서 영향을 미치거나 네트워크를 통한 외부에서 시스템에 영향을 미칠 때 해당 데이터를 기록하여 문제를 해결하거나 예방함
    관리
    인증, 인가, 계정에 대한 로그를 기록함

    취약점 분석 및 평가
    악성 코드 유포, 해킹 등 사이버 위협에 대한 시스템의 취약점을 종합적으로 분석, 평가, 개선하는 일련의 과정
    수행 절차 및 방법
    1. 취약점 분석/평가 계획 수립
    2. 취약점 분석/평가 대상 선별
    3. 취약점 분석
    4. 취약점 수행

    반응형
Designed by Tistory.