- thebaleuncoding
Visual Studio SDL 검사? 이렇게 해결하자!
Visual Studio SDL 검사
Visual Studio 프로젝트를 만들다 보면 SDL 검사를 체크하는 부분이 있다. SDL은 Security Development Lifecycle의 약자로, 소프트웨어 보안 개발 방법을 제공해주는 보안 프로세스이다. SDL을 사용하게 되면 오류와 같은 추가적인 보안 경고와 보안 코드 생성 기능이 추가된다. SDL을 추가함으로써 소프트웨어의 유지 비용이 줄어들고, 보안 관련 버그에 관한 소프트웨어의 신뢰성이 높아진다.
scanf()
scanf()는 user의 input 값을 메모리에 쓰는 함수이다. 메모리에 접근 및 쓰기가 가능한 함수는 버퍼 오버플로우(Buffer Overflow) 같은 공격에 취약하다. 일정 크기의 버퍼가 메모리에 할당되어 있는데, 이 메모리 영역을 벗어날 정도의 크기를 입력하면 다른 메모리 영역을 침범하게 된다. 이를 버퍼 오버플로우 공격이라고 하는데, 이렇게 되면 다른 메모리 영역에 접근이 가능하게 되고, 이를 통해 알면 안 되는 정보가 노출될 수도 있다.


scanf() 함수를 사용했을 때 위와 같이 컴파일 에러가 발생하는 경우가 있다.scanf() 문법에 이상이 없음에도 불구하고 에러가 발생했을 때는 대부분 프로젝트 생성시 SDL 검사 해제를 안 했기 때문이다.
그렇다면 이 문제를 어떻게 해결할까?
#VisualStudioSDL검사이렇게해결하자!에 대해 더 알아보고 싶나요?
아래 링크로 이동하세요.