코드 시리즈로 보안 인프라를 정복 코더: 안전하지 않은 암호화

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

코드 시리즈로 보안 인프라를 정복 코더: 안전하지 않은 암호화

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

Shrewd 조직은 인프라 개념을 코드로 받아들이고 있으며 응용 프로그램을 빌드하는 외부에서도 보안 코드를 만드는 데 상당한 기여를 할 수있는 개발자입니다. 처음에는 여행하기에 긴 길로 보일 수 있지만, 여행은 동료들 사이에서 눈에 띄는 가치가 있습니다.

최신 코더 정복 보안 시리즈의 다음 장에서 시작하기 전에 중요한 데이터 저장소 취약점에 대한 게임화된 과제를 해결하도록 초대하고 싶습니다. 지금 플레이하고 Kubernetes, 테라폼, Ansible, Docker 또는 CloudFormation 중에서 선택합니다.

어땠나요? 지식에 몇 가지 작업이 필요한 경우 다음을 읽으십시오.

요즘에는 암호, 개인 정보 및 재무 기록과 같은 중요한 데이터가 쉬어지는 동안 사이버 보안 방어의 초석입니다. 여러 면에서 마지막 방어선이자 최고의 보호 수단 중 하나로 작용합니다. 공격자가 다른 방어를 뚫고 중요한 파일을 얻을 수 있더라도 제대로 해시되고 저장되는 한 그다지 좋은 것은 되지 않기 때문입니다.

또한 암호화된 파일에 네트워크의 나머지 부분과 별도의 키 또는 암호를 가질 수 있으므로 악의적인 내부자에 대한 견고한 보조 보호 역할을 합니다. 이 경우 시스템 관리자 나 관리자의 자격 증명을 손상 한 해커와 같은 사람이 보호 된 디렉터리로 탐색 할 수 있지만 암호화 키가 다른 곳에서 유지되는 경우 암호화 된 파일의 잠금을 해제 할 수 없습니다.

물론 모든 암호화 보호 방법은 가장 강력한 컴퓨터로도 손상될 수 없는 강력한 암호화 표준을 갖는 데 의존합니다.

안전하지 않은 암호화가 위험한 이유는 무엇입니까?

컴퓨터 기술에 관해서, 강력한 암호화 알고리즘을 만들 수 있는 능력과 그들을 깰 수 있는 능력은 오랜 시간 동안 경쟁 에 왔다. 1977년, 미국 연방 정부는 컴퓨터의 상대적인 힘을 감안할 때 당시 안전하다고 여겨졌던 56비트 알고리즘인 데이터 암호화 표준(DES)을 개발했습니다.

그러나 컴퓨터는 진화했고, 사람들은 힘을 더욱 높이기 위해 협력적으로 네트워크를 구성할 방법을 찾았습니다. 1999년, 전자 프론티어 재단은 Distributed.net 함께 협력하여 단 22시간 만에 DES 보호 문서에 대한 암호화를 공개적으로 깨도록 했습니다. 갑자기 DES 암호화로 보호되는 모든 문서가 더 이상 안전하지 않습니다.

믿거나 말거나, 일부 조직은 여전히 DES 알고리즘또는 유사하게 약한 암호화 보호로 중요한 파일을 보호합니다. 그리고 1999년에 56비트 암호화를 중단하는 데 분산 네트워크가 걸렸지만, 오늘날 거의 모든 충분히 강력한 독립 실행형 컴퓨터가 시간의 수정을 감안할 때 이를 수행할 수 있습니다. 해커는 또한 그래픽 프로세서 단위 (GPU)의 은행에서 만든 전용 크래킹 기계를 만들었습니다. 이러한 GPU는 해당 작업에 매우 능숙하며, 현지에서 네트워크를 획득하고 네트워크하는 데 상대적으로 저렴합니다.

오늘 안전하지 않거나 약한 암호화 알고리즘으로 중요한 파일을 보호하기로 선택한 경우 대부분의 해커가 해당 파일을 분해하고 읽을 수 있도록 하기까지 는 오래 걸리지 않습니다. 데이터 유출로 인해 발생하는 경우 파일이 충분히 보호되지 않으면 결국 파일이 손상될 것이라고 가정해야 합니다.

예를 들어, 다음 Kubernetes 코드 스니펫은 NGINX ingress 컨트롤러 수준에서 정보를 보호하기 위해 약한 암호 알고리즘을 사용하고 있습니다.

api버전: v1
종류: 컨피맵
메타데이터:
이름: 응인스 로드 밸러블러-conf
네임스페이스: 쿠베 시스템
데이터:
ssl-암호: DES-CBC3-SHA
ssl 프로토콜: "TLSv1.2"

이 예제에서는 DES 암호 제품군이 정보를 보호하는 데 사용되었습니다. 그러나 공격자는 쉽게 해독하고 중요한 정보에 액세스할 수 있습니다.

강력한 암호 알고리즘을 사용하는 것이 좋습니다. 다음 Kubernetes 예제에서는 NGINX ingress 컨트롤러 수준에서 정보를 보호하기 위해 강력한 암호 제품군을 사용했습니다.

api버전: v1
종류: 컨피맵
메타데이터:
이름: 응인스 로드 밸러블러-conf
네임스페이스: 쿠베 시스템
데이터:
ssl-암호: |
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:
ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:
ECDHE-RSA-AES128-SHA256
ssl 프로토콜: "TLSv1.2"

이 예제에서는 공격자가 중요한 정보에 잠재적으로 액세스하지 않도록 강력한 암호 제품군이 사용되었습니다.

강력한 암호화로 중요한 정보 보호

강력한 암호화는 거의 깨지지 않는 오늘날 사용할 수 있습니다. 2001년, 국립 표준 기술 연구소(NIST)는 DES를 대체할 새로운 암호화 기술을 만들었습니다. 고급 암호화 표준(AES)이라고 불리는 이 표준은 128비트, 192비트 또는 256비트의 세 가지 키 길이를 사용합니다. 256 비트 AES 암호화는 가장 안전하지만, 세 가지 모두 오늘날의 기술을 감안할 때 거의 완전히 깨지지 않는 것으로 간주됩니다. 슈퍼컴퓨터 로 테스트결과 대부분의 AES 보호 문서를 깨기 위해서는 수천 년의 지속적인 작업이 소요될 것으로 나타났습니다.

중요한 파일을 적절하게 보호하려면 개발자가 먼저 파일을 식별해야 합니다. 지속적인 암호화 및 해독 프로세스로 인해 작업이 느려질 수 있기 때문에 네트워크의 모든 것을 암호화할 필요가 없습니다. 그러나 인사 기록, 고객 데이터 및 재무 정보와 같은 중요한 파일은 적절한 보호가 필요합니다. 본질적으로 보안과 실행 가능한 시스템 간의 균형 잡힌 행동입니다.

그리고 그 데이터는 AES 표준 중 하나에 암호화되어야하며, 심지어 잘못된 손에 착륙해서는 안되는 진정으로 중요한 정보에 대해 256 비트 암호화까지 가야합니다.

고려해야 할 또 다른 한 가지는 암호화를 추가하는 것이 사이트에 암호를 더 추가하는 것과 같다는 사실입니다. 즉, 권한이 있는 사용자는 암호화 키를 추적해야 합니다. 워크플로병목 현상이 발생하지 않도록 하려면 키 관리 플랫폼을 구현하여 해당 키를 추적하고 안전하게 유지하는 것이 좋습니다. 또한 중앙 집중식 키 관리를 사용하지 않더라도 권한이 없는 사용자가 가장 안전한 데이터 볼트에서 제외되도록 모든 키와 암호를 보호해야 합니다.

체크 아웃 Secure Code Warrior 이 취약점에 대한 자세한 정보를 위한 블로그 페이지와 다른 보안 결함의 파괴로부터 조직과 고객을 보호하는 방법. IaC 챌린지 데모를 시도할 수도 있습니다. Secure Code Warrior 모든 사이버 보안 기술을 연마하고 최신 상태로 유지하기 위한 교육 플랫폼을 제공합니다.


리소스 보기
리소스 보기

저자

마티아스 마두, Ph.

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

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

더 알고 싶으신가요?

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

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

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

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

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

리소스 허브

코드 시리즈로 보안 인프라를 정복 코더: 안전하지 않은 암호화

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

Shrewd 조직은 인프라 개념을 코드로 받아들이고 있으며 응용 프로그램을 빌드하는 외부에서도 보안 코드를 만드는 데 상당한 기여를 할 수있는 개발자입니다. 처음에는 여행하기에 긴 길로 보일 수 있지만, 여행은 동료들 사이에서 눈에 띄는 가치가 있습니다.

최신 코더 정복 보안 시리즈의 다음 장에서 시작하기 전에 중요한 데이터 저장소 취약점에 대한 게임화된 과제를 해결하도록 초대하고 싶습니다. 지금 플레이하고 Kubernetes, 테라폼, Ansible, Docker 또는 CloudFormation 중에서 선택합니다.

어땠나요? 지식에 몇 가지 작업이 필요한 경우 다음을 읽으십시오.

요즘에는 암호, 개인 정보 및 재무 기록과 같은 중요한 데이터가 쉬어지는 동안 사이버 보안 방어의 초석입니다. 여러 면에서 마지막 방어선이자 최고의 보호 수단 중 하나로 작용합니다. 공격자가 다른 방어를 뚫고 중요한 파일을 얻을 수 있더라도 제대로 해시되고 저장되는 한 그다지 좋은 것은 되지 않기 때문입니다.

또한 암호화된 파일에 네트워크의 나머지 부분과 별도의 키 또는 암호를 가질 수 있으므로 악의적인 내부자에 대한 견고한 보조 보호 역할을 합니다. 이 경우 시스템 관리자 나 관리자의 자격 증명을 손상 한 해커와 같은 사람이 보호 된 디렉터리로 탐색 할 수 있지만 암호화 키가 다른 곳에서 유지되는 경우 암호화 된 파일의 잠금을 해제 할 수 없습니다.

물론 모든 암호화 보호 방법은 가장 강력한 컴퓨터로도 손상될 수 없는 강력한 암호화 표준을 갖는 데 의존합니다.

안전하지 않은 암호화가 위험한 이유는 무엇입니까?

컴퓨터 기술에 관해서, 강력한 암호화 알고리즘을 만들 수 있는 능력과 그들을 깰 수 있는 능력은 오랜 시간 동안 경쟁 에 왔다. 1977년, 미국 연방 정부는 컴퓨터의 상대적인 힘을 감안할 때 당시 안전하다고 여겨졌던 56비트 알고리즘인 데이터 암호화 표준(DES)을 개발했습니다.

그러나 컴퓨터는 진화했고, 사람들은 힘을 더욱 높이기 위해 협력적으로 네트워크를 구성할 방법을 찾았습니다. 1999년, 전자 프론티어 재단은 Distributed.net 함께 협력하여 단 22시간 만에 DES 보호 문서에 대한 암호화를 공개적으로 깨도록 했습니다. 갑자기 DES 암호화로 보호되는 모든 문서가 더 이상 안전하지 않습니다.

믿거나 말거나, 일부 조직은 여전히 DES 알고리즘또는 유사하게 약한 암호화 보호로 중요한 파일을 보호합니다. 그리고 1999년에 56비트 암호화를 중단하는 데 분산 네트워크가 걸렸지만, 오늘날 거의 모든 충분히 강력한 독립 실행형 컴퓨터가 시간의 수정을 감안할 때 이를 수행할 수 있습니다. 해커는 또한 그래픽 프로세서 단위 (GPU)의 은행에서 만든 전용 크래킹 기계를 만들었습니다. 이러한 GPU는 해당 작업에 매우 능숙하며, 현지에서 네트워크를 획득하고 네트워크하는 데 상대적으로 저렴합니다.

오늘 안전하지 않거나 약한 암호화 알고리즘으로 중요한 파일을 보호하기로 선택한 경우 대부분의 해커가 해당 파일을 분해하고 읽을 수 있도록 하기까지 는 오래 걸리지 않습니다. 데이터 유출로 인해 발생하는 경우 파일이 충분히 보호되지 않으면 결국 파일이 손상될 것이라고 가정해야 합니다.

예를 들어, 다음 Kubernetes 코드 스니펫은 NGINX ingress 컨트롤러 수준에서 정보를 보호하기 위해 약한 암호 알고리즘을 사용하고 있습니다.

api버전: v1
종류: 컨피맵
메타데이터:
이름: 응인스 로드 밸러블러-conf
네임스페이스: 쿠베 시스템
데이터:
ssl-암호: DES-CBC3-SHA
ssl 프로토콜: "TLSv1.2"

이 예제에서는 DES 암호 제품군이 정보를 보호하는 데 사용되었습니다. 그러나 공격자는 쉽게 해독하고 중요한 정보에 액세스할 수 있습니다.

강력한 암호 알고리즘을 사용하는 것이 좋습니다. 다음 Kubernetes 예제에서는 NGINX ingress 컨트롤러 수준에서 정보를 보호하기 위해 강력한 암호 제품군을 사용했습니다.

api버전: v1
종류: 컨피맵
메타데이터:
이름: 응인스 로드 밸러블러-conf
네임스페이스: 쿠베 시스템
데이터:
ssl-암호: |
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:
ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:
ECDHE-RSA-AES128-SHA256
ssl 프로토콜: "TLSv1.2"

이 예제에서는 공격자가 중요한 정보에 잠재적으로 액세스하지 않도록 강력한 암호 제품군이 사용되었습니다.

강력한 암호화로 중요한 정보 보호

강력한 암호화는 거의 깨지지 않는 오늘날 사용할 수 있습니다. 2001년, 국립 표준 기술 연구소(NIST)는 DES를 대체할 새로운 암호화 기술을 만들었습니다. 고급 암호화 표준(AES)이라고 불리는 이 표준은 128비트, 192비트 또는 256비트의 세 가지 키 길이를 사용합니다. 256 비트 AES 암호화는 가장 안전하지만, 세 가지 모두 오늘날의 기술을 감안할 때 거의 완전히 깨지지 않는 것으로 간주됩니다. 슈퍼컴퓨터 로 테스트결과 대부분의 AES 보호 문서를 깨기 위해서는 수천 년의 지속적인 작업이 소요될 것으로 나타났습니다.

중요한 파일을 적절하게 보호하려면 개발자가 먼저 파일을 식별해야 합니다. 지속적인 암호화 및 해독 프로세스로 인해 작업이 느려질 수 있기 때문에 네트워크의 모든 것을 암호화할 필요가 없습니다. 그러나 인사 기록, 고객 데이터 및 재무 정보와 같은 중요한 파일은 적절한 보호가 필요합니다. 본질적으로 보안과 실행 가능한 시스템 간의 균형 잡힌 행동입니다.

그리고 그 데이터는 AES 표준 중 하나에 암호화되어야하며, 심지어 잘못된 손에 착륙해서는 안되는 진정으로 중요한 정보에 대해 256 비트 암호화까지 가야합니다.

고려해야 할 또 다른 한 가지는 암호화를 추가하는 것이 사이트에 암호를 더 추가하는 것과 같다는 사실입니다. 즉, 권한이 있는 사용자는 암호화 키를 추적해야 합니다. 워크플로병목 현상이 발생하지 않도록 하려면 키 관리 플랫폼을 구현하여 해당 키를 추적하고 안전하게 유지하는 것이 좋습니다. 또한 중앙 집중식 키 관리를 사용하지 않더라도 권한이 없는 사용자가 가장 안전한 데이터 볼트에서 제외되도록 모든 키와 암호를 보호해야 합니다.

체크 아웃 Secure Code Warrior 이 취약점에 대한 자세한 정보를 위한 블로그 페이지와 다른 보안 결함의 파괴로부터 조직과 고객을 보호하는 방법. IaC 챌린지 데모를 시도할 수도 있습니다. Secure Code Warrior 모든 사이버 보안 기술을 연마하고 최신 상태로 유지하기 위한 교육 플랫폼을 제공합니다.


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

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