2014-05-14 2 views
0

다른 프로젝트 (복제본)의 코드를 기반으로 기술적으로 프로젝트를 시작하고 싶습니다. 예 : 포럼이나 온라인 상점, 뭐든간에. 나는 코드베이스를 살 것이다. 그러나 개발자/판매자가 원격으로 뭔가를 조작 할 수 있다는 이론적 인 가능성이 있습니다. 그가 원하는 경우 고객 데이터베이스를 내보내거나 코드를 사용하여 파일을 변경/삭제하고 코드를 쓸모 없게 만듭니다.외부/구매 코드의 부작용을 방지하기위한 전략은 무엇입니까?

이런 경우 자신을 방어하기위한 전략 (모범 사례 일 수 있음)은 있습니까?

+1

국가에 따라, 아마도 법에 위배 될 수 있습니다. – Barmar

+3

코드를 완전히 검토하지 않으면 확신 할 수 없으며 라이브러리에 아주 미묘한 백도어가있을 수 있습니다 (특히 큰 경우). 당신은 공급 업체를 신뢰하거나 그렇지 않습니다. –

+0

@ Barmar의 의견에 이어 귀하의 국가에서만 구매를 고려할 수 있으므로 파울을 발견하면 합법적 인 법적 조치를 취할 수 있습니다. – halfer

답변

0

유일하게 실행 가능한 옵션은 그러한 보안 결함을 발견 할 능력이있는 사람이 코드를 검토하는 것입니다. 이것은 결코 싼 과정이 아니며 성공을 보장하지도 않습니다.

안전한 것으로 설계된 코드를 작성하고 검토하는 팀조차도 가능한 모든 보안 구멍을 채우지 못하고 결국 일부 해커가 이러한 구멍을 찾아 악용합니다. 예를 들어 OpenSSL의 heartbleed 버그를 생각해보십시오.

악의적 인 의도를 가진 개발자이거나 다른 좋은 코드를 공격하는 해커 인 경우에도 동일한 접근 방식이 적용됩니다. 고객 DB가 다운로드되는 것을 방지하려면 자체 보안 기능을 가진 별도의 레이어에 배치하십시오. DB 서버가 한 번에 하나의 고객에게만 웹 응용 프로그램을 제공하고 목록을 제공하지 않으면 전체 db를 다운로드하는 것이 매우 어렵습니다.

해커는 서버에서 코드를 변경하고 삭제할 수 있습니다. 이를 줄이기 위해 트립 와이어 시스템을 사용하여 이러한 변경 사항을 감지해야만 간단한 백업에서 코드를 복원 할 수 있습니다.

관련 문제