featur

[.net] C# 보안 권장 사항 본문

개발/.NET

[.net] C# 보안 권장 사항

featur 2015. 11. 4. 11:34

 

 

 

 

[.net] C# 보안 권장 사항

 

 


다음 목록은 잠재적인 보안 문제를 빠짐없이 기록한 것은 아닙니다.

C# 개발자와 관련된 몇 가지 일반적인 문제를 중점적으로 설명합니다.

 

•checked 키워드를 사용하여 정수 계열 형식의 산술 연산 및 변환에 대한 오버플로 검사 컨텍스트를 제어해야 합니다.


•매개 변수에 대해서 항상 가장 제한적인 데이터 형식을 사용해야 합니다. 예를 들어 메서드에 데이터 구조의 크기를 설명하는 값을 전달하는 경우 정수 대신 부호 없는 정수를 사용합니다.


•파일 이름을 기준으로 결론을 내리지 말아야 합니다. 파일 이름은 서로 다른 여러 가지 방식으로 표현할 수 있으며 특정 파일에 대한 테스트를 건너뛸 수 있습니다.


•암호나 기타 중요한 정보를 절대로 응용 프로그램에 하드코딩하지 말아야 합니다.


•SQL 쿼리를 생성하는 데 사용되는 입력에 대해서 항상 유효성을 검사해야 합니다.


•메서드에 대한 모든 입력에 대해서 유효성을 검사해야 합니다. System.Text.RegularExpressions 네임스페이스에서 정규식 메서드는 전자 메일 주소와 같이 입력 값의 형식이 올바른지 확인하는 데 유용합니다.


•예외 정보를 표시해서는 안 됩니다. 이러한 정보는 공격자에게 중요한 단서를 제공할 수 있습니다.


•가능한 한 최소한의 권한으로 응용 프로그램이 실행되도록 해야 합니다. 사용자가 관리자로 로그인해야 하는 응용 프로그램의 수는 많지 않습니다.


•사용자 고유의 암호화 알고리즘을 사용해서는 안 됩니다. System.Security.Cryptography 클래스를 사용합니다.


•어셈블리에 강력한 이름을 부여합니다.


•중요한 정보를 XML이나 기타 구성 파일에 저장하지 말아야 합니다.


•네이티브 코드를 래핑하는 관리 코드를 주의 깊게 검사해야 합니다. 네이티브 코드가 안전한지 확인하십시오.


•응용 프로그램 외부에서 전달된 대리자를 사용할 때는 주의를 기울여야 합니다.


•어셈블리에서 Visual Studio 코드 분석 도구를 실행하면 Microsoft .NET Framework 디자인 지침을 준수하는지 확인할 수 있습니다. 이 도구는 200가지 이상의 코드 결함을 찾아 경고할 수도 있습니다. 자세한 내용은 관리 코드 오류 검색 및 수정을 참조하십시오.

 

 

http://msdn.microsoft.com/ko-kr/library/ms173195(v=vs.90).aspx

 

 

'개발 > .NET' 카테고리의 다른 글

[.net] VS visual studio 단축키  (0) 2015.11.04
[.net] c# Dictionary 사용법  (0) 2015.11.04
[.net] Web.config  (0) 2015.11.04
[.net] c# ? , ??  (0) 2015.11.04
[.net] Global.asax Events  (0) 2015.11.02

Comments