무결성 검사없는 코드 다운로드

신뢰할 수 없는 코드를 실행하면 응용 프로그램이 손상되고 사용자가 올바르게 작동하지 않을 수 있습니다. 이 코드는 액세스한 외부 도메인이 의도한 도메인인지 확인하지 않습니다. 공격자는 외부 도메인 이름이 잘못된 데이터베이스에 대한 정보를 제공하는 공격 서버로 확인될 수 있습니다. 그런 다음 공격자는 실제 사용자 로그인 시도에서 사용자 이름과 암호화된 암호를 훔치거나 실제 사용자 계정 없이 응용 프로그램에 액세스할 수 있도록 허용할 수 있습니다. CheckMarx에 의한 코드 스캔 및 «무결성 검사 없이 코드 다운로드» 문제가 발생했습니다. 공격자가 신뢰할 수 없는 코드에 영향을 줄 수 있는 경우 실행 시 공격자에게 중요한 파일에 대한 액세스 권한을 제공할 수 있습니다. 편리하게는 무결성 검사가 없습니다. 소프트웨어의 자동 업데이트와 같이 다운로드할 코드를 제공하는 경우 코드에 대한 암호화 서명을 사용하고 다운로드 클라이언트를 수정하여 서명을 확인합니다. 구현에 CWE-295, CWE-320, CWE-347 및 관련 약점이 포함되어 있지 않은지 확인합니다. DNS 스푸핑을 감지하지 못하고 호스팅 사이트에서 코드가 수정되는 것을 방지하지 않으므로 부분적인 솔루션일 뿐입니다. 파일(및 해당 소프트웨어)의 무결성을 확인하는 두 가지 주요 방법은 암호화 해시및 디지털 서명입니다. 암호화 해시는 본질적으로 멋진 체크섬입니다.

체크섬과 달리 동일한 해시를 가진 두 개의 문서를 찾기가 매우 어렵습니다. 예를 들어 공격자는 코드에 백도어를 추가한 다음 추가 주석이나 빈 코드를 추가하여 해시에 맞출 수 없습니다. 이것은 더 이상 MD5에 대해 완전히 사실이 아닐 수도 있지만 MD5조차도 여전히 «꽤 좋은»이며 특정 조건이 충족되는 경우에만 이 시점에서 악용됩니다. 소프트웨어가 운영 체제 및 네트워크와 상호 작용할 때 소프트웨어의 프로세스를 검사하는 모니터링 도구를 사용합니다. 이 기술은 소스 코드를 사용할 수 없거나 소프트웨어가 개발되지 않았거나 빌드 단계에서 새로운 약점이 없는지 확인하려는 경우에 유용합니다. 예를 들어 실행 중인 프로세스에 직접 연결하는 디버거가 있습니다. 트러스 (솔라리스) 및 추적 (리눅스)와 같은 시스템 호출 추적 유틸리티; FileMon, RegMon, 프로세스 모니터 및 기타 Sysinternals 유틸리티(Windows)와 같은 시스템 활동 모니터; 네트워크 트래픽을 모니터링하는 스니퍼 및 프로토콜 분석기와 함께 사용할 수 있습니다. 공격자는 호스트 서버를 손상시키거나 DNS 스푸핑을 수행하거나 전송 중에 코드를 수정하여 악성 코드를 실행할 수 있습니다. 이 코드는 로드된 클래스가 클래스의 체크섬을 확인하는 것과 같은 의도된 클래스인지 확인하지 않습니다. 공격자는 악성 코드를 실행하기 위해 클래스 파일을 수정할 수 있습니다. 전송하기 전에 신뢰할 수 있는 암호화 체계로 코드를 암호화합니다.

이 문제는 부분적으로 디지털 서명을 사용하여 해결됩니다.

Marcar el Enlace permanente.

No se admiten más comentarios