웹 애플리케이션 보안에 대해 논의할 때 다음과 같은 답변을 자주 듣습니다.
"우리는 방화벽을 사용합니다", "우리는 네트워크 취약점 검사 도구를 사용합니다", "우리는 SSL 기술을 사용합니다", “ 분기마다 침투 테스트를 실시한다”… 그러므로 “우리 애플리케이션은 안전하다”. 이것이 정말 사실인가요? 웹 애플리케이션 보안의 큰 그림을 살펴보겠습니다.
그림 2: 정보 보안 개요
엔터프라이즈 웹 애플리케이션의 각 수준에서는 보안을 보장하기 위해 다양한 기술이 사용됩니다. 클라이언트 시스템의 보안을 보호하기 위해 사용자는 기업 웹 서버에 대한 사용자 데이터 전송의 보안을 보장하기 위해 바이러스 백신 소프트웨어를 설치합니다. 통신 계층은 일반적으로 SSL(Secure Socket Layer) 기술을 사용하여 데이터를 암호화합니다. ; 기업은 방화벽과 IDS(침입 진단 시스템)/IPS(침입 방지 시스템)를 사용하여 특정 액세스만 허용하고, 방화벽이 있어도 불필요한 노출 포트와 불법 액세스를 차단합니다. 사용자에게 웹 애플리케이션에 액세스할 수 있는 권한을 부여하는 신원 인증 메커니즘입니다.
그러나 바이러스 백신 보호, 방화벽 및 IDS/IPS가 있어도 기업은 여전히 일부 트래픽이 방화벽을 통과하도록 허용해야 합니다. 결국 웹 애플리케이션의 목적은 사용자에게 서비스를 제공하는 것입니다. 보호 조치를 통해 불필요한 노출을 차단할 수 있지만, 웹 애플리케이션에 필요한 포트 80과 443은 열려 있어야 합니다. 전달되는 의사소통 부분은 선의일 수도 있고 악의적일 수도 있으며, 이를 말하기는 어렵습니다. 여기서 주목해야 할 점은 웹 애플리케이션은 소프트웨어로 구성되어 있기 때문에 분명히 버그를 포함하고 있다는 점입니다. 이러한 버그는 악의적인 사용자에 의해 악용될 수 있습니다. 웹 애플리케이션.
따라서 기업의 답변은 기업의 애플리케이션 보안을 진정으로 보장할 수 없음을 알 수 있습니다.
a. 네트워크 취약점 검색 도구는 네트워크 수준의 취약점을 분석하는 데만 사용되기 때문에, 는 애플리케이션 자체를 이해하지 못하므로 웹 애플리케이션의 보안을 완전히 향상시킬 수 없습니다.
b. 방화벽은 중요한 포트에 대한 액세스를 차단할 수 있지만 포트 80과 443은 항상 열려 있어야 하며 어느 포트인지 확인할 수 없습니다. 이 두 포트 중 통신 데이터에 선의로 액세스하는가, 아니면 악의적인 공격으로 액세스하는가?
c.SSL은 데이터를 암호화할 수 있지만 전송 중 데이터의 보안만 보호할 뿐 웹 애플리케이션 자체를 보호하지는 않습니다.
c.SSL은 데이터를 암호화할 수 있습니다. p>
d. 분기별 침투 테스트는 끊임없이 변화하는 애플리케이션을 만족시킬 수 없습니다.
액세스가 기업의 방화벽을 원활하게 통과할 수 있는 한 웹 애플리케이션은 사용자에게 예약 없이 제공됩니다. 웹 애플리케이션 자체의 보안을 강화하는 것이 웹 애플리케이션 보안의 진정한 해결책이다.