본문 바로가기

Security/Hacking & Security

[보안 해킹] 홈페이지 개발 보안 - 버퍼 오버플로우

[보안 해킹] 홈페이지 개발 보안 - 버퍼 오버플로우



■ 취약점 설명

    - 정수형 변수의 오버플로우는 정수값이 증가하면서, Java에서 허용된 가장 큰 값보다 더 커져서 실제 저장되는 값은 의도하지 않게 아주 작은 수이거나 음수가 될 수 있는 취약점


■ 보안대책

    ⑴ 언어/플래폼 별 정수타입의 범위를 확인하여 사용 정수형 변수를 연산에 사용하는 경우 결과 값의 범위 체크하는 모듈사용

    ⑵ 외부 입력 값을 동적으로 할당하여 사용하는 경우 변수의 값 범위를 검사하여 적절한 범위 내에 존재하는 값인지 확인


■ 코드예제

    - 다음의 예제는 외부의 입력)args[0], args[1])을 사용하여 동적으로 계산한 값을 배열의 크기(size)를 결정하는데 사용되어, 외부 입력으로부터 계산된 값(size)이 오버플로우에 의해 음수값이 되면 배열의 크기가 음수가 되어 시스템에 문제가 발생될 수 있는 코딩


    - 동적 메모리 할당을 위해 크기를 사용하는 경우 그 값이 음수가 아닌지 검사하여 버퍼 오버플로우를 예방하는 형태로 코딩






※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기