SCW 아이콘
영웅 배경, 구분선 없음
블로그

코더들이 보안 인프라를 코드 집합으로 장악하다: 보안 기능 비활성화

마티아스 마두, Ph.
게시일 : 2020년 5월 4일
마지막 업데이트: 2026년 3월 6일

오늘날 사이버 보안 위협은 어디에나 존재하며 끊임없이 발생합니다. 우리 삶의 더 많은 측면이 디지털화될수록 사이버 범죄자들에게 걸린 위험은 더욱 커집니다: 보호해야 할 코드가 너무 많고 개인 데이터의 가치가 너무 크기 때문입니다. 프로그램 배포 후 공격 표면의 모든 측면을 추적하고 방어하려는 시도는 거의 불가능해졌습니다.

일부 접근 방식은 이러한 증상 중 일부를 완화할 수 있으며, 그중 하나는 선견지명을 가진 조직이 인프라스트럭처로서의 코드(IaC) 개념을 채택할 때 명백해집니다. 물론 모든 개발과 마찬가지로 극복해야 할 보안 함정이 존재합니다. 개발자들이 애플리케이션을 호스팅하는 데 필수적인 인프라를 생성하는 코드를 다루기 때문에, 프로세스 전반에 걸쳐 보안에 대한 인식이 필수적입니다.

그렇다면 클라우드 서버 환경에서 초보 개발자는 어떻게 자신의 역량을 향상시키고, 노하우를 익히며, 보안에 대한 인식이 높아진 상태로 버전을 다룰 수 있을까요? 우리는 IaC의 일반적인 취약점을 해결하기 위해 'Coders Conquer Security' 시리즈를 기획했으며, 향후 블로그에서는 개발자로서 여러분이 소속 조직 내에서 코드 형태의 안전한 인프라를 구축하기 시작할 수 있는 방법에 집중할 예정입니다.

가자.

미국 서부 개척 시대에 유래한 우화가 하나 있다. 한 남자가 강도들이 자신의 재산을 습격하고 털어갈까 봐 지나치게 불안해했다는 이야기다. 이를 만회하기 위해 그는 매우 튼튼한 현관문 설치, 모든 창문 잠금, 그리고 손에 닿는 곳에 수많은 무기를 비치하는 등 온갖 보안 조치를 취했습니다. 그런데도 어느 날 밤 그가 잠든 사이 옆문을 잠그는 것을 잊은 탓에 결국 강도를 당하고 말았습니다. 강도들은 보안이 허술해진 틈을 재빨리 노린 것이었습니다.

인프라의 보안 기능을 비활성화하는 것은 이와 비슷합니다. 네트워크에 견고한 보안 인프라가 구축되어 있더라도 일부 요소가 비활성화되었다면 아무 소용이 없습니다.

본론에 들어가기 전에 여러분께 한 가지 도전장을 내밀어도 될까요?

위 링크를 클릭하시면 게임화된 교육 플랫폼으로 이동하게 되며, 지금 바로 비활성화된 보안 취약점을 중화시키는 시도를 해보실 수 있습니다. (주의: Kubernetes에서 열리지만, 드롭다운 메뉴를 사용하시면 Docker, CloudFormation, Terraform, Ansible 중에서 선택하실 수 있습니다).

어떻게 해결했어? 아직 할 일이 남아 있다면, 다음 내용을 읽어보세요:

보안 기능은 다양한 이유로 비활성화될 수 있습니다. 일부 애플리케이션 및 프레임워크에서는 기본적으로 비활성화되어 있으며, 작동시키려면 먼저 활성화해야 합니다. 또한 관리자가 특정 작업을 수행할 때 지속적으로 경고나 차단 없이 더 쉽게 처리할 수 있도록 특정 보안 기능을 비활성화했을 수도 있습니다(예: AWS S3 저장소를 공개로 설정). 작업이 완료된 후, 그들은 비활성화된 기능을 다시 활성화하는 것을 잊을 수 있습니다. 또한 향후 작업을 용이하게 하기 위해 해당 기능을 계속 비활성화 상태로 유지하는 것을 선호할 수도 있습니다.

비활성화된 보안 기능이 왜 그렇게 위험한가

하나 이상의 보안 기능을 비활성화하는 것은 여러 가지 이유로 바람직하지 않습니다. 첫째, 해당 보안 기능은 알려진 악용, 위협 또는 취약점으로부터 보호하기 위해 인프라 리소스에 통합되었습니다. 비활성화되면 리소스를 보호할 수 없게 됩니다.

공격자들은 항상 먼저 쉽게 악용할 수 있는 취약점을 찾으려 할 것이며, 심지어 일반적인 취약점을 수정하는 스크립트를 사용할 수도 있습니다. 이는 마치 도둑이 길가에 주차된 모든 차량의 문을 잠금 해제 상태인지 확인하는 것과 비슷합니다. 창문을 깨는 것보다 훨씬 쉬운 일이니까요. 해커들은 일반적인 보안 방어 체계가 작동하지 않는다는 사실을 발견하고 놀랄 수도 있습니다. 하지만 그런 상황이 발생하면 이를 악용하는 데 오래 걸리지 않을 것입니다.

둘째, 적절한 보안 조치를 구축한 후 이를 비활성화하는 것은 허위의 안전감을 조성합니다. 관리자들은 누군가가 이러한 방어 체계를 해제했다는 사실을 모른다면, 자신들이 일반적인 위협으로부터 보호받고 있다고 생각할 수 있습니다.

공격자가 비활성화된 보안 기능을 악용할 수 있는 방식의 예로, AWS S3의 공개 액세스 차단 보안 기능을 살펴보겠습니다. Amazon S3의 공개 액세스가 차단되면 계정 관리자 및 저장소 소유자는 Amazon S3 리소스에 대한 공개 액세스를 제한하기 위한 중앙 집중식 제어를 쉽게 구성할 수 있습니다. 그러나 일부 관리자는 S3 저장소 접근 시 문제가 발생하면 작업을 최대한 빨리 완료하기 위해 저장소를 공개적으로 설정하기로 결정합니다. 이 보안 기능을 활성화하는 것을 잊어버리면 공격자는 해당 S3 저장소에 저장된 정보에 대한 완전한 접근 권한을 얻게 되어 정보 유출뿐만 아니라 데이터 전송 비용으로 인한 추가 비용도 발생하게 됩니다.

실제 코드 비교; 다음 CloudFormation 발췌문을 살펴보세요:

취약한 :

기업 계정 :
유형 : AWS : :S3 : :Bucket
속성 :
공개 액세스 블록 구성 :
BlockPublicACLS : false
BlockPublicPolicy : false
IgnorepublicACLS : false
RestrictPublicBuckets : false
버전 관리 설정 :
상태 : 활성화됨
버킷 암호화 :
서버 측 암호화 설정 :
- 기본 서버 측 암호화 :
SSE 알고리즘 : "AES256"

안전한 :

기업 계정 :
유형 : AWS : :S3 : :Bucket
속성 :
공개 액세스 블록 구성 :
BlockPublicACLS : true
BlockPublicPolicy : true
Ignorepublicacls : true
RestrictPublicBuckets : true
버전 관리 설정 :
상태 : 활성화됨
버킷 암호화 :
서버 측 암호화 설정 :
- 기본 서버 측 암호화 :
SSE 알고리즘 : "AES256"

비활성화된 보안 기능 방지

비활성화된 보안 기능이 조직에 피해를 주는 것을 방지하는 것은 정책과 실행 모두에 관한 문제입니다. 보안 기능은 매우 특정된 상황에서만 비활성화되어야 한다는 강력한 정책이 마련되어야 합니다. 문제 해결이나 애플리케이션 업데이트를 위해 기능을 일시적으로 비활성화해야 하는 사건은 반드시 기록되어야 합니다. 필요한 작업이 완료된 후에는 기능이 완전히 재활성화되었는지 확인해야 합니다.

보안 기능을 운영 효율화를 위해 영구적으로 비활성화해야 하는 경우, 기본 보호 기능이 없는 상태에서 해커가 해당 데이터에 접근하는 것을 방지하기 위해 다른 보호 장치를 마련해야 합니다. 필수 보호 기능이 비활성화된 상태라면, 공격자가 이 잠금 해제된 문을 발견하고 이를 악용하는 것은 시간 문제일 뿐입니다.

더 알아보고, 도전해보세요:

보안 코드 워리어를 참조하십시오 Secure Code Warrior 블로그 페이지를 참조하여 이 취약점에 대해 자세히 알아보고, 다른 보안 결함과 취약점으로 인한 피해를 방지하여 조직과 고객을 보호하는 방법을 확인하세요.

이 글을 읽은 지금, 해당 취약점을 찾아 수정할 준비가 되셨나요? Secure Code Warrior 플랫폼에서IaC 기반 게임화 보안 챌린지를 시도해 보세요. 사이버 보안 역량을 Secure Code Warrior 최신 상태로 업데이트할 Secure Code Warrior .

이 주간 시리즈는 코드로서의 인프라와 관련된 8가지 주요 취약점을 다룹니다. 다음 주에 더 많은 내용을 확인하세요!

리소스 표시
리소스 표시

공격자들은 항상 먼저 쉽게 악용할 수 있는 취약점을 찾으려 할 것이며, 심지어 일반적인 약점을 수정하는 스크립트를 사용할 수도 있습니다. 이는 마치 도둑이 길가에 주차된 모든 차량의 문을 잠금 해제 상태인지 확인하는 것과 비슷합니다. 이는 창문을 깨는 것보다 훨씬 쉬운 일이니까요.

더 알고 싶으신가요?

마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 주기 전반에 걸쳐 코드를 안전하게 보호하고 사이버보안이 최우선 과제인 문화를 조성하도록 Secure Code Warrior . 애플리케이션 보안 담당자, 개발자, IT 보안 책임자 또는 보안 관련 업무에 종사하는 모든 분들을 위해, 저희는 귀사의 조직이 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

데모 예약하기
공유하기:
링크드인 브랜드사회적x 로고
작가
마티아스 마두, Ph.
게시일: 2020년 5월 4일

마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

Matias는 15년 이상의 소프트웨어 보안 경험을 가진 연구원이자 개발자입니다. 그는 Fortify 소프트웨어와 같은 회사와 자신의 회사를 위한 솔루션을 개발했습니다. Sensei 안전. 그의 경력을 통해, Matias는 상용 제품으로 주도하고 자신의 벨트 아래 10 개 이상의 특허를 자랑하는 여러 응용 프로그램 보안 연구 프로젝트를 주도하고있다. 마티아스는 책상에서 떨어져 있을 때 고급 응용 프로그램 보안 교육을 위한 강사로 일했습니다. courses RSA 컨퍼런스, 블랙 햇, 데프콘, BSIMM, OWASP AppSec 및 브루콘을 포함한 글로벌 컨퍼런스에서 정기적으로 강연합니다.

마티아스는 겐트 대학교에서 컴퓨터 공학 박사 학위를 취득했으며, 프로그램 난독화를 통해 응용 프로그램 보안을 연구하여 응용 프로그램의 내부 작동을 숨깁니다.

공유하기:
링크드인 브랜드사회적x 로고

오늘날 사이버 보안 위협은 어디에나 존재하며 끊임없이 발생합니다. 우리 삶의 더 많은 측면이 디지털화될수록 사이버 범죄자들에게 걸린 위험은 더욱 커집니다: 보호해야 할 코드가 너무 많고 개인 데이터의 가치가 너무 크기 때문입니다. 프로그램 배포 후 공격 표면의 모든 측면을 추적하고 방어하려는 시도는 거의 불가능해졌습니다.

일부 접근 방식은 이러한 증상 중 일부를 완화할 수 있으며, 그중 하나는 선견지명을 가진 조직이 인프라스트럭처로서의 코드(IaC) 개념을 채택할 때 명백해집니다. 물론 모든 개발과 마찬가지로 극복해야 할 보안 함정이 존재합니다. 개발자들이 애플리케이션을 호스팅하는 데 필수적인 인프라를 생성하는 코드를 다루기 때문에, 프로세스 전반에 걸쳐 보안에 대한 인식이 필수적입니다.

그렇다면 클라우드 서버 환경에서 초보 개발자는 어떻게 자신의 역량을 향상시키고, 노하우를 익히며, 보안에 대한 인식이 높아진 상태로 버전을 다룰 수 있을까요? 우리는 IaC의 일반적인 취약점을 해결하기 위해 'Coders Conquer Security' 시리즈를 기획했으며, 향후 블로그에서는 개발자로서 여러분이 소속 조직 내에서 코드 형태의 안전한 인프라를 구축하기 시작할 수 있는 방법에 집중할 예정입니다.

가자.

미국 서부 개척 시대에 유래한 우화가 하나 있다. 한 남자가 강도들이 자신의 재산을 습격하고 털어갈까 봐 지나치게 불안해했다는 이야기다. 이를 만회하기 위해 그는 매우 튼튼한 현관문 설치, 모든 창문 잠금, 그리고 손에 닿는 곳에 수많은 무기를 비치하는 등 온갖 보안 조치를 취했습니다. 그런데도 어느 날 밤 그가 잠든 사이 옆문을 잠그는 것을 잊은 탓에 결국 강도를 당하고 말았습니다. 강도들은 보안이 허술해진 틈을 재빨리 노린 것이었습니다.

인프라의 보안 기능을 비활성화하는 것은 이와 비슷합니다. 네트워크에 견고한 보안 인프라가 구축되어 있더라도 일부 요소가 비활성화되었다면 아무 소용이 없습니다.

본론에 들어가기 전에 여러분께 한 가지 도전장을 내밀어도 될까요?

위 링크를 클릭하시면 게임화된 교육 플랫폼으로 이동하게 되며, 지금 바로 비활성화된 보안 취약점을 중화시키는 시도를 해보실 수 있습니다. (주의: Kubernetes에서 열리지만, 드롭다운 메뉴를 사용하시면 Docker, CloudFormation, Terraform, Ansible 중에서 선택하실 수 있습니다).

어떻게 해결했어? 아직 할 일이 남아 있다면, 다음 내용을 읽어보세요:

보안 기능은 다양한 이유로 비활성화될 수 있습니다. 일부 애플리케이션 및 프레임워크에서는 기본적으로 비활성화되어 있으며, 작동시키려면 먼저 활성화해야 합니다. 또한 관리자가 특정 작업을 수행할 때 지속적으로 경고나 차단 없이 더 쉽게 처리할 수 있도록 특정 보안 기능을 비활성화했을 수도 있습니다(예: AWS S3 저장소를 공개로 설정). 작업이 완료된 후, 그들은 비활성화된 기능을 다시 활성화하는 것을 잊을 수 있습니다. 또한 향후 작업을 용이하게 하기 위해 해당 기능을 계속 비활성화 상태로 유지하는 것을 선호할 수도 있습니다.

비활성화된 보안 기능이 왜 그렇게 위험한가

하나 이상의 보안 기능을 비활성화하는 것은 여러 가지 이유로 바람직하지 않습니다. 첫째, 해당 보안 기능은 알려진 악용, 위협 또는 취약점으로부터 보호하기 위해 인프라 리소스에 통합되었습니다. 비활성화되면 리소스를 보호할 수 없게 됩니다.

공격자들은 항상 먼저 쉽게 악용할 수 있는 취약점을 찾으려 할 것이며, 심지어 일반적인 취약점을 수정하는 스크립트를 사용할 수도 있습니다. 이는 마치 도둑이 길가에 주차된 모든 차량의 문을 잠금 해제 상태인지 확인하는 것과 비슷합니다. 창문을 깨는 것보다 훨씬 쉬운 일이니까요. 해커들은 일반적인 보안 방어 체계가 작동하지 않는다는 사실을 발견하고 놀랄 수도 있습니다. 하지만 그런 상황이 발생하면 이를 악용하는 데 오래 걸리지 않을 것입니다.

둘째, 적절한 보안 조치를 구축한 후 이를 비활성화하는 것은 허위의 안전감을 조성합니다. 관리자들은 누군가가 이러한 방어 체계를 해제했다는 사실을 모른다면, 자신들이 일반적인 위협으로부터 보호받고 있다고 생각할 수 있습니다.

공격자가 비활성화된 보안 기능을 악용할 수 있는 방식의 예로, AWS S3의 공개 액세스 차단 보안 기능을 살펴보겠습니다. Amazon S3의 공개 액세스가 차단되면 계정 관리자 및 저장소 소유자는 Amazon S3 리소스에 대한 공개 액세스를 제한하기 위한 중앙 집중식 제어를 쉽게 구성할 수 있습니다. 그러나 일부 관리자는 S3 저장소 접근 시 문제가 발생하면 작업을 최대한 빨리 완료하기 위해 저장소를 공개적으로 설정하기로 결정합니다. 이 보안 기능을 활성화하는 것을 잊어버리면 공격자는 해당 S3 저장소에 저장된 정보에 대한 완전한 접근 권한을 얻게 되어 정보 유출뿐만 아니라 데이터 전송 비용으로 인한 추가 비용도 발생하게 됩니다.

실제 코드 비교; 다음 CloudFormation 발췌문을 살펴보세요:

취약한 :

기업 계정 :
유형 : AWS : :S3 : :Bucket
속성 :
공개 액세스 블록 구성 :
BlockPublicACLS : false
BlockPublicPolicy : false
IgnorepublicACLS : false
RestrictPublicBuckets : false
버전 관리 설정 :
상태 : 활성화됨
버킷 암호화 :
서버 측 암호화 설정 :
- 기본 서버 측 암호화 :
SSE 알고리즘 : "AES256"

안전한 :

기업 계정 :
유형 : AWS : :S3 : :Bucket
속성 :
공개 액세스 블록 구성 :
BlockPublicACLS : true
BlockPublicPolicy : true
Ignorepublicacls : true
RestrictPublicBuckets : true
버전 관리 설정 :
상태 : 활성화됨
버킷 암호화 :
서버 측 암호화 설정 :
- 기본 서버 측 암호화 :
SSE 알고리즘 : "AES256"

비활성화된 보안 기능 방지

비활성화된 보안 기능이 조직에 피해를 주는 것을 방지하는 것은 정책과 실행 모두에 관한 문제입니다. 보안 기능은 매우 특정된 상황에서만 비활성화되어야 한다는 강력한 정책이 마련되어야 합니다. 문제 해결이나 애플리케이션 업데이트를 위해 기능을 일시적으로 비활성화해야 하는 사건은 반드시 기록되어야 합니다. 필요한 작업이 완료된 후에는 기능이 완전히 재활성화되었는지 확인해야 합니다.

보안 기능을 운영 효율화를 위해 영구적으로 비활성화해야 하는 경우, 기본 보호 기능이 없는 상태에서 해커가 해당 데이터에 접근하는 것을 방지하기 위해 다른 보호 장치를 마련해야 합니다. 필수 보호 기능이 비활성화된 상태라면, 공격자가 이 잠금 해제된 문을 발견하고 이를 악용하는 것은 시간 문제일 뿐입니다.

더 알아보고, 도전해보세요:

보안 코드 워리어를 참조하십시오 Secure Code Warrior 블로그 페이지를 참조하여 이 취약점에 대해 자세히 알아보고, 다른 보안 결함과 취약점으로 인한 피해를 방지하여 조직과 고객을 보호하는 방법을 확인하세요.

이 글을 읽은 지금, 해당 취약점을 찾아 수정할 준비가 되셨나요? Secure Code Warrior 플랫폼에서IaC 기반 게임화 보안 챌린지를 시도해 보세요. 사이버 보안 역량을 Secure Code Warrior 최신 상태로 업데이트할 Secure Code Warrior .

이 주간 시리즈는 코드로서의 인프라와 관련된 8가지 주요 취약점을 다룹니다. 다음 주에 더 많은 내용을 확인하세요!

리소스 표시
리소스 표시

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

저희 제품 및/또는 안전한 코딩 관련 주제에 대한 정보를 보내드리는 데 귀하의 허락을 받고자 합니다. 귀하의 개인정보는 항상 최대한 신중하게 처리하며, 마케팅 목적으로 다른 기업에 절대 판매하지 않을 것입니다.

제출하다
scw 성공 아이콘
scw 오류 아이콘
양식을 제출하려면 '분석' 쿠키를 활성화해 주십시오. 완료 후에는 다시 비활성화하셔도 됩니다.

오늘날 사이버 보안 위협은 어디에나 존재하며 끊임없이 발생합니다. 우리 삶의 더 많은 측면이 디지털화될수록 사이버 범죄자들에게 걸린 위험은 더욱 커집니다: 보호해야 할 코드가 너무 많고 개인 데이터의 가치가 너무 크기 때문입니다. 프로그램 배포 후 공격 표면의 모든 측면을 추적하고 방어하려는 시도는 거의 불가능해졌습니다.

일부 접근 방식은 이러한 증상 중 일부를 완화할 수 있으며, 그중 하나는 선견지명을 가진 조직이 인프라스트럭처로서의 코드(IaC) 개념을 채택할 때 명백해집니다. 물론 모든 개발과 마찬가지로 극복해야 할 보안 함정이 존재합니다. 개발자들이 애플리케이션을 호스팅하는 데 필수적인 인프라를 생성하는 코드를 다루기 때문에, 프로세스 전반에 걸쳐 보안에 대한 인식이 필수적입니다.

그렇다면 클라우드 서버 환경에서 초보 개발자는 어떻게 자신의 역량을 향상시키고, 노하우를 익히며, 보안에 대한 인식이 높아진 상태로 버전을 다룰 수 있을까요? 우리는 IaC의 일반적인 취약점을 해결하기 위해 'Coders Conquer Security' 시리즈를 기획했으며, 향후 블로그에서는 개발자로서 여러분이 소속 조직 내에서 코드 형태의 안전한 인프라를 구축하기 시작할 수 있는 방법에 집중할 예정입니다.

가자.

미국 서부 개척 시대에 유래한 우화가 하나 있다. 한 남자가 강도들이 자신의 재산을 습격하고 털어갈까 봐 지나치게 불안해했다는 이야기다. 이를 만회하기 위해 그는 매우 튼튼한 현관문 설치, 모든 창문 잠금, 그리고 손에 닿는 곳에 수많은 무기를 비치하는 등 온갖 보안 조치를 취했습니다. 그런데도 어느 날 밤 그가 잠든 사이 옆문을 잠그는 것을 잊은 탓에 결국 강도를 당하고 말았습니다. 강도들은 보안이 허술해진 틈을 재빨리 노린 것이었습니다.

인프라의 보안 기능을 비활성화하는 것은 이와 비슷합니다. 네트워크에 견고한 보안 인프라가 구축되어 있더라도 일부 요소가 비활성화되었다면 아무 소용이 없습니다.

본론에 들어가기 전에 여러분께 한 가지 도전장을 내밀어도 될까요?

위 링크를 클릭하시면 게임화된 교육 플랫폼으로 이동하게 되며, 지금 바로 비활성화된 보안 취약점을 중화시키는 시도를 해보실 수 있습니다. (주의: Kubernetes에서 열리지만, 드롭다운 메뉴를 사용하시면 Docker, CloudFormation, Terraform, Ansible 중에서 선택하실 수 있습니다).

어떻게 해결했어? 아직 할 일이 남아 있다면, 다음 내용을 읽어보세요:

보안 기능은 다양한 이유로 비활성화될 수 있습니다. 일부 애플리케이션 및 프레임워크에서는 기본적으로 비활성화되어 있으며, 작동시키려면 먼저 활성화해야 합니다. 또한 관리자가 특정 작업을 수행할 때 지속적으로 경고나 차단 없이 더 쉽게 처리할 수 있도록 특정 보안 기능을 비활성화했을 수도 있습니다(예: AWS S3 저장소를 공개로 설정). 작업이 완료된 후, 그들은 비활성화된 기능을 다시 활성화하는 것을 잊을 수 있습니다. 또한 향후 작업을 용이하게 하기 위해 해당 기능을 계속 비활성화 상태로 유지하는 것을 선호할 수도 있습니다.

비활성화된 보안 기능이 왜 그렇게 위험한가

하나 이상의 보안 기능을 비활성화하는 것은 여러 가지 이유로 바람직하지 않습니다. 첫째, 해당 보안 기능은 알려진 악용, 위협 또는 취약점으로부터 보호하기 위해 인프라 리소스에 통합되었습니다. 비활성화되면 리소스를 보호할 수 없게 됩니다.

공격자들은 항상 먼저 쉽게 악용할 수 있는 취약점을 찾으려 할 것이며, 심지어 일반적인 취약점을 수정하는 스크립트를 사용할 수도 있습니다. 이는 마치 도둑이 길가에 주차된 모든 차량의 문을 잠금 해제 상태인지 확인하는 것과 비슷합니다. 창문을 깨는 것보다 훨씬 쉬운 일이니까요. 해커들은 일반적인 보안 방어 체계가 작동하지 않는다는 사실을 발견하고 놀랄 수도 있습니다. 하지만 그런 상황이 발생하면 이를 악용하는 데 오래 걸리지 않을 것입니다.

둘째, 적절한 보안 조치를 구축한 후 이를 비활성화하는 것은 허위의 안전감을 조성합니다. 관리자들은 누군가가 이러한 방어 체계를 해제했다는 사실을 모른다면, 자신들이 일반적인 위협으로부터 보호받고 있다고 생각할 수 있습니다.

공격자가 비활성화된 보안 기능을 악용할 수 있는 방식의 예로, AWS S3의 공개 액세스 차단 보안 기능을 살펴보겠습니다. Amazon S3의 공개 액세스가 차단되면 계정 관리자 및 저장소 소유자는 Amazon S3 리소스에 대한 공개 액세스를 제한하기 위한 중앙 집중식 제어를 쉽게 구성할 수 있습니다. 그러나 일부 관리자는 S3 저장소 접근 시 문제가 발생하면 작업을 최대한 빨리 완료하기 위해 저장소를 공개적으로 설정하기로 결정합니다. 이 보안 기능을 활성화하는 것을 잊어버리면 공격자는 해당 S3 저장소에 저장된 정보에 대한 완전한 접근 권한을 얻게 되어 정보 유출뿐만 아니라 데이터 전송 비용으로 인한 추가 비용도 발생하게 됩니다.

실제 코드 비교; 다음 CloudFormation 발췌문을 살펴보세요:

취약한 :

기업 계정 :
유형 : AWS : :S3 : :Bucket
속성 :
공개 액세스 블록 구성 :
BlockPublicACLS : false
BlockPublicPolicy : false
IgnorepublicACLS : false
RestrictPublicBuckets : false
버전 관리 설정 :
상태 : 활성화됨
버킷 암호화 :
서버 측 암호화 설정 :
- 기본 서버 측 암호화 :
SSE 알고리즘 : "AES256"

안전한 :

기업 계정 :
유형 : AWS : :S3 : :Bucket
속성 :
공개 액세스 블록 구성 :
BlockPublicACLS : true
BlockPublicPolicy : true
Ignorepublicacls : true
RestrictPublicBuckets : true
버전 관리 설정 :
상태 : 활성화됨
버킷 암호화 :
서버 측 암호화 설정 :
- 기본 서버 측 암호화 :
SSE 알고리즘 : "AES256"

비활성화된 보안 기능 방지

비활성화된 보안 기능이 조직에 피해를 주는 것을 방지하는 것은 정책과 실행 모두에 관한 문제입니다. 보안 기능은 매우 특정된 상황에서만 비활성화되어야 한다는 강력한 정책이 마련되어야 합니다. 문제 해결이나 애플리케이션 업데이트를 위해 기능을 일시적으로 비활성화해야 하는 사건은 반드시 기록되어야 합니다. 필요한 작업이 완료된 후에는 기능이 완전히 재활성화되었는지 확인해야 합니다.

보안 기능을 운영 효율화를 위해 영구적으로 비활성화해야 하는 경우, 기본 보호 기능이 없는 상태에서 해커가 해당 데이터에 접근하는 것을 방지하기 위해 다른 보호 장치를 마련해야 합니다. 필수 보호 기능이 비활성화된 상태라면, 공격자가 이 잠금 해제된 문을 발견하고 이를 악용하는 것은 시간 문제일 뿐입니다.

더 알아보고, 도전해보세요:

보안 코드 워리어를 참조하십시오 Secure Code Warrior 블로그 페이지를 참조하여 이 취약점에 대해 자세히 알아보고, 다른 보안 결함과 취약점으로 인한 피해를 방지하여 조직과 고객을 보호하는 방법을 확인하세요.

이 글을 읽은 지금, 해당 취약점을 찾아 수정할 준비가 되셨나요? Secure Code Warrior 플랫폼에서IaC 기반 게임화 보안 챌린지를 시도해 보세요. 사이버 보안 역량을 Secure Code Warrior 최신 상태로 업데이트할 Secure Code Warrior .

이 주간 시리즈는 코드로서의 인프라와 관련된 8가지 주요 취약점을 다룹니다. 다음 주에 더 많은 내용을 확인하세요!

웨비나 보기
시작하세요
더 알아보세요

아래 링크를 클릭하고 이 자료의 PDF를 다운로드하세요.

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 주기 전반에 걸쳐 코드를 안전하게 보호하고 사이버보안이 최우선 과제인 문화를 조성하도록 Secure Code Warrior . 애플리케이션 보안 담당자, 개발자, IT 보안 책임자 또는 보안 관련 업무에 종사하는 모든 분들을 위해, 저희는 귀사의 조직이 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

보고서 표시데모 예약하기
리소스 표시
공유하기:
링크드인 브랜드사회적x 로고
더 알고 싶으신가요?

공유하기:
링크드인 브랜드사회적x 로고
작가
마티아스 마두, Ph.
게시일: 2020년 5월 4일

마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

Matias는 15년 이상의 소프트웨어 보안 경험을 가진 연구원이자 개발자입니다. 그는 Fortify 소프트웨어와 같은 회사와 자신의 회사를 위한 솔루션을 개발했습니다. Sensei 안전. 그의 경력을 통해, Matias는 상용 제품으로 주도하고 자신의 벨트 아래 10 개 이상의 특허를 자랑하는 여러 응용 프로그램 보안 연구 프로젝트를 주도하고있다. 마티아스는 책상에서 떨어져 있을 때 고급 응용 프로그램 보안 교육을 위한 강사로 일했습니다. courses RSA 컨퍼런스, 블랙 햇, 데프콘, BSIMM, OWASP AppSec 및 브루콘을 포함한 글로벌 컨퍼런스에서 정기적으로 강연합니다.

마티아스는 겐트 대학교에서 컴퓨터 공학 박사 학위를 취득했으며, 프로그램 난독화를 통해 응용 프로그램 보안을 연구하여 응용 프로그램의 내부 작동을 숨깁니다.

공유하기:
링크드인 브랜드사회적x 로고

오늘날 사이버 보안 위협은 어디에나 존재하며 끊임없이 발생합니다. 우리 삶의 더 많은 측면이 디지털화될수록 사이버 범죄자들에게 걸린 위험은 더욱 커집니다: 보호해야 할 코드가 너무 많고 개인 데이터의 가치가 너무 크기 때문입니다. 프로그램 배포 후 공격 표면의 모든 측면을 추적하고 방어하려는 시도는 거의 불가능해졌습니다.

일부 접근 방식은 이러한 증상 중 일부를 완화할 수 있으며, 그중 하나는 선견지명을 가진 조직이 인프라스트럭처로서의 코드(IaC) 개념을 채택할 때 명백해집니다. 물론 모든 개발과 마찬가지로 극복해야 할 보안 함정이 존재합니다. 개발자들이 애플리케이션을 호스팅하는 데 필수적인 인프라를 생성하는 코드를 다루기 때문에, 프로세스 전반에 걸쳐 보안에 대한 인식이 필수적입니다.

그렇다면 클라우드 서버 환경에서 초보 개발자는 어떻게 자신의 역량을 향상시키고, 노하우를 익히며, 보안에 대한 인식이 높아진 상태로 버전을 다룰 수 있을까요? 우리는 IaC의 일반적인 취약점을 해결하기 위해 'Coders Conquer Security' 시리즈를 기획했으며, 향후 블로그에서는 개발자로서 여러분이 소속 조직 내에서 코드 형태의 안전한 인프라를 구축하기 시작할 수 있는 방법에 집중할 예정입니다.

가자.

미국 서부 개척 시대에 유래한 우화가 하나 있다. 한 남자가 강도들이 자신의 재산을 습격하고 털어갈까 봐 지나치게 불안해했다는 이야기다. 이를 만회하기 위해 그는 매우 튼튼한 현관문 설치, 모든 창문 잠금, 그리고 손에 닿는 곳에 수많은 무기를 비치하는 등 온갖 보안 조치를 취했습니다. 그런데도 어느 날 밤 그가 잠든 사이 옆문을 잠그는 것을 잊은 탓에 결국 강도를 당하고 말았습니다. 강도들은 보안이 허술해진 틈을 재빨리 노린 것이었습니다.

인프라의 보안 기능을 비활성화하는 것은 이와 비슷합니다. 네트워크에 견고한 보안 인프라가 구축되어 있더라도 일부 요소가 비활성화되었다면 아무 소용이 없습니다.

본론에 들어가기 전에 여러분께 한 가지 도전장을 내밀어도 될까요?

위 링크를 클릭하시면 게임화된 교육 플랫폼으로 이동하게 되며, 지금 바로 비활성화된 보안 취약점을 중화시키는 시도를 해보실 수 있습니다. (주의: Kubernetes에서 열리지만, 드롭다운 메뉴를 사용하시면 Docker, CloudFormation, Terraform, Ansible 중에서 선택하실 수 있습니다).

어떻게 해결했어? 아직 할 일이 남아 있다면, 다음 내용을 읽어보세요:

보안 기능은 다양한 이유로 비활성화될 수 있습니다. 일부 애플리케이션 및 프레임워크에서는 기본적으로 비활성화되어 있으며, 작동시키려면 먼저 활성화해야 합니다. 또한 관리자가 특정 작업을 수행할 때 지속적으로 경고나 차단 없이 더 쉽게 처리할 수 있도록 특정 보안 기능을 비활성화했을 수도 있습니다(예: AWS S3 저장소를 공개로 설정). 작업이 완료된 후, 그들은 비활성화된 기능을 다시 활성화하는 것을 잊을 수 있습니다. 또한 향후 작업을 용이하게 하기 위해 해당 기능을 계속 비활성화 상태로 유지하는 것을 선호할 수도 있습니다.

비활성화된 보안 기능이 왜 그렇게 위험한가

하나 이상의 보안 기능을 비활성화하는 것은 여러 가지 이유로 바람직하지 않습니다. 첫째, 해당 보안 기능은 알려진 악용, 위협 또는 취약점으로부터 보호하기 위해 인프라 리소스에 통합되었습니다. 비활성화되면 리소스를 보호할 수 없게 됩니다.

공격자들은 항상 먼저 쉽게 악용할 수 있는 취약점을 찾으려 할 것이며, 심지어 일반적인 취약점을 수정하는 스크립트를 사용할 수도 있습니다. 이는 마치 도둑이 길가에 주차된 모든 차량의 문을 잠금 해제 상태인지 확인하는 것과 비슷합니다. 창문을 깨는 것보다 훨씬 쉬운 일이니까요. 해커들은 일반적인 보안 방어 체계가 작동하지 않는다는 사실을 발견하고 놀랄 수도 있습니다. 하지만 그런 상황이 발생하면 이를 악용하는 데 오래 걸리지 않을 것입니다.

둘째, 적절한 보안 조치를 구축한 후 이를 비활성화하는 것은 허위의 안전감을 조성합니다. 관리자들은 누군가가 이러한 방어 체계를 해제했다는 사실을 모른다면, 자신들이 일반적인 위협으로부터 보호받고 있다고 생각할 수 있습니다.

공격자가 비활성화된 보안 기능을 악용할 수 있는 방식의 예로, AWS S3의 공개 액세스 차단 보안 기능을 살펴보겠습니다. Amazon S3의 공개 액세스가 차단되면 계정 관리자 및 저장소 소유자는 Amazon S3 리소스에 대한 공개 액세스를 제한하기 위한 중앙 집중식 제어를 쉽게 구성할 수 있습니다. 그러나 일부 관리자는 S3 저장소 접근 시 문제가 발생하면 작업을 최대한 빨리 완료하기 위해 저장소를 공개적으로 설정하기로 결정합니다. 이 보안 기능을 활성화하는 것을 잊어버리면 공격자는 해당 S3 저장소에 저장된 정보에 대한 완전한 접근 권한을 얻게 되어 정보 유출뿐만 아니라 데이터 전송 비용으로 인한 추가 비용도 발생하게 됩니다.

실제 코드 비교; 다음 CloudFormation 발췌문을 살펴보세요:

취약한 :

기업 계정 :
유형 : AWS : :S3 : :Bucket
속성 :
공개 액세스 블록 구성 :
BlockPublicACLS : false
BlockPublicPolicy : false
IgnorepublicACLS : false
RestrictPublicBuckets : false
버전 관리 설정 :
상태 : 활성화됨
버킷 암호화 :
서버 측 암호화 설정 :
- 기본 서버 측 암호화 :
SSE 알고리즘 : "AES256"

안전한 :

기업 계정 :
유형 : AWS : :S3 : :Bucket
속성 :
공개 액세스 블록 구성 :
BlockPublicACLS : true
BlockPublicPolicy : true
Ignorepublicacls : true
RestrictPublicBuckets : true
버전 관리 설정 :
상태 : 활성화됨
버킷 암호화 :
서버 측 암호화 설정 :
- 기본 서버 측 암호화 :
SSE 알고리즘 : "AES256"

비활성화된 보안 기능 방지

비활성화된 보안 기능이 조직에 피해를 주는 것을 방지하는 것은 정책과 실행 모두에 관한 문제입니다. 보안 기능은 매우 특정된 상황에서만 비활성화되어야 한다는 강력한 정책이 마련되어야 합니다. 문제 해결이나 애플리케이션 업데이트를 위해 기능을 일시적으로 비활성화해야 하는 사건은 반드시 기록되어야 합니다. 필요한 작업이 완료된 후에는 기능이 완전히 재활성화되었는지 확인해야 합니다.

보안 기능을 운영 효율화를 위해 영구적으로 비활성화해야 하는 경우, 기본 보호 기능이 없는 상태에서 해커가 해당 데이터에 접근하는 것을 방지하기 위해 다른 보호 장치를 마련해야 합니다. 필수 보호 기능이 비활성화된 상태라면, 공격자가 이 잠금 해제된 문을 발견하고 이를 악용하는 것은 시간 문제일 뿐입니다.

더 알아보고, 도전해보세요:

보안 코드 워리어를 참조하십시오 Secure Code Warrior 블로그 페이지를 참조하여 이 취약점에 대해 자세히 알아보고, 다른 보안 결함과 취약점으로 인한 피해를 방지하여 조직과 고객을 보호하는 방법을 확인하세요.

이 글을 읽은 지금, 해당 취약점을 찾아 수정할 준비가 되셨나요? Secure Code Warrior 플랫폼에서IaC 기반 게임화 보안 챌린지를 시도해 보세요. 사이버 보안 역량을 Secure Code Warrior 최신 상태로 업데이트할 Secure Code Warrior .

이 주간 시리즈는 코드로서의 인프라와 관련된 8가지 주요 취약점을 다룹니다. 다음 주에 더 많은 내용을 확인하세요!

목차

PDF 다운로드
리소스 표시
더 알고 싶으신가요?

마티아스 마두는 보안 전문가, 연구원, CTO이자 Secure Code Warrior 의 공동 설립자입니다. 마티아스는 겐트 대학교에서 정적 분석 솔루션에 중점을 둔 애플리케이션 보안 박사 학위를 취득했습니다. 이후 미국의 Fortify에 입사하여 개발자의 보안 코드 작성을 지원하지 않고 코드 문제만 탐지하는 것만으로는 충분하지 않다는 것을 깨달았습니다. 이를 계기로 개발자를 지원하고 보안에 대한 부담을 덜어주며 고객의 기대를 뛰어넘는 제품을 개발하게 되었습니다. 팀 어썸의 일원으로 책상에 앉아 있지 않을 때는 RSA 컨퍼런스, 블랙햇, 데프콘 등의 컨퍼런스에서 무대에 올라 발표하는 것을 즐깁니다.

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 주기 전반에 걸쳐 코드를 안전하게 보호하고 사이버보안이 최우선 과제인 문화를 조성하도록 Secure Code Warrior . 애플리케이션 보안 담당자, 개발자, IT 보안 책임자 또는 보안 관련 업무에 종사하는 모든 분들을 위해, 저희는 귀사의 조직이 안전하지 않은 코드로 인한 위험을 줄일 수 있도록 돕습니다.

데모 예약하기Télécharger
공유하기:
링크드인 브랜드사회적x 로고
자원 센터

시작하는 데 도움이 되는 자료

더 많은 게시물
자원 센터

시작하는 데 도움이 되는 자료

더 많은 게시물