2020.09.03

클라우드 애플리케이션에서 보안과 기능을 모두 확보하는 9가지 방법

Peter Wayner | InfoWorld
개인정보 보호는 모두가 사랑하는 모호한 개념이다. 그렇지만 그것을 전달하는 것은 모호하고 상충관계가 가득한 작업이다. 다이얼을 한쪽으로만 너무 돌리면 데이터베이스가 무용지물이 되고, 반대쪽으로 너무 돌리면 비누가 떨어지면 자동으로 주문되도록 샤워기에 카메라 렌즈를 설치하려는 계획에 모두가 화를 내는 상황을 맞이할 것이다.

좋은 소식은 돌릴 다이얼이 존재한다는 것이다. 초기에는 모두가 스위치만 있다고 생각했다. 한 쪽에서는 이메일, 온라인 주문, 스마트폰의 놀라운 마법을 모두 전달했다.  다른 쪽은 전자파를 막는 알루미늄 호일 모자를 쓰고 오두막에서 자족하며 사는 현금만 사용하는 세상이었다.
 
ⓒ Getty Images Bank

개인정보보호 향상 기술은 얼마나 개인정보를 잘 보호할 것인지 제어하는 기술이지만, 기능성을 보존하기 위해 그 제어를 제한할 수 있다. 질문에 정확하게 대답할 수 있는 데이터베이스를 구축하기 위해 암호화 기능과 영리한 알고리즘을 혼합한 것이다. 단, 적합한 사람에게만 가능하다.

저서 ‘반투명 데이터베이스’에서 필자는 부모들이 개인 정보를 중앙 데이터베이스에 저장하지 않고 베이비시터를 예약할 수 있는 서비스 구축을 참구했다. 부모와 베이비시터는 데이터베이스에서 정답을 얻을 수 있지만, 루트 권한을 가진 공격자나 내부자는 스크램블 된 잡음만 듣게 된다.

이 분야는 몇 년 동안 극적으로 성장해 왔고 현재 사생활의 많은 측면을 보호하는 접근법과 전략도 많다. 해커나 내부자가 액세스할 경우 나타나는 분명한 위험을 피하면서 기업이 제품을 전달하기에 충분한 정보를 저장할 수 있다.

접근법에는 모두 한계가 있다. 가장 일반적인 공격을 예측하고 방어할 것이지만, 공격자의 장비가 더 뛰어나거나 공격 대상이 많으면 일부는 무너지기 시작한다. 종종 보호의 양은 암호화 계산에 필요한 계산력의 양에 비례한다. 기본적인 보호는 시스템에 현저한 추가 부하를 가하지 않을 수 있지만, 완벽한 보안을 제공하는 것은 클라우드 기업에게도 불가능할 수 있다.

그러나 한계가 있다고 해서 기본적인 보호책까지 포기하지는 말아야 한다. 완벽한 접근법이 없을 수도 있지만, 간단한 솔루션 몇 가지를 합치면 새로운 클라우드 서비스가 활성화하는 최악의 공격에서 모든 사용자를 보호할 수 있다.

개인정보보호와 기능성의 균형을 맞추는 9가지 전략은 다음과 같다. 
 

기능을 사용하라

클라우드 제공업체는 고객이 보안을 우려한다는 것을 이해하고 데이터를 더 쉽게 잠글 수 있는 기능을 서서히 추가했다. 예를 들어, 아마존은 보안 추가에 도움이 되는 제품을 24개 이상 제공한다. AWS 방화벽 관리자는 방화벽이 확실히 올바른 패킷만 허용하도록 돕는다. AWS 메이시(Macie)는 너무 공개되어 있는 민감한 데이터를 찾아 개인의 데이터를 스캔할 것이다. 구글 클라우드와 마이크로소프트 애저는 자체적인 보안 툴 컬렉션을 가지고 있다. 이러한 모든 제품을 이해하려면 부서가 필요할 수 있다. 우선 클라우드 작업을 안전하게 만들기 위한 최적의 시작점이다. 
 

비밀을 주시하라

데스크톱을 잠글 때 비밀번호, 암호화 키 및 인증 매개 변수를 보호하는 것은 매우 어렵다. 특히 팀에 의해 관리되는 경우 클라우드 머신은 훨씬 더 까다롭다. 유용하게 설계된 도구는 매우 다양하다. 여전히 소스 코드 관리에 주의해야 하지만, 툴은 클라우드 시스템에 안전하게 추가될 수 있도록 비밀을 효율적으로 사용하는 데 도움이 될 것이다. 하시코프(Hashicorp)의 볼트(Vault), 도플러(Doppler)의 엔클레이브(Enclave), AWS의 키 관리 시스템, 옥타(Okta)의 API 관리 툴과 같은 툴은 프로세스를 단순화하는 일부 옵션일 뿐이다. 모든 것들은 여전히 약간의 주의가 필요하지만, 작은 공책에 비밀번호를 적어 누군가의 사무실에 잠가 두는 것보다 낫다.
 

전용 하드웨어를 고려하라

컴퓨터 하드웨어를 다른 사람과 공유하는 것에 대해 얼마나 편집증적인지는 알기 어렵다. 공격자가 올바른 기계를 공유한 다음 로해머(rowhammer)와 같은 다른 극단적인 접근법을 이용할 수 있다는 것은 믿기 어렵지만, 어떤 데이터는 그 힘든 일을 할 가치가 있을 수 있다. 클라우드 업체는 이런 경우에 한해 전용 하드웨어를 제공한다. 만약 컴퓨팅 부하가 상당히 일정하다면, 건물 안에 있는 로컬 서버를 사용하는 것이 경제적으로도 타당할 수 있다. 일부는 클라우드 회사의 하이브리드 툴을 수용하고 일부는 자신만의 기계를 구축하고자 한다. 어쨌든 컴퓨터를 완전히 통제하는 것은 공유보다 비용이 더 많이 들지만, 많은 공격을 배제한다.
 

해싱(Hashing)

가장 간단한 해결책은 개인 정보를 숨기기 위해 단방향 기능을 사용하는 것이다. 이러한 수학적 함수는 계산은 쉽지만 실제로는 되돌릴 수 없도록 설계되어 있다. 누군가의 이름을 f(이름)로 바꾸면, 데이터베이스를 검색하는 누군가는 단방향 함수에서 나오는 임의의 암호화된 노이즈만 보게 될 것이다.

이 데이터는 캐주얼 브라우저에서는 해독 불가능하겠지만, 여전히 유용할 수 있다. 밥(Bob)의 기록을 검색하려면 f(Bob)를 계산하여 쿼리에 이 스크램블 값을 사용할 수 있다.

이 접근방식은 데이터베이스에서 흥미로운 행을 찾고 f(이름)의 값을 스크램블 하지 않는 일상적인 브라우저에 대해 안전하다. 그것은 그들이 밥을 찾고 있다는 것을 아는 공격자들의 표적 탐색을 멈추지 않을 것이다. 더욱 정교한 접근방식에서는 더 많은 보호 층을 추가할 수 있다.

가장 일반적인 단방향 함수는 미국 국립표준기술연구소가 승인한 함수의 집합체인 SHA(Secure Hash Algorithm)일 수 있다. 몇 가지 다른 버전이 있고, 이전 버전에서 몇 가지 약점이 발견되었으므로 반드시 새 버전을 사용해야 한다.
 

순수한 암호화

우수한 암호화 기능은 운영체제와 파일 시스템의 여러 계층에 내장되어 있다. 이들을 활성화하면 은 낮은 수준의 공격자 및 장치에 물리적으로 액세스할 수 있는 사람을 기본적으로 보호하는 좋은 방법이 된다. 노트북에 데이터를 저장하는 경우 암호화된 상태로 유지하면 컴퓨터를 잃어버린 경우에도 걱정을 덜 수 있다.

그러나 일반 암호화 기능은 단방향은 아니다. 자료를 스크램블 하지 않는 방법이 있다. 데이터를 사용할 계획이므로 일반 암호화를 선택하는 것은 피할 수 없는 경우가 많지만, 공격자에게 다른 경로를 남긴다. 올바른 키를 적용하여 데이터의 스크램블을 해제하면 해당 키의 복사본을 찾아서 배포할 수 있다. 앞서 소개한 비밀을 지키는 수칙을 꼭 읽어보라.
 

가짜 데이터

일부에서는 ‘가짜 뉴스’가 세계를 타락시켰다고 불평하지만, 가짜 데이터는 우리를 보호할 수 있는 잠재력을 가지고 있다. AI 교육이나 기획 등 프로젝트에 활용해야 하는 파트너나 내부자에게 실제 데이터 세트를 개방하는 대신 일부 개발자는 동일한 통계 속성이 많은 가짜 데이터 버전을 만들고 있다.

예를 들어, RTI는 3억 명 이상을 보유하고 있는 1억 1천만 가구 이상이 조사를 마친 미국 인구 조사의 가짜 버전을 만들었다. 진짜 미국인의 개인정보는 없지만 3억 명의 가짜 인구들은 거의 같은 지역에 있고 이들 개인정보는 진짜 정보에 상당히 가깝다. 연구원들은 전염병의 경로를 예측하여 실제 개인 데이터에 접근하지 않고도 미국을 연구할 수 있었다.

AI 회사인 헤이지(Hazy)는 안전한 데이터 센터 내에서 실행되어 보다 자유롭게 공유할 수 있는 데이터의 합성 버전을 생산하는 파이썬 기반 도구를 제공하고 있다.
 

차별적인 개인정보보호

이 용어는 데이터 세트의 개인 정보를 보호하기 위해 데이터에 충분한 노이즈를 추가하는 일반적 접근법을 기술하지만, 여전히 몇 가지 정보를 사용할 수 있도록 남겨둔다. 예를 들어, 모든 사람의 나이에 무작위로 몇 년을 더하거나 빼면 정확한 출생 연도는 알 수 없지만, 평균값은 영향을 받지 않을 것이다.

이 접근법은 집단을 총체적으로 연구하는 대규모 통계 작업에 가장 유용하다. 개별 입력 항목은 노이즈로 인해 손상될 수 있지만 전체적인 결과는 여전히 정확하다.

마이크로소프트는 러스트(Rust)와 파이썬으로 구축된 오픈소스 도구인 화이트 노이즈를 공유하기 시작했는데, 이는 SQL 쿼리에 미세 조정된 양의 노이즈를 추가하기 위한 것이다.
 

준동형 암호화

대부분의 암호화 알고리즘은 적절한 키가 없으면 아무도 결과를 이해할 수 없을 정도로 데이터를 완전하게 스크램블 한다. 준동형 접근법은 키가 없어도 암호화된 데이터에 대해 많은 기본적인 산술 연산을 할 수 있도록 더욱 정교한 프레임워크를 사용한다. 기초적인 정보 자체를 모르는 상태에서 덧셈이나 곱셈을 할 수 있다.

가장 간단한 계획은 실용적이지만 제한적이다. ‘반투명 데이터베이스’ 14장에서는 예를 들어 추가는 지원할 수 있지만 곱셈은 할 수 없는 간단한 회계 도구를 설명한다. 더 완벽해지면 더 많은 임의의 기능을 계산할 수 있지만, 암호화 과정이 훨씬 더 값비싸진다.

IBM은 이제 리눅스와 안드로이드용 버전이 곧 출시될 것이라는 전망으로 iOS와 맥OS 애플리케이션에 준동형 암호화를 내장하기 위한 오픈소스 툴 킷을 공유하고 있다. 툴은 예비적이지만, 암호화되지 않은 데이터에 접근하지 않고 기계 학습 모델을 훈련하는 것만큼 복잡한 계산을 탐구할 수 있는 역량을 제공한다.
 

아무것도 두지 말라

프로그래머는 나중에 디버깅에 유용할 수 있는 경우에 대비하여 데이터를 보관하는 수집광일 수 있다. 가장 간단한 해결책은 알고리즘을 가능한 한 상태나 로그가 없는 것으로 설계하는 것이다. 디버깅이 완료되면 디스크 드라이브를 많은 정보로 채우는 것을 그만둘 것이다. 그냥 결과를 반환하고 작업을 중지하라.

최대한 정보를 적게 유지하는 것은 위험하다. 남용을 찾아내거나 오류를 수정하는 것은 더 어렵다. 하지만 한편으로는 디지털 쓰레기만 남아있기 때문에 공격자의 액세스 여부를 걱정할 필요가 없다. 애초에 개인 정보가 존재하지 않는다면 어떤 누구의 개인 정보도 공격받지 않을 것이기 때문이다. editor@itworld.co.kr 


2020.09.03

클라우드 애플리케이션에서 보안과 기능을 모두 확보하는 9가지 방법

Peter Wayner | InfoWorld
개인정보 보호는 모두가 사랑하는 모호한 개념이다. 그렇지만 그것을 전달하는 것은 모호하고 상충관계가 가득한 작업이다. 다이얼을 한쪽으로만 너무 돌리면 데이터베이스가 무용지물이 되고, 반대쪽으로 너무 돌리면 비누가 떨어지면 자동으로 주문되도록 샤워기에 카메라 렌즈를 설치하려는 계획에 모두가 화를 내는 상황을 맞이할 것이다.

좋은 소식은 돌릴 다이얼이 존재한다는 것이다. 초기에는 모두가 스위치만 있다고 생각했다. 한 쪽에서는 이메일, 온라인 주문, 스마트폰의 놀라운 마법을 모두 전달했다.  다른 쪽은 전자파를 막는 알루미늄 호일 모자를 쓰고 오두막에서 자족하며 사는 현금만 사용하는 세상이었다.
 
ⓒ Getty Images Bank

개인정보보호 향상 기술은 얼마나 개인정보를 잘 보호할 것인지 제어하는 기술이지만, 기능성을 보존하기 위해 그 제어를 제한할 수 있다. 질문에 정확하게 대답할 수 있는 데이터베이스를 구축하기 위해 암호화 기능과 영리한 알고리즘을 혼합한 것이다. 단, 적합한 사람에게만 가능하다.

저서 ‘반투명 데이터베이스’에서 필자는 부모들이 개인 정보를 중앙 데이터베이스에 저장하지 않고 베이비시터를 예약할 수 있는 서비스 구축을 참구했다. 부모와 베이비시터는 데이터베이스에서 정답을 얻을 수 있지만, 루트 권한을 가진 공격자나 내부자는 스크램블 된 잡음만 듣게 된다.

이 분야는 몇 년 동안 극적으로 성장해 왔고 현재 사생활의 많은 측면을 보호하는 접근법과 전략도 많다. 해커나 내부자가 액세스할 경우 나타나는 분명한 위험을 피하면서 기업이 제품을 전달하기에 충분한 정보를 저장할 수 있다.

접근법에는 모두 한계가 있다. 가장 일반적인 공격을 예측하고 방어할 것이지만, 공격자의 장비가 더 뛰어나거나 공격 대상이 많으면 일부는 무너지기 시작한다. 종종 보호의 양은 암호화 계산에 필요한 계산력의 양에 비례한다. 기본적인 보호는 시스템에 현저한 추가 부하를 가하지 않을 수 있지만, 완벽한 보안을 제공하는 것은 클라우드 기업에게도 불가능할 수 있다.

그러나 한계가 있다고 해서 기본적인 보호책까지 포기하지는 말아야 한다. 완벽한 접근법이 없을 수도 있지만, 간단한 솔루션 몇 가지를 합치면 새로운 클라우드 서비스가 활성화하는 최악의 공격에서 모든 사용자를 보호할 수 있다.

개인정보보호와 기능성의 균형을 맞추는 9가지 전략은 다음과 같다. 
 

기능을 사용하라

클라우드 제공업체는 고객이 보안을 우려한다는 것을 이해하고 데이터를 더 쉽게 잠글 수 있는 기능을 서서히 추가했다. 예를 들어, 아마존은 보안 추가에 도움이 되는 제품을 24개 이상 제공한다. AWS 방화벽 관리자는 방화벽이 확실히 올바른 패킷만 허용하도록 돕는다. AWS 메이시(Macie)는 너무 공개되어 있는 민감한 데이터를 찾아 개인의 데이터를 스캔할 것이다. 구글 클라우드와 마이크로소프트 애저는 자체적인 보안 툴 컬렉션을 가지고 있다. 이러한 모든 제품을 이해하려면 부서가 필요할 수 있다. 우선 클라우드 작업을 안전하게 만들기 위한 최적의 시작점이다. 
 

비밀을 주시하라

데스크톱을 잠글 때 비밀번호, 암호화 키 및 인증 매개 변수를 보호하는 것은 매우 어렵다. 특히 팀에 의해 관리되는 경우 클라우드 머신은 훨씬 더 까다롭다. 유용하게 설계된 도구는 매우 다양하다. 여전히 소스 코드 관리에 주의해야 하지만, 툴은 클라우드 시스템에 안전하게 추가될 수 있도록 비밀을 효율적으로 사용하는 데 도움이 될 것이다. 하시코프(Hashicorp)의 볼트(Vault), 도플러(Doppler)의 엔클레이브(Enclave), AWS의 키 관리 시스템, 옥타(Okta)의 API 관리 툴과 같은 툴은 프로세스를 단순화하는 일부 옵션일 뿐이다. 모든 것들은 여전히 약간의 주의가 필요하지만, 작은 공책에 비밀번호를 적어 누군가의 사무실에 잠가 두는 것보다 낫다.
 

전용 하드웨어를 고려하라

컴퓨터 하드웨어를 다른 사람과 공유하는 것에 대해 얼마나 편집증적인지는 알기 어렵다. 공격자가 올바른 기계를 공유한 다음 로해머(rowhammer)와 같은 다른 극단적인 접근법을 이용할 수 있다는 것은 믿기 어렵지만, 어떤 데이터는 그 힘든 일을 할 가치가 있을 수 있다. 클라우드 업체는 이런 경우에 한해 전용 하드웨어를 제공한다. 만약 컴퓨팅 부하가 상당히 일정하다면, 건물 안에 있는 로컬 서버를 사용하는 것이 경제적으로도 타당할 수 있다. 일부는 클라우드 회사의 하이브리드 툴을 수용하고 일부는 자신만의 기계를 구축하고자 한다. 어쨌든 컴퓨터를 완전히 통제하는 것은 공유보다 비용이 더 많이 들지만, 많은 공격을 배제한다.
 

해싱(Hashing)

가장 간단한 해결책은 개인 정보를 숨기기 위해 단방향 기능을 사용하는 것이다. 이러한 수학적 함수는 계산은 쉽지만 실제로는 되돌릴 수 없도록 설계되어 있다. 누군가의 이름을 f(이름)로 바꾸면, 데이터베이스를 검색하는 누군가는 단방향 함수에서 나오는 임의의 암호화된 노이즈만 보게 될 것이다.

이 데이터는 캐주얼 브라우저에서는 해독 불가능하겠지만, 여전히 유용할 수 있다. 밥(Bob)의 기록을 검색하려면 f(Bob)를 계산하여 쿼리에 이 스크램블 값을 사용할 수 있다.

이 접근방식은 데이터베이스에서 흥미로운 행을 찾고 f(이름)의 값을 스크램블 하지 않는 일상적인 브라우저에 대해 안전하다. 그것은 그들이 밥을 찾고 있다는 것을 아는 공격자들의 표적 탐색을 멈추지 않을 것이다. 더욱 정교한 접근방식에서는 더 많은 보호 층을 추가할 수 있다.

가장 일반적인 단방향 함수는 미국 국립표준기술연구소가 승인한 함수의 집합체인 SHA(Secure Hash Algorithm)일 수 있다. 몇 가지 다른 버전이 있고, 이전 버전에서 몇 가지 약점이 발견되었으므로 반드시 새 버전을 사용해야 한다.
 

순수한 암호화

우수한 암호화 기능은 운영체제와 파일 시스템의 여러 계층에 내장되어 있다. 이들을 활성화하면 은 낮은 수준의 공격자 및 장치에 물리적으로 액세스할 수 있는 사람을 기본적으로 보호하는 좋은 방법이 된다. 노트북에 데이터를 저장하는 경우 암호화된 상태로 유지하면 컴퓨터를 잃어버린 경우에도 걱정을 덜 수 있다.

그러나 일반 암호화 기능은 단방향은 아니다. 자료를 스크램블 하지 않는 방법이 있다. 데이터를 사용할 계획이므로 일반 암호화를 선택하는 것은 피할 수 없는 경우가 많지만, 공격자에게 다른 경로를 남긴다. 올바른 키를 적용하여 데이터의 스크램블을 해제하면 해당 키의 복사본을 찾아서 배포할 수 있다. 앞서 소개한 비밀을 지키는 수칙을 꼭 읽어보라.
 

가짜 데이터

일부에서는 ‘가짜 뉴스’가 세계를 타락시켰다고 불평하지만, 가짜 데이터는 우리를 보호할 수 있는 잠재력을 가지고 있다. AI 교육이나 기획 등 프로젝트에 활용해야 하는 파트너나 내부자에게 실제 데이터 세트를 개방하는 대신 일부 개발자는 동일한 통계 속성이 많은 가짜 데이터 버전을 만들고 있다.

예를 들어, RTI는 3억 명 이상을 보유하고 있는 1억 1천만 가구 이상이 조사를 마친 미국 인구 조사의 가짜 버전을 만들었다. 진짜 미국인의 개인정보는 없지만 3억 명의 가짜 인구들은 거의 같은 지역에 있고 이들 개인정보는 진짜 정보에 상당히 가깝다. 연구원들은 전염병의 경로를 예측하여 실제 개인 데이터에 접근하지 않고도 미국을 연구할 수 있었다.

AI 회사인 헤이지(Hazy)는 안전한 데이터 센터 내에서 실행되어 보다 자유롭게 공유할 수 있는 데이터의 합성 버전을 생산하는 파이썬 기반 도구를 제공하고 있다.
 

차별적인 개인정보보호

이 용어는 데이터 세트의 개인 정보를 보호하기 위해 데이터에 충분한 노이즈를 추가하는 일반적 접근법을 기술하지만, 여전히 몇 가지 정보를 사용할 수 있도록 남겨둔다. 예를 들어, 모든 사람의 나이에 무작위로 몇 년을 더하거나 빼면 정확한 출생 연도는 알 수 없지만, 평균값은 영향을 받지 않을 것이다.

이 접근법은 집단을 총체적으로 연구하는 대규모 통계 작업에 가장 유용하다. 개별 입력 항목은 노이즈로 인해 손상될 수 있지만 전체적인 결과는 여전히 정확하다.

마이크로소프트는 러스트(Rust)와 파이썬으로 구축된 오픈소스 도구인 화이트 노이즈를 공유하기 시작했는데, 이는 SQL 쿼리에 미세 조정된 양의 노이즈를 추가하기 위한 것이다.
 

준동형 암호화

대부분의 암호화 알고리즘은 적절한 키가 없으면 아무도 결과를 이해할 수 없을 정도로 데이터를 완전하게 스크램블 한다. 준동형 접근법은 키가 없어도 암호화된 데이터에 대해 많은 기본적인 산술 연산을 할 수 있도록 더욱 정교한 프레임워크를 사용한다. 기초적인 정보 자체를 모르는 상태에서 덧셈이나 곱셈을 할 수 있다.

가장 간단한 계획은 실용적이지만 제한적이다. ‘반투명 데이터베이스’ 14장에서는 예를 들어 추가는 지원할 수 있지만 곱셈은 할 수 없는 간단한 회계 도구를 설명한다. 더 완벽해지면 더 많은 임의의 기능을 계산할 수 있지만, 암호화 과정이 훨씬 더 값비싸진다.

IBM은 이제 리눅스와 안드로이드용 버전이 곧 출시될 것이라는 전망으로 iOS와 맥OS 애플리케이션에 준동형 암호화를 내장하기 위한 오픈소스 툴 킷을 공유하고 있다. 툴은 예비적이지만, 암호화되지 않은 데이터에 접근하지 않고 기계 학습 모델을 훈련하는 것만큼 복잡한 계산을 탐구할 수 있는 역량을 제공한다.
 

아무것도 두지 말라

프로그래머는 나중에 디버깅에 유용할 수 있는 경우에 대비하여 데이터를 보관하는 수집광일 수 있다. 가장 간단한 해결책은 알고리즘을 가능한 한 상태나 로그가 없는 것으로 설계하는 것이다. 디버깅이 완료되면 디스크 드라이브를 많은 정보로 채우는 것을 그만둘 것이다. 그냥 결과를 반환하고 작업을 중지하라.

최대한 정보를 적게 유지하는 것은 위험하다. 남용을 찾아내거나 오류를 수정하는 것은 더 어렵다. 하지만 한편으로는 디지털 쓰레기만 남아있기 때문에 공격자의 액세스 여부를 걱정할 필요가 없다. 애초에 개인 정보가 존재하지 않는다면 어떤 누구의 개인 정보도 공격받지 않을 것이기 때문이다. editor@itworld.co.kr 


X