SCW Icons
hero bg no divider
Blog

코드 시리즈로 보안 인프라를 정복하는 코더 시리즈: 장애인 보안 기능

Matias Madou, Ph.D.
Published May 04, 2020
Last updated on Mar 09, 2026

오늘날 사이버 보안에 대한 위협은 어디에나 있고 끊이지 않습니다.우리 삶의 더 많은 부분이 디지털화됨에 따라 사이버 범죄자들의 위험도 커집니다. 보안을 유지해야 할 코드는 너무 많고 개인 데이터는 너무 소중합니다.그리고 프로그램을 배포한 후 공격 표면의 모든 측면을 따라잡고 방어하는 것은 거의 불가능해졌습니다.

이러한 증상 중 일부를 완화할 수 있는 방법이 있는데, 그 중 하나는 현명한 조직이 IaC (Infrastructure as Code) 개념을 받아들일 때 분명하게 드러납니다.물론 다른 개발 분야와 마찬가지로 극복해야 할 몇 가지 보안 문제가 있습니다.또한 개발자는 애플리케이션을 호스팅하기 위한 필수 인프라를 생성하는 코드를 개발하고 있기 때문에 프로세스의 모든 단계에서 보안 인식이 매우 중요합니다.

그렇다면 클라우드 서버 환경을 처음 접하는 개발자가 기술을 익히고, 요령을 익히고, 보안 인식을 강화하면서 빌드에 접근하는 방법은 정확히 무엇일까요? 일반적인 IaC 취약점을 해결하기 위해 차기 Coders Conquer Security 시리즈를 만들었습니다.그리고 다음 몇 개의 블로그에서는 개발자가 자신의 조직에 코드 형태로 보안 인프라를 배포하기 시작하기 위해 취할 수 있는 단계에 초점을 맞출 것입니다.

시작해 볼까요.

미국 구서부 (American Old West) 에 나오는 한 남자에 관한 우화가 있습니다. 산적들이 농가를 공격해 강탈할 것이라는 망상증적 증세를 보였던 한 남자에 관한 이야기입니다.이를 보완하기 위해 그는 매우 튼튼한 현관문을 설치하고, 창문을 모두 닫고, 손이 닿는 곳에 총을 많이 보관하는 등 온갖 종류의 보안에 투자했습니다.어느 날 밤 그는 옆문을 잠그는 것을 잊었기 때문에 잠자는 동안 여전히 강도를 당했습니다.도적들은 그저 장애인이 된 경비원을 찾아내고 재빨리 상황을 악용했다.

인프라에서 보안 기능을 비활성화하는 것도 이와 비슷합니다.네트워크에 강력한 보안 인프라가 있더라도 요소가 비활성화되면 별로 도움이 되지 않습니다.

본격적으로 시작하기 전에 한 가지 도전을 해보겠습니다.

위의 링크를 방문하면 게임화된 교육 플랫폼으로 이동합니다. 여기서 비활성화된 보안 기능 취약점을 바로 해결할 수 있습니다.(주의: 쿠버네티스에서 열리지만 드롭다운 메뉴를 사용하면 도커, 클라우드포메이션, 테라폼, 앤서블 중에서 선택할 수 있습니다..

어떻게 지냈어요?아직 해야 할 일이 있다면 아래 내용을 읽어보세요.

보안 기능은 다양한 이유로 비활성화될 수 있습니다.일부 애플리케이션 및 프레임워크에서는 기본적으로 비활성화되어 있을 수 있으며 작동을 시작하려면 먼저 켜야 합니다.또한 관리자가 지속적인 도전이나 차단을 당하지 않고 특정 작업을 더 쉽게 수행할 수 있도록 특정 보안 기능을 비활성화했을 수도 있습니다 (예: AWS S3 버킷을 공개로 설정).작업이 완료된 후에는 비활성화된 기능을 다시 활성화하는 것을 잊어버릴 수 있습니다.또한 나중에 더 쉽게 작업할 수 있도록 기능을 끈 상태로 두는 것을 선호할 수도 있습니다.

비활성화된 보안 기능이 위험한 이유

보안 기능을 하나 이상 사용하지 않도록 설정하는 것은 몇 가지 이유로 좋지 않습니다.그 중 하나는 알려진 익스플로잇, 위협 또는 취약점으로부터 보호하기 위해 보안 기능을 인프라 리소스에 추가했다는 점입니다.이 기능을 사용하지 않도록 설정하면 리소스를 보호할 수 없습니다.

공격자는 항상 쉽게 악용될 수 있는 취약점을 먼저 찾으려고 시도하며 스크립트를 사용하여 일반적인 약점을 찾아낼 수도 있습니다.도둑이 거리의 모든 차를 뒤져 문이 열렸는지 확인하는 것과 다르지 않습니다. 창문을 부수는 것보다 훨씬 쉽습니다.해커들은 일반적인 보안 방어가 비활성화되어 있다는 사실에 놀랄 수도 있습니다.하지만 이런 일이 발생하면 해커들이 이를 악용하는 데 오래 걸리지 않을 것입니다.

둘째, 보안을 잘 갖추고 있다가 사용하지 않도록 설정하면 잘못된 보안 인식이 생깁니다.관리자는 누군가가 이러한 방어 체계를 무력화했다는 사실을 모른다면 자신이 일반적인 위협으로부터 보호받고 있다고 생각할 수 있습니다.

공격자가 비활성화된 보안 기능을 악용할 수 있는 방법의 예로, 퍼블릭 액세스 차단이라는 AWS S3 보안 기능을 고려해 보십시오.Amazon S3 블록 퍼블릭 액세스를 사용하면 계정 관리자와 버킷 소유자가 손쉽게 중앙 집중식 제어를 설정하여 Amazon S3 리소스에 대한 퍼블릭 액세스를 제한할 수 있습니다.하지만 S3 버킷에 액세스할 때 문제가 발생하는 일부 관리자는 최대한 빨리 작업을 완료하기 위해 버킷을 공개하기로 결정합니다.보안 기능을 활성화하는 것을 잊어버리면 공격자는 해당 S3 버킷에 저장된 정보에 완전히 액세스할 수 있게 되어 정보가 유출될 뿐만 아니라 데이터 전송 요금으로 인해 추가 비용이 발생합니다.

실제 코드를 비교해 보겠습니다. 다음 CloudFormation 스니펫을 확인해 보세요.

취약:

기업 버킷:
유형: AWS: :S3: :버킷
속성:
퍼블릭 액세스 블록 구성:
퍼블릭 ACL 차단: 거짓
공개 정책 차단: 거짓
퍼블릭 ACL 무시: false
퍼블릭 버킷 제한: false
버전 관리 구성:
상태: 활성화됨
버킷 암호화:
서버 측 암호화 구성:
- 기본적으로 서버 측 암호화:
SSE 알고리즘: “AES 256"

보안:

기업 버킷:
유형: AWS: :S3: :버킷
속성:
퍼블릭 액세스 블록 구성:
퍼블릭 ACL 차단: 참
공개 정책 차단: 참
퍼블릭 ACL 무시: true
퍼블릭 버킷 제한: true
버전 관리 구성:
상태: 활성화됨
버킷 암호화:
서버 측 암호화 구성:
- 기본적으로 서버 측 암호화:
SSE 알고리즘: “AES 256"

비활성화된 보안 기능 방지

비활성화된 보안 기능이 조직에 부정적인 영향을 주지 않도록 하는 것은 관행만큼이나 정책의 문제입니다.매우 특정한 상황에서만 보안 기능을 사용하지 않도록 설정해야 한다는 확고한 정책이 있어야 합니다.문제를 해결하거나 응용 프로그램을 업데이트하기 위해 기능을 일시적으로 비활성화해야 하는 사건은 기록해야 합니다.필요한 작업을 완료한 후에는 기능이 완전히 다시 활성화되었는지 확인해야 합니다.

운영을 간소화하기 위해 보안 기능을 영구적으로 비활성화해야 하는 경우 기본 보호 기능이 없는 경우 해커가 해당 데이터에 액세스할 수 없도록 영향을 받는 데이터에 다른 보호 기능을 제공해야 합니다.필요한 보호 기능이 비활성화된 경우 공격자가 잠기지 않은 문을 찾아 상황을 악용하는 것은 시간 문제일 뿐입니다.

자세히 알아보고 자신에게 도전해 보세요.

확인해 보세요 시큐어 코드 워리어 이 취약성에 대한 자세한 정보와 다른 보안 결함 및 취약점으로 인한 피해로부터 조직과 고객을 보호하는 방법을 알아보려면 블로그 페이지를 참조하십시오.

게시물을 읽었으니 이 취약점을 찾아 수정할 준비가 되셨나요?이제 해볼 시간입니다.iAC 게임화된 보안 챌린지를 시도해 보세요 Secure Code Warrior 플랫폼에서 모든 사이버 보안 기술을 연마하고 최신 상태로 유지하십시오.

이 시리즈는 Infrastructure as Code의 8가지 주요 취약점을 다루는 주간 시리즈입니다. 자세한 내용은 다음 주에 다시 확인하세요!

리소스 보기
리소스 보기

공격자는 항상 쉽게 악용될 수 있는 취약점을 먼저 찾으려고 시도하며 스크립트를 사용하여 일반적인 약점을 찾아낼 수도 있습니다.도둑이 거리의 모든 차를 뒤져 문이 열렸는지 확인하는 것과 다르지 않습니다. 창문을 부수는 것보다 훨씬 쉽습니다.

더 많은 것에 관심이 있으세요?

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

learn more

Secure Code Warrior는 전체 소프트웨어 개발 라이프사이클에서 코드를 보호하고 사이버 보안을 최우선으로 생각하는 문화를 조성할 수 있도록 조직을 위해 여기 있습니다.AppSec 관리자, 개발자, CISO 또는 보안 관련 누구든 관계없이 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 도와드릴 수 있습니다.

데모 예약
공유 대상:
linkedin brandsSocialx logo
작성자
Matias Madou, Ph.D.
Published May 04, 2020

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.

Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.

공유 대상:
linkedin brandsSocialx logo

오늘날 사이버 보안에 대한 위협은 어디에나 있고 끊이지 않습니다.우리 삶의 더 많은 부분이 디지털화됨에 따라 사이버 범죄자들의 위험도 커집니다. 보안을 유지해야 할 코드는 너무 많고 개인 데이터는 너무 소중합니다.그리고 프로그램을 배포한 후 공격 표면의 모든 측면을 따라잡고 방어하는 것은 거의 불가능해졌습니다.

이러한 증상 중 일부를 완화할 수 있는 방법이 있는데, 그 중 하나는 현명한 조직이 IaC (Infrastructure as Code) 개념을 받아들일 때 분명하게 드러납니다.물론 다른 개발 분야와 마찬가지로 극복해야 할 몇 가지 보안 문제가 있습니다.또한 개발자는 애플리케이션을 호스팅하기 위한 필수 인프라를 생성하는 코드를 개발하고 있기 때문에 프로세스의 모든 단계에서 보안 인식이 매우 중요합니다.

그렇다면 클라우드 서버 환경을 처음 접하는 개발자가 기술을 익히고, 요령을 익히고, 보안 인식을 강화하면서 빌드에 접근하는 방법은 정확히 무엇일까요? 일반적인 IaC 취약점을 해결하기 위해 차기 Coders Conquer Security 시리즈를 만들었습니다.그리고 다음 몇 개의 블로그에서는 개발자가 자신의 조직에 코드 형태로 보안 인프라를 배포하기 시작하기 위해 취할 수 있는 단계에 초점을 맞출 것입니다.

시작해 볼까요.

미국 구서부 (American Old West) 에 나오는 한 남자에 관한 우화가 있습니다. 산적들이 농가를 공격해 강탈할 것이라는 망상증적 증세를 보였던 한 남자에 관한 이야기입니다.이를 보완하기 위해 그는 매우 튼튼한 현관문을 설치하고, 창문을 모두 닫고, 손이 닿는 곳에 총을 많이 보관하는 등 온갖 종류의 보안에 투자했습니다.어느 날 밤 그는 옆문을 잠그는 것을 잊었기 때문에 잠자는 동안 여전히 강도를 당했습니다.도적들은 그저 장애인이 된 경비원을 찾아내고 재빨리 상황을 악용했다.

인프라에서 보안 기능을 비활성화하는 것도 이와 비슷합니다.네트워크에 강력한 보안 인프라가 있더라도 요소가 비활성화되면 별로 도움이 되지 않습니다.

본격적으로 시작하기 전에 한 가지 도전을 해보겠습니다.

위의 링크를 방문하면 게임화된 교육 플랫폼으로 이동합니다. 여기서 비활성화된 보안 기능 취약점을 바로 해결할 수 있습니다.(주의: 쿠버네티스에서 열리지만 드롭다운 메뉴를 사용하면 도커, 클라우드포메이션, 테라폼, 앤서블 중에서 선택할 수 있습니다..

어떻게 지냈어요?아직 해야 할 일이 있다면 아래 내용을 읽어보세요.

보안 기능은 다양한 이유로 비활성화될 수 있습니다.일부 애플리케이션 및 프레임워크에서는 기본적으로 비활성화되어 있을 수 있으며 작동을 시작하려면 먼저 켜야 합니다.또한 관리자가 지속적인 도전이나 차단을 당하지 않고 특정 작업을 더 쉽게 수행할 수 있도록 특정 보안 기능을 비활성화했을 수도 있습니다 (예: AWS S3 버킷을 공개로 설정).작업이 완료된 후에는 비활성화된 기능을 다시 활성화하는 것을 잊어버릴 수 있습니다.또한 나중에 더 쉽게 작업할 수 있도록 기능을 끈 상태로 두는 것을 선호할 수도 있습니다.

비활성화된 보안 기능이 위험한 이유

보안 기능을 하나 이상 사용하지 않도록 설정하는 것은 몇 가지 이유로 좋지 않습니다.그 중 하나는 알려진 익스플로잇, 위협 또는 취약점으로부터 보호하기 위해 보안 기능을 인프라 리소스에 추가했다는 점입니다.이 기능을 사용하지 않도록 설정하면 리소스를 보호할 수 없습니다.

공격자는 항상 쉽게 악용될 수 있는 취약점을 먼저 찾으려고 시도하며 스크립트를 사용하여 일반적인 약점을 찾아낼 수도 있습니다.도둑이 거리의 모든 차를 뒤져 문이 열렸는지 확인하는 것과 다르지 않습니다. 창문을 부수는 것보다 훨씬 쉽습니다.해커들은 일반적인 보안 방어가 비활성화되어 있다는 사실에 놀랄 수도 있습니다.하지만 이런 일이 발생하면 해커들이 이를 악용하는 데 오래 걸리지 않을 것입니다.

둘째, 보안을 잘 갖추고 있다가 사용하지 않도록 설정하면 잘못된 보안 인식이 생깁니다.관리자는 누군가가 이러한 방어 체계를 무력화했다는 사실을 모른다면 자신이 일반적인 위협으로부터 보호받고 있다고 생각할 수 있습니다.

공격자가 비활성화된 보안 기능을 악용할 수 있는 방법의 예로, 퍼블릭 액세스 차단이라는 AWS S3 보안 기능을 고려해 보십시오.Amazon S3 블록 퍼블릭 액세스를 사용하면 계정 관리자와 버킷 소유자가 손쉽게 중앙 집중식 제어를 설정하여 Amazon S3 리소스에 대한 퍼블릭 액세스를 제한할 수 있습니다.하지만 S3 버킷에 액세스할 때 문제가 발생하는 일부 관리자는 최대한 빨리 작업을 완료하기 위해 버킷을 공개하기로 결정합니다.보안 기능을 활성화하는 것을 잊어버리면 공격자는 해당 S3 버킷에 저장된 정보에 완전히 액세스할 수 있게 되어 정보가 유출될 뿐만 아니라 데이터 전송 요금으로 인해 추가 비용이 발생합니다.

실제 코드를 비교해 보겠습니다. 다음 CloudFormation 스니펫을 확인해 보세요.

취약:

기업 버킷:
유형: AWS: :S3: :버킷
속성:
퍼블릭 액세스 블록 구성:
퍼블릭 ACL 차단: 거짓
공개 정책 차단: 거짓
퍼블릭 ACL 무시: false
퍼블릭 버킷 제한: false
버전 관리 구성:
상태: 활성화됨
버킷 암호화:
서버 측 암호화 구성:
- 기본적으로 서버 측 암호화:
SSE 알고리즘: “AES 256"

보안:

기업 버킷:
유형: AWS: :S3: :버킷
속성:
퍼블릭 액세스 블록 구성:
퍼블릭 ACL 차단: 참
공개 정책 차단: 참
퍼블릭 ACL 무시: true
퍼블릭 버킷 제한: true
버전 관리 구성:
상태: 활성화됨
버킷 암호화:
서버 측 암호화 구성:
- 기본적으로 서버 측 암호화:
SSE 알고리즘: “AES 256"

비활성화된 보안 기능 방지

비활성화된 보안 기능이 조직에 부정적인 영향을 주지 않도록 하는 것은 관행만큼이나 정책의 문제입니다.매우 특정한 상황에서만 보안 기능을 사용하지 않도록 설정해야 한다는 확고한 정책이 있어야 합니다.문제를 해결하거나 응용 프로그램을 업데이트하기 위해 기능을 일시적으로 비활성화해야 하는 사건은 기록해야 합니다.필요한 작업을 완료한 후에는 기능이 완전히 다시 활성화되었는지 확인해야 합니다.

운영을 간소화하기 위해 보안 기능을 영구적으로 비활성화해야 하는 경우 기본 보호 기능이 없는 경우 해커가 해당 데이터에 액세스할 수 없도록 영향을 받는 데이터에 다른 보호 기능을 제공해야 합니다.필요한 보호 기능이 비활성화된 경우 공격자가 잠기지 않은 문을 찾아 상황을 악용하는 것은 시간 문제일 뿐입니다.

자세히 알아보고 자신에게 도전해 보세요.

확인해 보세요 시큐어 코드 워리어 이 취약성에 대한 자세한 정보와 다른 보안 결함 및 취약점으로 인한 피해로부터 조직과 고객을 보호하는 방법을 알아보려면 블로그 페이지를 참조하십시오.

게시물을 읽었으니 이 취약점을 찾아 수정할 준비가 되셨나요?이제 해볼 시간입니다.iAC 게임화된 보안 챌린지를 시도해 보세요 Secure Code Warrior 플랫폼에서 모든 사이버 보안 기술을 연마하고 최신 상태로 유지하십시오.

이 시리즈는 Infrastructure as Code의 8가지 주요 취약점을 다루는 주간 시리즈입니다. 자세한 내용은 다음 주에 다시 확인하세요!

리소스 보기
리소스 보기

보고서를 다운로드하려면 아래 양식을 작성하세요.

당사 제품 및/또는 관련 보안 코딩 주제에 대한 정보를 보내실 수 있도록 귀하의 동의를 구합니다.당사는 항상 귀하의 개인 정보를 최대한의 주의를 기울여 취급하며 마케팅 목적으로 다른 회사에 절대 판매하지 않습니다.

제출
scw success icon
scw error icon
양식을 제출하려면 'Analytics' 쿠키를 활성화하십시오.완료되면 언제든지 다시 비활성화할 수 있습니다.

오늘날 사이버 보안에 대한 위협은 어디에나 있고 끊이지 않습니다.우리 삶의 더 많은 부분이 디지털화됨에 따라 사이버 범죄자들의 위험도 커집니다. 보안을 유지해야 할 코드는 너무 많고 개인 데이터는 너무 소중합니다.그리고 프로그램을 배포한 후 공격 표면의 모든 측면을 따라잡고 방어하는 것은 거의 불가능해졌습니다.

이러한 증상 중 일부를 완화할 수 있는 방법이 있는데, 그 중 하나는 현명한 조직이 IaC (Infrastructure as Code) 개념을 받아들일 때 분명하게 드러납니다.물론 다른 개발 분야와 마찬가지로 극복해야 할 몇 가지 보안 문제가 있습니다.또한 개발자는 애플리케이션을 호스팅하기 위한 필수 인프라를 생성하는 코드를 개발하고 있기 때문에 프로세스의 모든 단계에서 보안 인식이 매우 중요합니다.

그렇다면 클라우드 서버 환경을 처음 접하는 개발자가 기술을 익히고, 요령을 익히고, 보안 인식을 강화하면서 빌드에 접근하는 방법은 정확히 무엇일까요? 일반적인 IaC 취약점을 해결하기 위해 차기 Coders Conquer Security 시리즈를 만들었습니다.그리고 다음 몇 개의 블로그에서는 개발자가 자신의 조직에 코드 형태로 보안 인프라를 배포하기 시작하기 위해 취할 수 있는 단계에 초점을 맞출 것입니다.

시작해 볼까요.

미국 구서부 (American Old West) 에 나오는 한 남자에 관한 우화가 있습니다. 산적들이 농가를 공격해 강탈할 것이라는 망상증적 증세를 보였던 한 남자에 관한 이야기입니다.이를 보완하기 위해 그는 매우 튼튼한 현관문을 설치하고, 창문을 모두 닫고, 손이 닿는 곳에 총을 많이 보관하는 등 온갖 종류의 보안에 투자했습니다.어느 날 밤 그는 옆문을 잠그는 것을 잊었기 때문에 잠자는 동안 여전히 강도를 당했습니다.도적들은 그저 장애인이 된 경비원을 찾아내고 재빨리 상황을 악용했다.

인프라에서 보안 기능을 비활성화하는 것도 이와 비슷합니다.네트워크에 강력한 보안 인프라가 있더라도 요소가 비활성화되면 별로 도움이 되지 않습니다.

본격적으로 시작하기 전에 한 가지 도전을 해보겠습니다.

위의 링크를 방문하면 게임화된 교육 플랫폼으로 이동합니다. 여기서 비활성화된 보안 기능 취약점을 바로 해결할 수 있습니다.(주의: 쿠버네티스에서 열리지만 드롭다운 메뉴를 사용하면 도커, 클라우드포메이션, 테라폼, 앤서블 중에서 선택할 수 있습니다..

어떻게 지냈어요?아직 해야 할 일이 있다면 아래 내용을 읽어보세요.

보안 기능은 다양한 이유로 비활성화될 수 있습니다.일부 애플리케이션 및 프레임워크에서는 기본적으로 비활성화되어 있을 수 있으며 작동을 시작하려면 먼저 켜야 합니다.또한 관리자가 지속적인 도전이나 차단을 당하지 않고 특정 작업을 더 쉽게 수행할 수 있도록 특정 보안 기능을 비활성화했을 수도 있습니다 (예: AWS S3 버킷을 공개로 설정).작업이 완료된 후에는 비활성화된 기능을 다시 활성화하는 것을 잊어버릴 수 있습니다.또한 나중에 더 쉽게 작업할 수 있도록 기능을 끈 상태로 두는 것을 선호할 수도 있습니다.

비활성화된 보안 기능이 위험한 이유

보안 기능을 하나 이상 사용하지 않도록 설정하는 것은 몇 가지 이유로 좋지 않습니다.그 중 하나는 알려진 익스플로잇, 위협 또는 취약점으로부터 보호하기 위해 보안 기능을 인프라 리소스에 추가했다는 점입니다.이 기능을 사용하지 않도록 설정하면 리소스를 보호할 수 없습니다.

공격자는 항상 쉽게 악용될 수 있는 취약점을 먼저 찾으려고 시도하며 스크립트를 사용하여 일반적인 약점을 찾아낼 수도 있습니다.도둑이 거리의 모든 차를 뒤져 문이 열렸는지 확인하는 것과 다르지 않습니다. 창문을 부수는 것보다 훨씬 쉽습니다.해커들은 일반적인 보안 방어가 비활성화되어 있다는 사실에 놀랄 수도 있습니다.하지만 이런 일이 발생하면 해커들이 이를 악용하는 데 오래 걸리지 않을 것입니다.

둘째, 보안을 잘 갖추고 있다가 사용하지 않도록 설정하면 잘못된 보안 인식이 생깁니다.관리자는 누군가가 이러한 방어 체계를 무력화했다는 사실을 모른다면 자신이 일반적인 위협으로부터 보호받고 있다고 생각할 수 있습니다.

공격자가 비활성화된 보안 기능을 악용할 수 있는 방법의 예로, 퍼블릭 액세스 차단이라는 AWS S3 보안 기능을 고려해 보십시오.Amazon S3 블록 퍼블릭 액세스를 사용하면 계정 관리자와 버킷 소유자가 손쉽게 중앙 집중식 제어를 설정하여 Amazon S3 리소스에 대한 퍼블릭 액세스를 제한할 수 있습니다.하지만 S3 버킷에 액세스할 때 문제가 발생하는 일부 관리자는 최대한 빨리 작업을 완료하기 위해 버킷을 공개하기로 결정합니다.보안 기능을 활성화하는 것을 잊어버리면 공격자는 해당 S3 버킷에 저장된 정보에 완전히 액세스할 수 있게 되어 정보가 유출될 뿐만 아니라 데이터 전송 요금으로 인해 추가 비용이 발생합니다.

실제 코드를 비교해 보겠습니다. 다음 CloudFormation 스니펫을 확인해 보세요.

취약:

기업 버킷:
유형: AWS: :S3: :버킷
속성:
퍼블릭 액세스 블록 구성:
퍼블릭 ACL 차단: 거짓
공개 정책 차단: 거짓
퍼블릭 ACL 무시: false
퍼블릭 버킷 제한: false
버전 관리 구성:
상태: 활성화됨
버킷 암호화:
서버 측 암호화 구성:
- 기본적으로 서버 측 암호화:
SSE 알고리즘: “AES 256"

보안:

기업 버킷:
유형: AWS: :S3: :버킷
속성:
퍼블릭 액세스 블록 구성:
퍼블릭 ACL 차단: 참
공개 정책 차단: 참
퍼블릭 ACL 무시: true
퍼블릭 버킷 제한: true
버전 관리 구성:
상태: 활성화됨
버킷 암호화:
서버 측 암호화 구성:
- 기본적으로 서버 측 암호화:
SSE 알고리즘: “AES 256"

비활성화된 보안 기능 방지

비활성화된 보안 기능이 조직에 부정적인 영향을 주지 않도록 하는 것은 관행만큼이나 정책의 문제입니다.매우 특정한 상황에서만 보안 기능을 사용하지 않도록 설정해야 한다는 확고한 정책이 있어야 합니다.문제를 해결하거나 응용 프로그램을 업데이트하기 위해 기능을 일시적으로 비활성화해야 하는 사건은 기록해야 합니다.필요한 작업을 완료한 후에는 기능이 완전히 다시 활성화되었는지 확인해야 합니다.

운영을 간소화하기 위해 보안 기능을 영구적으로 비활성화해야 하는 경우 기본 보호 기능이 없는 경우 해커가 해당 데이터에 액세스할 수 없도록 영향을 받는 데이터에 다른 보호 기능을 제공해야 합니다.필요한 보호 기능이 비활성화된 경우 공격자가 잠기지 않은 문을 찾아 상황을 악용하는 것은 시간 문제일 뿐입니다.

자세히 알아보고 자신에게 도전해 보세요.

확인해 보세요 시큐어 코드 워리어 이 취약성에 대한 자세한 정보와 다른 보안 결함 및 취약점으로 인한 피해로부터 조직과 고객을 보호하는 방법을 알아보려면 블로그 페이지를 참조하십시오.

게시물을 읽었으니 이 취약점을 찾아 수정할 준비가 되셨나요?이제 해볼 시간입니다.iAC 게임화된 보안 챌린지를 시도해 보세요 Secure Code Warrior 플랫폼에서 모든 사이버 보안 기술을 연마하고 최신 상태로 유지하십시오.

이 시리즈는 Infrastructure as Code의 8가지 주요 취약점을 다루는 주간 시리즈입니다. 자세한 내용은 다음 주에 다시 확인하세요!

웨비나 보기
시작하기
learn more

아래 링크를 클릭하고 이 리소스의 PDF를 다운로드하십시오.

Secure Code Warrior는 전체 소프트웨어 개발 라이프사이클에서 코드를 보호하고 사이버 보안을 최우선으로 생각하는 문화를 조성할 수 있도록 조직을 위해 여기 있습니다.AppSec 관리자, 개발자, CISO 또는 보안 관련 누구든 관계없이 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 도와드릴 수 있습니다.

보고서 보기데모 예약
리소스 보기
공유 대상:
linkedin brandsSocialx logo
더 많은 것에 관심이 있으세요?

공유 대상:
linkedin brandsSocialx logo
작성자
Matias Madou, Ph.D.
Published May 04, 2020

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

Matias is a researcher and developer with more than 15 years of hands-on software security experience. He has developed solutions for companies such as Fortify Software and his own company Sensei Security. Over his career, Matias has led multiple application security research projects which have led to commercial products and boasts over 10 patents under his belt. When he is away from his desk, Matias has served as an instructor for advanced application security training courses and regularly speaks at global conferences including RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec and BruCon.

Matias holds a Ph.D. in Computer Engineering from Ghent University, where he studied application security through program obfuscation to hide the inner workings of an application.

공유 대상:
linkedin brandsSocialx logo

오늘날 사이버 보안에 대한 위협은 어디에나 있고 끊이지 않습니다.우리 삶의 더 많은 부분이 디지털화됨에 따라 사이버 범죄자들의 위험도 커집니다. 보안을 유지해야 할 코드는 너무 많고 개인 데이터는 너무 소중합니다.그리고 프로그램을 배포한 후 공격 표면의 모든 측면을 따라잡고 방어하는 것은 거의 불가능해졌습니다.

이러한 증상 중 일부를 완화할 수 있는 방법이 있는데, 그 중 하나는 현명한 조직이 IaC (Infrastructure as Code) 개념을 받아들일 때 분명하게 드러납니다.물론 다른 개발 분야와 마찬가지로 극복해야 할 몇 가지 보안 문제가 있습니다.또한 개발자는 애플리케이션을 호스팅하기 위한 필수 인프라를 생성하는 코드를 개발하고 있기 때문에 프로세스의 모든 단계에서 보안 인식이 매우 중요합니다.

그렇다면 클라우드 서버 환경을 처음 접하는 개발자가 기술을 익히고, 요령을 익히고, 보안 인식을 강화하면서 빌드에 접근하는 방법은 정확히 무엇일까요? 일반적인 IaC 취약점을 해결하기 위해 차기 Coders Conquer Security 시리즈를 만들었습니다.그리고 다음 몇 개의 블로그에서는 개발자가 자신의 조직에 코드 형태로 보안 인프라를 배포하기 시작하기 위해 취할 수 있는 단계에 초점을 맞출 것입니다.

시작해 볼까요.

미국 구서부 (American Old West) 에 나오는 한 남자에 관한 우화가 있습니다. 산적들이 농가를 공격해 강탈할 것이라는 망상증적 증세를 보였던 한 남자에 관한 이야기입니다.이를 보완하기 위해 그는 매우 튼튼한 현관문을 설치하고, 창문을 모두 닫고, 손이 닿는 곳에 총을 많이 보관하는 등 온갖 종류의 보안에 투자했습니다.어느 날 밤 그는 옆문을 잠그는 것을 잊었기 때문에 잠자는 동안 여전히 강도를 당했습니다.도적들은 그저 장애인이 된 경비원을 찾아내고 재빨리 상황을 악용했다.

인프라에서 보안 기능을 비활성화하는 것도 이와 비슷합니다.네트워크에 강력한 보안 인프라가 있더라도 요소가 비활성화되면 별로 도움이 되지 않습니다.

본격적으로 시작하기 전에 한 가지 도전을 해보겠습니다.

위의 링크를 방문하면 게임화된 교육 플랫폼으로 이동합니다. 여기서 비활성화된 보안 기능 취약점을 바로 해결할 수 있습니다.(주의: 쿠버네티스에서 열리지만 드롭다운 메뉴를 사용하면 도커, 클라우드포메이션, 테라폼, 앤서블 중에서 선택할 수 있습니다..

어떻게 지냈어요?아직 해야 할 일이 있다면 아래 내용을 읽어보세요.

보안 기능은 다양한 이유로 비활성화될 수 있습니다.일부 애플리케이션 및 프레임워크에서는 기본적으로 비활성화되어 있을 수 있으며 작동을 시작하려면 먼저 켜야 합니다.또한 관리자가 지속적인 도전이나 차단을 당하지 않고 특정 작업을 더 쉽게 수행할 수 있도록 특정 보안 기능을 비활성화했을 수도 있습니다 (예: AWS S3 버킷을 공개로 설정).작업이 완료된 후에는 비활성화된 기능을 다시 활성화하는 것을 잊어버릴 수 있습니다.또한 나중에 더 쉽게 작업할 수 있도록 기능을 끈 상태로 두는 것을 선호할 수도 있습니다.

비활성화된 보안 기능이 위험한 이유

보안 기능을 하나 이상 사용하지 않도록 설정하는 것은 몇 가지 이유로 좋지 않습니다.그 중 하나는 알려진 익스플로잇, 위협 또는 취약점으로부터 보호하기 위해 보안 기능을 인프라 리소스에 추가했다는 점입니다.이 기능을 사용하지 않도록 설정하면 리소스를 보호할 수 없습니다.

공격자는 항상 쉽게 악용될 수 있는 취약점을 먼저 찾으려고 시도하며 스크립트를 사용하여 일반적인 약점을 찾아낼 수도 있습니다.도둑이 거리의 모든 차를 뒤져 문이 열렸는지 확인하는 것과 다르지 않습니다. 창문을 부수는 것보다 훨씬 쉽습니다.해커들은 일반적인 보안 방어가 비활성화되어 있다는 사실에 놀랄 수도 있습니다.하지만 이런 일이 발생하면 해커들이 이를 악용하는 데 오래 걸리지 않을 것입니다.

둘째, 보안을 잘 갖추고 있다가 사용하지 않도록 설정하면 잘못된 보안 인식이 생깁니다.관리자는 누군가가 이러한 방어 체계를 무력화했다는 사실을 모른다면 자신이 일반적인 위협으로부터 보호받고 있다고 생각할 수 있습니다.

공격자가 비활성화된 보안 기능을 악용할 수 있는 방법의 예로, 퍼블릭 액세스 차단이라는 AWS S3 보안 기능을 고려해 보십시오.Amazon S3 블록 퍼블릭 액세스를 사용하면 계정 관리자와 버킷 소유자가 손쉽게 중앙 집중식 제어를 설정하여 Amazon S3 리소스에 대한 퍼블릭 액세스를 제한할 수 있습니다.하지만 S3 버킷에 액세스할 때 문제가 발생하는 일부 관리자는 최대한 빨리 작업을 완료하기 위해 버킷을 공개하기로 결정합니다.보안 기능을 활성화하는 것을 잊어버리면 공격자는 해당 S3 버킷에 저장된 정보에 완전히 액세스할 수 있게 되어 정보가 유출될 뿐만 아니라 데이터 전송 요금으로 인해 추가 비용이 발생합니다.

실제 코드를 비교해 보겠습니다. 다음 CloudFormation 스니펫을 확인해 보세요.

취약:

기업 버킷:
유형: AWS: :S3: :버킷
속성:
퍼블릭 액세스 블록 구성:
퍼블릭 ACL 차단: 거짓
공개 정책 차단: 거짓
퍼블릭 ACL 무시: false
퍼블릭 버킷 제한: false
버전 관리 구성:
상태: 활성화됨
버킷 암호화:
서버 측 암호화 구성:
- 기본적으로 서버 측 암호화:
SSE 알고리즘: “AES 256"

보안:

기업 버킷:
유형: AWS: :S3: :버킷
속성:
퍼블릭 액세스 블록 구성:
퍼블릭 ACL 차단: 참
공개 정책 차단: 참
퍼블릭 ACL 무시: true
퍼블릭 버킷 제한: true
버전 관리 구성:
상태: 활성화됨
버킷 암호화:
서버 측 암호화 구성:
- 기본적으로 서버 측 암호화:
SSE 알고리즘: “AES 256"

비활성화된 보안 기능 방지

비활성화된 보안 기능이 조직에 부정적인 영향을 주지 않도록 하는 것은 관행만큼이나 정책의 문제입니다.매우 특정한 상황에서만 보안 기능을 사용하지 않도록 설정해야 한다는 확고한 정책이 있어야 합니다.문제를 해결하거나 응용 프로그램을 업데이트하기 위해 기능을 일시적으로 비활성화해야 하는 사건은 기록해야 합니다.필요한 작업을 완료한 후에는 기능이 완전히 다시 활성화되었는지 확인해야 합니다.

운영을 간소화하기 위해 보안 기능을 영구적으로 비활성화해야 하는 경우 기본 보호 기능이 없는 경우 해커가 해당 데이터에 액세스할 수 없도록 영향을 받는 데이터에 다른 보호 기능을 제공해야 합니다.필요한 보호 기능이 비활성화된 경우 공격자가 잠기지 않은 문을 찾아 상황을 악용하는 것은 시간 문제일 뿐입니다.

자세히 알아보고 자신에게 도전해 보세요.

확인해 보세요 시큐어 코드 워리어 이 취약성에 대한 자세한 정보와 다른 보안 결함 및 취약점으로 인한 피해로부터 조직과 고객을 보호하는 방법을 알아보려면 블로그 페이지를 참조하십시오.

게시물을 읽었으니 이 취약점을 찾아 수정할 준비가 되셨나요?이제 해볼 시간입니다.iAC 게임화된 보안 챌린지를 시도해 보세요 Secure Code Warrior 플랫폼에서 모든 사이버 보안 기술을 연마하고 최신 상태로 유지하십시오.

이 시리즈는 Infrastructure as Code의 8가지 주요 취약점을 다루는 주간 시리즈입니다. 자세한 내용은 다음 주에 다시 확인하세요!

목차

PDF 다운로드
리소스 보기
더 많은 것에 관심이 있으세요?

Matias Madou, Ph.D. is a security expert, researcher, and CTO and co-founder of Secure Code Warrior. Matias obtained his Ph.D. in Application Security from Ghent University, focusing on static analysis solutions. He later joined Fortify in the US, where he realized that it was insufficient to solely detect code problems without aiding developers in writing secure code. This inspired him to develop products that assist developers, alleviate the burden of security, and exceed customers' expectations. When he is not at his desk as part of Team Awesome, he enjoys being on stage presenting at conferences including RSA Conference, BlackHat and DefCon.

learn more

Secure Code Warrior는 전체 소프트웨어 개발 라이프사이클에서 코드를 보호하고 사이버 보안을 최우선으로 생각하는 문화를 조성할 수 있도록 조직을 위해 여기 있습니다.AppSec 관리자, 개발자, CISO 또는 보안 관련 누구든 관계없이 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 도와드릴 수 있습니다.

데모 예약다운로드
공유 대상:
linkedin brandsSocialx logo
리소스 허브

시작하는 데 도움이 되는 리소스

더 많은 게시물
리소스 허브

시작하는 데 도움이 되는 리소스

더 많은 게시물