암호화 된 채널. 보안 통신 채널을 만드는 메모입니다. 프로토콜 적용 방식

           카스퍼스키랩 (Kaspersky Lab)은 2011 년부터 다양한 국가 기관의 네트워크에서 주목받지 못한 강력한 특수 바이러스를 탐지했습니다. 이 바이러스의 행동은 손상된 시스템의 암호화 된 통신 채널로 침입하기위한 것이 었습니다. 정보 보안 전문가는 다른 국가의 30 개 이상의 조직의 네트워크에서이 맬웨어가 있는지 확인했습니다.

맬웨어는 APT (Advanced Persistent Threat) 사이버 간첩 소프트웨어로 분류됩니다. 가장 복잡하고 오래 지속되는 사이버 스파이웨어 공격 만이이 분류에 해당합니다. APT 맬웨어는 Equation, Regin, Duqu 및 Careto입니다. ProjectSauron (코드 명 Strider)은 네트워크에있는 도메인 컨트롤러의 메모리에로드 된 실행 라이브러리로 시스템에 있었기 때문에 오랫동안 주목받지 못했습니다 Microsoft Windows.

  손상된 시스템은 라이브러리를 암호 필터로 간주하여 ProjectSauron이 암호화 된 데이터에 액세스 할 수있게했습니다. 발견 한 전문가에 따르면,이 소프트웨어의 개발자는 알 수없는 사이버 그룹이며, 다른 국가 (러시아,이란, 르완다)의 주요 국영 기업에 대한 공격을 담당합니다. 바이러스로 고통받는 전문가, 국가 및 조직에 따르면 훨씬 더 알려진 것은 빙산의 일각에 불과합니다. 공격 대상은 정부 구조, 연구 센터, 군대 센터, 통신 회사 및 금융 기관이었습니다.

공개 키 알고리즘

이것은 전통적으로 다음과 같이 작동합니다 : 컴퓨터에서 정보는 알고리즘과 키를 사용하여 암호화됩니다. 그런 다음 암호화 된 정보가 수신자에게 전송됩니다. 받는 사람은 정보를 명확한 형식으로보고 해당 키가없는 경우 해독 할 수 있습니다. 그렇다면 암호화 된 파일에 적용되므로 깨끗한 정보에 액세스 할 수 있습니다.

이 암호화 시스템에서 가장 중요한 문제는 주로 전 세계 정부에서 비밀 키를 사용하고 먼 거리에있는 사용자간에 암호화 키를 전송하는 것입니다. 이를 설명하면 사용 된 암호화 시스템이 손상 될 수 있습니다.

ProjectSauron의 주요 기능 :

  • 이것은 간단한 바이러스가 아니라 사이버 간첩을 위해 설계된 모듈 식 플랫폼입니다.
  • 플랫폼과 모듈은 RC6, RC5, RC4, AES, Salsa20 등의 고급 암호화 알고리즘을 사용합니다.
  • 50 개 이상의 플러그인 모듈이 플랫폼 용으로 개발되어 중앙 요소의 가능성을 확장 시켰습니다.
  • ProjectSauron의 제작자는이 소프트웨어를 사용하여 엔터프라이즈 또는 조직의 정보 보호와 관련된 네트워크의 주 서버의 암호화 키, 구성 파일 및 IP 주소를 훔칩니다.
  • 범죄자는 인터넷에 연결되지 않은 네트워크에서도 데이터를 도용 할 수 있습니다. 이것은 특수 USB 운반 대를 사용하여 수행됩니다. 도난당한 데이터는 OS 소프트웨어에서 사용할 수없는 숨겨진 영역에 있습니다.
  • ProjectSauron은 적어도 2011 년부터 실행되었습니다.
  이 바이러스는 탐지하기가 매우 어렵습니다. 사실 플랫폼이 각각의 새로운 공격에 대해 수정된다는 것입니다. 공격자가 수정 된 플랫폼의 각 인스턴스에 대해 등록하는 서버, 도메인 이름, IP 주소는 고유합니다. 독특한 플러그인. 고유 한 이름, 파일 크기 및 기타 특성을가집니다. 모듈의 타임 스탬프는 바이러스가 작동해야하는 시스템의 특성과 일치합니다. 이 모듈은 문서 도난, 키로깅, 암호화 키 도난 등 다양한 목적으로 설계되었습니다.

조직의 네트워크에서 ProjectSauron은 매번 다르게 주입됩니다. 경우에 따라 공격자는 엔터프라이즈 네트워크의 관리자가 로컬 네트워크에있는 컴퓨터의 법적 소프트웨어를 업데이트하는 데 사용하는 스크립트를 변경했습니다. ProjectSauron 로더는 매우 작습니다. PC에 설치하면 관리자로 실행되고 고유 한 IP 주소로 연결되며 주요 소프트웨어가 다운로드됩니다. 위에서 언급했듯이 플랫폼과 모듈의 운영에는 도메인과 서버의 광범위한 네트워크가 사용되며 각 요소는 특정 피해자를 위해 사용됩니다.

통화에 가상 번호 사용

암호화에 대한 이해를 돕기 위해 여기에 암호화의 아주 간단한 예가 나와 있습니다. 실제로는 알고리즘과 키의 복잡성 측면에서 암호화가 발생할 때 어떤 일이 발생 하는지를 잘 알고 있습니다. 예를 들어, 다음을보십시오.

휴대 전화 듣기 및 보호

위의 일반 텍스트로 시작하는 알고리즘과 키를 적용하여 다음과 같이 할 수 있습니다. 공개 키 암호화는 다음과 같이 작동합니다. 이름에서 알 수 있듯이 공개 키가 사용되며 이는 암호화의 비밀 및 해독을위한 개인 키가 아닙니다. 즉, 누구나 공개 키를 사용하여 암호화 할 수 있지만 개인 키가있는 사용자 만 공개 키를 해독 할 수 있습니다.

현재 정보 보안 전문가들은 미국과 유럽 국가의 11 개 IP 주소에 연결된 28 개의 도메인을 발견했습니다. 멀웨어는 가장 일반적인 ICMP, UDP, TCP, DNS, SMTP 및 HTTP 프로토콜을 기반으로하는 고급 네트워킹 통신을 제공합니다. 플랫폼은 DNS 프로토콜을 사용하여 원격 서버  현재 거래에 대한 실시간 데이터.

내 공개 키가있는 암호화 된 파일이 실수로 다른 수신자에게 도착하면 개인 키없이 파일의 암호를 해독 할 수 없습니다. 원칙적으로 공개 키에서 개인 키를 제외하는 것은 불가능합니다. 그러나 이들 사이에는 수학적 연결이 있습니다. 비대칭 암호의 출현은 암호화 분야에서 진정한 혁명을 의미했습니다. 즉, 정부 나 대형 조직의 매우 비싸고 실현 가능한 작업이 매우 낮거나 심지어 무료로 일반 대중에게 제공되었음을 의미합니다.

ProjectSauron이 오랫동안 주목받지 않게 되려면 개발자가 많이 수행해야합니다. 예를 들어, 소프트웨어의 다른 인스턴스에 대해 서로 다른 명령 및 제어 서버를 사용합니다. 고유 한 도메인 및 IP 주소, 다른 경우의 다른 암호화 알고리즘 사용, 기존 프로토콜 및 메시지 형식 작업 재사용 할 수있는 도메인 및 서버의 흔적은 없습니다. 각각의 공격 대상에 대해 고유 한 알고리즘이 사용되어 특정 지시자에 따라 소프트웨어 중 하나를 발견 한 후 다른 소프트웨어 사본을 탐지하는 것을 불가능하게 만들었습니다. 이 소프트웨어를 식별하는 유일한 방법은 코드의 구조적 유사성입니다.

암호화 알고리즘과 함께 암호화 키는 데이터를 암호화하는 데 도움이됩니다. 키는 특정 규칙에 따라 설계되고 비트 단위로 측정되는 숫자 문자열입니다. 종래의 암호화에 사용 된 키는 언뜻 보면 덜 인상적 이었지만 비대칭 암호화보다 강도가 높습니다.

암호화 키는 컴퓨터에 저장됩니다. 비공개 키에 대한 액세스에는 암호가 제공됩니다. 암호를 잊어 버리거나 암호 키 파일을 삭제하면 손실되거나 액세스 할 수없는 키로 손실 된 데이터를 더 이상 암호 해독 할 수 없게됩니다.



  우선, 침입자는 비표준 암호화 소프트웨어와 관련된 정보에 관심을 가졌습니다. 이러한 소프트웨어는 대개 음성 통신, 전자 메일, 문서 교환을 포함하여 통신 채널을 보호해야하는 조직을 위해 만들어졌습니다. 바이러스 제작자에게 가장 관심이있는 것으로 알려진 파일 형식. Wpt; * .pdf; * .Dst; * .Ppk; * .pdx; * .txt; *. Doc; *. Docx; * .Ppt; * .Pptx; * .rtf; * .tmp; * .FTP; * .rpt; * .conf; * .cfg; * .pk2; * .nct; * .key; *. .psw. * Account. * |. * Acct. * |. * Domain. * |. *. *. *. *. *. *. *. *. *. * 이름. * 전자 메일 |. * _id | id | uid | mn | mailaddress |. * nick. * | 별칭 | codice | uin | 로그인 | strCodUtente |. * 통과. * | .pw | pw. * | additional_info |. * secret . * |. * segreto. *

이 바이러스는 문서를 훔칠 수 있고 키 스트로크를 가로 챌 수 있으며 감염된 시스템과 연결된 드라이브에서 암호화 키를 검색하여 작성자에게 보낼 수 있습니다. 현재 ProjectSauron은 모든 최신 버전의 Microsoft Windows를 공격 할 수있는 것으로 알려져 있습니다. 다른 OS 환경에서 작동하도록 설계된이 소프트웨어의 다른 유형은 아직 발견되지 않았습니다.

ProjectSauron은 시스템에 들어가면 악성 모듈을 암호화 디렉토리에 배포합니다. 소프트웨어  회사는 기존 파일 중 자신의 파일을가립니다. 다운로드 한 바이러스는 시스템에 절전 모드로 남아 활성화 명령을 기다리고있었습니다. 이어서 ProjectSauron은 네트워크 노드간에 메시지를 암호화하는 암호화 키, 구성 파일 및 서버 주소를 식별하는 작업에 참여했습니다.

카스퍼 스키 랩 전문가들은이 수준의 사이버 스파이웨어 준비 비용이 수백만 달러에 달한다고 말합니다. 이 수준의 운영은 전체 주를 적극 지원하는 경우에만 구현할 수 있습니다. 대부분의 전문가 그룹은 ProjectSauron을 만드는 데 참여했습니다.

이제 Kaspersky Lab 소프트웨어는이 악성 코드 샘플을 HEUR : Trojan.Multi.Remsec.gen과 같은 ProjectSauron으로 탐지하여 시스템에서 ProjectSauron의 존재를 알 수 있습니다.

바이러스 및 그 분석에 대한 전체 보고서는

이 기사에서는 인터넷에서 암호화 된 데이터 채널을 만드는 방법에 대해 설명합니다. 암호화 알고리즘의 유형, 디지털 데이터 서명 알고리즘 및 암호화 된 데이터 채널에 대한 일부 공격이 고려됩니다.

1 부. 정보 암호화 알고리즘

현대 세계에서 정보를 암호화하는 데 두 가지 유형의 알고리즘, 즉 대칭 및 공개 키 알고리즘이 사용됩니다. 일반적으로 함께 사용되기 때문에 두 가지 유형의 알고리즘에 대해 몇 마디하는 것이 좋습니다. 이 기사에서는 알고리즘의 내부 구조에 대해 설명하지 않습니다. 작업 원칙을 이해할 필요가 전혀 없으며 인터넷에서 공개 형식으로 사용할 수 있습니다.

1.1. 대칭 알고리즘

현대 세계에서 가장 보편적 인 데이터 암호화 알고리즘 중 하나는 대칭입니다. 정보를 암호화하고 해독하는 데 모두 동일한 키를 사용하기 때문에이 이름을 사용합니다. 이 키는 전송 및 암호화 된 정보를 수신하는 임의의 정보 집합입니다.

이러한 모든 알고리즘은 스트리밍됩니다. 즉, 단일 키를 사용하면 다른 사람이 암호를 해독 할 수있는 두려움없이 임의의 길이의 메시지를 암호화 할 수 있습니다 (물론 자신이 할 수있는 키가없는 경우 제외).

물론 이러한 알고리즘에 대한 크래킹 선택에 대한 저항은 키 길이에 따라 다릅니다. 현대 세계에서는 128 비트 키 (16 바이트)가 가장 많이 사용됩니다. 이러한 키는 암호화 된 정보의 안전성을 수년 동안 보증합니다 (물론 엄청나게 빠른 컴퓨터가 키를 집어 들게하는 기술 혁신이 없다면).

대칭 키 알고리즘의 예로는 AES, DES 및 BlowFish가 있습니다.

1.2. 공개 키 알고리즘

대칭 알고리즘과 달리 공개 키 알고리즘에는 공개 키와 비공개 키의 두 가지 키가 있습니다. 또한 개인 키를 알고 있으면 공개 키를 얻을 수 있고 적어도 공개 키를 알고 있으면 개인 키를 얻을 수 없습니다 (최소한 몇 년 내에 합리적인 기간 내에).

키는 사용하기 때문에 "열림"및 "닫힘"이라고합니다. 공개 키는 일반적으로 전 세계에서 사용 가능하지만 개인 키는 한쪽에만 알려져 있습니다.

공개 키로 암호화 된 정보는 개인 키로 만 해독 할 수 있습니다. 개인 키로 암호화 된 정보는 공개 키로 해독 할 수 있습니다 (결과적으로 공개 키는 개인 키에서 가져올 수 있으므로 개인 키로 해독 할 수 있음).

공개 키 암호화 알고리즘은 상당히 큰 컴퓨팅 성능을 필요로합니다. 또한 암호화는 전체 메시지를 한 번에 암호화해야하며 큰 메시지 일수록 계산할 필요가 있습니다. 따라서 이러한 알고리즘은 큰 메시지를 암호화하는 데 적합하지 않습니다.

키 비대칭은 공개 키 알고리즘을 암호화와 디지털 서명이라는 두 가지 목적에 적합하게 만듭니다. 암호화 정보가 공개 키를 사용하여 암호화되는 경우 (따라서 개인 키를 소유 한 당사자 만 암호 해독에 사용할 수 있음) 디지털 서명을하면 개인 키를 사용하여 정보가 암호화됩니다. 이 경우 공개 키를 아는 사람은 누구나 서명의 유효성을 확인할 수 있습니다 (즉, 원본의 암호 해독 및 비교).

공개 키 알고리즘의 키 길이는 대칭 알고리즘의 키 길이보다 훨씬 큽니다. 현대 세계에서는 길이가 1024 비트 및 2048 비트 (각각 128 및 256 바이트) 인 키가 가장 일반적입니다.

공개 키 알고리즘의 예로, DSA와 RSA를 인용 할 수 있습니다.

2 부. 암호화 된 채널 제공

있음 현대 인터넷  공개 키 및 대칭 알고리즘의 조합은 정보 전송 중에 보안 암호화를 보장하는 데 사용됩니다. 예를 살펴 보겠습니다. A면이 암호화 된 형태로 B면에 정보를 보냅니다. 그러면 당사자간에 대략 다음과 같은 의사 소통이 있습니다.

  1. 측면 A는 측면 B에 연결됩니다.
  2. B면은 한 쌍의 키 (공개 및 비공개)를 생성하고 공개 키를 암호화되지 않은 형식으로 A면에 전송합니다 (공개 키는 전 세계에서 사용 가능함).
  3. 사이드 A는 대칭 키를 생성하고, 사이드 B의 공개 키로 암호화하고, 암호화 된 형태로 사이드 B로 전송합니다 (그리고 공개 키를 사용하여 암호화 된 정보는 네트워크를 통해 전송되지 않은 개인용으로 만 해독 할 수 있음).
  4. 이제 양 당사자는 대칭 키를 알고 암호화 된 정보를 교환 할 수 있습니다.

3 부 인증

암호화 된 채널을 초기화하는 예제는 멋지지만 유감스럽게도 작동하지 않습니다. 사실은 전송 된 정보에 액세스하려고하는 공격자가 연결을 가로 챌 수 있고 (예제의 맨 처음 단계에서) B면으로 "가장"할 수 있습니다. 즉, 한 쌍의 키를 만들고 A면과의 연결을 시작할 수 있습니다. 그는 어떤 정보가 채널을 통해 전송되고 있는지조차 알지 못할 수도 있습니다.

우리의 예에서와 같이, A 측은 B 측으로 정보를 전송하려고하지만 공격자는 공격자 Z에 의해 가로 챌 것입니다. 그러면 통신은 대략 다음과 같을 수 있습니다.

  1. A면은 B에 연결하려고 시도하지만 연결이 Z를 가로 채고 A가 Z에 연결됩니다.
  2. 측면 3은 한 쌍의 키를 생성하고 공개 키 A를 전송하며 암호화 된 채널을 측면 A로 초기화합니다.
  3. 측면 3은 다른 세트의 키를 사용하여 측면 B에 대한 두 번째 암호화 된 연결을 생성합니다.
  4. 당사자 A 또는 B 중 하나가 정보를 전송하면 Z는이를 암호 해독하고 다른 키로 암호화 한 다음 두 번째 측면으로 전송합니다. 결과적으로 A와 B는 암호화 된 채널을 통해 통신하고 있다고 믿지만 사실 침입자는 정보에 액세스 할 수 있습니다.

3.1. 제 3 자

위에 설명 된 "중간자"공격을 피하기 위해 A면은 파티 B가 실제로 파티 B이고 파티 B를 가장하려고 시도하는 공격자가 아니라 파티 B를 인증하기에 충분합니다.

파티를 인증하는 가장 쉬운 방법 중 하나는 파티가 개인 키를 소유하고 있는지 확인하는 것입니다. 이를 위해, A 측은 B 측으로 B 측의 일부 단문 메시지를 공개 키 A로 공개 키로 암호화하고, B 측에서는이 메시지를 개인 키로 해독하고 A 측으로 전송하여 그녀가 그 키를 소유하고 있음을 확인합니다.

이 인증 방법의 단점은 당사자 A가 먼저 당사자 B의 공개 키를 알아야한다는 것인데, 예를 들어 사람과 처음으로 방문한 사이트간에 암호화 된 정보를 전송하는 것만으로는 불가능합니다. "제 3 자"가 발효되는 것은 여기에 있습니다.

타사 알고리즘은 소위 인증서를 기반으로합니다. 인증서는 인증 기관이 서명 한 서버의 공개 키입니다. 인증서를 받으면 인증 센터는 개인 키 소유자가 실제로 자신의 개인 키로 자신의 공개 키를 서명하고 서명 한 사람임을 확인합니다 (일부 방법을 사용). 인증 기관을 신뢰하는 당사자 A는 디지털 서명을 검증하고 당사자 B가 서명 된 공개 키에 해당하는 개인 키를 소유하는지 확인합니다.

4 부. 데이터 재생하기

공격자가 암호화 된 정보에 액세스하지 못하도록 인증 체계에 모든 것이있는 것으로 보입니다. 그러나 종종 공격자는 서비스에 대한 공격을 체계적으로 정리할 정보가 필요하지 않습니다. 데이터를 알지 못하고 서비스를 공격하는 가장 쉬운 방법은 당사자의 통신을 암호화 된 형태로 기록한 다음 A면을 가장하여 암호화 된 데이터를 재생하는 것입니다. 매우 자주, 그러한 공격 (특히 다중 스레드에서)은 서비스 거부를 야기 할 수 있습니다.

이러한 공격을 피하기 위해 데이터 암호화를위한 대칭 키를 클라이언트 A가 선택하지 말고 서버 B를 임의로 선택해야합니다. 이 경우 손실 된 데이터는 잘못된 키로 암호화되어 서버에서 클라이언트의 실제 데이터가 아닌 정크 메일로 간주됩니다.

제 5 부. 최종 의정서 및 발언

암호화 된 채널을 만들기위한 프로토콜을 요약하려고합니다. 실제 채널에는 훨씬 더 섬세한 부분이 있으므로, 독자적인 솔루션을 작성하는 대신 암호화 된 채널을 사용하여 작업 할 준비가 된 라이브러리를 사용해야합니다. 그럼에도 불구하고, 마지막 예에서 채널 조직의 일반적인 원칙은 정확합니다.

앞에서와 마찬가지로 A면은 서버 B에 연결하는 클라이언트입니다.

  1. 클라이언트 A는 서버 B에 연결합니다.
  2. 서버 B는 인증 센터에서 서명 한 공개 키를 클라이언트 A로 보냅니다.
  3. 클라이언트 A는 서명을 검증합니다.
  4. 클라이언트 A는 대칭 키를 생성하고이를 서버 B의 공개 키로 암호화 한 다음 서버 B로 보냅니다.
  5. 서버 B는이 대칭 키를 개인 키로 해독하고, 새로운 세션 대칭 키를 생성하고 클라이언트 A에서받은 키로 암호화합니다.
  6. 수신 된 암호화 된 키는 클라이언트 A로 전송되고, 그 순간부터 서버 B에 의해 생성 된 대칭 키를 사용하여 암호화 된 채널이 설정됩니다.


. 온라인 판에서의 재 인쇄는 저자의 표시와 원본 기사에 대한 직접 링크가있는 경우에만 허용됩니다. 출판물의 재 인쇄는 출판사의 허가가 있어야만 가능합니다.

관련 기사 :