1980년대 초 네트워크 해킹이라는 개념이 생겨난 이래로, 네트워크 보안과 해킹은 끊임없이 앞서거니 뒤서거니를 반복하며 서로의 영역에서 발전해왔다(굳이 네트워크 보안 영역에 국한하지 않더라도). 그 둘 간의 발전은 주로 해킹 영역이 선도를 해온 것이 사실이다.
보안의 영역에서는 항상 해킹으로 밝혀진 새로운 해킹 기술에 대응하기 위해 해킹 기법을 분석하고, 분석된 기술을 바탕으로 역으로 새로운 해킹을 차단하는 대응 수단으로 발전시켜 사용했으며, 해커들은 다시 그 보안 기술을 뚫을 새로운 기술을 발전시키는 끊임없는 도전과 응전의 괘를 이어가고 있다.
보안이라는 것은 실제로 밝혀졌거나 가능성이 있는 실제 동작하는 악성코드로부터 시스템을 보호하고, 시스템 자체가 가진 취약점을 밝혀 그로부터 공격받을 수 있는 취약성을 근본적으로 없애는 것이 그 목적이라고 할 수 있겠다. 그러기 위해서는 악성코드와 취약점 그리고 각종 도구들을 사용할 수 있는 실험 환경이 필수적이며, 실험 환경은 철저하게 운영시스템과 분리돼 실험용 악성코드와 취약점이 운영시스템에 영향을 주지 않도록 만들어져야 한다. 마치 실제 바이러스를 연구하는 의학 실험실이 연상되며, 그만큼 중요하기도 하다.
이 책에서는 실제로 동작하는 보안 실험실을 꾸리기 위해 필요한 하드웨어와 소프트웨어에 대한 설명을 시작으로 각종 소프트웨어 도구와 보안을 강화할 수 있는 정보를 얻는 방법, 얻어진 정보와 이론을 바탕으로 한 실험 방법을 가이드하는 것을 그 목적으로 하며, 마지막 장에서는 그런 환경과 실험 지식을 바탕으로, 포렌식 절차와 기술적 이슈들을 설명함으로써 끝맺는다. 또한 이 책은 처음 보안 기술을 접하는 초급 보안 엔지니어보다는 중급 이상의 기술을 갖춘 사람을 대상으로 한다고 저자가 언급하고 있듯이, 기본적인 보안 지식과 어느 정도의 보안 도구 및 이론을 경험한 사람을 주 대상으로 하고 있으며, 그 이상의 수준으로 도달할 수 있도록 실제적인 정보와 실험 방법을 전달한다. 하지만 최소한의 보안 기본 지식이 있는 사용자라면, 자신이 지향하고 있는 보안 전문가로 가는 방향을 제시하는 데는 충분한 실제 지침서가 될 수 있으리라 생각한다.
나름 오랜 기간 IT 업계에 종사하며 보안 제품도 개발해왔고, 다양한 보안적 기술 이슈 등을 이해함에 있어서 자유롭다고 생각해왔으나, 이 책을 번역하면서 적지 않은 부분, 전체 과정에 대한 체계를 다시 한번 되짚어보면서 스스로 보완해야 할 부분이 많음을 부인할 수 없었다. 그리고 언제나 그렇듯이 새로운 책을 번역하는 일은 얼마나 오역 없이, 자연스러운 우리말로 저자의 지식과 의도를 놓치지 않고 전달하는가의 싸움이다. 이 책의 번역 과정에 있어서도 그러한 싸움이 승리로 끝난 것인지는 단정할 수 없으나, 잘 알려져 있는 보안 용어나 명칭도 다시 한 번 확인하고 기술하는 등의 노력을 게을리하지 않았음을 강조하고 싶다.
아마존 웹 서비스(AWS, Amazone Web Services)는 2006년 첫 퍼블릭 클라우드 서비스를 출시한 이래, 매년 고객이 필요로 하는 혁신적인 서비스를 지속적으로 출시하며 고객과 함께 성장하고 있다.
이러한 성장의 바탕에는 고객 신뢰가 있다. 전 세계 누구나 사용할 수 있도록 열려 있으면서도 보안 측면에서 안전성을 꾸준히 증명해오고 있기 때문이다. AWS에서는 "Security is job zero"라는 말을 사용한다. 이 말은 무슨 뜻일까? 선뜻 우리나라 말로 옮기기에도 난해한 이 문장은 "AWS에서 보안은 그 어떤 것보다 우선시된다" 정도로 해석할 수 있다. 즉, AWS는 보안을 모든 것의 근간으로 보고 있으며, 보안이 없이는 그 어떤 것도 있을 수 없다는 의미다. 그와 동시에 AWS의 서비스를 사용할 때 보안의 책임은 고객과 AWS가 동시에 가져야 한다는 '공동 책임(Shared Responsibility)' 모델을 잊어서는 안 된다. 예를 들어, AWS의 완전 관리형 서비스를 사용해 고객이 비즈니스를 구현하고 운영한다면 완전 관리형 서비스 자체에 대한 보안 책임은 AWS에 있지만, 그 위에 구현된 비즈니스 요소에 대한 보안 책임은 고객에게 있다는 의미다. 그렇다면 고객이 비즈니스 요소를 구현할 때 어떤 서비스를 어떻게 이용해야 최적의 보안을 보장할 수 있을까?
AWS를 사용해 비즈니스를 구성해본 독자라면 이 질문을 수없이 던져봤을 것이다. 이 책은 그 질문의 답으로 수많은 AWS 서비스를 어떻게 활용해야 하는지를 설명하고 있다.
이 책은 제일 먼저 1장에서 AWS 보안의 핵심인 IAM의 기본적 요소를 설명하는 것부터 시작한다. 2장에서는 AWS의 핵심 서비스 중 하나인 S3를 어떻게 사용해야 안전하게 데이터를 보호할 수 있는지 설명하고, 3장에서는 사용자 인증에 매우 효과적인 코그니토(Cognito) 서비스의 사용자 풀과 자격증명 관리를 알아본다. 이어서 4장에서는 암호화 키와 관련된 AWS의 서비스인 KMS와 하드웨어 보안 모듈 서비스인 CloudHSM를 다루고, 5장에서는 AWS 네트워크 환경에서 빼놓을 수 없는 VPC의 네트워크 보안을 설명한다. 또한 6장에서는 AWS의 핵심 서비스 중에 하나인 EC2 서비스를 사용할 때의 최적의 보안 방법을 설명하고 5장에서 다룬 네트워크 보안을 이어간다. 7장에서는 본격적으로 AWS에서 제공하는 보안 서비스 중 하나인 WAF와 로드밸런서, ELB, CloudFront를 이용한 네트워크 보안 구현 방법을 다룬다. IT에 관련된 어떤 영역에 국한하지 않고 보안에서 제일 중요한 기능 중 하나라고 볼 수 있는 모니터링에 관해서는 8장에서 다루는데, 이 책에서는 그중 핵심인 CloudWatch와 CloudTrail, Config 서비스를 살펴본다. 그뿐만 아니라 보안과 관련된 상황이 발생하면 적절하게 알림을 제공하는 것이 운영에서 필수라고 할 수 있고, 동시에 각 계정에서 적절하게 보안을 준수하고 있는지 쉽게 파악할 수 있다면 더 안전하게 비즈니스를 영위해 나갈 수 있음은 확실하다. 이를 위해 AWS에서는 GuardDuty, Macie, Inspector 등의 서비스를 제공하고 있으며, 9장에서는 이들 서비스를 어떻게 활용할 수 있는지 설명한다. 마지막으로 10장에서는 지금까지 살펴본 많은 보안 서비스 외에 AWS를 더욱 안전하게 사용하고자 할 때 주목할 만한 가치가 있는 서비스를 살펴본다.
이렇듯 AWS의 퍼블릭 클라우드 서비스를 사용할 때 때로는 필수고, 때로는 추가 편의성을 제공하는 여러 서비스를 설명하면서 어떻게 하면 효과적으로 사용할 수 있는지를 다양한 레시피 형태로 제공한다.
이 책으로 AWS의 보안 철학과 체계를 쉽게 이해하고 활용해 각자가 원하는 비즈니스를 안전하고 편리하게 사용할 수 있을 것이라 믿는다. 지속적으로 발전하고 혁신하고 있는 AWS의 각종 서비스를 각자의 비즈니스 발전에 발 맞출 수 있는 기틀을 마련할 수 있기를 희망한다.
POS(Point of Sale)는 집 앞의 작은 가게에서부터 백화점의 계산대, 그리고 놀이공원까지 소비에 관한 한 현대인의 삶에서 쉽게 인식하지 못하지만 가장 많은 장소에서 접하게 되는 컴퓨터 시스템 중 하나일 것이다. 하지만 대부분의 사람들은 그것이 각 가정에 있는 PC와 인터넷에 사용되는 서버 시스템과 동일하다는 것을 알지 못할 수 있다. 특히 현대 사회에서 가장 민감한 정보인 개인의 금융 신용정보를 직접적으로 읽어 저장하고 인터넷을 통해 전송한다는 것을 말이다. 그것은 곧, 정보 유출을 위한 공격의 대상이 된다는 뜻이다. POS 시스템이라는 것이 이렇듯 아주 널리 존재하면서 쉽게 보안 공격의 대상이 될 수 있다는 사실이 인식되지 않듯이 POS 시스템을 대상으로 한 공격의 방어 역시 POS 시스템 제공자들에게도 필수적인 것으로 인식되지 않고 있는 것이 현실이다. 더욱이 자신의 소중한 카드 정보를 직접 제공하고 있는 개인들은 재화의 구매를 위해 제공한 자신의 정보가 철저히 보호되고 있는지 한 번도 POS 시스템을 의심해본 적은 없을 것이다.
이 책은 이와 같이 민감하고도 개인에게 위험한 금융 정보를 다루는 POS 시스템 전반에 관한 보안 위협과 완화 또는 차단 방법을 다루고 있다. 총 3개 부로 구성돼 있으며, 각 부의 주제를 모두 9개 장으로 나눠 단계적으로 설명한다. 1부에서는 전자 지불에 필요한 배경 기술을 설명하고, 2부에서는 개인 카드 정보가 POS를 통해 도난 당할 수 있는 이유와 어떻게 취약한지 설명한다. 마지막 3부에서는 이미 밝힌 기술적 문제점에 대해 검토한 뒤 어떻게 공격으로부터 방어할 수 있는지 설명하는 것으로 끝맺는다. 또한 책 전반에 걸쳐 PCI라는 보안 표준을 해부하고, 표준으로서 갖추지 못한 보안의 허점들을 파헤침으로써 민감한 카드 정보 보호를 위해 PCI 보안 표준이 완전하지 않은 이유를 설명함과 동시에 그것을 보완할 방법을 소개해 안전한 POS 시스템을 만들 수 있는 방법을 모색한다.
이 책을 통해 이와 같은 주제들을 깊이 인식해 POS 시스템 판매회사에서부터 개발자까지 지금까지 간과된 보안 위협으로부터 좀 더 안전한 POS 시스템이 개발되고 구축될 수 있게 함으로써 소비들이 아무런 걱정 없이, 지금과 같이 보안에 관해 전혀 인식할 필요 없이 민감한 카드 정보를 제공할 수 있는 환경이 될 수 있기를 희망한다.