17. 시스템 보안위협 및 대응책
오버플로우 공격
프로세스 메모리 구조
Text 영역
프로그램 코드와 상수가 정의
읽기만 가능한 영역
Data 영역
전역 변수와 정적 변수가 저장되어 있는 영역
Heep 영역
동적 메모리 호출에 의해 할당되는 메모리 영역
Stack 영역
함수 내의 지역 변수, 함수의 반환 주소 등이 저장
버퍼 오버플로우 공격
프로그램에 버퍼를 조작할 수 있는 버그가 존재하는 취약성을 대상으로 비정상적 방법으로 특정 행위나 프로그램 따위를 하도록 시키는 행위
스택 버퍼 오버플로우 공격, 힙 오버플로우 공격
컴파일 시간 방어, 실행 시간 방어
포맷 스트링 공격
문자열 입력 포맷을 잘못된 형태로 입력하는 경우 나타나는 취약점을 이용한 공격
레이스 컨디션 공격
바꿔치기 공격(관리자 권한으로 실행되는 프로그램 중간에 끼어들어 자신이 원하는 작업을 함)
임시파일, 심볼릭 링크, setuid 설정이 조건으로 들어간다
백도어
접근의 편의를 위해 시스템 설계자가 고의적으로 만들어 놓은 통로
트로이 목마의 일종
현재 동작 중인 프로세스 확인, HIDS 이용
DOS 공격
시스템이 보유하고 있는 자원을 선점하거나 모두 고갈하는 방식으로 수행
디스크 채우기, 메모리 고갈, 모든 프로세스 죽이기, 프로세스 무한 생성
리버스 엔지니어링
역공학
시스템 구조를 분석하여 원리를 발견하는 과정
난독화를 이용하여 대응함
루트킷
불법적인 해킹에 사용되는 기능들을 제공하는 프로그램의 모음
논리폭탄
사용자가 특정한 행위를 수행할 때 그것의 페이로드 실행을 활성화하는 많은 유형의 트리거를 가질 수 있음