목록자격/SW보안약점진단원 (73)
IgnatiusHeo
작성일: 230704 ※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다. 정리 내용: 소프트웨어 보안약점 진단 가이드(445~453p) 구분 - 코드오류 설계단계 개요 프로그램의 자원, 예를 들면 열린 파일디스크립터(Open File Descriptor), 힙 메모리(Heap Memory), 소켓(Socket) 등은 유한한 자원이다. 이러한 자원을 할당받아 사용한 후, 더 이상 사용하지 않는 경우에는 적절히 반환하여야 하는데, 프로그램 오류 또는 에러로 사용이 끝난 자원을 반환하지 못하는 경우이다. 진단 세부사항 (설계단계) 보안대책 (구현단계) 자원을 획득하여 사용한 다음에는 반드시 자원을 해제하여 반환한다. 진단방..

작성일: 230706 ※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다. 정리 내용: 소프트웨어 보안약점 진단 가이드(433~444p) 구분 - 입력데이터 검증 및 표현 설계단계 - 보안기능 입력값 검증 https://cryptocurrencyclub.tistory.com/97 개요 널 포인터(Null Pointer) 역참조는 ‘일반적으로 그 객체가 널(Null)이 될 수 없다’라고 하는 가정을 위반했을 때 발생한다. 공격자가 의도적으로 널 포인터 역참조를 발생시키는 경우, 그 결과 발생하는 예외 상황을 이용하여 추후 공격을 계획하는 데 사용될 수 있다. 진단 세부사항 (설계단계) ① 사용자의 역할, 권한을 결정하는 ..
작성일: 230706 ※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다. 정리 내용: 소프트웨어 보안약점 진단 가이드(429~432p) 구분 - 에러처리 설계단계 개요 프로그램 수행 중에 함수의 결과값에 대한 적절한 처리 또는 예외상황에 대한 조건을 적절하게 검사하지 않을 경우, 예기치 않은 문제를 야기할 수 있다. 진단 세부사항 (설계단계) 보안대책 (구현단계) 값을 반환하는 모든 함수의 결과값을 검사하여, 그 값이 의도했던 값인지 검사하고, 예외 처리를 사용하는 경우에 광범위한 예외 처리 대신 구체적인 예외 처리를 수행한다. 진단방법 (구현단계) 함수 또는 메소드에 대하여 반환값을 검사하고 예외를 발생시키는 경우 ..
작성일: 230706 ※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다. 정리 내용: 소프트웨어 보안약점 진단 가이드(425~428p) 구분 - 에러처리 설계단계 개요 오류가 발생할 수 있는 부분을 확인하였으나, 이러한 오류에 대하여 예외 처리를 하지 않을 경우, 공 격자는 오류 상황을 악용하여 개발자가 의도하지 않은 방향으로 프로그램이 동작하도록 할 수 있다. 진단 세부사항 (설계단계) 보안대책 (구현단계) 오류가 발생할 수 있는 부분에 대하여 제어문을 사용하여 적절하게 예외 처리(C/C++에서 if와 switch, Java에서 try-catch 등)를 한다. 진단방법 (구현단계) 오류가 발생할 수 있는 부분에 대하..
작성일: 230706 ※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다. 정리 내용: 소프트웨어 보안약점 진단 가이드(419~424p) 구분 - 에러처리 설계단계 - 예외처리 https://cryptocurrencyclub.tistory.com/108 개요 응용프로그램이 실행환경, 사용자 등 관련 데이터에 대한 민감한 정보를 포함하는 오류 메시지를 생성하여 외부에 제공하는 경우, 공격자의 악성 행위를 도울 수 있다. 예외발생시 예외이름이나 스택 트레이스를 출력하는 경우, 프로그램 내부구조를 쉽게 파악할 수 있기 때문이다. 진단 세부사항 (설계단계) ① 명시적인 예외의 경우 예외처리 블럭을 이용하여 예외 발생 시 수행해..
작성일: 230706 ※ 본 게시글은 학습 목적으로 행정안전부·KISA의 소프트웨어 보안약점 진단 가이드, 소프트웨어 개발보안 가이드를 참고하여 작성하였습니다. 정리 내용: 소프트웨어 보안약점 진단 가이드(415~418p) 구분 - 시간 및 상태 설계단계 개요 재귀의 순환횟수를 제어하지 못하여 할당된 메모리나 프로그램 스택 등의 자원을 과다하게 사용하면 위험하다. 대부분의 경우, 귀납 조건(Base Case)이 없는 재귀함수는 무한 루프에 빠져 들게 되고 자원고갈을 유발함으로써 시스템의 정상적인 서비스를 제공할 수 없게 한다. 진단 세부사항 (설계단계) 보안대책 (구현단계) 모든 재귀 호출시, 재귀 호출 횟수를 제한하거나, 초기값을 설정(상수)하여 재귀 호출을 제한해야 한다. 진단방법 (구현단계) 자신을..