Bazinga!
[시스템 보안] 시스템 해킹 조사 유의사항 본문
2일차 공격표면 조사
- 소프트웨어에서 공격가능한 부분 ( 소켓 통신 부분, 파라미터 등등)
- 해야하는 이유 : 실제 규모가 있는 소프트웨어에 대해서는 모든 코드를 분석하기에는 한계가 있다. 효율적인 분석을 위해
---------------
<시스템 해킹 프로세스>
1. 기능 파악 및 분석
2. 공격 표면 조사
3. 취약점 분석
4. (공격 코드 작성) 개념증명
5. 평가 (취약점 코드의 임펙트)
----------------------
* 공격 표면 조사
1. 임의의 사용자가 임의의 데이터를 프로그램으로 전달 할 수 있는 부분을 조사
- 네트워크 통신을 하는가?
: 데이터를 어떤 컴포넌트와 주고받는지
- 임의의 파일을 파싱 및 렌더링 하는가?
- 임의의 코드를 실행하는가?
2. 공격 난이도를 평가
- 어떠한 파일 구조 및 프로토콜을 사용하는가?
- 오픈소스 프로젝트를 사용하여 input을 처리하는가?
- input을 처리하는 과정에서 취약할 수 있는 함수/로직을 사용하는가?
취약할 수 있는 함수나 로직이 있다. 알고 접근하면 좋겠지요
- 임의의 input을 제대로 처리하는가?
3. 영향도/위협도 평가
- 어떠한 종류의 취약점이 발생할 수 있는가?
- 오류 발생 시, 프로그램의 상태는 어떠한가?
- 인증 절차가 필요한가?
* 취약점 분석
1. 악의적인 사용자가 전달하는 임의의 입력값을 통해
2. 프로그램이 개발자가 의도하지 않은 행위를 실행하는가
3. 또한 그 행위가 악용 될 수 있는
시큐어 코딩 왜 알아야할까?
방어하는 방법을 알면 방어하는 방법대로 하지않는 방법을 발견했을때 취약점인걸 추측해볼수있다
메모리 취약점 : 프로그램의 메모리 영역을 손상시킴으로 발생할 수 있는 취약점
- out of bounds access (길이 값 검증 미흡)
-> 우분투에서 파일 실행시 실행 권한 주기위한 코드
-> 추론하며 타입을 변경하며 읽기 좋게 복구시키기
* 평가
1, 공격에 실패 할 가능성이 있는가?
- 실패 후, 다시 공격이 가능한가?★
- 확률은 어떻게 되는가?
- 실패 시 , 피해자가 이를 알아챌 수 있는가? ★
2. 피해자가 특정한 행동을 취해야만 공격에 성공할수있는가?
3, 공격 후 최종적으로 획득 가능한 권한은 어떠한가?
4. 가져올 수 있는 정보는 어떠한 정보인가?
5. ...
'수업기록 > 시스템 해킹' 카테고리의 다른 글
버퍼 오버플로우와 취약점 (0) | 2024.09.12 |
---|---|
python 쉘 코드와 함수 이용하여 파일 열기 (0) | 2024.08.06 |
[시스템 보안] 바이너리 닌자 사용해보기 (0) | 2024.08.02 |