코드 시리즈: 비활성화된 보안 기능으로 보안 인프라를 정복하는 코더

게시일: 2020년 5월 4일
작성자: 마티아스 마두, Ph.
사례 연구

코드 시리즈: 비활성화된 보안 기능으로 보안 인프라를 정복하는 코더

게시일: 2020년 5월 4일
작성자: 마티아스 마두, Ph.
리소스 보기
리소스 보기

요즘 사이버 보안에 대한 위협은 유비쿼터스이며 끊임없는 위협입니다. 우리의 삶의 더 많은 측면이 디지털화됨에 따라 사이버 범죄자의 지분이 높아지며 보안을 유지하기에는 코드가 너무 많고 개인 데이터가 너무 가치가 있습니다. 그리고, 잘, 프로그램을 배포 한 후 공격 표면의 모든 측면을 유지하고 방어하려고 거의 불가능하게되었다.

이러한 증상 중 일부를 완화할 수 있는 접근 방식이 있으며, 그 중 하나는 날카로운 조직이 인프라 개념을 IaC(코드)로 받아들일 때 분명합니다. 물론, 어떤 개발과 마찬가지로, 탐색 할 수있는 몇 가지 보안 함정이있다. 또한 개발자가 응용 프로그램을 호스팅하는 데 중요한 인프라를 생성하는 코드를 작업하고 있기 때문에 프로세스의 모든 단계에서 보안 인식이 중요합니다.

그렇다면 클라우드 서버 환경을 새로 접하는 개발자는 어떻게 업스킬링, 로프 학습, 보안 인식 강화로 빌드에 접근하는 방법에 대해 정확히 어떻게 할 것인가? 일반적인 IaC 취약점을 해결하기 위해 다음 코더 정복 보안 시리즈를 만들었으며,다음 몇 블로그는 개발자가 자신의 조직에서 보안 인프라를 코드로 배포하기 시작하는 데 사용할 수 있는 단계에 초점을 맞출 것입니다.

시작해 봅시다.

미국 올드 웨스트에서 산적들이 공격하고 자신의 고향을 강탈 할 편집증 한 사람에 대한 우화가있다. 이를 보완하기 위해 그는 매우 강력한 현관문을 설치하고, 창문을 모두 탑승하고, 많은 총을 쉽게 도달할 수 있도록 하는 등 모든 종류의 보안에 투자했습니다. 그는 옆문을 잠그는 것을 잊어 버렸기 때문에 잠을 자는 동안 어느 밤에도 강탈당했다. 산적들은 단순히 장애인 보안을 발견하고 신속하게 상황을 악용했다.

인프라에 보안 기능을 비활성화하는 것은 매우 유사합니다. 네트워크에 강력한 보안 인프라가 있더라도 요소가 비활성화된 경우 거의 좋지 않습니다.

다이빙하기 전에 도전해 보자.

위의 링크를 방문하면 현재 비활성화된 보안 기능 취약점을 물리 칠 수 있는 게임화된 교육 플랫폼으로 전송됩니다. (머리 위로 : 그것은 Kubernetes에서 열 것입니다,하지만 드롭 다운 메뉴를 사용하고 당신은 Docker, 클라우드 포메이션, 테라 폼과 Ansible에서 선택할 수 있습니다).

어떻게 하셨나요? 아직 해야 할 일이 있는 경우 다음을 읽어보십시오.

보안 기능은 여러 가지 이유로 비활성화할 수 있습니다. 일부 응용 프로그램 및 프레임워크에서는 기본적으로 비활성화될 수 있으며 먼저 기능을 시작하려면 켜야 합니다. 또한 관리자가 지속적으로 도전하거나 차단되지 않고 특정 작업을 보다 쉽게 수행하기 위해 특정 보안 기능을 비활성화(예: AWS S3 버킷 공개)를 비활성화했을 수도 있습니다. 작업이 완료되면 비활성화된 기능을 다시 활성화하는 것을 잊을 수 있습니다. 그들은 또한 미래에 자신의 일을 쉽게하기 위해 그들을 끄고 선호 할 수 있습니다.

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

하나 이상의 비활성화된 보안 기능을 갖는 것은 몇 가지 이유로 나쁩을 가지않습니다. 하나는 보안 기능이 인프라 리소스에 삽입되어 알려진 악용, 위협 또는 취약점으로부터 보호했습니다. 비활성화된 경우 리소스를 보호할 수 없습니다.

공격자는 항상 쉽게 악용가능한 취약점을 먼저 찾으려고 시도하며 스크립트를 사용하여 일반적인 약점을 실행할 수도 있습니다. 그것은 어떤 문이 잠금 해제되어 있는지 확인하기 위해 거리의 모든 자동차를 확인하는 도둑과 는 달리, 이는 창을 분쇄하는 것보다 훨씬 쉽다. 해커는 일반적인 보안 방어가 비활성 상태라는 사실에 놀랄 수 있습니다. 그러나 그런 일이 발생하면 악용하는 데 오래 걸리지 않습니다.

둘째, 좋은 보안을 갖추고 비활성화하면 잘못된 보안 감각이 생깁니다. 관리자는 누군가가 이러한 방어를 비활성화했다는 것을 모르는 경우 일반적인 위협으로부터 보호된다고 생각할 수 있습니다.

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

일부 실제 코드를 비교할 수 있습니다. 다음 클라우드포메이션 스니펫을 확인하십시오.

취약:

기업 버킷:
유형: AWS:::S3::버킷
속성:
퍼블릭액세스블록구성:
블록퍼블릭: 거짓
블록공공정책: 거짓
무시PublicAcls: 거짓
제한공공버킷: 거짓
버전 구성:
상태: 사용 가능
버킷암호화:
서버사이드암호화 구성:
- 서버사이드암호화기본:
SSE 알고리즘: "AES256"

확실한:

기업 버킷:
유형: AWS:::S3::버킷
속성:
퍼블릭액세스블록구성:
블록퍼블릭: 사실
블록퍼블릭정책: 사실
무시퍼블릭: 사실
제한공공버킷: 사실
버전 구성:
상태: 사용 가능
버킷암호화:
서버사이드암호화 구성:
- 서버사이드암호화기본:
SSE 알고리즘: "AES256"

비활성화된 보안 기능 방지

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

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

자세히 알아보고, 자신에게 도전하십시오.

체크 아웃 Secure Code Warrior 이 취약점에 대한 자세한 정보를 위한 블로그 페이지와 다른 보안 결함 및 취약점의 파괴로부터 조직과 고객을 보호하는 방법.

이제 게시물을 읽고이 취약점을 찾아 수정 할 준비가 되셨습니까? IaC 게임 보안 챌린지를 Secure Code Warrior 모든 사이버 보안 기술을 연마하고 최신 상태로 유지할 수 있는 플랫폼입니다.

이 시리즈는 코드 취약점으로 우리의 상위 8 인프라를 다루는 주간 시리즈입니다; 자세한 내용은 다음 주에 다시 확인하십시오!

리소스 보기
리소스 보기

저자

마티아스 마두, Ph.

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

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

더 알고 싶으신가요?

블로그에서 최신 보안 코딩 인사이트에 대해 자세히 알아보세요.

Atlassian의 광범위한 리소스 라이브러리는 안전한 코딩 숙련도를 확보하기 위한 인적 접근 방식을 강화하는 것을 목표로 합니다.

블로그 보기
더 알고 싶으신가요?

개발자 중심 보안에 대한 최신 연구 보기

광범위한 리소스 라이브러리에는 개발자 중심의 보안 코딩을 시작하는 데 도움이 되는 백서부터 웨비나까지 유용한 리소스가 가득합니다. 지금 살펴보세요.

리소스 허브

코드 시리즈: 비활성화된 보안 기능으로 보안 인프라를 정복하는 코더

게시일: 2020년 5월 4일
마티아스 마두, Ph.

요즘 사이버 보안에 대한 위협은 유비쿼터스이며 끊임없는 위협입니다. 우리의 삶의 더 많은 측면이 디지털화됨에 따라 사이버 범죄자의 지분이 높아지며 보안을 유지하기에는 코드가 너무 많고 개인 데이터가 너무 가치가 있습니다. 그리고, 잘, 프로그램을 배포 한 후 공격 표면의 모든 측면을 유지하고 방어하려고 거의 불가능하게되었다.

이러한 증상 중 일부를 완화할 수 있는 접근 방식이 있으며, 그 중 하나는 날카로운 조직이 인프라 개념을 IaC(코드)로 받아들일 때 분명합니다. 물론, 어떤 개발과 마찬가지로, 탐색 할 수있는 몇 가지 보안 함정이있다. 또한 개발자가 응용 프로그램을 호스팅하는 데 중요한 인프라를 생성하는 코드를 작업하고 있기 때문에 프로세스의 모든 단계에서 보안 인식이 중요합니다.

그렇다면 클라우드 서버 환경을 새로 접하는 개발자는 어떻게 업스킬링, 로프 학습, 보안 인식 강화로 빌드에 접근하는 방법에 대해 정확히 어떻게 할 것인가? 일반적인 IaC 취약점을 해결하기 위해 다음 코더 정복 보안 시리즈를 만들었으며,다음 몇 블로그는 개발자가 자신의 조직에서 보안 인프라를 코드로 배포하기 시작하는 데 사용할 수 있는 단계에 초점을 맞출 것입니다.

시작해 봅시다.

미국 올드 웨스트에서 산적들이 공격하고 자신의 고향을 강탈 할 편집증 한 사람에 대한 우화가있다. 이를 보완하기 위해 그는 매우 강력한 현관문을 설치하고, 창문을 모두 탑승하고, 많은 총을 쉽게 도달할 수 있도록 하는 등 모든 종류의 보안에 투자했습니다. 그는 옆문을 잠그는 것을 잊어 버렸기 때문에 잠을 자는 동안 어느 밤에도 강탈당했다. 산적들은 단순히 장애인 보안을 발견하고 신속하게 상황을 악용했다.

인프라에 보안 기능을 비활성화하는 것은 매우 유사합니다. 네트워크에 강력한 보안 인프라가 있더라도 요소가 비활성화된 경우 거의 좋지 않습니다.

다이빙하기 전에 도전해 보자.

위의 링크를 방문하면 현재 비활성화된 보안 기능 취약점을 물리 칠 수 있는 게임화된 교육 플랫폼으로 전송됩니다. (머리 위로 : 그것은 Kubernetes에서 열 것입니다,하지만 드롭 다운 메뉴를 사용하고 당신은 Docker, 클라우드 포메이션, 테라 폼과 Ansible에서 선택할 수 있습니다).

어떻게 하셨나요? 아직 해야 할 일이 있는 경우 다음을 읽어보십시오.

보안 기능은 여러 가지 이유로 비활성화할 수 있습니다. 일부 응용 프로그램 및 프레임워크에서는 기본적으로 비활성화될 수 있으며 먼저 기능을 시작하려면 켜야 합니다. 또한 관리자가 지속적으로 도전하거나 차단되지 않고 특정 작업을 보다 쉽게 수행하기 위해 특정 보안 기능을 비활성화(예: AWS S3 버킷 공개)를 비활성화했을 수도 있습니다. 작업이 완료되면 비활성화된 기능을 다시 활성화하는 것을 잊을 수 있습니다. 그들은 또한 미래에 자신의 일을 쉽게하기 위해 그들을 끄고 선호 할 수 있습니다.

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

하나 이상의 비활성화된 보안 기능을 갖는 것은 몇 가지 이유로 나쁩을 가지않습니다. 하나는 보안 기능이 인프라 리소스에 삽입되어 알려진 악용, 위협 또는 취약점으로부터 보호했습니다. 비활성화된 경우 리소스를 보호할 수 없습니다.

공격자는 항상 쉽게 악용가능한 취약점을 먼저 찾으려고 시도하며 스크립트를 사용하여 일반적인 약점을 실행할 수도 있습니다. 그것은 어떤 문이 잠금 해제되어 있는지 확인하기 위해 거리의 모든 자동차를 확인하는 도둑과 는 달리, 이는 창을 분쇄하는 것보다 훨씬 쉽다. 해커는 일반적인 보안 방어가 비활성 상태라는 사실에 놀랄 수 있습니다. 그러나 그런 일이 발생하면 악용하는 데 오래 걸리지 않습니다.

둘째, 좋은 보안을 갖추고 비활성화하면 잘못된 보안 감각이 생깁니다. 관리자는 누군가가 이러한 방어를 비활성화했다는 것을 모르는 경우 일반적인 위협으로부터 보호된다고 생각할 수 있습니다.

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

일부 실제 코드를 비교할 수 있습니다. 다음 클라우드포메이션 스니펫을 확인하십시오.

취약:

기업 버킷:
유형: AWS:::S3::버킷
속성:
퍼블릭액세스블록구성:
블록퍼블릭: 거짓
블록공공정책: 거짓
무시PublicAcls: 거짓
제한공공버킷: 거짓
버전 구성:
상태: 사용 가능
버킷암호화:
서버사이드암호화 구성:
- 서버사이드암호화기본:
SSE 알고리즘: "AES256"

확실한:

기업 버킷:
유형: AWS:::S3::버킷
속성:
퍼블릭액세스블록구성:
블록퍼블릭: 사실
블록퍼블릭정책: 사실
무시퍼블릭: 사실
제한공공버킷: 사실
버전 구성:
상태: 사용 가능
버킷암호화:
서버사이드암호화 구성:
- 서버사이드암호화기본:
SSE 알고리즘: "AES256"

비활성화된 보안 기능 방지

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

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

자세히 알아보고, 자신에게 도전하십시오.

체크 아웃 Secure Code Warrior 이 취약점에 대한 자세한 정보를 위한 블로그 페이지와 다른 보안 결함 및 취약점의 파괴로부터 조직과 고객을 보호하는 방법.

이제 게시물을 읽고이 취약점을 찾아 수정 할 준비가 되셨습니까? IaC 게임 보안 챌린지를 Secure Code Warrior 모든 사이버 보안 기술을 연마하고 최신 상태로 유지할 수 있는 플랫폼입니다.

이 시리즈는 코드 취약점으로 우리의 상위 8 인프라를 다루는 주간 시리즈입니다; 자세한 내용은 다음 주에 다시 확인하십시오!

우리는 당신에게 우리의 제품 및 / 또는 관련 보안 코딩 주제에 대한 정보를 보낼 수있는 귀하의 허가를 바랍니다. 우리는 항상 최대한의주의를 기울여 귀하의 개인 정보를 취급 할 것이며 마케팅 목적으로 다른 회사에 판매하지 않을 것입니다.

양식을 제출하려면 '분석' 쿠키를 활성화하세요. 완료되면 언제든지 다시 비활성화할 수 있습니다.