소프트웨어 개발 보안 구축
SW개발 보안 구현
API 오용 개념
- 소프트웨어 구현단계에서 API를 잘못 사용하거나 보안에 취약한 API를 사용하지 않도록 하기 위한 보안 검증 항목들
- API 오용의 보안 약점
- DNS lookup에 의존한 보안 결정
- 취약한 API 사용
- API
- 프로그래머가 라이브러리가 제공하는 여러 함수를 이용하여 프로그램을 작성할 때 해당 함수의 내부 구조는 알 필요없이 단순히 API에 정의된 입력 값을 주고 결과 값을 사용
- API
보안 약점의 종류
1. DNS lookup에 의존한 보안 결정
- 도메인명에 의존하여 인증이나 접근 통제 등의 보안 결정을 내리는 경우 발생하는 보안 약점
- DNS 엔트리를 속여 동일한 도메인에 속한 서버인 것처럼 위장하거나, 사용자와 서버 간의 네트워크 트래픽을 유도하여 악성 사이트를 경유하도록 조작할 수 있음
- DNS 검색을 통해 도메인 이름으로 비교하지 않고 IP주소를 직접 입력하여 접근함으로써 방지
2. 취약한 API 사용
- 보안 문제로 사용이 금지된 API를 사용하거나, 잘못된 방식으로 API를 사용했을 때 발생하는 보안 약점
- 보안 상 안전한 API라고 하더라도 자원에 대한 직접 연결이나 네트워크 소켓을 통한 직접 호출과 같이 보안에 위협을 줄 수 있는 인터페이스를 사용하는 경우 보안 약점이 노출됨
- 보안 문제로 금지된 함수는 안전한 함수로 대체하고, API 매뉴얼을 참고하여 보안이 보장되는 인터페이스를 사용함으로써 방지 가능