보안을 위해 OpenAPI를 사용할 수 있다는 것을 알고 계셨습니까?

openapi란?



Openapi는 API 생성, 관리 및 보안을 위한 일련의 도구 및 표준입니다. 여기에는 API 설명을 위한 사양, API 실행을 위한 런타임 및 API 관리를 위한 도구 집합이 포함됩니다.
OpenAPI 이니셔티브의 목표는 API 설명 방식을 표준화하고 개발자가 API를 더 쉽게 생성, 사용 및 관리할 수 있도록 하는 것입니다.

API 지원, 각 작업에 필요한 매개변수, API에서 사용하는 데이터 유형 및 기타 정보. 나는 이미 그것에 대해 썼습니다. 계속 읽기 전에 확인할 수 있습니다.

보안을 위해 openapi를 어떻게 사용할 수 있습니까?



OpenAPI는 모든 API 호출에 대한 인증 및 승인을 요구하여 API에 대한 액세스를 보호하는 데 사용할 수 있습니다.
OpenAPI를 사용하여 입력 및 출력 데이터의 유효성을 검사하여 데이터가 유효하고 형식이 올바른지 확인할 수도 있습니다. OpenAPI를 사용함으로써 개발자는 API가 안전하고 신뢰할 수 있음을 확신할 수 있습니다.
이 두 가지 유형의 취약점에 대해 이야기하고 싶습니다.

인증 부족.



API는 종종 인증 문제를 겪습니다.
예를 들어 이 bug report .
사용자는 암호를 재설정하는 데 사용되는 간단한 끝점으로 관리자 권한을 얻을 수 있습니다.



그렇다면 이러한 유형의 취약점을 어떻게 피할 수 있습니까?

사양을 사용하면 권한 수준에 대해 더 많은 구조를 갖는 데 도움이 될 수 있습니다.

이 예에서 이 끝점 API 작업에 적용되는 보안 정의는 "쓰기 및 읽기"를 포함하는 "pestore_auth"입니다.
각 작업에는 정의된 권한 범위가 있음을 알 수 있습니다.
이러한 유형의 권한이 있으면 특정 작업에 대한 권한을 더 잘 이해하는 데 도움이 될 수 있습니다.

path: "/pet/findByStatus": {
      "get": {
    ....},
        "security": [
          {
            "petstore_auth": [
              "write:pets",
              "read:pets"
            ]
          }
        ]
      },


안전하지 않은 IDOR(직접 객체 참조).



확인되지 않은 사용자 입력이 리소스 또는 작업에 대한 무단 액세스에 사용될 수 있는 경우 또 다른 중요한 일반적인 취약점이 발생합니다.
bug report에서 연구원은 단순히 이미지의 id를 변경하여 다른 사람의 이미지를 삭제하는 데 성공했습니다.

여기서 우리는 코딩 오류에 직면하고 있으며 백엔드의 검증 부족으로 인해 높은 취약성이 발생합니다.

백엔드는 다음과 같습니다.


여기서 OAS를 사용한다고 해서 반드시 문제가 해결되는 것은 아니지만 문제를 보다 쉽고 빠르게 감지할 수 있습니다(다음 섹션에서 설명하겠습니다).

보안을 위해 openapi를 사용하면 어떤 이점이 있습니까?



OpenAPI는 API를 쉽고 빠르게 이해할 수 있게 해주기 때문에 훌륭한 보안 도구입니다. 이를 통해 Pentester는 API가 수행하는 작업과 이를 악용할 수 있는 방법을 쉽게 이해할 수 있습니다.
또한 OpenAPI는 코드를 생성할 뿐만 아니라 보안 테스트를 자동화하는 훌륭한 자동화 도구입니다.

개발 초기 단계에서 Cherrrybomb와 같은 API 보안 도구를 사용하면 프로덕션 전에 취약점을 탐지할 수 있습니다!

API를 이해하고 관리하는 새로운 방법을 찾고 있다면 OpenAPI 사용을 고려하고, 보안을 유지하려면 CherryBomb 사용을 고려하여 보안 테스트를 자동화하십시오.
관리 및 테스트가 핵심입니다. 이제 API를 안전하게 유지할 수 있습니다. :)

우리Github repo에 별표를 표시하고 우리Discord channel에서 토론에 참여하십시오!
BLST에서 지금 무료로 API를 테스트하십시오!

좋은 웹페이지 즐겨찾기