일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Flutter
- OpenWeatherApi
- 딥러닝
- 플러터
- 데이터베이스의기본
- 모두의딥러닝
- BottomTabBarNavigator
- 알고리즘
- date-fns
- react
- RectQuery
- 선언형프로그래밍
- Flutter공부
- BottomTabNavigation
- ReactNative
- 앱개발공부
- 하단탭바알림
- 플러터앱개발공부
- 날짜포맷팅
- Object~
- 화면이동
- 플러터공부
- 앱개발
- 정보보호
- 플러터앱개발
- tabBarBadge
- 명령형프로그래밍
- 웹해킹
- Navigation
- 면접을위한CS전공지식노트
Archives
- Today
- Total
기록하기
[정보보호] 시스템 보안 본문
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 |