권한 상승

Privilege escalation
권한 상승에 대해 설명하는 다이어그램입니다.화살표는 커널에 액세스할 수 있는 루트킷을 나타내고 작은 게이트는 일반 권한 상승을 나타냅니다. 여기서 사용자는 관리자 사용자 이름과 비밀번호를 입력해야 합니다.

권한 상승은 운영 체제 또는 소프트웨어 응용 프로그램의 버그, 설계 결함 또는 구성 감시를 이용하여 응용 프로그램 또는 사용자로부터 일반적으로 보호되는 리소스에 대한 높은 액세스를 얻는 행위입니다.그 결과 애플리케이션 개발자 또는 시스템 관리자가 의도한 것보다 더 많은 권한을 가진 애플리케이션이 무단 작업을 수행할 수 있습니다.

배경

대부분의 컴퓨터 시스템은 여러 사용자 계정과 함께 사용하도록 설계되어 있으며, 각 계정에는 권한이라고 하는 기능이 있습니다.일반적인 권한에는 파일 보기 및 편집 또는 시스템 파일 수정이 포함됩니다.

권한 상승은 사용자에게 권한이 없는 권한을 부여함을 의미합니다.이러한 권한을 사용하여 파일을 삭제하거나 개인 정보를 보거나 바이러스와 같은 원하지 않는 프로그램을 설치할 수 있습니다.일반적으로 시스템에 보안을 우회할 수 있는 버그가 있거나 사용방법에 관한 설계상의 전제조건에 결함이 있는 경우에 발생합니다.권한 상승은 다음 두 가지 형식으로 이루어집니다.

  • 권한 상승이라고도 하는 수직 권한 상승. 낮은 권한의 사용자 또는 응용 프로그램이 높은 권한의 사용자 또는 응용 프로그램용으로 예약된 기능 또는 콘텐츠에 액세스합니다(예: 인터넷 뱅킹 사용자는 사이트 관리 기능에 액세스하거나 스마트폰의 암호를 무시할 수 있습니다).
  • 일반 사용자가 다른 일반 사용자를 위해 예약된 기능 또는 콘텐츠에 액세스하는 수평 권한 상승(예: 인터넷 뱅킹 사용자 A가 사용자 B의 인터넷 은행 계정에 액세스)

세로

보호 모드에서 사용할 수 있는 x86 권한 호출음

이러한 유형의 권한 상승은 사용자 또는 프로세스가 관리자 또는 시스템 개발자가 의도한 것보다 더 높은 수준의 액세스 권한을 얻을 수 있을 때 발생합니다(아마도 커널 수준의 작업을 수행).

경우에 따라서는, 고특권 애플리케이션은, 인터페이스 사양에 일치하는 입력만으로 제공된다고 가정하고, 따라서 이 입력을 검증하지 않습니다.그러면 공격자는 이 가정을 이용하여 응용 프로그램의 권한으로 인증되지 않은 코드를 실행할 수 있습니다.

  • 일부 윈도우즈 서비스는 로컬 시스템 사용자 계정으로 실행되도록 구성되어 있습니다.버퍼 오버플로와 같은 취약성을 사용하여 로컬 시스템으로 상승된 권한으로 임의 코드를 실행할 수 있습니다.또는 사용자가 가장되는 동안 오류가 올바르게 처리되지 않으면(예를 들어 사용자가 악의적인 오류 핸들러를 도입한 경우) 하위 사용자를 가장하는 시스템 서비스가 해당 사용자의 권한을 상승시킬 수 있습니다.
  • 일부 레거시 버전의 Microsoft Windows 운영체제에서는 모든 사용자의 스크린세이버는 로컬 시스템 계정으로 실행됩니다.파일 시스템 또는 레지스트리의 현재 스크린세이버 바이너리를 대체할 수 있는 계정은 권한을 상승시킬 수 있습니다.
  • Linux 커널의 특정 버전에서는 현재 디렉토리를 다음과 같이 설정하는 프로그램을 작성할 수 있었습니다./etc/cron.d코어 덤프가 크래쉬 했을 경우에 대비하여 코어 덤프를 실행하도록 요구하며, 그 후 다른 프로세스에 의해 코어 덤프가 정지됩니다.코어 덤프 파일은 프로그램의 현재 디렉토리에 배치됩니다.즉,/etc/cron.d,그리고.cron프로그램을 예정대로 실행하도록 지시하는 텍스트 파일로 취급했을 겁니다파일의 내용은 공격자가 제어할 수 있으므로 공격자는 루트 권한으로 모든 프로그램을 실행할 수 있습니다.
  • 크로스 존 스크립팅은 웹 사이트가 웹 브라우저의 보안 모델을 전복하여 클라이언트 컴퓨터에서 악성 코드를 실행할 수 있도록 하는 권한 상승 공격의 일종입니다.
  • 또, 애플리케이션이 다른 고특권 서비스를 사용할 수 있어 클라이언트가 이러한 서비스의 사용을 조작하는 방법에 대해 잘못된 가정을 하고 있는 경우도 있습니다.명령줄 또는 셸 명령을 실행할 수 있는 응용 프로그램에서 실행된 명령의 일부로 확인되지 않은 입력을 사용하는 경우 주입 취약성이 있을 수 있습니다.그러면 공격자는 응용 프로그램의 권한을 사용하여 시스템 명령을 실행할 수 있습니다.
  • Texas Instruments 계산기(특히 TI-85TI-82)는 원래 TI-BASIC 방언으로 작성된 인터프리터 프로그램만 사용하도록 설계되었지만 사용자가 계산기 하드웨어에서 네이티브 Z-80 코드를 실행할 수 있는 버그를 발견한 후 TI는 서드파티 개발을 지원하기 위해 프로그래밍 데이터를 릴리스했습니다(이 d).id는 Ndless사용한 탈옥이 발견되었지만 여전히 텍사스 인스트루먼트에 의해 적극적으로 대항하고 있는 ARM 기반의 TI-Nspire에 속하지 않습니다.)
  • iPhone의 일부 버전에서는,[1] 전화기가 잠겨 있는 동안, 허가되지 않은 유저가 전화기에 액세스 할 수 있습니다.

탈옥

탈옥은 UNIX와 유사한 운영[2] 체제에서 chroot 또는 탈옥을 수행하거나 DRM(Digital Rights Management)을 바이패스하기 위해 사용되는 행위 또는 도구입니다.전자의 경우 사용자는 관리자가 해당 응용 프로그램 또는 사용자가 사용할 수 있도록 하려는 파일 시스템 외부의 파일을 볼 수 있습니다.DRM의 컨텍스트에서는 사용자가 임의로 정의된 코드를 DRM이 있는 디바이스에서 실행할 수 있을 뿐만 아니라 chroot와 같은 제약에서 벗어날 수 있습니다. 용어는 iPhone/iOS 탈옥 커뮤니티에서 유래되어 PlayStation Portable 해킹의 용어로도 사용되고 있습니다.이러한 디바이스는, 탈옥을 반복해 임의의 코드를 실행할 수 있게 되어 있습니다.또, 벤더 업데이트에 의해서 이러한 탈옥이 무효가 되는 경우도 있습니다.

이후 풀려 아이 폰, 아이패드, 상황 터치를 포함한 IOS시스템 iOSjailbreaking 노력고, 각 펌웨어 업데이트로 계속해서 받았다.[3][4]번째 iOSjailbreaking 도구들은 옵션 방안도 설치 시스템 tweaks과 binarie를 찾는 것과 같앱 스토어에 시디아, Sileo, 또는 Installer.app 제3자 대안을 설치할 수도 있다.s. iOS 탈옥을 방지하기 위해 애플은 커스텀 커널 업로드를 금지하고 소프트웨어가 탈옥 가능한 이전 펌웨어로 다운그레이드되는 것을 방지하기 위해 디바이스 부트 ROM에 SSH 블러브 체크를 실행하도록 했습니다."제한되지 않은" 탈옥에서는 iBoot 환경이 변경되어 부트 ROM 부정 이용을 실행하고 패치가 적용된 로우 레벨 부트로더 또는 커널을 해킹하여 탈옥된 커널을 SSH 검사 후에 제출할 수 있습니다.

S60 Platform 스마트폰에서도 유사한 탈옥 방법이 존재하며, HelloOX 등의 유틸리티는 서명되지 않은 코드를 실행하고 시스템 [5][6]파일에 완전히 액세스할 수 있습니다.또는 편집된 펌웨어(PlayStation [7]Portable에 사용되는 M33 해킹된 펌웨어와 유사)를 사용하여 서명되지 않은 코드에 대한 제한을 회피합니다.노키아는 애플과 비슷한 방식으로 무단 탈옥을 막기 위한 업데이트를 발표했다.

게임기의 경우 홈브루 게임을 실행하기 위해 탈옥이 종종 사용됩니다.2011년 Sony는 법무법인 Kilpatrick Stockton의 지원을 받아 PlayStation 3를 탈옥한 혐의로 21세의 George Hotz와 그룹 관계자들을 고소했습니다('Sony Computer Entertainment America v. George Hotz와 PlayStation Jailbreak' 참조).

안드로이드

Android 폰은 제조사가 관리하는 프로세스를 거치거나, 루트를 얻기 위해 악용하거나, 커스텀 리커버리를 플래시함으로써 공식적으로 뿌리를 내릴 수 있습니다.제조원에서는, 자신이 제어하는 프로세스를 루팅 할 수 있습니다.또, 기동시에 특정의 키의 편성을 누르는 것만으로 전화기를 루팅 할 수 있는 것도 있습니다.또, 자기 관리 방식도 있습니다.제조원의 방법을 사용하면, 거의 항상 디바이스가 공장 출하시 리셋 되어, 데이터를 보고 싶은 유저에게 루팅이 무효가 됩니다.또, 디바이스를 디루트 해 재플래시 해도, 보증은 영속적으로 무효가 됩니다.소프트웨어 부정 이용은 일반적으로 사용자가 액세스할 수 있는 루트 수준의 프로세스를 대상으로 합니다.이 프로세스는 전화기의 커널에 고유한 부정 이용 또는 새로운 버전에서 패치가 적용된 기존의 Android 부정 이용입니다.전화기를 업그레이드하지 않거나 의도적으로 버전을 다운그레이드합니다.

경감 전략

운영 체제 및 사용자는 다음과 같은 전략을 사용하여 권한 상승 위험을 줄일 수 있습니다.

수평

수평 권한 상승은 공격자가 일반적으로 응용 프로그램 또는 사용자로부터 보호되었을 리소스에 액세스할 수 있도록 허용할 때 발생합니다.그 결과 어플리케이션은 같은 사용자로 동작하지만 어플리케이션 개발자 또는 시스템 관리자가 의도한 것과는 다른 보안 컨텍스트를 사용합니다.이는 사실상 권한 상승의 제한된 형식입니다(특히 다른 사용자를 가장하는 기능의 무단 전제가 됩니다).

이 문제는 웹 응용 프로그램에서 자주 발생합니다.다음 예를 생각해 보겠습니다.

  • 사용자 A는 인터넷 뱅킹애플리케이션에서 자신의 은행 계좌에 액세스 할 수 있습니다.
  • 사용자 B는 동일한 인터넷 뱅킹응용 프로그램에서 자신의 은행 계정에 액세스할 수 있습니다.
  • 이 취약성은 사용자 A가 악의적인 액티비티를 수행하여 사용자 B의 은행 계정에 액세스할 수 있는 경우에 발생합니다.

이 악의적인 액티비티는 일반적인 웹 응용 프로그램의 약점 또는 취약성으로 인해 발생할 수 있습니다.

이 상태를 일으킬 가능성이 있는 웹 응용 프로그램의 취약성 또는 상황은 다음과 같습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Taimur Asad (October 27, 2010). "Apple Acknowledges iOS 4.1 Security Flaw. Will Fix it in November with iOS 4.2". RedmondPie.
  2. ^ Cyrus Peikari; Anton Chuvakin (2004). Security Warrior: Know Your Enemy. "O'Reilly Media, Inc.". p. 304. ISBN 978-0-596-55239-8.
  3. ^ James Quintana Pearce (2007-09-27), Apple's Disagreement With Orange, IPhone Hackers, paidContent.org, archived from the original on 2012-07-29, retrieved 2011-11-25
  4. ^ 보고서: 다음 iPhone 업데이트로 서드파티 앱이 파손되고 v1.1.3에서 컴퓨터 월드가 잠금 해제됩니다.
  5. ^ Phat^Trance (Feb 16, 2010). "Announcement: Forum down for maintaining". dailymobile.se. Archived from the original on March 3, 2009. Retrieved August 30, 2016. Just wanted to let you guys know that the forum is down for maintaining. It will be back online in a day or so (i kinda messed up the config files and need to restore one day old backup, so i thought why not update the entire server platform)
  6. ^ HelloOX 1.03: Symbian S60 3rd. 폰 및 Nokia 5800 Xpress Music용 원스텝 해킹
  7. ^ Symbian 서명 생략 및 완전한 시스템 권한을 가진 Nokia S60 v3에 서명되지 않은 SISX/J2ME 미드렛 설치
  8. ^ "Microsoft Minimizes Threat of Buffer Overruns, Builds Trustworthy Applications". Microsoft. September 2005. Retrieved 2008-08-04.[데드링크]
  9. ^ Smalley, Stephen. "Laying a Secure Foundation for Mobile Devices" (PDF). Retrieved 7 March 2014.