에라모르겠다(‘◇’)?
[정처기] 외워야 할 개념들 정리 1 본문
나머지 개념들도 정리를 하면 좋지만
시간이 너무 촉박한 관계로 요약본만 보다가
진짜 몇번을 봐도 안외워지는 개념들 위주 정리
특히 보안부분 여기 그냥 보기만해도 혈압오름
▶ 애플리케이션 관련
* 테스트 목적에 따른 분류
① 회복 테스트(Recovery) : 일부러 실패유도, 시스템의 정상적인 복귀 여부 테스트
② 안전 테스트(Security) : 불법적인 소프트웨어가 접근하여 시스템을 파괴하지 못하도록 소스 코드 내의 보안적인 결함을 미리 점검
③ 성능 테스트(Performance) : 이벤트에 시스템이 응답하는 시간, 특정 시간 내에 처리하는 업무량, 반응 속도 등을 측정
④ 구조 테스트(Structure) : 시스템의 내부 논리 경로, 소스 코드의 복잡도를 평가하는 테스트
⑤ 회귀 테스트 (Regression): 오류를 제거하거나 수정한 시스템에서 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지 확인하는 반복 테스트
⑥ 병행 테스트(Parallel) : 변경된 시스템과 기존 시스템에 동일한 데이터를 입력 후 결과를 비교
* 성능 테스트 상세 유형
: 부하 테스트(부하 계속 증가시키면서 임계점찾음) / 강도 테스트 (임계점 이상의 부하를 가함 ) / 스파이크 테스트 (짧은 시간에 사용자 몰릴 때 시스템 반응 측정) / 내구성 테스트 (오랜 시간 동안 시스템에 높은 부하를 가함)
* 테스트 종류에 따른 분류
- 명세 기반 테스트 (블랙박스) : 요구사항 명세서 기반 테스트
- 구조 기반 테스트 (화이트박스) : 내부 논리 흐름에 따라 테스트 케이스 작성
- 경험 기반 테스트 (블랙박스) : 테스터의 경험을 토대로 테스트
* 테스트 오라클 (참샘휴일)
: 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법
- 참 오라클 : 모든 입력값에 대하여 기대하는 결과 생성 , 발생 오류 모두 검출
- 샘플링 오라클 : 특정한 몇개의 입력값에 대해서만 결과 제공
- 휴리스틱 오라클 : 샘플링 오라클 개선, 특정 입력값에 대해 결과 제공, 나머지 값들에 대해서는 추정으로 처리
- 일관성 검사 오라클 : 수행 전과 후의 결괏값이 동일한지 확인
* v모델과 테스트 레벨
- 테스트 레벨 (단통시인)
① 단위테스트 : 단위모듈, 서브루틴 등 테스트 개발이 진행되면서 수행하는 테스트 , 기능 위주 테스트 수행(요구사항 기반) , 주로 구조 기반 테스트 위주로 수행
② 통합테스트 : 단위테스트를 통과한 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
③ 시스템 테스트 : 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 검증 (기능 / 비 기능)
④ 인수 테스트 : 최종 사용자와 업무 이해관계자들이 테스트를 수행, 운영 여부 결정 - 알파 테스트 : 선택된 사용자가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수 테스트- 베타 테스트 : 실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백 받음
* 하향식 통합과 상향식 통합
- 하향식 통합 : 메인 모듈로부터 아래 방향으로 이동하면서 통합하면서 구축과 테스트 진행
- 상향식 통합 : 최하위 레벨의 모듈로부터 위쪽으로 이동하면서 구축과 테스트 진행
- 샌드위치 통합 : 하향식 + 상향식 결합
* 테스트 하네스 : 컴포넌트 및 모듈을 테스트 하는 환경의 일부분, 테스트를 지원하기 위한 코드와 데이터
- 구성요소
① 테스트 드라이버 : 상향식 테스트 - 하위모듈 호출 파라미터 전달 결과도출
② 테스트 스텁 : 하향식 테스트 - 제어 모듈이 호출하는 타 모듈 기능 단순히 수행
③ 테스트 슈트 : 컴포넌트 모듈, 시스템에 사용되는 테스트 케이스 집합
④ 테스트 케이스 : 입력값, 실행조건, 기대 결과 등의 집합 (테스트 케이스의 집합이 슈트임)
⑤ 테스트 시나리오 : 테스트가 필요한 상황을 작성
⑥ 테스트 스크립트 : 자동화된 테스트 실행 절차에 대한 명세
⑦ 목 오브젝트 : 행위를 조건부로 사전에 입력해두면 그 예정된 행위 수행
* 애플리케이션 성능 측정 지표 (처응경자)
① 처리량 : 주어진 시간에 처리할 수 있는 트랜잭션 수
② 응답시간 : 입력 끝난 후 응답 출력이 개시 될 떄 까지의 시간
③ 경과시간 : 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때 까지 걸리는 시간
④ 자원 사용률 : 트랜잭션 처리하는 동안 사용하는 CPU , 메모리, 네트워크 사용량
* 리팩토링 : 유지보수, 생산성 향상을 목적으로 기능을 변경하지 않고, 복잡한 소스코드를 수정, 보완하여 가용성 및 가독성을 높이는 기법
▶ 소프트웨어 보안 관련
* sw개발 보안의 3대 요소
- 기밀성(Confidentiality) : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성
- 무결성(Integrity) : 정당한 방법을 따르지 않고서는 데이터가 변경 뒬 수 없음, 고의로 데이터 회손 및 파괴되지 않음 보장
- 가용성(Availability) : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용 할 수 있도록 보장하는 특성
* sw개발 보안 용어
- 자산 (Assets) : 조직의 데이터 or 가치를 부여한 대상
- 위협 (Threat) : 자산에 악영향을 끼칠 수 있는 사건이나 행위
- 취약점 (Vulnerability) : 위협이 발생하기 전 사전 조건
- 위험 (Risk) : 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성
* Dos 공격
: 시스템을 악의적으로 공격, 해당 시스템 자원 부족하게 해 의도된 용도대로 사용하지 못하게 하는 공격
- 종류
① SYN플러딩 : SYN패킷만 보내 점유, 다른 사용자가 서버를 사용 불가능 하게 하는 공격
= > 계속 새로운 연결 요청 , 자원만 소비하여 고갈
② UDP 플러딩 : 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP)를 생성 , 지속해서 자원 고갈 , ICMP 패킷은 변조되어 공격자에게 전달되지 않아 대기
③ 스머프 / 스머핑 : 출발지 주소를 공격 대상의 IP로 설정하여 (출발지IP 변조) 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅 하여 마비시키는 공격 (바운스 사이트를 이용해 공격)
④ 죽음의 핑(PoD) : ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 전송, 다수의 IP단에서 변화 단편화 발생, 수신측에서는 단편화된 패킷을 처리하는 과정에서 많은 부하 발생, 버퍼 오버플로우 발생하여 정상적인 서비스 X
⑤ 랜드 어택(Land Attack) : 출발지 IP와 목적지IP를 같은 패킷 주소로 만들어 보냄, 자기 자신에게 응답
⑥ 티어드롭 : 패킷 재조합 과정에서 잘못된 오프셋 정보로 인해 수신 시스템이 문제를 발생
⑦ 봉크 / 보잉크 : 오류 제어를 이용한 공격기법 과부하 유발 (봉크 : 같은 시퀀스 계속 보냄 / 보잉크 : 일정한 간격으로 시퀀스 번호에 빈 공간 생성)
* DDos 공격
: Dos의 또 다른 형태로 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법
*DRDoS
: 공격자는 출발지 IP를 공격 대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송, 공격 대상자는 반사 서버로부터 다량의 으압을 받아서 서비스 거부가 되는 공격
- 절차
출발지 IP 변조 -> 공격 대상자 서버로 응답 -> 서비스 거부
* 세션 하이재킹
: TCP 세션 관리의 취약점을 이용한 공격 기법
* 애플리케이션 공격 기법
① HTTP GET 플러딩 : 과도한 GET 메시지를 이용하여 웹 서버의 과부하 유발
② Slowloris : HTTP GET 메서드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열 전송 X, 웹 서버와 연결 상태 장시간 지속, 연결 자원 모두 소진
③ RUDY : 요청 헤더의 Content-Length를 비정상적으로 크게 설정하여 메시지 바디 부분을 매우 소량으로 보내 계속 연결상태 유지
④ Slow HTTP Read DoS : TCP 윈도 크기와 데이터 처리율을 감소시킨 상태에서 다수 HTTP 패킷을 지속적으로 전송, 대상 웹 서버 연결상태가 장시간 지속, 연결 자원을 소진시키는 서비스 거부 공격
⑤ Hulk DoS : 공격자가 공격 대상 웹 사이트 웹 페이지 주소를 지속적으로 변경, 다량으로 GET 요청을 발생시키는 서비스 거부 공격
⑥ Hash DoS : 조작된 많은 수의 파라미터를 POST방식으로 웹 서버로 전달하여 다수의 해시 충돌을 발생시켜 자원 소모
* 네트워크 공격
① 스니핑 : 직접 공격 X, 데이터만 몰래 들여다보는 수동적 공격
② 네트워크 스캐너, 스니퍼 : 네트워크 하드웨어 및 소프트웨어 구성의 취약점 파악을 위해 공격자가 취약점을 탐색하는 공격 도구
③ 패스워드 크래킹 :
- 사전 크래킹 : ID / PW 가 될 가능성이 있는 단어들 파일로 만들어 놓고 파일의 단어 대입
- 무차별 크래킹 : 패스워드로 사용 될 수 있는 값들 무작위로 패스워드 자리에 대입함
- 패스워드 하이브리드 : 사전공격 + 무차별 결합
- 레인보우 테이블 공격 : 해시값 미리 생성해서 모아놓고 크래킹 하고자 하는 해시 값을 해시테이블에서 검색해서 역으로 패스워드를 찾는 공격기법
④ IP 스푸핑 : 침입자가 인증된 시스템인것처럼 속여서 타깃 시스템 정보를 빼내기 위해서 본인의 패킷 헤더를 인증된 호스트의 IP주소로 위조하여 전송하는 공격기법
⑤ ARP 스푸핑 : 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조
⑥ ICMP Redirect 공격 : 3계층에서 스니핑 시스템을 네트워크에 존재하는 또 다른 라우터라고 알림으로써 패킷의 흐름을 바꾸는 공격기법
⑦ 트로이 목마 : 프로그램 실행하면 악성코드 실행
* 시스템 보안 위협
① 버퍼 오버플로우 공격
: 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 이로 인해 프로세스 흐름을 변경시켜 악성 코드를 실행
- 스택 버퍼 오버플로우 : 스택영역에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 복귀 주소 변경, 공격자가 원하는 임의의 코드를 실행하는 공격 기법
- 힙 버퍼 오버플로우 : 힙 영역에 할당된 버퍼 크기를 초과하는 데이터를 입력하여 메모리 데이터와 함수 주소 등을 변경하여 공격자가 원하는 임의의 코드를 실행
====> 대응방안
--스택 가드 : 카나리라고 불리는 무결성 체크용 값 복귀 주소와 변수 사이에 삽입 , 카나리 값 체크 => 변할 경우 복귀 주소 호출 x
--스택 쉴드 : 함수 시작 시 복귀 주소를 Global RET라는 특수 스택에 저장해두고 종료 시 저장된 값과 스택의 RET 값 비교해서 다를 경우 오버플로우로 간주
-- ASLR : 메모리 공격을 방어하기 위해 주소 공간 배치 난수화, 실행 시 마다 메모리 주소를 변경하여 버퍼 오버플로우를 통한 특정 주소 호출 차단
-- 안전함 함수 활용
② 백도어
: 시스템 ,암호시스템 ,알고리즘 등 에서 정상적인 인증 절차를 우회
③ 주요 시스템 보안 공격기법
- 포맷 스트링 공격 : 포맷 스트링을 인자로 하는 함수의 취약점을 이용한 공격, 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생하는 취약점 공격 기법
- 레이스 컨디션 공격 : 실행되는 프로세스가 임시 파일을 만드는 경우 악의적인 프로그램ㅇ르 통해 그 프로세스의 실행 중에 끼어들어 임시 파일을 심볼릭하여 악의적인 행위 수행
- 키로거 공격 : 키보드 움직임 탐지
- 루트킷 : 시스템 침입 후 침입 사실을 숨긴 채 백도어, 트로이 목마 설치, 원격 접근, 내부 사용 흔적 삭제 등 주로 불법적인 해킹에 사용되는 기능을 제공하는 프로그램
* 보안 관련 용어
① 스피어 피싱 : 사회 공학의 한 기법으로 특정 대상을 선정 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여 발송 메일의 링크나 첨부된 파일을 클릭하도록 유도하여 개인정보 탈취
② 스미싱 : SMS 문자메시지로 개인정보 요구 or 소액결제 유도
③ 큐싱 : qr코드를 통해 악성 앱 내려받도록 유도 , 금융정보 등을 빼냄
④ 봇넷 : 악성 프로그램에 감염되 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 상태
⑤ APT 공격 : 특정 타깃을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격기법
⑥ 공급망 공격 : 개발사의 네트워크에 침투하여 소스 코드의 수정 등을 통해 악의적인 코드를 삽입하거나 ,배포 서버에 접근하여 악의적인 파일로 변경하는 방식을 통해 PC에 소프트웨어를 설치 혹은 업데이트 하는 경우에 자동적으로 감염
⑦ 제로데이 공격 : 취약점이 발견되어 널리 공표되기 전에 해당 취약점을 악용하여 이루어지는 공격 기법
⑧ 웜 : 스스로 복제, 네트워크 연결 등을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램 (독자적 실행)
⑩ 악성 봇 : 스스로 실행 X , 해커의 명령에 의해 원격에서 제어 또는 실행이 가능한 프로그램 혹은 코드
⑪ 사이버 킬체인 : 7단계 프로세스 별 공격분석 및 대응을 체계화한 APT 공격 방어 분석 모델
⑫ 랜섬웨어 : 파일들을 암호화하여 복호화 할 수 없도록 함 , 파일을 인질삼아 돈 요구
⑬ 이블 트윈 공격 : wifi 피싱 기법 , 핫스팟에 연결한 사용자들 정보 탈취
* 접근 통제 기법
- 식별(Identification) : 객체에게 주체가 자신의 정보를 제공하는 활동
- 인증(Authentication) : 주체의 신원을 검증하기 위한 활동
- 인가(Authorization) : 인증된 주체에게 접근을 허용하는 활동
- 책임 추적성(Accountability) : 주체의 접근을 추적하고 행동을 기록하는 활동
* 접근 통제 유형
- DAC (임의적 접근 통제) : 주체나 그룹의 신분에 근거하여 객체에 대한 접근을 제한하는 방법
- MAC (강제적 접근 통제) : 허용 등급과 접근 정보에 대해 근거하여 접근 제한
- RBAC(역할 기반 접근통제) : 중앙 관리자가 사용자와 시스템 상호 관계를 통제, 조직 내 맡은 역할에 기초하여 자원에 대한 접근 제한
* 3A
- 인증 (Authentication) : 접근을 시도하는 가입자 또는 단말에 대한 식별 및 신분 검증
- 권한 부여 (Authorization) : 검증된 가입자나 단말에게 어떤 수준의 권한과 서비스를 허용
- 계정 관리 (Accounting) : 리소스 사용에 대한 정보를 수집하고 관리하는 서비스
* 벨 라파듈라 모델: 미 국방부 지원 보안 모델로 보안 요소 중 기밀성을 강조하며 강제적 정책에 의해 접근 통제 모델
* 암호 알고리즘: 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법
- 평문 : 원본 메시지
- 암호문 : 암호가 적용된 메시지
- 암호화 : 평문 -> 암호문
- 복호화 : 암호문 -> 평문
- 키 : 암호화를 위해 사용하는 값
* 암호 알고리즘 방식
① 양방향 (대칭, 비대칭)- 대칭 키 : 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘 (블록 , 스트림 )
-- 블록 암호 방식 : 고정 길이의 블록을 암호화 (DES,ASE,SEED)
-- 스트림 암호화 방식 : 매우 긴 주기의 난수열 발생시켜 평문과 더불어 암호문 생성(RC4)
- 비대칭 키 암호 방식 : 공개키와 개인키가 존재, 공개키는 누구나 알 수 있지만 개인키는 소유자만이 알 수 있음
-- RSA, ECC ,ELGamal, 디피-헬만
② 일방향(해시 암호)
: 임의의 정보를 입력받아, 고정된 길이의 암호문을 출력하는 암호 알고리즘 (복호화 불가능)
-- MAC , MIDC
* 암호 알고리즘 상세
① 대칭 키
- DES : 미국 NIST에서 발표 , 블록 크기 64bit
- SEED : 국내 한국 인터넷 진흥원이 개발한 블록 암호화 알고리즘 , 블록 크기는 128bit 키 길이에 따라 128bit, 256bit로 분류
- ASE : 미국 NIST에서 발표, DES의 성능 문제를 극복하기 위해 개발 , 블록 크기는 128bit 키 길이에 따라 128bit, 256bit로 분류
- ARIA : 국정원 + 산학연구협회가 개발한 블록 암호화 알고리즘 , 블록 크기 128bit 키 길이에 따라 128bit,192bit,256bit로 분류
- IDEA : DES를 대체하기 위해 스위스 연방기술 기관에서 개발한 블록 암호화 알고리즘
- LFSR : 시프트 레지스터의 일종으로 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조로 되어있는 스트림 암호화 알고리즘
② 비대칭 키
- 디피 - 헬만 : 최초 공개키 알고리즘 ,유한 필드 내에서 이산대수 계산이 어려운 문제를 기본 원리
- RSA : 3명의 MIT 수학 교수가 고안한 큰 인수의 곱을 소인수 분해하는 수학적 알고리즘을 이용하는 공개 키 암호화 알고리즘
- ECC : 타원 곡선 암호, 타원곡선 군에서 이산대수의 문제에 기초한 공개 키 암호화 알고리즘
- ELGamal : 이산대수의 계산이 어려운 문제 기본원리 , RSA와 유사하게 전자서명과 데이터 암-복호화에 사용
③ 해시 알고리즘
- MD5 : MD4를 개선한 암호화 알고리즘, 무결성 검사에 사용
- SHA-1 : NSA에서 미 정부 표준으로 지정, DSA에서 사용
- SHA - 256/384/512 : 256비트의 해시값을 생성하는 해시 함수
- HAS-160 : 국내 표준 서명 알고리즘 KCDSA를 위하여 개발된 해시 함수
- HAVAL : 메시지를 1024bits 블록으로 나누고 메시지 다이제스트를 출력하는 해시 알고리즘
* IPSec
: IP계층 (3계층)에서 무결성과 인증을 보장하는 인증 헤더와 기밀성을 보장하는 암호화를 이용한 IP 보안 프로토콜
- 기능 : 기밀성 / 비연결형 무결성 / 인증 / 재전송 공격 방지 / 접근 제어
- 동작 모드 : 전송(상위 프로토콜 데이터 보호)/ 터널(IP패킷 전체 보호)
* SSL/TLS
: 전송 계층(4계층)과 응용 계층(7계층) 사이에서 클라이언트와 서버간의 웹 데이터 암호화(기밀성), 상호 인증 및 전송 시 데이터 무결성을 보장하는 보안 프로토콜
- 기능 : 기밀성 / 상호 인증 / 메시지 무결성
* S-HTTP
: 웹상에서 네트워크 트래픽을 암호화 하는 주요 방법 중 하나, 모든 메시지를 각각 암호화 하여 전송
* SW 개발 보안 적용 사례
- BSIMM : 미국의 보안 안보국의 지원을 받아 수행된 소프트웨어 보증 ,보안 능력 향상 목표로 하는 개발 프레임워크
- OPEN SAMM : OWASP에서 개발한 보완 프레임워크 , 보안 테스팅을 3개의 중요한 검증 활동으로 정의함으로써 이들 활동 간의 연계성 강조
- Seven TouchPoints : 실무적으로 검증된 개발 보안 방법론 중 하나로서 SDLC에 통합한 소프트웨어 개발 보안 생명주기 방법론
- MS SDL : 마이크로 소프트가 자사의 소프트웨거 개발에 의무적으로 적용하도록 고안한 보안 강화 프레임워크
- OWASP CLASP : 이미 운영 중인 시스템에 적용하기 쉬운 보안 개발 방법론
* sw개발 보안 구현
① 시큐어 코딩 가이드
: 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발 하는 기법
② 입력 데이터 검증 및 표현
: 입력 데이터로 인해 발생하는 문제들을 예방하기 위해 구현 단계에서 검증해야 하는 보안 점검 항목들
- 취약점
-- XSS : 검증되지 않은 외부 입력 데이터가 포함된 웹 페이지가 전송되는 경우, 사용자가 해당 웹 페이즈를 열람함으로써 웹 페이지에 포함된 부적절한 스크립트가 실행되는 공격
- 사이트 간 요청 위조 (CSRF) : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격
- SQL 삽입 : 보안 취약점을 이용해 악의적인 SQL 구문 삽입, 실행시켜 DB의 접근을 통해 정보 탈취 ,조작
* 네트워크 보안 솔루션
① 방화벽 : 기업 내부, 외부 간 트래픽을 모니터링하여 시스템의 접근을 허용하거나 차단하는 방식
② 웹 방화벽 : 일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보안에 특화된 보안 장비
③ NAC(네트워크 접근 제어) : 단말기가 내부 네트워크에 접속 시도 할 때 이를 제어하고 통제하는 기능을 제공, 바이러스나 웜 등의 보안 위협으로부터 네트워크 제어 및 통제 기능 수행
④ IDS (침입 탐지 시스템) : 네트워크에서 발행하는 이벤트 모니터링, 비 인가 사용자에 의한 자원 접근과 보안정책 위반 행위를 실시간으로 탐지하는 시스템
⑤ IPS (침입 방지 시스템) : 네트워크에 대한 공격이나 침입을 실시간으로 차단, 유해트래픽에 대한 조치를 능동적으로 처리하는 시스템
⑥ WIPS (무선 침입 방지 시스템) : 인가되지 않은 무선 단말기의 접속을 자동으로 탐지 및 차단, 보안에 취약한 무선 공유기 탐지
⑦ UTM (통합 보안 시스템) : 방화벽 ,침입 탐지 시스템, 침입 방지 시스템, VPN, 안티 바이러스 ,이메일 필터링 등 다양한 보안 장비의 기능을 하나의 장비로 통합하여 제거
⑧ VPN (가상 사설망) : 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션
* 콘텐츠 유출 방지 보안 솔루션
- 보안 USB : 정보 유출 방지 등의 보안 기능을 갖춘 USB 메모리
- 데이터 유출 방지 (DLP) : 조직 내부의 중요 자료가 외부로 빠져나가는 것 탐지, 차단하는 솔루션
- 디지털 저작권 관리 (DRM) : 디지털 저작물에 대한 보호와 관리를 위한 솔루션 , 파일 자체에 암호를 걸어 권한 없이는 사용자는 사용하지 못함
* 비즈니스 연속성 계획(BCP) : 각종 재해, 장애, 재난으로부터 위기 관리를 기반으로 재해 복구, 업무 복구 및 재개 등을 통해 비즈니스 연속성을 보장하는 체계
- 주요 용어
① BIA : 장애, 재해로 인해 운영상의 주요 손실을 볼 것을 가정하여 시간 흐름에 따른 영향도 및 손실 평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석
② RTO (목표 복구 시간) : 업무 중단 시점부터 업무가 복구되어 다시 가동될 때 까지의 시간 , 재해 시 목표 복구 시간
③ RPO (목표 복구 시점) : 업무 중단 시점부터 데이터가 다시 복구되어 정상가동 될 떄 데이터의 손실 허용 시점, 재해 시 복구 목표 지점
④ DRP : 재난으로 장기간에 걸쳐 시설의 운영이 불가능한 경우를 대비한 재난 복구 계획
⑤ DRS : 재해복구계획의 원활한 수행을 지원하기 위하여 평상시에 확보하여 두는 인적, 물적 자원 및 이들에 대한 지속적인 관리체계가 통합된 재해복구센터
* DRS의 유형
- Mirror Site : 주 센터와 데이터 복구센터 모두 운영 상태로 실시간 동시 서비스가 가능한 재해복구센터 // RTO == 0 (즉시)
- Hot Site : 주 센터와 동일한 수준의 자원을 대기 상태로 원격지에 보유하면서 동기, 비동기 방식의 미러링을 통하여 데이터의 최신 상태를 유지하고 있는 재해복구센터 // RTO == 4시간 이내
- Warm Site : Hot Site와 유사하나 중요성이 높은ㅇ 자원만 부분적으로 재해복구센터에 보유하고 있는 데이터 // 백업주기 수 시간 ~ 1일, RTO == 수 일 ~ 수 주
- Cold Site : 데이터만 원격지에 보관, 재해 시 데이터를 근간으로 필요한 자원을 조달하여 복구 할 수 있는 재해복구 센터 // RTO == 수 주 ~ 수 개월
* 보안 중요 용어(..ㅎ 아 진심 개짜증)
- 부 채널 공격 : 알고리즘의 실행 시기의 전력 소비, 전자기파 방사 등의 물리적 특성을 측정, 암호 키 등 내부 비밀 정보를 부 채널에서 획득하는 관리 기법- 드라이브 바이 다운로드 : 불 특정 웹 서버와 웹 페이지에 악성 스크립트 설치, 북특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버로 연결하여 감염
- 워터링 홀 : 특정인에 한 표적 공격을 목적, 특정인이 잘 방문하는 웹사이트에 악성 코드를 심거나 악성코드를 배고파는 URL로 자동 유인하여 감염
- 스캠 공격 : 기업 이메일 계정 도용하여 무역 거래대금 가로채는 사이버 범죄
- 하트 블리드 : OpenSSL 암호화 라이브러리의 하트비트라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이에 대한 검증을 수행하지 않는 취약점을 이용하여 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취 할수 있도록 하는 취약점
- 크라임웨어 : 중요한 금용정보 또는 인증정보 탈취, 유출을 유도하여 금전적인 이익 등의 범죄행위를 목절으로 하는 악성코드
- 토르 네트워크 : 네트워크 경로를 알 수 없도록 암호화 기법 사용하여 데이터를 전송하며, 익명으로 인터넷을 사용 할 수 있는 가상 네트워크
- MITM 공격 : 네트워크 통신을 조작하여 통신 내용을 도청 및 조작
- DNS 스푸핑 공격 : 공격 대상에게 전달되는 DNS 응답을 조작하거나 DNS 서버의 캐시 정보를 조작하여 희생자가 의도하지 않은 주소로 접속하게 만드는 공격기법
- 포트 스캐닝 : 공격자가 침입 전 대상 호스트에게 어떤 포트가 활성화 되어있는지 확인하는 기법, 침입 전 취약점 분석
- 디렉토리 리스팅 : 웹 애플리케이션을 사용하고 있는 서버의 미흡한 설정으로 인해 인덱싱 기능이 활성화되어 있을경우, 공격자가 강제 브라우징을 통해서 서버 내의 모든 디렉토리 및 파일 목록을 볼 수 있는 취약점
- 리버스 쉘 공격 : 타깃 서버가 클라이언트로 접속해서 클라이언트가 타깃 서버의 쉘을 획득해서 공격하는 기법
- 익스플로잇 : 소프트웨어나 하드웨어의 버그 또는 취약점을 이용하여 공격자가 의도한 동작이나 명령을 실행하도록 하는 코드 또는 그러한 행위
- 스턱스넷 공격 : 원자력, 전기 ,철강, 반도체 화학 등 주요 산업 기반 시설의 제어 시스템에 침투해서 오작동 일으킴
-크리덴셜 스터핑 : 사용자 계정 탈취해서 공격, 다른 곳에서 유출된 아이디와 비밀번호 등의 로그인 정보를 다른 웹 사이트나 앱에 무작위로 대입해 로그인이 이루어지면 타인의 정보를 유출
* 보안 공격 대응 관련 중요 용어
- 허니팟 : 비정상 접근 탐지 위해 의도적으로 설치 ,허술하게 만들어서 유인
- OWASP TOP 10 : 취약점 중 공격 빈도가 높으며, 보안 상 큰 영향을 줄 수 있는 10가지 취약점에 대한 대응 방안을 제공하는 웹 보안 기술 가이드
- 핑거프린팅 : 멀티미디어 콘텐츠에 저작권 정보와 구매나 사용자 정보 삽입, 불법 배포자 추적 가능 기술
- 워터마킹 : 디지털 콘텐츠 저작권자 정보 삽입, 불법 복제 시 워터마크 추출 ,원 소유자 증명
- 이상금융 거래 탐지 시스템 (FDS) : 전자 금융거래에 사용되는 단말기 정보, 접속 정보, 거래 정보 등을 종합적으로 분석하여 의심 거래 탐지, 이상 거래 차단
- CC : 정보 기술의 보안 기능과 보증에 대한 평가 기준, 정보보호 시스템의 보안 기능 요구사항과 보증 요구사항 평가를 위해 공통으로 제공되는 국제 평가 기준
- 사이버 위협정보 분석 공유 시스템 (C-TAS) : 인터넷 진흥원 주관으로 관계 기관과 자동화된 정보 공유를 할 수 있는 침해 예방 대응 시스템
- 장착형 인증 모듈 (PAM) : 리눅스 시스템 내 사용되는 각종 애플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리
- CVE : 미국의 비영리회사인 MITRE사에서 공개적으로 알려진 소프트웨어의 보안 취약점을 표준화한 식별자 목록
- CWE : 미국의 비영리회사인 MITRE 사가 중심이 되어 소프트웨어에서 공통적으로 발생하는 약점을 체계적으로 분류한 목록, 소스코드 취약점을 정의한 데이터베이스
'정보처리기사' 카테고리의 다른 글
[정처기] 외워야 할 개념들 정리 2 (1) | 2023.04.16 |
---|