소프트웨어 개발 보안 구축

작성일

랜드 어택

  • 공격자가 패킷의 출발지 주소나 포트를 임의로 변경해서 출발지와 목적지 주소를 동일하게 함으로써 공격대상 컴퓨터의 실행속도를 느리게 하거나 동작을 마비시켜 서비스 거부 상태에 빠지도록 하는 공격 기법

MD5

  • RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 거사 등에 사용된다, 1991년 로널드 라이베스트가 예전에 쓰이던 MD4를 대체하기 위해 고안된 128비트 암호화 해시 함수

스니핑

  • 공격대상에서 직접 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격기법

IPSec

  • 무결성과 인증을 보장하는 인증헤더와 기밀성을 보장하는 암호화를 이용한 프로토콜로 네트워크계층인 인터넷 프로토콜에서 보안성을 제공해주는 표준화된 기술

SQL Injection

  • 응용 프래그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 실행시켜서 데이터베이스의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격기법

가용성

  • 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성

기밀성

  • 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성

무결성

  • 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의, 악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성

위협

  • 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사건이나 행위

취약점

  • 위협이 발생하기 위한 사전 조건으로 시스템의 정보 보증을 낮추는데 사용되는 약점

위험

  • 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성

DoS 공격

  • 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 자원을 소진시켜서 원래 의도된 용도로 사용하지 못하게 하는 공격

SYN 플러닝

  • TCP 프로토콜의 구조적인 문제를 이용한 공격으로 서버의 동시 가용 사용자 수를 SYN 패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격

UDP 플러닝(UDP Flooding)공격

  • 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP)를 생성하게 하여 지속해서 자원을 고갈시키는 공격

죽음의 핑(PoD)공격

  • ICMP 패킷(Ping)을 정상적인 크기보다 아주 크게 만들어서 전송하면 다수의 IP 단편화가 발생하고, 수신 측에서는 단편화된 패킷을 처리(재조합)하는 과정에서 많은 부하가 발생하거나, 재조합 버퍼의 오버플로우가 발생하여 정상적인 서비스를 하지 못하도록 하는 공격기법

스머프 공격(Smurf)or스머핑(Smurfing)공격

  • 출발지 주소를 공격 대상의 IP로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 타겟 시스템을 마비시키는 공격

랜드 어택

  • 출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격기법

티어 드롭(Tear Drop)

  • 공격자는 IP Fragment Offset 값을 서로 중첩되도록 조작하여 전송하고, 이를 수신한 시스템이 재조합하는 과정에서 오류가 발생, 시스템의 기능을 마비시키는 Dos 공격 방식

핸들러(Hander)

  • 마스터 시스템의 역할을 수행하는 프로그램

에이전트(Agent)

  • 공격 대상에 직접 공격을 가하는 시스템

마스터(Master)

  • 공격자에게서 직접 명령을 받는 시스템, 여러 대의 에이전트를 관리하는 역할을 함

공격자(Attacker)

  • 공격을 주도하는 해커의 컴퓨터

데몬 프로그램(Daemon)

  • 에이전트 시스템의 역할을 수행하는 프로그램

DRDos 공격

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

HTTP GET 플러딩공격

  • 과도한 Get 메시지를 이용하여 웹 서버의 과부하를 유발시키는 공격으로 HTTP 캐시 옵션을 조작하여 캐싱서버가 아닌 웹 서버가 직접 처리하도록 유도, 웹 서버자원을 소진시키는 서비스 거부 공격기법

Slowloris공격 기법

  • HTTP GET 메소드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열인 \r\n\r\n(Hex: 0d 0a 0d 0a)을 전송하지 않고, \r\n(Hex: 0d 0a)만 전송하여 대상 웹 서버와 연결상태를 장시간 지속시키고 연결 자원을 모두 소진시키는 서비스 거부 공격

RUDY(Slow HTTP POST DoS)

  • Content-Length: 9999999 설정 이후 1바이트 씩 전송하여 지속적인 연결 유지를 통해 가용 자원을 소진시키는 공격

Slow HTTP Read Dos 공격

  • TCP 윈도 크기와 데이터 처리율을 감소시킨 상태에서 다수 HTTP 패킷을 지속적으로 전송하여 대상 웹 서버의 연결 상태가 장시간 지속, 연결자원을 소진시키는 서비스 거부 공격

Hulk DoS

  • 공격자가 공격대상 웹 사이트 웹 페이지주소(URL)를 지속적으로 변경하면서 다량으로 GET 요청을 발생시키는 서비스 거부 공격

사전(Dictionary)크래킹

  • 시스템 또는 서비스의 ID와 패스워드를 크랙하기 위해서 ID와 패스워드가 될 가능성이 있는 단어를 파일로 만들어 놓고 이 파일의 단어를 대입하여 크랙하는 공격기법

무차별(Brute Force)크래킹

  • 패스워드로 사용될 수 있는 영문자, 숫자, 특수문자 등을 무작위로 패스워드 자리에 대입하여 패스워드를 알아내는 공격 기법

ARP 스푸핑

  • 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache table에 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 기법

트로이 목마

  • 악성 루틴이 숨어 있는 프로그램으로 겉보기에는 정상적인 프로그램으로 보이지만 실행하면 악성 코드를 실행하는 프로그램

버퍼 오버플로우 공격

  • 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 이로 인해 프로세스의 흐름을 변경시켜서 악성 코드를 실행시키는 공격 기법

스택쉴드 활용

  • 함수 시작 시 복귀 주소를 Global RET라는 특수 스택에 저장해 두고, 함수 종료 시 저장된 값과 스택의 RET 값을 비교해 다를 경우 오버플로우로 간주하고 프로그램 실행을 중단하는 방식으로 대응

스택가드 활용

  • 카나리라고 불리는 무결성 체크용 값을 복귀 주소와 변수 사이에 삽입해 두고, 버퍼 오버플로우 발생 시 카나리 값을 체크, 변할 경우 복귀 주소를 호출하지 않는 방식으로 대응

ASLR 기법

  • 버퍼 오버플로우 공격에 대한 대응 방안 중 리눅스에서 설정 가능한 기법으로 메모리 공격을 방어하기 위해 주소 공간 배치를 난수화하고, 실행 시마다 메모리 주소를 변경시켜 버퍼 오버플로우를 통한 특정 주소 호출을 차단하는 기법

레이스 컨디션 공격

  • 둘 이상의 프로세스나 스레드가 공유자원을 동시에 접근할 때 접근 순서에 따라 비정상적인 결과가 발생하는 조건/상황에서 실행되는 프롯스가 임시파일을 만드는 경우 악의적인 프로그램을 통해 그 프로세스의 실행 중에 끼어들어 임시 파일을 심볼릭 링크하여 악의적인 행위를 수행하게 하는 공격 기법

크로거 공격

  • 컴퓨터의 사용자의 키보드 움직임을 탐지해서 저장하고, ID나 패스워드, 계좌 번호, 카드번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격

루트킷

  • 시스템 침입 후 침입 사실을 숨긴 채 차후의 칩임을 위한 백도어, 트로이 목마 설치, 원격 접근, 내부사용 흔적 삭제, 관리자 권한 획득등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음

스피어피싱(Spear Phishing)

  • 사회 공학의 한 기법으로, 특정 대상을 선정한 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여, 발송 메일의 본문 링크나 첨부된 파일을 클릭하도록 유도하여 사용자의 개인정보를 탈취하는 공격기법

APT공격 기법

  • 특정 타깃을 목표로하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격 기법

공급망 공격(Supply Chain Atack)

  • 소프트웨어 개발사의 네트워크에 침투하여 소스 코드의 수정등을 통해 악의적인 코드를 삽입하거나 배포 서버에 접근하여 악의적인 파일로 변경하는 방식을 통해 사용자 PC에 소프트웨어를 설치 또는 업데이트 시에 자동적으로 감염되도록 하는 공격 기법

랜섬웨어

  • 악성 코드의 한 종류로 감염된 시스템의 파일들(문서, 사진, 동영상 등)을 암호화하여 복호화할 수 없도록 하고, 피해자로 하여금 암호화된 파일을 인질처럼 잡고 몸값을 요구 악성 소프트웨어

이블 트윈

  • 무선 Wifi 피싱 기법으로 공격자는 합법적인 Wifi 제공자처럼 행세하며 노트북이나 휴대 전화로 핫스팟에 연결한 무선 사용자들의 정보를 탈취하는 무선 네트워크 공격 기법

지식기반 인증

  • 사용자가 기억하고 있는 지식

소지기반 인증

  • 소지하고 있는 사용자 물품

생체기반 인증

  • 고유한 사용자의 생체정보

특정기반 인증

  • 사용자의 특징을 활용

식별(Identification)

  • 자신이 누구라고 시스템에 밝히는 행위
  • 객체에게 주체가 자신의 정보를 제공하는 활동

인증(Authentication)

  • 주체의 신원을 검증하기 위한 활동
  • 주체의 신원을 객체가 인정해 주는 행위

인가(Authorization)

  • 인증된 주체에게 접근을 허용하는 활동
  • 특정 업무를 수행할 권리를 부여하는 행위

책임추적성(Accountability)

  • 주체의 접근을 추적하고 행동을 기록하는 활동
  • 식별, 인증, 인가, 감사 개념을 기반으로 수립

MAC

  • 시스템의 허용등급을 기준으로 사용자가 갖는 접근 허가 권한에 근거하여 시스템에 대한 접근을 제한하는 방법

DAC

  • 시스템에 대한 접근을 사용자/그룹의 신분 기반으로 제한하는 통제 방법

벨-라파둘라 모델(BLP)

  • 보안수준이 낮은 주체는 보안 수준이 높은 객체를 읽어서는 안 됨
  • 보안수준이 높은 주체는 보안 수준이 낮은 객체에 기록하면 안 됨

비바 모델 속성

  • 높은 등급의 주체는 낮은 등급의 객체를 읽을 수 없음
  • 낮은 등급의 주체는 상위 등급의 객체를 수정할 수 없음

대칭키 암호 방식

  • 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘으로 유형에는 블록 암호화 알고리즘과 스트림 암호화 알고리즘이 있는 암호 방식

MAC

  • 키를 사용하는 메시지 인증 코드로 메시지의 무결성과 송신자의 인증 보장하는 방식

MDC

  • 키를 사용하지 않는 변경 감지 코드로 메시지의 무결성을 보장하는 방식

SEED

  • 1999년 국내 한국 인터넷진흥원이 개발한 블록 암호화 알고리즘으로 128비트 비밀키로부터 생성된 16개의 64비트 라운드 키를 사용하여 총 16회의 라운드를 거쳐 128비트의 평문 블록을 128비트 암호문 블록으로 암호화하여 출력하는 방식

ARIA

  • 2004년 국가 정보원과 산학연구협회가 개발한 블록 암호화 알고리즘으로 블록 크기는 128비트이며, 키 길이에 따라 128비트, 192비트, 256비트로 분류되고, 경량환경 및 하드웨어에서의 효율성 향상을 위해 개발된 암호화 알고리즘

AES

  • 2001년 미국 표준 기술 연구소에서 발표한 블록 암호화 알고리즘으로 블록 크기는 128비트이며, 키 길이에 따라 128비트, 192비트, 256비트로 나눠지고, AES의 라운드 수는 10, 12, 14라운드로 분류되며, 한 라운드는 SubBytes, ShiftRows, MixColumns, AddRoundKey의 4가지 계층으로 구성되는 대칭키 암호화 알고리즘

RAS

  • 1977년 3명의 MIT 수학 교수가 고안한 큰 인수의 곱을 소인수 분해하는 수학적 알고리즘 이용하는 공캐키 암호화 알고리즘

ECC

  • 타원 곡선 암호는 유한체 위에서 정의된 타원곡선 군에서의 이산대수의 문제에 기초한 공개키 암호화 알고리즘

ElGamal

  • 이산대수의 계산이 어려운 문제를 기본원리로 하고 있으며, RSA와 유사하게 전자서명과 데이터 암, 복호화에 함께 사용 가능한 알고리즘

IPSec

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

인증(AH) 프로토콜

  • 메시지 인증 코드(MAC)를 이용하여 인증과 송식처 인증을 제공해주는 프로토콜로 기밀성(암호화)은 제공하지 않는 프로토콜
  • 무결성, 인증 제공

암호화(ESP) 프로토콜

  • 메시지 인증 코드(MAC)와 암호화를 이용하여 인증과 송신처 인증과 기밀성을 제공하는 프로토콜
  • 기밀성, 무결성, 인증 제공

키 관리(IKE) 프로토콜

  • Key를 주고 받는 알고리즘
  • 공개된 네트워크를 통하여 Key를 어떻게 할 것인가를 정의, IKE 교환을 위한 메시지를 전달하는 프로토콜

SSL/TLS

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

Change Cipher Spec Protocol

  • 협상이 끝난 Cipher Spec을 상대방에게 알림

Alert Protocol

  • SSL/TLS 관련 경고 메시지 전달

Heartbeat Protocol

  • 서버와 클라이언트가 정상적인 상태인지 확인하기 위하여 사용

Handshake Protocol

  • 서버와 클라이언트가 서로 인증하고 암호화 키를 협상하는 프로토콜

Record Protocol

  • 합의된 Cipher Suite로 암호화, 복호화, 무결성, 암축, 해제 등 수행

S-HTTP

  • 웹상에서 네트워크 트래픽을 암호화하는 주요 방법 중 하나로 클라이언트와 서버 간에 전송되는 모든 메세지를 각각 암호화하여 전송하는 기술
  • 메시지 보호는 HTTP를 사용한 애플리케이션에 대해서만 가능하다

Seven TouchPoints

  • 실무적으로 검증된 개발 보안 방법론 중 하나로써 SW보안의 모범 사례를 SDLC에 통합한 소프트웨어 개발 보안 생명주기 방법론

BSIMM

  • 미국 국토안보국의 지원을 받아 수행된 소프트웨어 보증 프로젝트의 결과물 중 하나
  • 보안 활동의 성숙도 수준을 영역별로 측정함으로써 소프트웨어 개발에 필요한 보안 능력 향상을 목표로 하는 개발 프레임워크

Open SAMM

  • OWASP에서 개발한 개방형 보안 프레임워크
  • 개방을 원측으로 소규모, 중규모, 대규모로 점진적인 확대가 가능한 융통성 있는 프레임워크
  • BSIMM과는 달리 설계 리뷰와 코드 리뷰, 그리고 보안 테스팅을 3개의 중요한 검증 활동으로 정의함으로써 이들 활동 간의 연계성 강조

Seven TouchPoints

  • 실무적으로 검증된 개발 보안 방법론중 하나로써 SW 보안의 모범 사례를 SDLC에 통합한 소프트웨어 개발 보안 생명주기 방법론

MS SDL

  • 마이크로소프트사가 2004년 이후 자사의 소프트웨어 개발에 의무적으로 적용하도록 고안한 보안강화 프레임워크
  • SDL은 개발 중인 제품이 보안 위협에 대해 얼마나 강인한가를 측정하기 위해 동일한 제품에 대해 ‘pre-SDL’ 과 ‘post-SDL’의 두 개의 버전으로 테스트

OWASP CLASP

  • 개념 관점, 역할 기반 관점, 활동평가 관점, 활동구현 관점, 취약성 관점 등의 활동중심, 역할기반의 프로세스로 구성된보안 프레임워크로 이미 운영 중인 시스템에 적용하기 쉬운 보안 개발방법론
  • 프로그램 설계나 코딩 오류를 찾아내어 개선하기 위해 개발팀에 취약점 목록을 제공

재해 복구 시간(RTO)

  • 정보시스템 운영 중 서버가 다운되거나 자연재해나 시스템장애 등 비상상태 또는 업무 중단 시점부터 업무가 복구되어 다시 정상 가동될 때까지의 시간

CSRF(사이트 간 요청 위조)

  • 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격 기법

Stored XSS

  • 방문자들이 악성 스크립트가 포함된 페이지를 읽어 봄과 동시에 악성 스크립트가 브라우저에서 실행되면서 감염되는 기법

Reflected XSS

  • 공격용 악성 URL을 생성한 후 이메일로 사용자에게 전송하면 사용자가 URL 클릭 시 즉시 공격 스크립트가 피해자로 반사되어 접속 사이트에 민감정보를 공격자에게 전송하는 기법

DOM XSS

  • 공격자는 DOM 기반 XSS 취약점이 있는 브라우저를 대상으로 조작된 URL을 이메일을 통해 발송하고 피해자가 URL 클릭 시 공격 피해를 당하는 기법

Form SQL Injection

  • HTML Form 기반 인증을 담당하는 애플리케이션의 취약점이 있는 경우 사용자 인증을 위한 쿼리 문의 조건을 임의로 조작하여 인증을 우회하는 기법

Union SQL Injection

  • 쿼리의 UNION 연산자를 이용하여 한 쿼리의 결과를 다른 쿼리의 결과에 결합하여 공격하는 기법

Stored Procedure SQL Injection

  • 저장 프로시저를 이용하여 공격하는 기법

Mass SQL Injection

  • 기존 SQL Injection의 확장된 개념으로 한 번의 공격으로 대량의 DB 값이 변조되어 홈페이지에 치명적인 영향을 미치는 공격기법

Error-Based SQL Injection

  • DB 쿼리에 대한 에러값을 기반으로 한 단계씩 점직적으로 DB 정보를 획득할 수 있는 공격기법

Blind SQL Injection

  • DB 쿼리에 대한 오류 메시지를 반환하지 않으면 공격을 할 수 없는 Error-Based SQL Injection과 달리 오류 메시지가 아닌 쿼리 결과의 참과 거짓을 통해 의도하지 않는 SQL문을 실행함으로써 데이터베이스를 비정상적으로 공격하는 기법

코드 오류 취약점

  • 보안 점검 내용 중 널 포인터 역참조, 정수를 문자로 변환, 부적절한 자원 해제, 초기화 되지 않는 변수 사용으로 발생할 수 있는 보안 취약점

wtmp(x)

  • 사용자 로그인/로그아웃 정보
  • 시스템shutdown/reboot 정보
  • last 명령어

utmp(x)

  • 현재 시스템에 로그인한 사용자 정보
  • who, w, users, finger 명령어

btmp(x)

로그인에 실패한 정보를 저장하고 있는 유닉스/리눅스 로그 파일명

방화벽(Firewall)

  • 기업의 내부, 외부 간 트래픽을 모니터링 하여 시스템의 접근을 허용하거나 차단하는 시스템

침입 탐지 시스템(IDS)

  • 네트워크에서 발생하는 이벤트를 모니터링하고 비안가 사용자에 의한 자원접근과 보안정책 위반 행위(침입)을 실시간으로 탐지하는 시스템

네트워크 접근 제어(NAC)

  • 단말기가 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션으로 바이러스나 웜 등의 보안 위협뿐만 아니라 불법 사용자에 대한 네트워크 제어 및 통제 기능을 수행하는 장비

가상사설망(VPN)

  • 인터넷과 같은 공중만에서 사설망을 구축하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션

보안 운영체제(Secure OS)

  • 운영체제에 내재된 결함으로 인해 발생할 수 있는 각종 해킹으로부터 시스템을 보호하기 위해 보안 기능이 통합된 보안 커널을 추가한 운영체제

데이터 유출 방지(DLP)

  • 조직 내부의 중요 자료가 외부로 빠져나가는 것을 탐지하고 차단하고. 정보 유출 방지를 위해 정보의 흐름에 대한 모니터링과 실시간 차단 기능을 제공하는 솔루션

RTO

  • 업무중단 시점부터 업무가 복구되어 다시 가동될 때까지의 시간으로 재해시 복구 목표 시간의 선정에 활용

RPO

  • 업무중단 시점부터 데이터가 복구되어 다시 정상가동될 때 데이터의 손실 허용 시점으로 재해 시 복구 목표 지점의 선정에 활용

BIA

  • 비즈니스에서 재난 및 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 비즈니스 영향 분석

Mirror Site

  • 주 센터와 데이터복구센터 모두 운영 상태로 실시간 동시 서비스가 가능한 재해복구센터로 재해 발생시 복구까지의 소요 시간(RTO)은 즉시(이론적으로 0)

Hot Site

  • 주 센터와 동일한 수준의 자원을 대기 상태로 원격지에 보유하면서 동기, 비동기 방식의 미러링을 통하여 데이터의 최신 상태를 유지하고 있는 재해복구센터로 재해 발생 시 복구까지의 소요 시간(RTO)은 4시간 이내

Warm Site

  • Hot Site와 유사하나 재해복구센터에 주 센터와 동일한 수준의 자원을 보유하는 대신 중요성이 높은 자원만 부분적으로 재해복구센터에 보유하고 있는 센터로 데이터 백업 주기가 수 시간~1일

Cold Site

  • 데이터만 원격지에 보관하고, 재해 시 데이터를 근간으로 필요 자원을 조달하여 복구할 수 있는 재해복구센터로 재해 발생 시 복구까지의 소요 시간(RTO)은 수주~수개월

드라이브 바이 다운로드

  • 악의적인 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고, 불특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버(멀웨어 서버)로 연결하여 감염시키는 공격 기법

하트 블리드

  • OpenSSL 암호화 라이브러리의 하트비트라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이에 대한 검증을 수행하지 않는 취약점을 이용하여 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있도록 하는 취약점

스턱스넷 공격

  • 독일 지멘스사의 SCADA 시스템을 공격 목표로 제작된 악성코드로 원자력, 전기, 철강, 반도체, 화학 등 주요 산업 기반 시설의 제어 시스템에서 침투해서 오작동을 일으키는 악성코드 공격

CVE

  • 미국 비 영리회사인 MITRE 사에서 공개적으로 알려진 소프트웨어의 보안취약점을 표준화한 식별자 목록

무결성

  • 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의, 악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성

SYN 플러딩

  • TCP 프로토콜의 구조적인 문제를 이용한 공격으로 서버의 동시 가용 사용자 수를 SYN 패킷만 보낸 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격

스머프공격

  • 출발지 주소를 공격 대상의 IP로 설정하여 네트워크 전체에게 ICMP Echo패킷을 직접 브로드캐이팅하여 타겟 시스템을 마비시키는 공격

UDP 플러링 공격

  • 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP)를 생성하게 하여 지속해서 자원을 고갈시키는 공격

PoD 공격기법

  • ICMP 패킷(Ping)을 정상적인 크기보다 아주 크게 만들어 전송하면 다수의 IP 단편화가 발생하고, 수신 측에서서는 단편화된 패킷을 처리(재조합)하는 과정에서 많은 부하가 발생하거나, 재조합 버퍼의 오버플로우가 발생하여 정상적인 서비스를 하지 못하도록 하는 공격기법

랜드 어택

  • 출발지 IP와 목적지 IP를 같은 패킷 주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격기법

티어 드롭

  • 공격자는 IP Fragment Offset 값을 서로 중첩되도록 조작하여 전송하고, 이를 수신한 시스템이 재조합하는 과정에서 오류가 발생, 시스템의 기능을 마비시키는 DoS 공격방식

TFN

  • 많은 소스에서 하나 혹은 여러 개의 목표 시스템에 대해 서비스 거부 공격을 수행할 수 있는 도구로 공격자가 공격 명령을 일련의 TFN 서버들에게 보냄으로써 이루어지고, UDP flood 공격뿐만 아니라 TCP SYN flood 공격, ICMP echo 요청 공격, ICMP 브로드캐스트 공격(Smurf 공격)이 수행이 가능한 도구

DRDoS 공격

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

RUDY 공격기법

  • RUDY는 요청 헤더의 Content-Length를 비정상적으로 크게 설정하여 메시지 바디 부분을 매우 소량으로 보내 계속 연결 상태를 유지시키는 공격기법

Slowloris

  • HTTP GET 메소드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열인 \r\n\r\n(Hex: 0d 0a 0d 0a)을 전송하지 않고, \r\n(Hex: 0d 0a)만 전송하여 대상 웹 서버와 연결상태를 장시간 지속시키고 연결 자원을 모두 소진시키는 서비스 거부 공격

Slow HTTP Read DoS

  • TCP 원도 크기와 데이터 처리율을 감소시킨 상태에서 다수 HTTP 패킷을 지속적으로 전송하여 대상 웹 서버의 연결 상태가 장시간 지속, 연결자원을 소진시키는 서비스 거부 공격

무차별(Brute Force) 크래킹

  • 패스워드로 사용될 수 있는 영문자, 숫자, 특수문자 등을 무작위로 패스워드 자리에 대입하여 패스워드를 알아내는 공격기법

ARP 스누핑

  • 공격자가 특정 호스트의 MAC 주소를 자신의 MAC주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache table에 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 기법

ICMP Redirect 공격

  • 3계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격으로 특정 목적지로 가는 패킷을 공격자가스니핑하는 기법

트로이 목마

  • 악성 루틴이 숨어 있는 프로그램으로 겉보기에는 정상적인 프로그램으로 보이지만 실행하면 악성 코드를 실행하는 프로그램

버퍼 오버플로우 공격

  • 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 이로 인해 프로세스의 흐름을 변경시켜서 악성 코드를 실행시키는 공격

스택쉴드

  • 버퍼 오버플로우 공격에 대한 대응을 위하여 함수 시작 시 복귀 주소를 Global RET라는 특수 스택에 저장해 두고, 함수 종료 시 저장된 값과 스택의 RET 값을 비교해 다를 경우 오버플로우로 간주하고 프로그램 실행을 중단하는 방식의 대응 기법

크로거 공격

  • 컴퓨터 사용자의 키보드 움직임을 탐지해서 저장하고, ID나 패스워드, 계좌 번호, 카드 번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격기법

공급망 공격

  • 소프트웨어 개발사의 네트워크에 침투하여 소스 코드의 수정 등을 통해 악의적인 코드를 삽입하거나 배포 서버에 접근하여 악의적인 파일로 변경하는 방식을 통해 사용자 PC에 소프트웨어를 설치 또는 업데이트 시에 자동적으로 감염되도록 하는 공격

APT 공격

  • 특정 타깃을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격

이블 트윈

  • 무선 Wifi 피싱 기법으로 공격자는 합법적인 Wifi 제공자처럼 행세하며 노트북이나 휴대 전화로 핫스팟에 연결한 무선 사용자들의 정보를 탈취하는 무선 네트워크 공격 기법

루트킷

  • 시스템 칩입 후 칩입 사실을 숨긴 채 차후의 침입을 위한 백도어, 트로이 목마 설치, 원격 접근, 내부사용 흔적 삭제, 관리자 권한 획득 등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음

식별(Identification)

  • 자신이 누구라고 시스템에 밝히는 행위
  • 객체에게 주체가 자신의 정보를 제공하는 활동

인증(Authentication)

  • 주체의 신원을 검증하기 위한 활동
  • 주체의 신원을 객체가 인정해 주는 행위

인가(Authorization)

  • 인증된 주체에게 접근을 허용하는 활동
  • 특정 업무를 수행할 권리를 부여하는 행위

책임추적성(Accountability)

  • 주체의 접근을 추적하고 행동을 기록하는 활동
  • 식별, 인증, 인가, 감사 개념을 기반으로 수립

강제적 접근통제(MAC)

  • 접근통제 유형 중 시스템 정보의 허용등급을 기준으로 사용자가 갖는 접근 허가 권한에 근거하여 시스템에 대한 접근을 제한하는 방법

비바모델

  • 접근통제 보호 모델 중 무결성을 보장하고, 높은 등급의 주체는 낮은 등급의 객체를 읽을 수 없고, 낮은 등급의 주체는 상위 등급의 객체를 수정할 수 없는 속성을 가지고 있는 모델

비대칭 키 암호 방식

  • 공개키와 비밀키가 존재하며, 공개키는 누구나 알 수 있지만, 그에 대응하는 비밀키는 키의 소유자만이 알수 있는 암호 방식

DES

  • 1975년 미국의 연방 표준국에서 발표한 대칭키 기반의 블록 암호화 알고리즘
  • 블록 크기는 64bit, 키 길이는 56bit인 페이스텔 구조
  • DES를 3번 적용하여 보안을 더욱 강화한 3DES도 활용됨

AES

  • 2001년 미국 표준 기술 연구소에서 발표한 블록 암호화 알고리즘
  • DES의 개인 키에 대한 전사적 공격이 가능해지고, 3 DES의 성능문제를 극복하기 위해 개발
  • 블록 크기는 128bit이며, 키 길이에 따라 128bit, 192bit, 256bit로 분류
  • AES의 라운드 수는 10, 12, 14라운드로 분류되며, 한 라운드는 SubBytes, ShifitRows, MixColumns, AddRoundKey의 4가지 계층으로 구성

ECC

  • 비대칭 키 암호화 알고리즘으로 유한체 위에서 정의된 타원곡선 군에서의 이산대수의 문제에 기초한 암호화 알고리즘

RSA

  • 1977년 3명의 MIT수학 교수가 고안한 큰 인수의 곱을 소인수 분해하는 수학적 알고리즘을 이용하는 공개키 암호화 알고리즘

SSL/TLS

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

인증(AH) 프로토콜

  • 메시지 인증 코드(MAC)를 이용하여 인증과 송신처 인증을 제공해주는 프로토콜로 기밀성(암호화)은 제공하지 않는 프로토콜
  • 무결성, 인증 제공

암호화(ESP) 프로토콜

  • 메시지 인증 코드(MAC)와 암호화를 이용하여 인증과 송신처 인증과 기밀성을 제공하는 프로토콜
  • 기밀성, 무결성, 인증 제공

키 관리(IKE) 프로토콜

  • Key를 주고받는 알고리즘
  • 공개된 네트워크를 통하여 Key를 어떻게 할 것인가를 정의, IKE 교환을 위한 메시지를 전달하는 프로토콜

Change Cipher Spec Protocol

  • 협상이 끝난 Cipher Spec을 상대에게 알림

Alert Protocol

  • SSL/TLS 관련 경고 메시지 전달

Heartbeat Protocol

  • 서버와 클라이언트가 정상적인 상태인지 확인하기 위하여 사용

Handshake Protocol

  • 서버와 클라이언트가 서로 인증하고 암호화 키를 협상하는 프로토콜

Record Protocol

  • 합의된 Cipher Suite로 암호화, 복호화, 무결성, 압출, 해제 등 수행

BSIMM

  • 미국 국토안보국의 지원을 받아 수행된 소프트웨어 보증 프로젝트의 결과물 중 하나
  • 보안 활동의 성숙도 수준을 영역별로 측정함으로써 소프트웨어 개발에 필요한 보안 능력 항상을 목표로 하는 개발 프레임워크

Open SAMM

  • OWASP에서 개발한 개방형 보완 프레임워크
  • 개방을 원칙으로 소규모, 중규모, 대규모로 점진적인 확대가 가능한 융통성 있는 프레임워크
  • BSIMM과는 달리 설계리뷰와 코드리뷰, 그리고 보안 테스팅을 3개의 중요한 검증활동으로 정의함으로써 이들 활동 간의 연계성 강조

Seven TouchPoints

  • 실무적으로 검증된 개발 보안 방법론중 하나로써 SW 보안의 모법 사례를 SDLC에 통합한 소프트웨어 개발 보안 생명주기 방법론

MS SDL

  • 마이크로소프트사가 2004년 이후 자사의 소프트웨어 개발에 의무적으로 적용하도록 고안한 보안 강화 프레임워크
  • SDL은 개발 중인 제품이 보안 위협에 대해 얼마나 강인한가를 측정하기 위해 동일한 제품에 대해 ‘pre-SDL과 ‘post-SDL’의 두개의 버전으로 테스트

OWASP CLASP

  • 개념 관점, 역할 기반 관점, 활동평가 관점, 활동구현 관점, 취약성 관점 등의 활동중심, 역할기반의 프로세스로 구성된 보안 프레임워크로 이미 운영 중인 시스템에 적용하기 쉬운 보안 개발방법론
  • 프로그램 설계나 코딩 오류를 찾아내어 개선하기 위해 개발팀에 취약점 목록을 제공

XSS

  • 검증되지 않은 외부 입력 데이터가 포함된 웹페이지가 전송되는 경우, 사용자가 해당 웹페이지를 열람함으로써 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격

CSRF

  • 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격

SQL 삽입

  • 응용 프로그램의 보안 취약점을 이용해서 악의적은 SQL 구문을 삽입, 실행시켜서 데이터베이스의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격기법

Blind SQL Injection

  • SQL 삽입 공격 유형 중 DB 쿼리 결과의 참과 거짓을 통해 의도하지 않는 SQL 문을 실행함으로써 데이터베이스를 비정상적으로 공격하는 기법

침입 탐지 시스템(IDS)

  • 네트워크에서 발생하는 이벤트를 모니터링하고 비인가 사용자에 의한 자원접근과 보안정책 위반 행위(침입)을 실시간으로 탐지하는 시스템

VPN

  • 인터넷과 같은 공중망에서 사설망을 구축하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션

BIA

  • 비즈니스에서 재난 및 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실평가를 조사하는 비즈니스 영향 분석

DRS

  • 재해복구계획의 원활한 수행을 지원하기 위하여 평상시에 확보하여 두는 인적, 물적 자원 및 이들에 대한 지속적인 관리체계가 통합된 재해복구센터

워터링홀

  • 특정인에 대한 표적 공격을 목적으로 특정인이 잘 방문하는 웹 사이트에 악성코드를 심거나 악성코드를 배포하는 URL로 자동으로 유인하여 감염시키는 공격기법

토르 네트워크

  • 네트워크 경로를 알 수 없도록 암호화 기법을 사용하여 데이터를 전송하며, 익명으로 인터넷을 사용할 수 있는 가상 네트워크

디렉토리 리스팅 취약점

  • 웹 애플리케이션을 사용하고 있는 서버의 미흡한 설정으로 인해 인덱싱 기능이 활성화되어 있을 경우, 공격자가 강제 브라우징을 통해서 서버 내의 모든 디렉토리 및 파일 목록을 볼 수 있는 취약점

부 채널 공격

  • 암호화 알고리즘의 실행 시기의 전력 소비, 전자기파 방사 등의 물리적 특성을 측정하여 암호 키 등 내부 비밀 정보를 부 채널에서 획득하는 공격기법

핑거 프린팅

  • 멀티미디어 콘텐츠에 저작권 정보와 구매한 사용자 정보를 삽입하여 콘텐츠 불법 배포자에 대한 위치 추적이 가능한 기술(저작권 정보구매자 정보)

CWE

  • 미국 비영리 회사인 MITRE 사가 중심이 되어 소프트웨어에서 공통적으로 발생하는 약점을 체계적으로 분류한 목록으로, 소스 코드 취약점을 정의한 데이터베이스
  • 소프트웨어 약점은 SDLC 과정에서 발생할 수 있기 때문에 설계, 아키텍처, 코드 단계 등에 대한 취약점 목록을 포함