click과 .deb 패키지의 보안상의 차이점은 무엇입니까?


31

임의의 (불쾌한?) .deb를 설치하면 .deb에 설치 과정에서 사용자가 자신의 암호를 사용할 수 있는지를 묻는 구성이 있으므로 설치된 앱 과 데몬에 모든 권한을 부여하기 때문에 위험 할 수 있습니다 .

클릭 패키지에는 암호가 필요하지 않습니다 (테스트 한 한).

클릭 패키지가 시스템 / 사용자 데이터에 더 안전합니까, 아니면 동일합니까? 왜?

대답하기 좋은 몇 가지 측면 :

  • 클릭 및 deb는 동일한 시스템 (dpkg)을 기반으로합니까?
  • apparmor가 비밀번호 나 다른 수단없이 앱에 대한 루트 액세스를 제공 할 수 있습니까?
  • 설치시 (과 같은 예 :이 앱은 / home 및 액세스 네트워크를 스캔 할 수 있음) 또는 권한 이 필요한 경우 (브라우저와 같은 예 ) 앱의 액세스 권한을 수락하라는 메시지가 표시됩니다 . 캠을 사용할 권리를 묻는 것) ?
  • 이 질문에 가깝습니다. .apk와 클릭이 동일한 단어 (정책 및 사용자 사례)에 해당 합니까?
  • 주로 : 앱이 명시 적으로 알리지 않고 클릭으로 네트워크의 모든 개인 데이터를 보낼 수 있습니까? 아니면 사용자가 적어도 올바른 권한을 가지고 있거나 샌드 박스에서 차단 할 수 있습니까?
  • 클릭 패키지가 덜 강력하지만 (더 많은 것을 제한) 더 안전합니까?

태그 "click"을 추가하고 싶었지만 평판이 충분하지 않았습니다. 마지막 문장은 이탤릭체 로 추정되었다 .
cm-t

태그 click-packages는 이미 사용 가능합니다.
Pandya

NB : 클릭 패키지가 개발 중입니다. 다음 안정적인 클릭 패키지의 목표에 대한 답변이 필요합니다.
cm-t

답변:


35

참고 : Ubuntu 보안 팀에서 일하면서 Ubuntu의 응용 프로그램 제한 이야기를 디자인하는 데 도움을주었습니다. 나는 명확성을 위해 질문을 다시 한 번 말했다.

Q : "클릭 패키지가 시스템 및 사용자 데이터와 관련하여 더 안전합니까, 아니면 동일합니까?"

A : 일반적으로 클릭 패키지는 시스템 및 사용자 데이터와 관련하여 뎁보다 안전합니다.

클릭 패키지에는 deb 패키지와 같이 설치시 루트로 실행되는 관리자 스크립트가 포함되어 있지 않습니다. 클릭 패키지는 포장을 풀고 클릭으로 선언하면 시스템에서 제공 한 후크가 사용됩니다. 예를 들어 클릭은 데스크톱 후크를 사용하여 데스크톱 파일을 생성하거나 AppArmor 후크를 사용하여 앱의 AppArmor 프로파일을 생성하도록 선언 할 수 있습니다. deb 패키징에는 소프트웨어 또는 시스템을 광범위하게 사용자 정의 할 수 있도록 설계된 관리자 스크립트 개념이 있으므로 deb 패키지는 신뢰할 수있는 소스 (예 : Ubuntu와 같은 배포판의 서명 된 아카이브)에서만 설치해야합니다. 클릭 패키지가 직접 설치 될 수 있으며 패키지 설치로 인해 시스템이 손상되지 않을 수 있습니다. 그러나 이것은 이야기의 일부일뿐입니다. 신뢰할 수없는 출처에서 클릭 패키지를 설치하면,

클릭의 진정한 힘은 강력한 정책을 가진 소프트웨어 리포지토리와 함께 사용될 때입니다. 예를 들어, Ubuntu App Store에서 설치된 클릭 패키지의 보안은 일반적으로 신뢰할 수있는 아카이브에서 설치된 deb의 보안보다 높습니다. Ubuntu App Store에서 트러스트 모델은 앱이 신뢰할 수없는 것으로 간주되고 * 스토어의 클릭 패키지가 적절한 보안 매니페스트를 갖도록 엄격한 정책 하에서 실행되도록 정책 및 검사가 이루어지기 때문입니다. Ubuntu 아카이브에서 패키지를 토론하는 것과는 대조적으로-신뢰 모델은 소프트웨어 및 deb 패키징이 신뢰할 수있는 것으로 간주되며 일반적으로 소프트웨어가 제한에 따라 실행되지 않습니다 (AppArmor 프로파일이 소프트웨어와 함께 제공되는 경우는 예외가 많음) 보안 버그로부터 보호하기 위해).

  • 신뢰할 수있는 패키지는 Ubuntu App Store를 통해 제공 될 수도 있습니다. 흔하지는 않지만 일반적으로 Canonical에서 개발 한 것이며 제한에 따라 실행되거나 실행되지 않을 수 있습니다.

특정 질문에 대답하려면 다음을 수행하십시오.

Q : 클릭은 deb와 동일한 시스템을 기반으로합니까?

A : 클릭에 대한 저수준 패키지 형식은 deb입니다. 그러나 클릭 패키징은 기존 패키징 파일 및 유지 관리 스크립트 대신 선언적 매니페스트 및 후크를 사용한다는 점에서 훨씬 간단합니다.

Q : AppArmor는 사용자 개입없이 앱에 대한 특권 액세스를 제공 할 수 있습니까?

A : AppArmor는 근본적으로 강력하며 정의 된 보안 정책에 따라 시스템 리소스 (파일, DBus, 네트워킹 등)에 대한 액세스를 허용하거나 거부 할 수 있습니다. 클릭 패키지 자체는 AppArmor 보안 매니페스트를 배송하거나 '안전한'AppArmor 보안 매니페스트를 배송 할 필요가 없습니다. 시스템을 안전하게 만드는 것은 클릭 패키지를 제공하는 상점 정책과 클릭의 조합입니다. Ubuntu App Store를 통해 제공되는 클릭 패키지는 매우 제한적이고 장면 뒤에서 권한있는 작업을 허용하지 않는 AppArmor 정책을 사용합니다 (예 :이 정책으로 실행되는 앱은 시스템 뒤에서 시스템에서 프로그램을 실행할 수없고 페이스 북 계정에 액세스 할 수 없음) , gpg 또는 ssh 키를 훔치거나 네트워킹 조작 등)

Q : 설치시 Android와 같이 앱에 대한 액세스 권한을 부여하라는 메시지가 표시됩니까? (예 : "이 앱은 / home을 스캔하고 네트워크에 액세스 할 수 있습니다")

A : 아니요. 클릭 패키지 자체는 저수준 도구를 사용하여 프롬프트없이 설치할 수 있습니다. Ubuntu에서 클릭 패키지는 Ubuntu 앱 스토어를 통해 설치해야하며 (위 참조) 클릭 기능 및 Ubuntu 시스템과 결합 된 Ubuntu 앱 스토어 정책으로 인해 클릭 연결, 컨텍스트없는 설치 프롬프트가 필요하지 않습니다. Ubuntu 앱 스토어에서 설치된 앱은 제한적 제한 (즉, 배후에서 나쁜 일을 할 수 없음) 하에서 실행되기 때문에 앱에 추가 액세스가 필요한 경우 프롬프트가 포함 된 제어 된 API를 사용하므로이 작업을 수행 할 수 있습니다.

권한이있는 API의 경우, 신뢰할 수있는 도우미 개념을 통해 사용자에게 액세스를 허용하거나 거부 할 수있는 상황에 맞는 프롬프트 (선택적인 회전 가능 캐싱 포함)를 제공하므로 매번 사용자에게 요청하지 않습니다. 예를 들어 앱이 위치 서비스 (신뢰할 수있는 도우미)에 액세스해야하는 경우 앱에서 위치 서비스를 사용하려고 할 때 액세스를 허용하라는 메시지가 표시됩니다. 알려진 결정. 비디오 및 오디오 녹음에서도 마찬가지입니다. 종종 보안 프롬프트가 필요하지 않으며 앱과의 사용자 중심 상호 작용을 기반으로 액세스를 허용 할 수 있습니다. 예를 들어 앱에서 사진을 업로드하려는 경우 사진을 선택하는 대화 상자가 있습니다. 앱 뒤에서 ~ / Pictures 디렉토리에 액세스 할 수 없기 때문에 content-hub API를 사용하여 사용자가 업로드 할 사진을 선택할 수 있도록 갤러리 파일 선택기를 시작합니다. 그런 다음 content-hub는 갤러리에서 사진을 가져 와서 앱에 제공합니다. 이러한 방식으로, 보안 대화가없고, 사용자를위한 자연스러운 상호 작용 만이 있지만, 배후에는 신뢰 결정이 내재되어 있습니다.

Q :이 질문과 관련하여 : .apk 및 click은 정책 및 사용자 경험과 관련하여 유사한 언어를 사용합니까?

A : 아니요. 위에서 언급 한 이유로 설치 프롬프트가 표시되지 않습니다. 우분투에 대해 정의 된 클릭 패키지에 대한 Android 권한 및 보안 권한은 유사하지만 서로 다르고 다르게 구현됩니다.

Q : 구체적으로 클릭하면 앱이 내 개인 정보를 네트워크를 통해 전송할 수 있습니까?

A : 신뢰할 수없는 출처에서 클릭을 설치하면 무엇이든 할 수 있습니다. Ubuntu App Store에서 클릭을 설치하면 아니요, 앱은 액세스 할 수 없기 때문에 네트워크를 통해 모든 데이터를 전송할 수 없습니다. 물론 앱이 한 작업을 수행하고 다른 작업을 수행하는 것처럼 보일 수 있으므로 사용자가 위치 서비스에 대한 액세스 권한을 부여하거나 앱에 사진에 대한 액세스 권한을 부여하면 앱이 해당 데이터로 인해 악의적 일 수 있습니다. / 리뷰 및 App Store 보안 정책이 적용됩니다. 이와 같은 앱이보고되면 조사됩니다. 필요한 경우 앱이 스토어에서 제거되고 앱이 설치된 모든 디바이스에서 앱이 제거되고 개발자의 앱 스토어 액세스가 취소됩니다.

Q : 클릭 패키지는 뎁보다 안전하지만 더 제한적이므로 덜 강력하다고 말할 수 있습니까?

에이:위에서 볼 수 있듯이 대답은 그렇게 간단하지 않습니다. 클릭 자체로 모든 작업을 수행 할 수있는 소프트웨어가 제공 될 수 있습니다. 클릭 패키징 형식은 의도적으로 범용이며 여러 방법으로 사용할 수 있으며 우분투에만 국한되지는 않습니다. Ubuntu의 경우 클릭, Ubuntu API, AppArmor 및 App Store 정책의 조합은 개발자가 사람들이 안전하고 사용하기 쉬운 방식으로 응용 프로그램을 사용자에게 제공 할 수있는 매우 강력한 환경을 제공합니다. 응용 프로그램 자체의 유틸리티는 기본 시스템에서 응용 프로그램에 제공하는 API에 따라 다릅니다. 우분투 최초의 휴대 전화에서 제공 될 초기 API 세트를 통해 개발자는 풍부한 API 및 SDK를 사용하여 모든 종류의 재미 있고 유용한 애플리케이션을 만들 수 있습니다.


1
"앱이 설치된 모든 기기에서 앱이 제거됩니다 ." 이는 Canonical이 사용자의 허가없이 사용자 기기에서 원격으로 앱을 제거 할 수 있음을 의미합니까?

Ubuntu App Store에는이 기능이 있습니다. 이 기능을 사용하는 것은 악성 코드가 적극적으로 관련된 경우에만 수행 될 수 있습니다. 여전히 고려해야 할 많은 고려 사항이 있기 때문에 여기에서 정책을 지시하고 싶지 않지만 결론은 좋은 이유없이 발생해서는 안됩니다.
jdstrand

2
본인은 이것이 사용자 보안 (다른 앱 스토어도 마찬가지)임을 이해하지만 일부 사용자는 이러한 종류의 "킬 스위치 (kill switch)"를 좋아하지 않습니다. 보안상의 이유로. 개발자는 논쟁을 피하기 위해 이것을 구현하는 방법을 신중하게 고려해야한다고 생각합니다. 어쩌면 앱을 제거하는 대신 앱을 사용 중지하여 사용자가 직접 앱을 제거하거나 다시 사용하도록 설정하고 매우 중요한 경고를 제안 할 수 있습니다.

Click이 자체 종속성을 패키지하면 종속성의 보안 업데이트는 어떻습니까? bash deb가 업데이트되면 bash를 사용하는 다른 모든 패키지는 자연스럽게 새 버전을 사용합니다. 그러나 클릭 앱 패키지가 bash 인 경우 앱 개발자가 업데이트 된 bash를 포함시키지 않으면 버그가 여전히 있으며 앱 개발자가 종종 패키지를 업데이트한다고 가정합니다. 이 시나리오에서 bash는 기본 패키지가 아니라고 상상하십시오.
Hendy Irawan

너무 멋져요! 안드로이드 시스템보다 훨씬 좋습니다! 안드로이드 권한은 EULA와 같은 것이되었습니다. 읽기없이 "예"를 클릭하십시오.
Galgalesh

2

보안 및 클릭 패키지와 관련하여 가장 중요한 몇 가지 질문에 답변하려고합니다.

  • 앱에서 명시 적으로 알리지 않고 한 번의 클릭으로 네트워크의 모든 개인 데이터를 보낼 수 있습니까?

    • 클릭 앱이 제한 상태에서 실행됩니다. 이것이 의미하는 것은 앱이 나쁜 일을하는 것을 방지한다는 것입니다. 그것은 자신의 개인 디렉토리에만 접근 할 수 있습니다.
  • 앱을 설치 한 다음 루트 권한을 가질 수 있습니까? 비밀번호 나 특정 프롬프트없이?

    • ...
  • 사용자에게 앱의 권한을 수락하라는 메시지가 표시됩니까? 언제?

    • 클릭 앱은 사용자가 앱이 사용할 수있는 기능에 액세스합니다 (NB : 아직 현재 / 매일 Ubuntu Touch 릴리스에서 프롬프트가 표시되지 않음) .
  • 클릭과 deb 모두 동일한 시스템을 기반으로합니까?

    • 데비안 (.deb) 패키징은 완전히 다릅니다. 그러나 앱이 Ubuntu SDK로 제작 된 경우 데비안 패키징을 사용할 필요가없고 클릭 패키징을 사용할 수 있습니다. 클릭 패키징을 사용하면 최종 사용자에게 훨씬 사용하기 쉽고 훨씬 안전합니다.
  • 위와 유사하게 비교하려면 .apk (Android)와 클릭이 같은 방식으로 작동합니까?

    • Android 패키지와 Ubuntu Click 패키지는 비슷한 방식으로 작동합니다. 각 응용 프로그램에는 데이터를 저장할 자체 공간이 있고 다른 응용 프로그램의 데이터에 직접 액세스하는 것이 (이상적으로) 금지되어 있습니다. 현재 Android 패키지는 액세스 제한이없는 SD 카드 또는 내부 저장소에서 데이터를 읽을 수도 있습니다. Ubuntu Click 패키지는 특정 기능에 대한 권한을 요청해야합니다.
  • 클릭 패키지는 덜 강력하지만 (더 많은 것을 제한) 더 안전합니까?

    • ...

이러한 이유로 Click 패키지는 매우 안전 하며이를 게시하기위한 검토 프로세스가 훨씬 간단합니다.

출처 :


최고라고 생각하는
cm-t
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.