소프트웨어 개발 보안 구축


 

자주 나오는 챕터 : 요구사항 , 데이터입출력 , 프로그래밍 , sql응용 , 서버 프로그램 , 애플리케이션 테스트관리 , 응용sw기초기술 , 보안 구축

3대 보안 요소 

      기밀성 : 인가된 사용자만 접근가능

      무결성 : 인가된 사용자만 수정가능

      가용성: 인가된 사용자는 정보와 자원 사용 가능 ( 기출)

 

시큐어 코딩 가이드 : 설계 및 구현 단게에서 해킹 등의 공격을 유발할 가능성이 있는 보안취약점을 제거하고 외부 공격으로부터 안전한 소프트웨어 개발

      보안취약점 : 운영 단계에 보안 리스크

      보안 약점 : 개발 단계의 보안 리스크

 

 

대칭키 암호 방식 : 암호화와 복호화에 같은 암호 키 사용

     블록 암호 방식 : 고징 길이의 블록을 암호화하여 반복 ( EDS , AES , SEED)

     스트림 암호 방식 : 난수열을 발생시켜 평문과 다불어 암호문 생성

 

비대칭키 암호 방식 : 공개키는 공개하고 개인키는 키의 소유자만 알기

일방향 암호 방식(해시 암호 방식) : 정보를 입력받아 고정된 길이의 암호문을 출력

           MAC : 키를 사용하는 것으로 메시지의 무결성과 송신자의 인증 보장

           MDC : 키를 사용하지 않응 코드로 메시지의 무결성

 

 

대칭키 암호화 알고리즘

      DES : 1975 IBM 

      SEED : 1999 KISA개발

      AES : 2001 미국 표준기술 연구소 개발 (기출 21-2)

      ARIA : 2004년 국가정보원과 산학연구협회

      IDEA : DES대체 스위스 연방기술기관

     LFSR : 선형함수 스트림 암호화

 

비대칭 키 알고리즘

     디피-헬만 : 최초의 공개키 알고리즘

      RSA : 1977 MIT

     EIGamal : 1984 ELGamal

     ECC : 1985 RSA 대안

 

해시암호화알고리즘

      MD5 : 파일의 무결성 검사  128비트(기출)

      SHA -1 : 1993년 NSA

      SHA-256/384/512 : 256비트 해시값

     HSA-160 : 국내 표준 서명 알고리즘

    HAVAL : 메세지를 1024비트블록

 

 

 

 

 

Dos : 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게

Dos 종류 

        SYN 플러딩 : 서버 사용자수를 SYN패킷만 보내 점유하여 다른 사용자가 서버를 사용하지못하게

        UDP 플러딩 : 대량의 UDP패킹을 임의의 포트번호로 전송하여 자원을 고갈

        스퍼프, 스머핑,스머프 : 출발지 주소를 대상의 ip로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비

        죽음의 핑 : ICMP패킷을 크게 만들어서 서비스를 못하도록

         랜드 어택 : 출발지 ip와 목적지 ip를 같은 패킷주소로 만들어 보내 시스템의 가용성 침해  (기출)

       티어 드롭 : IP패킷의 재조합 과정에서 잘못된 정보로 수신 시스템에 문제를 발생

      봉크/보잉크 : 프로토콜의 오류제어를 이용한 공격

      TCP SYN FLOODING

       PING FLOODING - 공격자가 공격대상자의 컴퓨터를 확인하려고

      

 

DDOS : 여러대의 공격자를 분산 배치하여 동시에 동작하게 하여 공격

DDOS 공격도구

          피싱 - 가짜 웹사이트

          파밍 - DNS로 속여 진짜 웹사이트로 오인하게

          스니칭 - 상대방들의 패킷 교환을 엿듣는것

          스미싱 - 인터넷주소 악성코드

          큐싱 - QR코드

          랜섬웨어 - 파일등을 암호화

         키로거 - 키보드의 우밎ㄱ임

          SQL INJECTION 

          XSS - 게시판에 악성코드를 삽입하여 정보 유출

         무작위 대입공격(브루트포스)

         스피어 피싱 - 합법적인 웹사이트 감엽시키기

          APT - 다양한 보안위협 장기간 접근

           제로데이공격 - 알려지ㅣㅈ않은 취약점 , 탐지되지않은 악성코드

            백도어 - 허가되지않은 접근으로 

          RAINBOW TABLE ATTACK - 해시값

           CSRF - 불특정 다수가 자신의 의지와 상관없이 공격

         TOCTOC - 병렬시스템의 타이밍을 노리는 공격 

       : Trinoo : UDP flood 서비스 거부 공격을 유발

         Tribe Flood Network : 하나 혹은 여러개의 목표 시스템에 대해 서비스 거부 공격

         Stacheldraht : 분산 서비스 거부 에이전트 역활을 하는 Linus 및 solaris시스템용 멜웨어 도구

 

Dos는 직접 공격 DDos는 공격하도록 지시

Dos는 한사람에 의해 DDos는 많은 감염 호스트를 통해

 

DRDos : 공격자는 출발지 ip를 공격대상 ip로위조하여 반사 서버로 요청 정보를 전송 , 공격대상자는 반사 서버로부터 다량의 응답을 받아 서비스 거부가 되는 공격

 

세션 하이재킹 : TCP의 세션 관리 취약점을 이용한 공격 ( 기출 21-1)

 

애플리케이션 공격기법

      HTTP GET 플러딩 : 과도한 GET메세지를 이용하여 웹 서버의 과부하 공격

      slowloris : Http GET메서드로 웹서버와 연결상태를 장시간으로 하여 연결자원을 소진시키는 서비스 거부 공격

      Rudy : 요청 헤더의 Content-Length를 크게하여 연결상태를 유지시키는 공격

      slow Http Read Dos : 다수의 HTTp패킷을 지속적으로 전송하여 웹서버와의 연결상태 지속

      Hulk Dos : 웹 ㅔㅍ이지 주소를 변경하면서 계속 Get요청

      Hash Dos : Post방식으로 웹서버에 전달하여 다수의 해시 충돌로 자원을 소모

 

네트워크 공격

     스니핑 : 공격대상의 데이터만 몰래보기(수동적)

    네트워크 스캐너,스니퍼 : 네트워크 하드웨어, 소프트웨어 구성의 취약점 파악을 위해 취약점을 탐색하는 도구

    패스워드 크래킹

           사전 크래킹 : ID,PW 단어를(가능성이있는 단어를) 파일로 만들어 대입

            무차별 크래킹 : 무작위로 

           패스워드 하이브리드 : 사전공격 + 무차별

           레인보우 테이블 공격 : 해시값을 테이블에서 검색하여 역으로 패스워드를 찾기

 

IP 스푸핑 : 침입자가 인증된 컴퓨터인것처럼 속여 인증된 호스트의 IP주소로 위조하여 타깃에 전송하는 공격

ARP 스푸핑 : 공격자가 호스트의 MAC주소를 자신의 MAC주소로 위조한 ARP Reply를 만드는 공격

ICMP Redirect 공격 : 스니핑 시스템을  또다른 라우터라고 알려 패킷의 흐름 바꾸는 공격

트로이 목마 : 악성 코드 기법

 

버퍼 오버플로우 : 메모리에 버퍼 크기를 초과하는 데이터를 보내 악성 코드를 실행

백도어 : 정상적인 인증 절차를 우회하는 기법

 

보안관련 용어 

         스피어 피싱 : 메일의 링크나 파일을 클릭하도록 유도하여 개인정보 탈취

         스미싱 : SMS를 이용하여 개인정보나 소액결제 유도

         큐싱 : QR코드로 악성 앱을 다운받게하여 정보 빼내기

         봇넷 : 악성 프로그램이 감염된 컴퓨터들이 네트워크로 연결된 형태

         APT 공격 : 지능적인 맞춤형 공격 기법

         공급망 공격 : sw개발사의 네트워크에 침투하여 악의적 코드삽입 자동적 감염유도

         제로데이 공격 : 보안 취약점을 악용하여 공격

         윔 : 스스로 복제하여 네트워크를 통해 전파

         악성 봇 : 해커의 명령에 의해 원격 조정 프로그램

         사이버 킬체인 : APT 공격방어 분석 모델

         랜섬웨어 : 시스템의 파일을 암호화하는악성

         이블 트윈 공격 : 핫스팟에 연결된 사용자들의 정보 탈취

 

서버 인증 기술 유형

         지식기반 인증 : ID , PW

         소지기반 인증 : 공인인증서  , OTP

         생체기반 인증 : 홍채 얼굴 지문

          특정기반 인증 : 서명 , 몸짓

 

접근 통제 기법

         식별 : 시스템에 자신이 누구라고 밝힘  Identification

         인증 : 주체의 신원 검증      Authentication

         인가 : 인증된 주체에게 접근 허용  Authorization

         책임추적성 : 주체의 접근을 추적하고 행동을 기록

 

 

서버 접근 통제 유형

       임의적 접근 통제(DAC) : 신분에 근거하여 접근을 제한 (기출 21-1)

       강제적 접근 통제(MAC) : 접근허가 권한에 근거하여 접근을 제한

       역할 기반 접근 통제(RBAC) : 중앙 관리자가 조직 내 역할에 기초하여 접근을 제한

 

접근 통제 보호 모델

          벨-라파듈라 모델(BLP) : 기밀성을 강조하여 강제적 정책접근통제

               No Read up : 높은 등급의 주체는 낮은 등급의 객체를 읽을 수 없음

               No Write Down : 높은 주체는 낮은 객체에 기록하면 안됨

          

           비바 모델 : 무결성을 보장하는 모델 

               No Read Down : 높은 등급 주체는 낮은 객체를 읽을 수 없음

               No Write Up : 낮은 주체는 상위 객체를 수정할수 없음

 

 

IPSec : 무결성과 인증 헤더와 암호화를 이용한 IP 보안 프로토콜 (기출)

SSL : 클라이언트와 서버간의 웹데이터 암호화 , 데이터 무결성 보장 보안 프로토콜

S - HTTP : 웹상에서 네트워크트래픽을 암호화 하는 방법

 

 

입력데이터 검증 및 표현 방법 : 입결 데이터로 발생하는 문제들을 예방하기 위한 구현단계에서 검증해야하는 항목

 

 

입력 데이터 검증 및 표현 취약점

           XSS : 검증되지 않은 외부 입력 데이터가 포함된 웹페이를 사용자가 열람해서 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격 ( 특수문자 필터링,HTML태크 사용금지)

          사이트 간 요청 위조(CSRF) : 사용자가 의지와는 무관하게 특정 웹사이트를 요청하게 하는 공격( POS방식이용, 세션별 CSRF토큰 사용)

          SQL삽입 : 악의적인 SQL구문 삽입을 통해 정보 탈취 조작(변수타입지정, 입력값 체크)

 

 

보안기능 : 소프트웨어 개발 단계에서 인증 접근제어 기밀성 암호화 점검 항목

에러처리: 예외처리, 에러 취약점에 대한 항목

세션 통제: 세션관련 항목

코드오류 : 프로그램 오류 점검 항목

캡슐화: 은닉이 필요한 정보와 인가되지않은 사용자에게 보이지말하야할 취약점 항목

API : API를 오용하여 발생할수있는 취약점 항목 

 

 

보안아키텍처 - ISO 27001 

ISMS - 정보보호 관리체계

 

 

네트워크 보안 솔류션

         방화벽 : 트래픽을 모니터링하여 시스템의 접근 허용 차단

         웹 방화벽 : 

        네트워크 접근 제어 : 단말기가 내부 네트워크에 접속 시도할때 이를 제어 통제(NAC)

        침입 탐지 시스템 : 네트워크 보안 위반 행위를 실시간 탐지(IDS)

        침입 방지 시스템 : 네트워크 공격 침입을 실시간 차단(IPS)

        무선 침입 방지 시스템 : 무선 단말기 접속을 자동 탐지 및 차단

         통합 보안 시스템 : 다양한 보안 장비의 기능을 하나로 통합 제공(ESM)

        가상 사설망 : 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 이용해 전용망같은 효과를 가지는 보안 솔류션(VPN)

        DMZ(비무장지대) - 보안조치가 취해진 비무장지대

        DLP - 기업데이터 유출방지 보안 솔류션 

 

시스템 보안 솔루션

       스팸 차단 솔루션 : 메일 서버 앞단에 위치하여 proxy메일 서버로 동작

       보안 운영체제 : 컴퓨터 운영체제의 커널에 보안기능을 추가

 

 인증(AUTHENTICATION) - 신원검증

권한부여(AUTHORIZATION) - 권한제공

계정관리(ACCOUNTIUG) - 행위기록 , 정보취함 리포팅 제공 

 

콘텐츠 보안 방지

     보안 USB : 

     데이터 유출 방지 : 조직 내부 자료가 외부로 빠져나가는것을 탐지하는 솔류셔ㅛㄴ

     디지털 저작권 관리 : 디지털 저작물에 대한 보호와 관리

 

소프트웨어 개발 보안 테스트 유형

    정적분석 : sw실행하지않고

    동적분석 : sw실행하고

 

비지니스 연속성 계획 : 각종 재해 장애 재난으로부터 위기관리 기반으로 재해복구,업무복구 재개 비상계획 등 비즈니스 연속성을 보장하는 체계

+ Recent posts