기록하기

[정보보호] 시스템 보안 본문

정보보호

[정보보호] 시스템 보안

_parkdaxun 2023. 6. 15. 14:31

1. 계정 관리

2. 세션 관리

3. 접근 제어

4. 권한 관리

5. 로그 관리

6. 취약점 관리

 

 

시스템 보안

BOF : Buffer Overflow

 

데이터를 버퍼에 저장할 때 개발자가 의도한 크기 넘어에 값을 넣는 방식

-> 초과된 데이터는 인접 메모리에 양향이 간다(제어 관련 구문도 포함될 수 있음)

 

 

BOF 원인 및 해결 방안

 

1. 입력 값의 길이를 올바르게 검사하지 않아 생기는 취약점

2. 프로그램의 실행 흐름을 바꾸어 특정 코드가 실행되게 하는 기법

3. 입력 값에 대한 길이 및 타입에 대한 체킹은 필수!

 

 

BOF에서 사용되는 용어

 

 

 

BOF 취약 함수

 

 

 

BOF 방지

 

C언어 Stack BOF 방지를 위해, strcpy 함수를 strncpy로 교체한다 -> strncpy(buffer, argv[1], sizeof(buffer)-1);

형식으로 대입하는 매개변수 len 만큼만, dst 버퍼에 저장하도록 유도할 수 있다.

sizeof에 -1을 설정하는 것은 C언어 문자열 끝 부분 null까지 고려한 설계

 

입력 문자열이 버퍼의 크기와 같거나 클 시,

프로그램을 종료하는 방식으로도 BOF를 방지할 수 있다.

C언어 문자열 끝 부분 null 고려하여, 버퍼 크기와 같은 문자열도 체크가 필요

 

 

BOF 예시

 

Dumpcode 함수를 통해 출력된 메모리 덤프를 확인

각 문자열 별 buf와 SFP, RET 구성 확인 가능

 

 

'정보보호' 카테고리의 다른 글

[정보보호] HTTP의 이해  (0) 2023.06.15
[정보보호] CSRF 공격 기법  (0) 2023.06.15
SQL Injection에 대해 알아보잣!  (0) 2023.04.27
[웹해킹] Challenge 3 문제 풀기  (0) 2023.04.23
Dreamhack csrf-2 문제 풀이  (0) 2023.04.06