2009-06-04 2 views
12

들어 본 적이없는 사람이 Ruby gem을 설치하려고했습니다. 그러나 무언가가 나를 "이 녀석은 누구인가?"라고 생각하게했습니다. Ruby gem이 개인 데이터에 액세스하여 다른 곳으로 전송할 위험이 있습니까? 보석 시스템에 인터넷이 연결되어 있기 때문에? 아니면 이것에 대한 보호가 있습니까?루비 보석이 트로이처럼 행동 할 위험이 있습니까?

답변

16

물론 있습니다. 그것을 호출하는 스크립트/사용자의 권한으로 실행되는 소프트웨어를 컴퓨터에 설치하고 있습니다. 순수 Ruby에서 바이너리 패키지보다 악성 코드를 발견하는 것이 더 쉽습니다. 그러나 소스 검사가 악의적 인 코드를 탐지하는 확실한 방법이라고 생각한다면 under-handed C contest을 확인하십시오.

그렇다면 악성 코드를 작성하려면 Ruby 보석보다 효과적인 전달 시스템이 필요합니다. 현존하는 실제 악성 보석의 수가이 하나가 악성 일 가능성도 마찬가지로 0입니다 0, 따라서 경우에 나는 ... 놀라지 않을 것

참조 : 나는 위의 포스터에 동의 http://rubygems.org/read/chapter/14#page61

+0

감사합니다 - > "네트워크에서 자동으로 다운로드되는 보석을 어떻게 믿을 수 있습니까? 당신이 설치할 수있는 다른 모든 코드를 신뢰할 수있는 것과 같은 방법입니다. (궁극적으로 당신은 할 수 없습니다.)" – Hola

+1

아마도 의도적으로 극소수 (또는 0) 악의적 인 보석이지만 보안 허점이있는 제대로 작성되지 않은 보석이 많이 있습니다. 중요한 RoR 보안 구성 요소의 끔찍한 구멍이 정기적으로 게시되는 Ruby on Rails 보안 블로그를 읽어보십시오. 젬을 추가하기 전에 두 번 생각하고 보안 코드의 품질에 대한 설명을 얻기 위해 항상 간단한 설명을 한 번 해보십시오. –

+0

"보안 구멍이있는 잘 쓰지 않은 보석"- 보석, 응용 프로그램, 운영체 ... –

3

알 수없는 로직을 응용 프로그램에 가져올 때마다 의 위험이 있습니다. 위험은 해당 응용 프로그램이 액세스 할 수있는 데이터만큼 깊습니다. Java 애플릿이 샌드 박싱되는 방식처럼.

신뢰할 수있는 서명 된 패키지 또는 소스를 확인하십시오.

1

존재하는 악의적 인 보석의 확률은 0입니다. 악의적 인 보석을 사용할 위험은 언제나 있습니다. 편집증에 빠져 있지만 여전히 일을 끝내십시오.

+1

나는 그가 제공하는 링크가 귀하의 의견을 뒷받침한다고 생각합니다 : http://rubygems.org/read/chapter/14#page61 – Hola

2

내가 악의적 인 보석 발생 가능성을 처리하고 싶다면 악의적 인 패키지가 어떤 언어 (예 : Python egs 또는 Perl 's CPAN)에서 발견되었는지, 얼마나 가능성이 있는지 루비가 다른 언어보다 더 큰 위험에 처해 있는지 여부를 알아 채지 못한 채 악성 패키지가 생성되었습니다.

신뢰 웹을 생성 할 수 있는지 알 수 있습니다. 보석 작성자를 모르는 경우에도 내가하는 사람을 알고 있습니까?

데비안과 같은 패키지 관리자가 패키지가 악성인지 여부를 검사 할 수도 있습니다. 그렇다면 패키지가 악의적인지 여부도 검사 할 수 있습니다. 그렇다면 사용하려는 보석을 검사했는지 여부도 검사 할 수 있습니다.

1

저는 두 그룹의 보석이 있다고 믿습니다.

처음에는 "잘 알려진 보석"인데, 우연히도 bigests이고 더 많은 경우 (때로는 내 기술에 대해 모호함) 코드/논리입니다. 그러나 그 보석은 많은 다른 개발자들에게 재검토됩니다.

그런 다음 "마이너 젬"(널리 사용되거나 확산되지 않는 의미)이 있습니다. 이 보석은 낮은 버전, 베타 상태 등을 사용합니다.

나의 엄지 손가락 규칙 : 저는 첫 번째 그룹을 신뢰하고 보석의 두 번째 그룹에서 내가 할 수있는 모든 코드를 읽습니다.

내 시스템에서 모든 젬의 코드를 읽을 시간이 없기 때문에 완전히 사실이 아니지만, 메소드 호출을 이해해야 할 때마다 또는 특정 함수 구현되어 저를 몰아 냄으로써, 거의 항상 최소한 2-3 개의 소스 파일을 읽습니다.

특정 기능을 설치하려면 github을 검색하고 구현, 포크 및 개발자 수, 활동 (커밋 횟수 및 빈도) 등을 검토해야합니다.

그건 그렇고, 나는 보석을 신뢰하고, 의도적으로 해를 끼치 지 않았지만 나쁜 구현과 보안 허점을 찾지 못했기 때문에 보석을 신뢰합니다. 링크에 대한

+0

좋은 접근법. – Hola

관련 문제