일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ISMS-P
- csts기출문제
- 정보보호 취업
- 정보보안기사 후기
- CPU 스케줄링
- 케이쉴드주니어 13기
- 정보보안 취업
- csts일반등급
- 케이쉴드주니어 14기
- csts범위
- csts기출
- 정보보안전문가
- 정보보안기사
- 디스크 스케줄링
- 파일 시스템
- 정보보안기사 실기
- csts 일반등급
- csts출제기준
- k-shield
- csts요약
- csts요약본
- csts 후기
- csts 일반등급 후기
- CSTS
- 모의해킹
- 솔루션 개발
- 보안솔루션 운영
- k-shield 주니어 14기
- 정보보안 컨설팅
- 케이쉴드주니어
- Today
- Total
CyberRanger
메모리 구조와 시스템 취약점 본문
알려진 취약점 종류
CVE | 알려진 취약점 |
CWE | 소스코드 취약점 |
CCE | 시스템 취약점 |
CVSS | 취약점 위험도 |
1. 메모리 구조
· 프로그램이 메모리에 로드되며 프로그램이 실행됨.
높은 주소 낮은 주소 |
스택영역 | - 지역변수 (함수 내 사용) - 함수 복귀주소 - 함수 매개변수(Parameter) |
힙 영역 | - 메모리 동적 할당 - new, malloc 사용 시 힙 영역에 할당됨. - 동적 할당 메모리는 free() 함수로 해제해야 함. |
|
데이터 영역 | - 전역 변수 - 정적(Static) 변수 - 데이터 영역에 변수가 선언되면 자동으로 초기화 됨. |
|
텍스트 영역 | - 프로그램 코드 - 읽기만 가능한 메모리 영역 |
· 스택 영역은 높은 주소에서 낮은 주소로 할당.
· 힙 영역은 낮은 주소에서 높은 주소로 할당.
· 두 주소가 서로 경계를 넘으면 overflow 발생(segment fault)
2. 시스템 취약점
2.1. 버퍼 오버플로우
2.1.1. 개념
· 프로세스가 사용 가능한 메모리 공간을 초과해서 발생하는 취약점.
· C, C++ 개발 시, 메모리 공간에 제한을 두지 는 API 사용 시 발생.
· 스택 영역에서 발생하는 버퍼 오버플로우를 스택 오버플로우, 힙 영역에서는 힙 오버플로우라고 함.
2.1.2. 대응 방법
· 문자열의 길이를 제한하는 함수 사용: strncat(), strncpy(), fgets(), vfscanf(), vsnprintf()
· ASLR(Address Space Layout Randomization) 설정: 실행파일이 메모리에 로드될 때의 기본주소를 동적으로 할당.
[Linux ASLR 설정]
sysctl -w kernel.randomize_va_space=2
- 0: ASLR 해제
- 1: 스택 영역만 동적 할당
- 2: 스택 + 힙 영역 동적 할당
· Stack Guard: 스택 프레임의 손상 확인
· Stack Shield: 함수의 복귀주소를 반환 시의 값과 비교
· NOP Sled(No Operation) 공격 여부 확인
2.2. Heap Spray
2.2.1. 개념
· 짧은 기계어 코드인 Shellcode를 힙 영역에 뿌려 실행시키는 공격 기법.
2.2.2. 대응 방법
· DEP(Data Execution Prevention, 데이터 실행 방지): 특정 메모리 영역을 비실행으로 설정하여 익스플로잇이 실행되지 못하게 한다.
2.3. 윈도우 DDE 취약점
2.3.1. 개념
· DDE(Dynamic Data Exchange)
· 윈도우 애플리케이션 간에 데이터를 전송하기 위한 프로토콜.
· 공유 메모리를 사용해서 데이터 공유.
· MS Word, Excel 같은 문서 프로그램에서 발생.
2.3.2. 대응 방법
· MS Word의 경우 문서를 열 때 자동 연결 업데이트 해제
· 엑셀 프로그램의 경우 DDE를 사용하는 다른 응용 프로그램 무시
2.4. 경쟁조건(Race Condition)
2.4.1. 개념
· 다중 프로세스 환경에서 두 개 이상의 프로세스가 동시에 공유자원에 접근하려 할 때 발생되는 비정상적인 상태.
· 경쟁조건을 이용한 공격을 하기 위해서 먼저 백도어를 만들어야 함.
'정보보안기사 > 시스템 보안' 카테고리의 다른 글
사이버 보안 공격 유형 (0) | 2024.08.06 |
---|---|
[Windows] 윈도우 로그 (0) | 2024.08.06 |
[Windows] 윈도우 파일 시스템, 레지스트리 (0) | 2024.08.06 |
[Windows] 윈도우 계정, 그룹, 인증 시스템, UAC (0) | 2024.08.06 |
[Linux 보안] TCP Wrapper - 리눅스 방화벽 (0) | 2024.08.05 |