맨위로가기

권한 확대

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

권한 확대는 낮은 권한의 사용자가 더 높은 권한의 기능에 접근하거나, 일반 사용자가 다른 사용자의 자원에 접근하는 보안 취약점이다. 수직적 권한 확대는 낮은 권한의 사용자가 관리자 권한을 획득하는 경우이며, 운영체제나 애플리케이션의 취약점, 시스템 관리 부주의, 악성코드 감염 등을 통해 발생한다. 수평적 권한 확대는 일반 사용자가 다른 사용자의 자원에 접근하는 경우로, 웹 애플리케이션의 취약점, 세션 관리 취약점, XSS, 취약한 비밀번호 설정 등이 원인이 된다. 권한 확대는 탈옥, 버퍼 오버플로우, 셸 인젝션, XSS 등 다양한 형태로 나타나며, 데이터 실행 방지, 주소 공간 배치 난수화, 최소 권한 원칙, 패치 등을 통해 완화할 수 있다.

더 읽어볼만한 페이지

  • 운영 체제 보안 - NX 비트
    NX 비트는 하드웨어 기반 보안 기능으로, 메모리 페이지의 실행 권한을 제어하여 특정 영역에서 코드 실행을 막아 버퍼 오버플로 공격과 같은 보안 위협을 줄이는 데 사용되며, AMD에서 처음 도입 후 다양한 프로세서와 운영체제에서 DEP 등의 이름으로 구현되었다.
  • 운영 체제 보안 - 슈퍼유저
    슈퍼유저는 운영 체제에서 모든 권한을 가진 사용자를 지칭하며, 유닉스 계열에서는 root, 윈도우에서는 관리자 계정이 해당 역할을 수행한다.
  • 취약점 공격 - 보안 취약점
    보안 취약점은 시스템의 설계, 구현, 운영, 관리상 결함이나 약점으로, 위협에 의해 악용되어 시스템 보안 정책을 위반할 수 있는 요소이며, ISO 27005, IETF RFC 4949, NIST SP 800-30, ENISA 등 다양한 기관에서 정의하고 있다.
  • 취약점 공격 - 인터넷 보안
    인터넷 보안은 사이버 위협, 악성 소프트웨어, 서비스 거부 공격 등으로부터 정보와 시스템을 보호하기 위해 네트워크 계층 보안, 다단계 인증, 방화벽 등 다양한 기술과 방법을 포괄한다.
권한 확대

2. 권한 확대의 유형

권한 확대는 크게 두 가지 형태로 발생한다.


  • '''수직적 권한 확대''' 또는 ''권한 상승''이라고도 하며, 낮은 권한의 사용자 또는 응용 프로그램이 더 높은 권한의 사용자 또는 응용 프로그램에 예약된 기능 또는 콘텐츠에 접근하는 경우이다(예: 인터넷 뱅킹 사용자가 사이트 관리 기능에 접근하거나 스마트폰 비밀번호가 우회될 수 있다). 사용자나 프로세스가 시스템 개발자나 관리자가 의도한 것보다 높은 접근 수준을 가질 때 발생하며, 커널 레벨 동작을 수행함으로써 가능해질 수 있다.

x86에서 보호 모드로 사용 가능한 권한 링

  • '''수평적 권한 확대'''는 일반 사용자가 다른 일반 사용자를 위해 예약된 기능 또는 콘텐츠에 접근하는 경우이다(예: 인터넷 뱅킹 사용자 A가 사용자 B의 인터넷 뱅킹 계정에 접근). 애플리케이션이 공격자에게 일반 사용자로부터 보호되어야 할 자원에 접근하도록 허용할 때 발생한다. 이는 애플리케이션 개발자시스템 관리자가 의도한 것과 다른 보안 컨텍스트에서 동일한 사용자로 작업을 수행하게 되는, 제한된 형태의 권한 상승이다.

2. 1. 수직적 권한 확대

수직적 권한 확대는 사용자나 프로세스가 시스템 개발자나 관리자가 의도한 것보다 높은 접근 수준을 가질 때 발생하며, 커널 레벨 동작을 수행함으로써 가능해질 수 있다. 이는 권한 상승이라고도 불리며, 운영체제나 애플리케이션의 취약점을 이용하거나, 시스템 관리자의 부주의, 악성코드 감염 등을 통해 발생할 수 있다.

2. 2. 수평적 권한 확대

수평적 권한 확대는 애플리케이션이 공격자에게 일반 사용자로부터 보호되어야 할 자원에 접근하도록 허용할 때 발생한다.[14] 이는 애플리케이션 개발자시스템 관리자가 의도한 것과 다른 보안 컨텍스트에서 동일한 사용자로 작업을 수행하게 되는, 제한된 형태의 권한 상승이다.[14] 일반 사용자가 다른 일반 사용자의 자원이나 기능에 접근하는 것을 의미하며, 주로 웹 애플리케이션의 취약점으로 인해 발생한다. 세션 관리 취약점, 크로스 사이트 스크립팅(XSS), 취약한 비밀번호 설정 등이 원인이 될 수 있다. 수직 권한 상승과 달리 계정 권한을 업그레이드할 필요 없이 시스템 버그에 의존하는 경우가 많다.[14]

3. 수직적 권한 확대

이 유형의 권한 상승은 사용자가 관리자나 시스템 개발자가 의도한 것보다 더 높은 수준의 접근 권한을 얻을 수 있을 때 발생하며, 이는 아마도 커널 레벨 작업을 수행함으로써 가능할 수 있다.

이러한 유형의 권한 확대는 사용자나 프로세스가 시스템 개발자나 관리자가 의도한 것보다 높은 접근 수준을 가질 때 발생하며, 커널 수준 동작을 수행함으로써 가능해질 수 있다.

3. 1. 수직적 권한 확대의 예시

높은 권한의 애플리케이션이 인터페이스 명세와 일치하는 입력만 제공될 것이라고 가정하고 입력을 검증하지 않는 경우가 있다. 공격자는 이러한 가정을 악용하여 애플리케이션의 권한으로 무단 코드를 실행할 수 있다.[15]

몇몇 윈도우 서비스들은 로컬 시스템 사용자 계정으로 실행되도록 설정되어 있다. 버퍼 오버플로와 같은 취약점을 이용하여 로컬 시스템 권한으로 임의 코드를 실행할 수 있다. 혹은, 오류가 제대로 처리되지 않으면 더 낮은 권한의 사용자로 가장하는 시스템 서비스가 사용자의 권한을 상승시킬 수도 있다.[15]

크로스 존 스크립팅은 웹 브라우저의 보안 모델을 무너뜨리는 권한 확대 공격의 일종으로, 클라이언트 측에서 악성 코드를 실행시킬 수 있다.[15]

애플리케이션이 다른 높은 권한의 서비스를 실행하고, 클라이언트가 이러한 서비스를 어떻게 조작할 수 있는지에 대한 부정확한 가정을 하는 상황도 존재한다. 커맨드 라인이나 명령어를 실행할 수 있는 애플리케이션이 확인되지 않은 입력을 명령어의 일부로 사용한다면, 셸 인젝션 취약점을 가질 수 있다. 공격자는 애플리케이션의 권한을 사용하여 시스템 명령어를 실행할 수 있다.[15]

아이폰의 어떤 버전들은 잠겨져 있지만 비허가된 사용자가 폰에 접근할 수 있게 허용한다.[1][15] '''탈옥(Jailbreaking)'''은 유닉스 계열 운영체제에서 chroot나 jail을 깨는 행위[16] 또는 디지털 권리 관리(DRM)의 우회를 수행하는 행위나 툴이다.[2][3]

텍사스 인스트루먼트 계산기(특히 TI-85 및 TI-82)는 원래 TI-BASIC의 방언으로 작성된 해석된 프로그램만 사용하도록 설계되었다. 그러나 사용자들이 계산기 하드웨어에서 네이티브 Z-80 코드를 실행할 수 있도록 악용할 수 있는 버그를 발견한 후, TI는 타사 개발을 지원하기 위해 프로그래밍 데이터를 공개했다.

S60 Platform 스마트폰에도 유사한 탈옥 방식이 존재하며, HelloOX와 같은 유틸리티를 통해 서명되지 않은 코드를 실행하고 시스템 파일에 대한 전체 액세스를 허용한다. 또는 서명되지 않은 코드에 대한 제한을 우회하기 위해 편집된 펌웨어(PlayStation Portable에 사용된 M33 해킹 펌웨어와 유사)를 사용한다.[8] Nokia는 Apple과 유사한 방식으로 무단 탈옥을 막기 위해 업데이트를 발표했다.

게임 콘솔의 경우, 탈옥은 종종 홈브루 게임을 실행하는 데 사용된다. 2011년 소니는 Kilpatrick Stockton 법률 회사의 지원을 받아 PlayStation 3를 탈옥한 21세 조지 호츠(Sony Computer Entertainment America v. George Hotz 및 PlayStation Jailbreak 참조)와 fail0verflow 그룹의 관련자들을 고소했다.

탈옥은 ChatGPT와 같은 생성적 인공 지능 모델을 사용하는 시스템 및 소프트웨어에서도 발생할 수 있다. 인공 지능 시스템에 대한 탈옥 공격에서 사용자는 모델이 프로그래밍된 방식과 다르게 작동하도록 조작하여 모델이 지시된 방식에 대한 정보를 공개하고 비정상적이거나 유해한 방식으로 응답하도록 유도할 수 있다.[9][10]

안드로이드 폰은 제조사가 제어하는 과정을 거치거나, 루팅을 획득하기 위한 익스플로잇을 사용하거나, 루팅 수정을 설치하여 공식적으로 루팅할 수 있다. 제조사는 자체적으로 제어하는 과정을 통해 루팅을 허용하며, 일부는 부팅 시 특정 키 조합을 누르거나 다른 자가 관리 방식을 통해 폰을 루팅할 수 있도록 허용한다.

3. 2. 완화 전략

운영체제들과 사용자들은 권한 확대를 줄이기 위해 다음과 같은 전략을 사용할 수 있다.[17][18]

  • 데이터 실행 방지
  • 주소 공간 배치 난수화: 메모리의 알려진 주소에서 권한이 있는 명령을 실행하기 위한 버퍼 오버플로우가 더 어렵게 만든다.
  • 최소 권한의 원칙에 따라 응용 프로그램 실행 (예: 프로세스 토큰에서 관리자 SID가 비활성화된 상태로 인터넷 익스플로러를 실행하여 버퍼 오버플로우 익스플로잇이 권한이 있는 사용자의 권한을 악용하는 능력을 줄임)
  • 커널 모드 코드는 디지털 서명을 요구한다.
  • 패칭
  • 버퍼 오버런을 포착하는 컴파일러 사용[11]
  • 소프트웨어 및/또는 펌웨어 구성 요소의 암호화.
  • SELinux와 같은 필수 액세스 제어(MAC)가 있는 운영 체제 사용[12]
  • 커널 데이터 재배치 메커니즘(실행 중인 커널에서 권한 정보를 동적으로 재배치하여 메모리 손상을 사용한 권한 상승 공격을 방지)


최근 연구에 따르면 권한 상승 공격으로부터 효과적으로 보호할 수 있는 방법이 밝혀졌으며, OS 취약점에 초점을 맞춘 공격을 특별히 방지하는 추가 커널 옵저버(AKO)가 제안되었다. 연구에 따르면 AKO는 실제로 권한 상승 공격에 효과적이다.[13]

4. 수평적 권한 확대

수평적 권한 확대는 애플리케이션이 공격자에게 애플리케이션 또는 사용자로부터 일반적으로 보호되었을 자원에 접근할 수 있도록 허용할 때 발생한다. 그 결과, 애플리케이션은 애플리케이션 개발자 또는 시스템 관리자가 의도한 것과 다른 보안 컨텍스트에서 동일한 사용자로 작업을 수행한다. 이것은 효과적으로 제한된 형태의 권한 상승이다(특히, 다른 사용자를 가장할 수 있는 권한의 무단 가정). 수직 권한 상승에 비해 수평 권한 상승은 계정의 권한을 업그레이드할 필요가 없다. 이는 종종 시스템의 버그에 의존한다.[14]

4. 1. 수평적 권한 확대의 예시

사용자 A가 인터넷 뱅킹 애플리케이션에서 자신의 은행 계좌에 접근할 때, 사용자 B도 동일한 애플리케이션에서 자신의 계좌에 접근할 수 있다. 이 때, 사용자 A가 악의적인 행위를 통해 사용자 B의 계좌에 접근할 수 있는 취약점이 발생할 수 있다.

이러한 문제는 주로 웹 애플리케이션의 취약점으로 인해 발생하며, 다음과 같은 잠재적 원인이 있을 수 있다.

5. 한국의 권한 확대 문제

5. 1. 더불어민주당과 진보 진영 관련

5. 2. 국민의힘과 보수 진영 관련

6. 같이 보기

참조

[1] 웹사이트 Apple Acknowledges iOS 4.1 Security Flaw. Will Fix it in November with iOS 4.2 http://www.redmondpi[...] RedmondPie 2010-10-27
[2] 웹사이트 Definition of JAILBREAK https://www.merriam-[...] 2022-12-24
[3] 서적 Security Warrior: Know Your Enemy https://archive.org/[...] "O'Reilly Media, Inc."
[4] Citation Apple's Disagreement With Orange, IPhone Hackers http://paidcontent.o[...] paidContent.org 2007-09-27
[5] 웹사이트 Reports: Next iPhone update will break third-party apps, bust unlocks] http://www.computerw[...] 2008-01-01
[6] 웹사이트 Announcement: Forum down for maintaining http://dailymobile.s[...] 2010-02-16
[7] 웹사이트 HelloOX 1.03: one step hack for Symbian S60 3rd ed. phones, and for Nokia 5800 XpressMusic too http://symbianism.bl[...] 2009-07-06
[8] 웹사이트 Bypass Symbian Signed & Install UnSigned SISX/J2ME Midlets on Nokia S60 v3 with Full System Permissions http://thinkabdul.co[...] 2009-07-06
[9] 웹사이트 What is Jailbreaking in A.I. models like ChatGPT? https://www.techoped[...] 2023-11-01
[10] 웹사이트 ChatGPT’s ‘jailbreak’ tries to make the A.I. break its own rules, or die https://www.cnbc.com[...] 2023-11-01
[11] 웹사이트 Microsoft Minimizes Threat of Buffer Overruns, Builds Trustworthy Applications http://download.micr[...] Microsoft 2005-09
[12] 웹사이트 Laying a Secure Foundation for Mobile Devices http://www.internets[...] 2014-03-07
[13] 간행물 Additional kernel observer: privilege escalation attack prevention mechanism focusing on system call privilege changes https://link.springe[...] 2021-08
[14] 서적 Cybersecurity - Attack and Defense Strategies - Second Edition https://www.worldcat[...] 2019
[15] 웹인용 Apple Acknowledges iOS 4.1 Security Flaw. Will Fix it in November with iOS 4.2 http://www.redmondpi[...] RedmondPie 2010-10-27
[16] 서적 Security Warrior http://books.google.[...] O'Reilly Media 2004-01-12
[17] 웹인용 Microsoft Minimizes Threat of Buffer Overruns, Builds Trustworthy Applications http://download.micr[...] Microsoft 2008-08-04
[18] 웹인용 Laying a Secure Foundation for Mobile Devices http://www.internets[...] 2014-03-07



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com