일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링MVC
- JPA 활용2
- JPA
- 스프링 데이터 JPA
- 스프링
- 프로젝트 환경설정
- 김영한
- 일론머스크
- 값 타입 컬렉션
- Bean Validation
- jpa 활용
- JPQL
- 타임리프
- JPA 활용 2
- 타임리프 문법
- 임베디드 타입
- Spring Data JPA
- QueryDSL
- 트위터
- 스프링 mvc
- 페이징
- 로그인
- 컬렉션 조회 최적화
- 실무활용
- 예제 도메인 모델
- 검증 애노테이션
- 불변 객체
- 벌크 연산
- 기본문법
- API 개발 고급
- Today
- Total
RE-Heat 개발자 일지
[운영체제] 암호 없이 관리자 권한을 얻는 해커들의 방법은? 본문
널널한 개발자님의 강의를 듣고 작성한 글입니다.
https://www.youtube.com/watch?v=ZrNp9Be83qQ&list=PLXvgR_grOs1DGFOeD792kHlRml0PhCe9l&index=1

■ 정상적인 상황
관리자 로그인 화면에서 계정정보 입력
→ 로그인 프로세스
1] 인증 과정 거쳐 문제가 없다면 쉘 프로세스 실행
2] 실행한 쉘 프로세스에 관리자 권한을 부여
→ 쉘
1] 관리자에게 명령을 입력받으면 이 명령어를 실행할 자식 프로세스를 생성.
→ 자식 프로세스
1] 기본적으로 자식 프로세스는 부모 프로세스의 권한을 상속받음(여기선 관리자 권한을 상속)
결과 : 관리자 권한으로 시스템 프로세스를 쥐락펴락할 수 있음
■ 비정상적인 상황
(관리자 암호를 모르는) 해커가 시스템 프로세스에 무언가를 주입
1] 정보 주입의 목적은 오작동.
2] 오작동을 일으킨 시스템 프로세스는 관리자 권한을 가진 쉘 프로세스를 실행

이제 관리자 권한을 갖춘 해커가 '이 시스템은 제 겁니다. 제 맘대로 할 수 있습니다'를 시전!!!
권한을 얻는다 == 프로세스에 오작동을 일으키는 코드를 주입해 쉘이 실행되도록 유도

제모남작(해커) >세뇌코드(오작동 일으키는 무언가)>>> 윈터솔져(쉘)
=> 결과 : 제모 남작, 윈터솔져 맘대로 휘두르기
■ 권한 탈취를 막는 방법(== Secured OS)
관리자 권한을 가지는 프로세스의 생성을 제한
'실행'이라는 행위를 OS 수준에서 모니터링 => 감지 후 허용되지 않은 행위면 차단
널개님 : 만일 Secured OS를 적용하지 않은 상태에서 프로세스가 원격 코드 실행 취약점을 가지고 있으면 100% 뚫린다고 볼 수 있다.
'CS > 운영체제' 카테고리의 다른 글
[운영체제] Sleep 함수와 우연 그리고 CPU로 랜덤뽑기 (0) | 2023.08.01 |
---|