무제한 파일 업로드 문제는 공격 자체가 아니라 공격자가 응용 프로그램 및 네트워크 리소스에 쉽게 액세스할 수 있는 일반적인 상황 또는 상태입니다. 당신은 추위에 젖은 옷을 걷고 같은 종류의 생각할 수 있습니다. 그 일을 하는 동안 반드시 그 자체로 아프게 하지 않습니다.
사이버 보안에서 공격자는 무제한 파일 업로드를 지원할 수 있는 모든 응용 프로그램 또는 프로그램을 빠르게 악용할 수 있습니다. 그리고 결과는 파괴적 일 수 있습니다. 영리한 공격자는 무제한 액세스를 사용하여 악의적인 파일을 업로드하거나, 스크립트를 설정하여 자격 증명을 훔치거나, 응용 프로그램의 자체 권한을 사용하여 네트워크에 더 깊은 공격을 시작할 수 있습니다. 비교적 정교하지 않은 공격자조차도 이러한 종류의 자유로운 액세스를 사용하여 서비스 거부 공격을 수행하거나 응용 프로그램을 충돌시킬 수 있습니다.
고맙게도, 자신의 트랙에서 공격자가 될 것입니다 중지됩니다 무제한 파일 업로드 문제를 정복하는 몇 가지 방법이 있습니다. 이를 위해 무제한 파일 업로드의 세 가지 주요 측면에 대해 설명합니다.
작동 방식 왜 그렇게 위험합니까? 방어를 막기 위해 어떻게 방어할 수 있을까요?
공격은 무제한 파일 업로드를 악용하는 방법은 무엇입니까? 사이트가 대중이 파일을 업로드하도록 허용하는 데는 여러 가지 이유가 있습니다. 아마도 회사는 사람들을 고용하고자하며 응용 프로그램 프로세스의 일환으로 이력서를 업로드 할 수 있도록하고 싶을 것입니다. 은행은 고객이 대출 이나 새 계좌를 신청할 때와 같은 중요한 서류를 집에서 작성하도록 권장할 수 있습니다. 관광 또는 소셜 미디어 사이트는 사용자가 다른 사람들과 공유하기 위해 사진을 업로드하도록 초대할 수 있습니다.
파일 업로드를 허용하는 데는 여러 가지 타당한 이유가 있습니다. 기본적으로 대부분의 새 응용 프로그램은 제한 없이 모든 유형의 파일 업로드를 허용할 것입니다. 문제가 발생할 수 있는 공격자가 해당 업로드에 제한이 없음을 알면 문제가 발생합니다.
세 가지 유형의 공격에 대한 주제 사이트를 업로드하는 데 제한이 없습니다. 가장 정교한 것부터 시작하여 악의적인 사용자는 수백 기가바이트의 정보가 포함된 지퍼 아카이브와 같은 거대한 파일을 업로드하기만 하면 됩니다. 대역폭을 질식하는 것 외에도 응용 프로그램에 할당된 저장소 영역을 과부하시킬 수 있습니다.
다음으로 악명 높은 사다리에 바이러스 또는 랜섬웨어 같은 더 사악한 뭔가 같은 악성 파일을 업로드 하는 사용자. 이것은 특히 당신의 가정에 뱀파이어를 초대해야하는 그 오래된 미신처럼. 누군가가 자유롭게 들어올 수 있다는 표지판을 어울린다면 무제한 파일 업로드가 있는 것과 같습니다. 당신은 더 이상 문을 통해 오는 것을 제어하지 않습니다, 당신은 아마 모든 방문자, 또는 파일이 양성 될 것이라고 예상해야한다. 그들 중 일부는 괴물일 지도 모릅니다.
마지막으로 숙련된 공격자는 무제한 업로드를 사용하여 네트워크에 대한 발판을 마련하여 더 깊은 공격을 할 수 있습니다. 누군가가 업로드할 수 있는 것에 대한 제한이 없으므로 공격자는 해당 프로세스를 통해 자체 웹 셸을 보낼 수 있습니다. 그 후 셸에 명령을 보낼 수 있으며 이러한 명령은 응용 프로그램과 동일한 권한 수준으로 서버에서 실행됩니다.
무제한 파일 액세스가 그렇게 위험한 이유는 무엇입니까? 무제한 파일 액세스로 응용 프로그램을 배포하는 것은 즉시 위험하지않지만 기본적으로 사이버 보안 방어에 구멍을 열고 조직을 공격하도록 사람을 초대하는 것과 같습니다. 조만간 누군가가 응답할 것입니다.
가장 기본적인 수준에서 공격자는 혼란을 일으키기 위해 많은 기술이 필요하지 않습니다. 단순히 매우 큰 파일을 압축하고 업로드하는 것만으로도 유효한 사용자에게 서비스를 거부하기에 충분할 수 있습니다. 시간이 지남에 따라 앱이 프로그래밍되고 네트워크로 연결되는 방식에 따라 응용 프로그램 또는 전체 사이트가 충돌할 수도 있습니다.
무제한 파일 액세스가 있으면 네트워크 방화벽 및 기타 보호를 통해 구멍이 열릴 수도 있습니다. 공격자가 핵심 네트워크에 맬웨어를 직접 업로드할 수 있는 경로를 만든 경우 들어오는 전자 메일이나 직원 웹 브라우징 활동을 보고 있는 스캐너가 있는 경우에는 문제가 되지 않습니다. 악성 코드는 응용 프로그램 또는 실행 중인 서버를 충돌할 수 있습니다., 비록 그것은 아마 최고의 결과. 최악의 경우 랜섬웨어와 같은 악의적인 프로그램은 손상된 서버를 사용하여 전체 네트워크로 확산될 수 있습니다.
무제한 파일 액세스가 있는 응용 프로그램을 악용할 때 더 숙련된 공격자가 그렇게 명확하지 않을 것입니다. 대신 취약점을 사용하여 응용 프로그램을 손상시키고 이를 사용하여 네트워크에 더 깊이 침투하여 천천히 이동하고 탐지를 방지할 수 있습니다. 웹 셸 또는 다른 .exe 유형 파일을 업로드한 다음 명령이 도착하면 직접 명령을 전송하여 수행할 수 있습니다. 사용자가 셸을 통해 실행하는 모든 항목은 일반적으로 서버에서 실행되며 응용 프로그램을 호스팅하는 응용 프로그램에 대해 설정된 권한 수준을 사용합니다. 서버로 이러한 명령은 응용 프로그램에서 오고 있으며 추가 검사 또는 검사될 가능성이 없습니다.
이 모든 것들은 무제한 파일 액세스 취약점을 네트워크에 가지고 있는 가장 위험한 취약점 중 하나입니다. 그것은 아마 문제가 발생할 것입니다 경우의 문제가 아니다, 하지만 때.
무제한 파일 액세스 취약점을 제거하려면 어떻게 해야 합니까? 그렇다면 무제한 파일 액세스 문제를 어떻게 해결할 수 있습니까? 가장 쉬운 방법은 업로드할 수 있는 파일 유형에 하나 또는 여러 가지 제한을 추가하는 것입니다. 예를 들어 사이트가 Word 또는 text 파일만 수락하거나 그림 공유 사이트의 경우 .jpgs 또는 .gif만 수락한다고 말하는 경우 사용자에게 전달될 수 있습니다. 백 엔드에서 허용 가능한 파일 확장의 화이트리스트를 만든 다음 다른 모든 것을 거부해야 합니다. 파일 이름의 최대 길이에도 제한을 두어야 합니다. 파일에 실행 명령을 트리거하려는 시도를 나타낼 수 있는 특수 문자가 있는 경우 마찬가지로 거부해야 합니다.
파일 형식 및 명명 규칙 외에도 각 파일의 최대 크기를 제한하려는 것입니다. 최대 크기는 응용 프로그램이 수집해야 하는 파일 유형에 합당하고 적절한 것이어야 합니다. 즉, 워드 파일에 대한 10 메가 바이트 정도의 캡과 그래픽 파일에 대한 아마도 약 50 메가 바이트, 조금 더 큰 무언가를 의미 할 수있다. 최소 파일 크기 규칙을 설정할 수도 있지만 예상 파일의 크기 범위가 잘 알려진 경우에만 사용자가 특정 양식을 작성하고 업로드하는 경우일 수 있습니다.
공격자는 여전히 파일 유형 및 크기 제한을 지나 쉘 또는 잠재적으로 악의적 인 프로그램을 몰래 하는 영리한 방법을 찾을 수 있습니다. 보정하려면 수집된 파일을 실행 권한이 없는 개인 디렉터리에 항상 저장해야 합니다. 보안을 추가하려면 시스템에서 파일을 일련의 임의 문자로 바꿀 수 있습니다. 이렇게 하면 권한이 없는 사용자가 네트워크 외부에서 업로드된 파일의 위치를 검색하지 못하게 되어 네트워크에 약간의 회인이 발생할 수 있습니다. 그러나 이렇게 하려면 임의의 파일 이름을 원래 지정에 연결하는 테이블을 설정하고 유지 관리해야 할 것입니다.
마지막으로, 업로드를 통해 네트워크에 도착하는 모든 항목은 조직에서 해당 작업에 사용하는 방어 프로그램에 의해 맬웨어 및 바이러스에 대해 검색해야 합니다. 이 모든 것을 잡을 수 없습니다., 하지만 파일 업로드를 통해 입력 하려고 가장 일반적인 악성 파일의 최대 90% 이상 을 감지 하는 데 사용할 수 있는 보안의 중요 한 계층.
무제한 파일 업로드 문제 제한 백엔드에 여러 계층의 보안 계층이 배치되면 무제한 파일 업로드 문제가 문제가 되지 않습니다. 기본적으로 파일 업로드에 제한을 두어 문제를 제거하고 있으므로 더 이상 제한되지 않습니다. 모든 뱀파이어와 악성 코드는 추위에 남아있는 동안 만 좋은 파일은 내부에 허용됩니다.
추가 읽기를 위해, OWASP 무제한 파일 업로드 방지 치트 시트를 살펴 볼 수 있습니다., 이러한 종류의 상황이 네트워크에서 허용 될 때 가장 일반적인 문제 중 일부를 설명 하는. 또한 새로운 방어 지식을 테스트에 넣을 수 있습니다. Secure Code Warrior 사이버 보안 팀이 궁극적인 사이버 전사가 될 수 있도록 하는 플랫폼. 이 취약점을 물리치는 것에 대해 자세히 알아보려면 Secure Code Warrior 블로그 .지금 이 취약점을 해결할 준비가 되었다고 생각하십니까? 전장으로 가서 기술을 테스트하십시오.