security - 기술 - owasp 위키




.NET 웹 응용 프로그램의 응용 프로그램 보안 감사? (4)

누구나 .NET Web Application의 보안 감사에 대한 제안 사항이 있습니까?

모든 옵션에 관심이 있습니다. 나는 보안 위험에 대한 나의 애플리케이션을 신중하게 조사 할 무언가를 가질 수 있기를 원합니다.

편집하다:

명확히하기 위해이 시스템은 보안을 염두에두고 설계되었습니다. 환경은 보안을 염두에두고 설정되었습니다. 나는 보안의 독립적 인 척도를 원한다. - '안전한 보안'을 원한다. ... 누군가가 1M 라인을 감사하는 데 드는 비용은 아마도 개발보다 더 비싸다. 아직 실제로 자동화 된 / 저렴한 방법이없는 것 같습니다. 귀하의 제안에 감사드립니다.

감사의 요점은 팀이 구현 한 보안을 독립적으로 검증하는 것입니다.

BTW - 응용 프로그램 / 웹 서버를 검사하기위한 여러 가지 자동화 된 해킹 / 검사 도구가 있지만, 나는 그들이 웜인지 여부에 대해 조금 걱정이됩니다.


귀하의 상황에있는 누구나 다음과 같은 옵션을 사용할 수 있습니다.

  1. 코드 검토,
  2. 도구를 사용하여 코드 기반의 정적 분석,
  3. 런타임시 응용 프로그램의 동적 분석.

Mitchel은 이미 Fortify의 사용을 지적했습니다. 실제로 Fortify는 정적 및 동적 분석 영역 인 개발을 위해 사용되는 정적 분석 도구 인 SCA 와 테스트 중에 테스트 사례가 실행될 때 애플리케이션 분석을 수행하는 PTA의 두 가지 제품을 제공합니다.

그러나 어떤 도구도 완벽하지 않으므로 오류 가능성 (플래그가 붙지 않지만 코드 기반의 일부분)과 위양성 (false negative)으로 끝날 수 있습니다. 코드 검토만으로 이러한 문제를 해결할 수 있습니다. 코드 검토는 비용이 많이 들며 조직의 모든 구성원이 보안 전문가의 눈으로 코드를 검토 할 수있는 것은 아닙니다.

시작하려면 OWASP로 시작할 수 있습니다. OWASP 개발 가이드 (3.0은 초안에 있고 2.0은 안정적이라고 생각할 수 있습니다)를 배우기 전에 보안에 대한 원칙을 이해하는 것이 좋습니다. 마지막으로, 코드 기반첫 번째 스캔 을 수행 할 준비를 할 수 있습니다.


내부 애플리케이션으로 시작한 첫 번째 작업 중 하나는 코드 기반의 보안 분석을 수행하는 Fortify와 같은 도구를 사용하는 것입니다.

그렇지 않은 경우 보안 전문 타사 회사의 서비스를 등록하여 응용 프로그램을 테스트하도록 고려할 수 있습니다


테스트 및 정적 분석은 보안 취약성을 찾는 데 매우 열악한 방법이며 설계 및 구현 프로세스 전반에 걸쳐 보안을 고려하지 않은 경우 최후의 수단입니다.

문제는 이제 응용 프로그램이 실패 할 수있는 모든 방법을 열거하고 응용 프로그램에서 수행해야 할 작업을 지정하지 않고 해당 작업을 거부하고 (방어 프로그래밍을 통해) 모든 작업을 막으려 고합니다. ). 응용 프로그램에는 잘못 될 수있는 무한한 방법이있을뿐 아니라 수행 할 몇 가지 사항이있을 수 있으므로 '기본적으로 거부'하는 방법을 사용하고 좋은 요소 만 허용해야합니다.

다시 말해서, 일반적인 취약점의 전체 클래스 (예 : OWASP는 다른 답변에서 언급 한 바와 같이)가 발생할 수있는 문제가 발생하지 않도록 컨트롤을 구축하는 것이 더 쉽고 효과적입니다. 코드의 일부 버전이 있습니다. 나쁜 물건이 없다는 것보다는 할 수있는 좋은 통제의 존재를 증명하려고 노력해야합니다.

코드 및 모든 세부 사항에 대한 완전한 액세스를 통해 누군가가 설계 및 보안 요구 사항 (정확히 당신을 보호하려는 대상)을 검토하게되면 이는 일종의 블랙 박스 테스트보다 더 가치가 있습니다. 왜냐하면 당신의 디자인이 잘못 되었다면 얼마나 잘 구현했는지는 중요하지 않을 것입니다.






web-applications