정보보안기사 이론

한택승·2021년 8월 12일
0

정보보안기사

목록 보기
1/4

각종 시스템 보안위협 및 대응책

1. 버퍼 오버플로우 공격

(1) 버퍼 오버플로우

1) 프로세스 메모리 구조와 스택 프레임 구조

(가) 프로세스 메모리 구조
Text : 프로그램 코드와 상수 정의. Read-Only
Data : 전역/정적 변수 저장
Heap : 동적 메모리 호출에 의해 할당
Stack : 함수 인자, 지역변수, 리턴 값 등이 저장

(2) 스택 버퍼 오버플로우

SetUID가 설정된 루트 권한의 프로그램을 공격대상을 한다.

(3) 힙 오버플로우

전역 데이터 위에 위치하며 메모리 위 방향으로 커진다.

(4) BoF 공격 대응책

  • 컴파일 시간 방어 : 새 프로그램 내에서 공격을 저지하도록 강화
  1. 컴파일 할 때 검사
  2. 고급 프로그래밍 언어 사용
  3. 버퍼 크기 검사하는 로직 추가
  4. 안전한 함수 사용
    strcat/cpy, gets, scanf, sscanf, vscanf, vsscanf, sprintf, vsprintf, gethostbyname, realpath 등 사용 금지
  5. Stack Guard(스택 보호 메커니즘)
    canary 값을 넣고 종료시에 변조되었는지 확인
  6. Stack Shield
    복귀 주소를 Global RET라는 특수 스택에 저장해두었다가 종료 시 저장된 값과 RET값을 비교
  • 실행 시간 방어 : 존재하는 프로그램에서 공격을 발견하고 중지시키는 것을 목표
    재컴파일 하지 않고 기존의 취약한 프로그램에 보호를 제공하기 위하여 OS의 업데이트로 배포할 수 있음
  1. ASLR
  2. NOP : 코드 주소가 조금씩 바뀌어 주소를 제대로 알기 힘들어 사용하는 기술
  3. 주소 공간 보호
    /etc/system 파일에 아래 두 줄을 추가하여 공격 방어가 가능하다
    set noexec_user_stack = 1
    set noexec_user_stack_log = 1

2. 포맷 스트링 공격

printf, fprintf, sprintf와 같이 포맷스트링을 사용하는 함수를 사용하는 경우, 입력된 값 검증없이 입/출력 함수의 포맷 문자열을 그대로 사용하는 경우 발생

3) 포맷스트링 취약점의 위협요소

(가) 프로그램의 파괴
1. 프로세스 죽임
2. 프로세스 메모리 유출
3. 임의의 메모리 덮어쓰기

4) 보안대책

  1. 사용자 입력 값으로 포맷 문자열 사용 금지

3. 레이스 컨디션 공격

둘 이상의 프로세스나 스레드가 공유자원에 동시에 접근할 때 접근하는 순서에 따라 비정상적인 결과가 발생하는 조건/상황을 말한다.
임시파일을 목적파일로 연결하여 악의적인 행위를 할 수 있다.

2) 파일 링크

  1. 하드링크
    똑같이 복사된 파일을 만드는 것. 하드 링크된 파일을 수정하면 원래 파일도 똑같이 수정된다. 두 파일 중 하나만 삭제하면 내용은 변하지 않고 링크수가 줄어든다.
    다른 파티션에 존재하면 안된다.
  2. 심볼릭 링크
    레이스 컨디션에 사용되는 링크 파일. 심볼링 링크는 단지 원본 파일 데이터를 가리키는 링크 정보만을 가진다.
    원본 파일이 삭제되어도 이름과 위치를 기억하고 바라보는 상태로 남아있다.

3) 심볼릭 링크와 레이스 컨디션 공격

  1. 소유자가 root, SetUID 비트를 가져야함
  2. 임시 파일의 이름을 알고있어야 한다
  3. lsof 명령어로 특정 파일에 접근하는 프로세스 목록을 확인할 수 있다.

대응책
1. 임시 파일에 대한 심볼릭 링크 설정 여부와 권한에 대한 검사 과정 추가
2. 가능하면 임시파일 생성하지 않기
3. umask를 최하 022정도로 유지하기

4. 백도어

서비스 기술자나 유지보수 프로그래머의 접근 편의를 위해 시스템 설계자가 고의적으로 만들어 놓은 통로
악의적인 목적으로 만든 통로 대표적인 예시는 백 오리피스가 대표적이다.

3) 탐지와 대응책

  1. 현재 동작 중인 프로세스 확인
    1. 웜바이러스나 백도어가 애용하는 Csrss, Svchost
    2. Lsass.exe : Winlogon 서비스에 필요한 인증 프로세스 담당
    3. Mstask.exe : 시스템에 대한 백업이나 업데이트 등
    4. Smss.exe : 사용자 세션 시작 기능을 담당
    5. Spoolsv.exe : 프린터와 팩스의 스풀링 기능
    6. Svchost.exe : DLL에 의해 실행되는 기본 프로세스
    7. Winlogon.exe : 사용자 로그인/오프를 담당
  2. H-IDS 사용

5. 시스템 서비스 거부 공격

  1. 가용 디스크 자원 고갈
  2. 가용 메모리 자원 고갈
  3. 가용 프로레스 자원 고갈
  4. 프로세스 죽이기

6. 리버스 엔지니어링

3) 공격 대응책

  1. 소스코드 난독화
  2. 바이너리 난독화

7. 기타 시스템 보안위협 및 대응책

1) 루트킷

시스템에 설치되어 존재를 최대한 숨기고 공격자가 언제든지 관리자 권한으로 접근할 수 있도록 비밀통로를 지속적으로 유지시켜주는 일련의 프로그램 집합
루트킷 확인

  • ls, ps, netstat, login, top, dir, du, ifconfig, find, tcpd 를 변조시킨다.
  • 시스템 프로그램의 파일크기, 생성시간, 변경시간 등을 확인.
  • /bin, /usr/bi에서 #ls -alct | more 명령어로 설치된 시간과 틀리게 변경된 것이 있는지 확인
  • 똑같은 OS 버전에서 명령어 크기 비교

2) 논리폭탄(Logic bomb)

  1. 특성한 사건이 발생할 때 프로그램이나 일련의 코드를 실행
    ex) 해고당한 사람이 기업 전체 DB를 삭제하도록 논리 폭탄을 설치하고 설정

최신 보안 주제들

1. 블록체인

  • 온라인 금융 거래 정보를 블록으로 연결
  • 중앙 관리 서버가 아닌 참여자들끼리 거래

특성

  • 탈중앙화
  • 투명성
  • 불변성
  • 가용성

2) 블록체인 기반 기술

  1. 분산 네트워크
  2. 암호기술
  3. 이중거래 방지
  4. 합의 기법
    1. PoW(작업증명)
      새로 만든 블록을 앞 블록에 연결하는데 필요한 해시를 만들고 연경성을 검증
    2. PoS(지분증명)
      에너지 낭비 문제를 해결. 컴퓨팅 파워가 아닌 자신이 가진 지분에 따라 블록을 생성

4) 블록체인 보안 위협요소

  1. 프라이버시
  2. 키 도난 및 분실
  3. 가용성 저하

3. 클라우드 보안

직접/공유도힌 정보통신기기, 정보통신설비, 소프트웨어 등의 정보통신자원을 이용자의 요구나 수요 번화에 따라 유동적으로 이용할 수 있도록 하는 정보처리체계를 의미
이용자가 IT자원을 필요한 만큼 빌려서 사용하고 지불하는 환경

3) 서비스 모델

SaaS : 응용 SW서비스 제공
PaaS : 개발환경 플랫폼 서비스 제공
IaaS : IT인프라(서버, 스토리지 등)서비스를 제공

(2) 클라우드 컴퓨팅 기술

(1) 가상화 기술

단일의 물리 IT자원을 논리적인 다수의 IT자원으로 나누어 동시에 각 자원들을 사용할 수 있도록 해주는 기술.

(4) SecassS 서비스

Security as a Service는 서비스 제공자가 제공하는 보안 서비스 패키지를 의미. 기업 책임을 줄일 수 있다.
보안서비스 CP가 제공하는 SaaS의 일부이다.

4. 랜섬웨어

이용자의 데이터를 암호화하고 복구를 위한 금전을 요구하는 악성코드
주요 랜섬웨어
워너크라이, 로키, 크립트XXX, 케르베르, 크립토락커, 테슬라크립트

5. APT(Advanced Persistent Threat)

  1. 맞춤형 공격
  2. 낮고 느리고 지속적인 공격
  3. 구체적인 공격 목표

2) 주요 침투 기법

  1. 스피어 피싱
  2. 드라이브-바이-다운로드 공격
  3. 워터링 홀
  4. USB 메모리 스틱을 이용한 기법

6. 기타 최신 보안주제들

(1) 사이버 킬 체인

2) 록히드마틴사 사이버 킬 체인 모델

  1. 정찰
  2. 무기화
  3. 전달
  4. 취약점 악용
  5. 설치
  6. 명령 및 제어
  7. 목표 실행

(2) 공급망 공격(Supply Chain Attack)

2) 공급망 공격

공급망에 침투하여 사용자에게 전달되는 S/W, H/W를 변조하는 형태
대표적인 공급망 공격 방식
1. 빌드/업데이트 인프라 변조
2. 인증서나 개발 계정 유출을 통한 변조
3. 하드웨어나 펌웨어의 변조
4. 악성코드에 감염되어 있는 제품 판매

0개의 댓글