수제비 2022 정보처리기사 실기 교재 개념 정리한 내용입니다.
1. 버퍼 오버플로우(buffer overflow)
: 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력, 프로세스 흐름을 변경시켜 악성 코드 실행시킴
- 스택 버퍼 오버플로우 공격 : 스택 영역에 할당된 버퍼 크기를 초과하는 양의 데이터 입력, 복귀 주소 변경, 공격자가 원하는 임의 코드 실행
- 힙 버퍼 오버플로우 공격 : 프로그램 실행 시 동적으로 할당되는 힙 영역에 할당된 버퍼 크기를 초과하는 데이터를 입력, 메모리 데이터와 함수 주소등 변경, 공격자가 원하는 임의의 코드 실행, 인접한 메모리(linked-list)메모리 삭제될 수 있고 특정 함수에 대한 포인터 주소 있으면 악용하여 관리자 권한 파일에 접근하거나 공격자의 특정 코드 실행해 공격 가능
- 버퍼 오버플로우 공격 대응 방안
- 스택가드(stackguard) : 카나리(canary)라는 무결성 체크용 값을 복귀 주소와 변수 사이에 삽입해 두고, 버퍼 오버플로우 발생 시 카나리 값을 체크하고 변했을 경우 복귀 주소를 호출하지 않는 방식으로 대응
- 스택쉴드(stack shield) : 함수 시작 시 복귀 주소를 Global RET 특수 스택에 저장, 함수 종료시 저장된 값과 스택의 RET 값 비교해서 다를 경우 오버플로우로 간주하고 프로그램 실행 중단
- ASLR(address space layout randomization) : (리눅스에서 설정)메모리 공격 방어위해 주고 공간 배치를 난수화하고 실행 시마다 메모리 주소를 변경, 버퍼 오버플로우를 통한 특정 주소 호출 차단
- 안전한 함수 활용 : str + n, n+printf, f + gets/scanf
2. 백도어(backdoor)
: 제품, 컴퓨터 시스템, 암호시스템, 알고리즘에서 정상적인 인증 절차를 우회하는 기법, 고정된 형태 x, 허가받지 않고 시스템에 접속하는 권리를 얻기 때문에 대부분 은밀하게 작동
- 백도어 탐지 기법
- 프로세스 및 열린 포트 확인 : TCPView로 열린 포트 확인
- Setuid 파일 검사 : 새로 생성된 Setuid 파일이나 변경된 파일 확인
- 백신 및 백도어 탐지 툴 활용
- 무결성 검사 : 리눅스 Tripwire 툴 이용
- 로그 분석 : wtmp, secure, lastlog, pacct, history, messages 사용
3. 주요 시스템 보안 공격기법
- 포맷 스트링 공격(format string attack) : 외부로부터 입력된 값을 검증하지 않고 입출력 함수의 포맷 스트링 그대로 사용하는 경우 발생하는 취약점 공격기법, 메모리 내용 참조하거나 특정 영역의 값 변경 가능
- 레이스 컨디션 공격(race condition attack) : 둘 이상의 프로세스나 스레드가 공유자원을 동시에 접근할 때 접근 순서에 따라 비정상적인 결과가 발생하는 상황, 실행되는 프로세스가 임시파일을 만드는 경우 악의적인 프로그램을 통해 끼어들어 임시파일을 심볼릭 링크하여 악의적인 행위를 수행
- 키로거 공격(key logger attack) : 키보드 움직임을 탐지하여 저장하고 개인의 중요한 정보를 몰래 빼가는 해킹공격, 키보드 활동을 기록하는 것을 키로깅/키스트로크 로깅 이라고 함.
- 루트킷(rootkit) : 시스템 침입 후 침입 사실을 숨긴 채 차후의 침입을 위한 프로그램(트로이 목마, 백도어)의 모음
'STUDY' 카테고리의 다른 글
[정처기] 9과목 소프트웨어 개발 보안 구축 암호화 알고리즘 총정리 (1) | 2022.10.19 |
---|---|
[정처기] 9과목 소프트웨어 개발 보안 용어 총정리 (1) | 2022.10.13 |
[정처기] 9과목 소프트웨어 개발 보안 구축 네트워크 공격 총정리 (0) | 2022.10.13 |
[정처기] 9과목 소프트웨어 개발 보안 구축 애플리케이션 공격 총정리 (0) | 2022.10.13 |
[정처기] 9과목 소프트웨어 개발 보안 구축 DRoS 공격/TCP 세션하이재킹 총정리 (0) | 2022.10.13 |