다음을 통해 공유


보안 클라이언트 응용 프로그램(ADO.NET)

업데이트: November 2007

일반적으로 응용 프로그램은 데이터 손실을 야기하거나 시스템을 손상시킬 수 있는 취약성으로부터 보호되어야 하는 다양한 부분으로 구성됩니다. 안전한 사용자 인터페이스를 만들면 공격자가 데이터나 시스템 리소스에 액세스하기 전에 이를 차단함으로써 여러 가지 문제를 예방할 수 있습니다.

사용자 입력 유효성 검사

데이터에 액세스하는 응용 프로그램을 만들 경우 유효성이 입증되기 전에는 모든 사용자 입력을 악의적인 것으로 간주해야 합니다. 그렇지 않으면 응용 프로그램이 공격에 취약해질 수 있습니다. .NET Framework에서는 입력할 수 있는 문자 수를 제한하는 등 입력 컨트롤에 대한 값 범위를 설정할 수 있게 해 주는 클래스가 포함되어 있으며, 값의 유효성을 검사하는 프로시저를 작성하기 위한 이벤트 후크도 제공합니다. 사용자 입력 데이터에 대해 유효성을 검사하고 강력한 형식을 지정함으로써 응용 프로그램이 스크립트나 SQL 삽입 공격에 노출되지 않도록 할 수 있습니다.

보안 정보:

클라이언트 응용 프로그램뿐만 아니라 데이터 소스에서도 사용자 입력의 유효성을 검사해야 합니다. 공격자가 응용 프로그램에 침투하여 데이터 소스를 직접 공격하는 방식을 선택할 수도 있습니다.

Windows 응용 프로그램

예전에는 일반적으로 Windows 응용 프로그램이 모든 권한으로 실행되었습니다. .NET Framework에서는 CAS(코드 액세스 보안)를 사용하여 Windows 응용 프로그램에서의 코드 실행을 제한하는 인프라를 제공합니다. 하지만 CAS만으로는 응용 프로그램을 보호하기에 부족합니다.

ASP.NET 및 XML Web Services

ASP.NET 응용 프로그램은 일반적으로 웹 사이트의 특정 부분에 대한 액세스를 제한하고 데이터 보호 및 사이트 보안을 위한 기타 메커니즘을 제공해야 합니다. 다음 링크에서는 ASP.NET 응용 프로그램 보안에 관련된 유용한 정보를 제공합니다.

XML Web service는 ASP.NET 응용 프로그램, Windows Forms 응용 프로그램 또는 다른 웹 서비스에서 사용할 수 있는 데이터를 제공합니다. 따라서 클라이언트 응용 프로그램의 보안뿐만 아니라 웹 서비스 자체의 보안도 관리해야 합니다.

자세한 내용은 다음 리소스를 참조하십시오.

리소스

설명

ASP.NET 웹 사이트 보안

ASP.NET 응용 프로그램의 보안을 유지하는 방법을 설명합니다.

ASP.NET을 사용하여 만든 XML Web services에 보안 설정

ASP.NET 웹 서비스의 보안을 구현하는 방법을 설명합니다.

스크립트 악용 개요

악의적인 문자를 웹 페이지에 삽입하려고 시도하는 스크립트 기반 공격을 차단하는 방법에 대해 설명합니다.

ASP.NET 웹 응용 프로그램의 기본 보안 방법

일반 보안 관련 정보와 추가 정보에 대한 링크를 제공합니다.

원격 통신

.NET Remoting을 사용하면 응용 프로그램 구성 요소가 모두 한 컴퓨터에 있는지 또는 전 세계에 분산되어 있는지 여부에 관계없이 다양한 영역에 배포되는 응용 프로그램을 쉽게 만들 수 있습니다. 동일한 컴퓨터의 다른 프로세스 또는 네트워크를 통해 연결할 수 있는 다른 컴퓨터의 프로세스에 있는 개체를 사용하는 클라이언트 응용 프로그램을 만들 수 있습니다. 또한 .NET Remoting을 사용하면 동일한 프로세스에 있는 다른 응용 프로그램 도메인과 통신할 수도 있습니다.

리소스

설명

원격 응용 프로그램 구성

자주 발생하는 문제를 피할 수 있도록 원격 응용 프로그램을 구성하는 방법에 대해 설명합니다.

원격 서비스의 보안

인증 및 암호화에 대해 설명하고 원격 통신과 관련한 추가 보안 항목을 제공합니다.

보안 및 원격 서비스 고려 사항

보호되는 개체 및 응용 프로그램 도메인 간의 보안 문제에 대해 설명합니다.

참고 항목

개념

데이터 액세스 전략 권장 사항

응용 프로그램 보안

연결 정보 보호(ADO.NET)

기타 리소스

ADO.NET 응용 프로그램 보안